Releases: sinequa/sba-angular
SBA Framework 11.12.0
General changes
Note
SBA Framework is compatible with Angular 17 and dependencies are up to date
New component
- The my-search components removed in 11.10 has been updated to work with the new filters introduced in 11.10.
Chore
Ticket | Description | |
---|---|---|
📦 | ES-22530 | Angular 17 migration |
📦 | ES-22899 | update npm dependencies to latest versions |
💄 | ES-22767 | New Sinequa Branding colors |
Applications
Ticket | Description | |
---|---|---|
🐛 | ES-23117 | (vanilla-search) Remove autoSAMLProvider from environment.prod.ts |
✨ | ES-22743 | (vanilla-search/search-component) manage results with a virtual scroll list |
Core
Ticket | Description | |
---|---|---|
🐛 | ES-23165 | (core/query) Update deserializeFilter method to handle both array and non-array data types |
🐛 | ES-22212 | (app service) Fix getColumnDefaultAlias method to use lowercase for the first letter of the first alias |
🐛 | ES-22801 | (core/web-service) Do not send app information in audit payload |
🐛 | ES-20767 | (core/base) fielded search: add parentheses around field expressions |
Components
Ticket | Description | |
---|---|---|
🐛 | ES-23662 | (facet) Add display property to facet item in facet service |
✨ | ES-23643 | (facet/my-search) New "my-search" component |
🐛 | ES-22415 | (search-service) Remove queryId when filters are undefined in search service |
💄 | ES-22924 | (machine learning/top passage) remove unnecessary padding in top-passages.component.scss |
🐛 | ES-18964 | (facet-list) Fix issue with facet list node opening logic |
🐛 | ES-20938 | (advanced) advanced search form not filtered |
🐛 | ES-21804 | (search-form) strict refine, remove queryid on clear text |
🐛 | ES-21965 | (preview) preview failed while loading highlights prefs |
🐛 | ES-21312 | (action) Issue in main search bar facet container on "All data" checkbox selection |
🐛 | ES-21334 | (preview) extracts do not display automatically when retrieved |
🐛 | ES-20781 | (filters) should generate a query with "contains" operator when filtering on a facet |
🐛 | ES-20768 | (preview) Add support for displaying Excel previews without sandbox |
Analytics
Ticket | Description | |
---|---|---|
💄 | ES-21538 | (timeline) Refactor facet-date component to use pure css collapse behavior |
🐛 | ES-22049 | (googlemaps) GoogleMapsModule disappears after expanding a preview result |
What's Changed
- Bump postcss from 8.4.16 to 8.4.31 by @dependabot in #118
- Bump ip from 2.0.0 to 2.0.1 by @dependabot in #119
- Bump @adobe/css-tools from 4.0.1 to 4.3.3 by @dependabot in #120
- Bump socket.io-parser from 4.2.1 to 4.2.4 by @dependabot in #122
- Bump @babel/traverse from 7.18.13 to 7.24.0 by @dependabot in #123
- Bump tough-cookie and @cypress/request by @dependabot in #124
- Bump d3-color and @swimlane/ngx-charts by @dependabot in #126
- Bump follow-redirects from 1.14.8 to 1.15.6 by @dependabot in #127
- Bump follow-redirects from 1.15.5 to 1.15.6 in /docusaurus by @dependabot in #128
- Bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /docusaurus by @dependabot in #129
- Bump express from 4.18.2 to 4.19.2 by @dependabot in #130
- Bump express from 4.18.2 to 4.19.2 in /docusaurus by @dependabot in #131
- Bump ejs from 3.1.8 to 3.1.10 by @dependabot in #134
- Bump webpack-dev-middleware and @angular-devkit/build-angular by @dependabot in #137
- chore: update @angular-devkit/build-angular to version 14.2.13 by @hebus in #139
- Release/11.12.0 by @hebus in #144
New Contributors
Full Changelog: 11.11.0...11.12.0
SBA Framework 11.11.0
General changes
Note
No breaking changes
Chore
Ticket | Description | |
---|---|---|
🎨 | Add anonymous type T to dataset web service | |
🎨 | extract all types in their own file and improve typings | |
SBA-818 | ✨ | Improve the autocomplete navigation behavior by preselecting automatically the values selected via keyboard |
ES−20677 | 🚨 | migrate to fontawesome 6 |
ES-20713 | 🚨 | Migrate Bootstrap to 5.3 |
Applications
Ticket | Description | |
---|---|---|
SBA-824 | ✨ (pepper) | Always display the result selector for better clarity |
ES-20703 | ✨ (vanilla) | Add alert when no result |
SBA-710 | ✨ (vanilla) | help button to search tips and trick always visible |
ES-20727 | ✨ (vanilla) | display recent queries when clicking on empty search bar like Google |
💄 (vanilla/css) | move root.scss file to sinequa.scss | |
💄 (vanilla/css) | remove css extension from sass import | |
💄 (vanilla/css) | remove the deprecated sass "~" operator |
Documentation
Ticket | Description | |
---|---|---|
🐛 (component-docs) | Fix loading advanced form in SBA website | |
🐛 (component-docs) | fix search form suggestions | |
SBA-845 | 📝 (docs) | update advanced search form documentation |
SBA-828 | 📝 (docs) | add some details to the tutorial |
🚨 (docs) | fix links in the documentation |
Core
Ticket | Description | |
---|---|---|
ES-20728 | ✨ | HTTP interceptor handle authentication for API v2 routes |
Components
Ticket | Description | |
---|---|---|
✨ (preview) | New custom highlights functionality in the preview | |
ES- 20762 | 🐛 (preview/extracts) | remove empty extracts |
✨ (ml/passage) | Select passage in the preview upon click on top passage | |
ES-20942 | ✨ (ml/similar-documents) | display similar document relative to a specifc record using the new doc similarity API |
SBA-897 | 🐛 (alert) | add options: respect tab selection and combine |
SBA-876 | ✨ (search-form) | Add new search form toggle for filters persistance |
SBA-861 | ✨ (search-form) | trigger a new search on brain icon click |
ES-20726 | ✨ (search) | trigger a query syntax error message on get results error |
SBA-877 | ✨ (filters) | add the possibility to override filters classes |
SBA-693 | 🐛 (modal/cdk−drag−n−drop) | force top position to 0 |
SBA-840 | 🐛 (advanced) | set input value on changes |
ES-20784 | 🐛 (facet) | filter on label of an entity |
ES-20740 | ✨ (facet) | save facet collapse status in preferences |
ES-20697 | ✨ (metadata) | add new valueClicked output to metadata values |
Assistant
Ticket | Description | |
---|---|---|
ES-20721 | ✨ | raise event on assistant error |
ES-20694 | ✨ | allow assistant edition and regeneration |
✨ | Improve display of references in tooltips and allow to open the preview | |
✨ | Render code blocks with syntax highlighting and custom card | |
✨ | Include model name in audit events | |
✨ | Implement the placeholder in new assistant message component | |
ES-20692 | ✨ | add a stop generating button in the assistant |
✨ | New rendering of assistant messages, allowing to customize the references | |
ES-20690 | ✨ | change the input focus to be triggered at the end of streaming messages |
ES-20701 | ✨ | make the settings update to not reload the assistant |
Analytics
Ticket | Description | |
---|---|---|
ES-20676 | 🐛 (googlemaps) | refresh points when loading more results |
SBA Framework 11.10.0
Read this release note on the SBA documentation site
General changes
⚠️ Platform breaking changes
Unlike previous versions of the SBA Framework, the 11.10.0 release is not compatible with older versions of Sinequa ES (11.9.0 and below). This is due to various new functionalities in the platform's REST API (see below).
Documentation updates
The SBA documentation has been significantly enriched, rewritten and reorganized. In particular:
- Rewritten Introduction and Getting Started sections
- New Guides section with guidance on SBA architecture, development environment, versioning, etc.
- Reorganized the Components documentation and introduced interactive examples to replace the previous static screenshots and code snippets.
- New Applications section including not only the core framework (vanilla, pepper) but also the Usage Analytics and Vanilla Builder applications.
- New Releases section with a list of all SBA releases and their main changes (mirroring the Github releases).
- Auto-generated documentation (compodoc) was removed. Instead, we automatically link class names and interfaces found in the documentation to the matching source code in the Github repository.
End-to-end tests
This release introduces end-to-end (e2e) tests for the SBA components. These tests are written with Cypress and defined in the cypress
folder of the repository. These tests cover the (new) projects/components-docs
application which centralizes all of Sinequa components from projects/analytics
and projects/components
(see below). These tests consist primarily in rendering each component and comparing its visual appearance with a reference screenshot. The reference screenshots are stored in the cypress/snapshots
folder.
Library updates
Core
Web services
-
Removed support of fielded search expressions (
Expr
,ExprParser
,ExprBuilder
classes). Expressions are replaced with a new "filter" syntax documented in the Core library. Note that the fielded search syntax used in the search form is still interpreted by the platform as before (but the SBA is unaware of it).⚠️ Any usage ofExpr
in a custom application must be migrated to the new filter syntax. The new syntax essentially provides the same level of functionality:Before:
expr = this.exprBuilder.concatAndExpr([ this.exprBuilder.makeExpr("docformat", "pdf"), this.exprBuilder.concatOrExpr([ this.exprBuilder.makeExpr("authors", "John"), this.exprBuilder.makeNumericalExpr("size", "<", 1024) ]) ]); query.addSelect(expr);
After:
filter = { operator: "and", filters: [ { field: "docformat", value: "pdf" }, { operator: "or", filters: [ { field: "authors", value: "John" }, { field: "size", operator: "<", value: 1024 } ] } ] }; query.addFilter(filter);
-
Dataset web service:
- New
isDatasetError(result)
method to easily test whether a result returned by the dataset web service is valid. - The
get(webService, dataset)
now throws an error if the result is not a valid dataset, and its return signature has therefore been changed toObservable<Results>
. - The
getAll()
method is removed. UsegetBulk()
without specifying any dataset instead.
- New
-
The Json Method web service now has proper typing for the
options
argument, enables typing the return type and does not log the response to the console anymore. -
The Query web service
Results
object is more accurately typed and was updated to match the latest platform changes (especially around the Neural Search data structures). -
The download service now allows specifying a file name for the downloaded file (rather than the default one sent by the server).
Login
-
⚠️ Removed support for login in a popup window usingng2-ui-auth
(unmaintained library). -
The Login interceptor now sends the UI language to the platform (via headers and/or body).
-
The Login interceptor now intercepts network errors (eg. 0, 503, 504) and automatically performs retries (progressively spaced in time, as in gmail) while displaying a special notification to the user.
-
The Login service now supports hard-coded credentials for development or CI purposes. Credentials can be injected in an app module's providers:
{provide: CREDENTIALS, useValue: {username: "admin", password: "admin"}}
Audit
- All events now include the current browser URL so the current route & query are always available in the logs.
- Logging of route change events is now a core feature as opposed to an app-by-app implementation.
- Logging of exit/return events is now a core feature as opposed to an app-by-app implementation. Now only the Navigation_Return events are captured, following a click on a document link (as opposed to tracking any kind of navigation, or alt-tabbing).
Miscellaneous
- Fixed the escaping of html elements passed to formatjs (https://github.com/sinequa/sba-angular/issues/108).
IntlService.formatRelativeTime()
now behaves consistently whether given a string/Date (delay relative to now) or a number (delay) and always auto-determines the display unit (min, hour, day, week, etc.).
Components
All components that apply filters to the Query
have been migrated to the new filter syntax (see above)
Autocomplete module
⚠️ Removed thesqAutocompleteFieldSearch
directive andsq-field-search-items
component (following the removal of the fielded search syntax).- New
SuggestService
features:- When no suggestion is returned, attempt a new strategy of autocompleting only the last token of the query (eg. "Sinequa Sea" -> "Sinequa Search Engine").
- Deduplication, highlighting and scoring of suggest results.
- Better protection against HTML injection in the suggest results.
Collapse module
⚠️ Removedsq-collapse-link
(unused and redundant withsq-collapse-button
).
Facet module
-
⚠️ Major refactoring of thesq-facet-list
component:- Removal of the
sq-facet-tree
component.sq-facet-list
now handles both list and tree aggregations. - A click on the checkbox displays an "Apply" button that lets user check other items before applying the selection.
- A click anywhere else on an item applies the selection immediately.
- Advanced selection options (AND / OR / NOT operators) are nested under a dropdown menu.
- New icon for "removing a filter".
- Changes in options:
- Added
focusSearch
(default:false
): Automatically focus the search bar when the facet is expanded. - Added
expandedLevel
(default:2
): The number of levels expanded by default (for tree aggregations). - Removed
showCheckbox
(determined automatically) - Removed
displayActions
(not useful anymore) - Removed
showProgressBar
(unused) - Removed
alwaysShowSearch
(the search bar is always shown whensearchable
istrue
) allowAnd
isfalse
by default
- Added
- Removal of the
-
⚠️ Removedsq-facet-mysearch
(Replaced by the Filters module). -
Change of behavior in the
sq-facet-refine
component: Rather than adding a special select property to the query and letting the server modify the fulltext search query accordinly, this component now directly modifies the fulltext query viaquery.addRefine()
. -
Refactoring of the
sq-facet-multi
component. The component now displays a custom header template. Theicon
andtitle
of the facet should be passed as input to this component rather than to the parentsq-facet-card
. -
New
sq-facet-container
component to display a list of facets as a toolbar, where one facet can be expanded at a time. This component is documented in the Facet library. This component is used in the new integrated search form (packaged in Pepper). -
Refactoring of the
sq-facet-filters
component to properly display the actions and custom templates of the facet components in the dropdown panels. -
Facet card:
- Handle the "click outside" event more efficiently (see: https://github.com/sinequa/sba-angular/issues/106).
- New inputs to control the actions' tooltip placement (
defaultTooltipPlacement
anddefaultTooltipFallbackPlacements
).
New Filters module
This new module is documented in the Components library. It allows displaying and editing the filters of a Query
object. The component is meant to replace the sq-facet-mysearch
and sq-breadcrumbs
components.
Machine Learning module
-
New
sq-chat
component andChatService
service to display a chatbot interface. This component allows to chat with a Large Language Model such as GPT-4 (the model powering ChatGPT). This component is documented in the Machine Learning library. -
Refactored the
sq-top-passages
component: No more pagination, passage truncation or custom facet card header. The text of the answer (predicted by the answer finder model is highlighted within the text of the passage). The component also auto-hides if no passages are found.
Metadata module
- Removal of the
sq-metadata-access-list
component (unused). - Redesign of the
sq-metadata
andsq-metadata-item
components. Metadata is now displayed according to a configuration (incl. icon, label, filterable, etc.), similar to how the facets and facet con...
SBA Framework 11.9.0
General changes
Library updates
We upgraded most of our libraries to their latest version and adressed all known vulnerabilities, (except those for which we are blocked by a third-party library that cannot be upgraded).
These library updates also bring improved performance and often a reduction in bundle size.
These updates introduce various breaking changes and may require additional migrations in customer-maintained source code (particularly Angular, Bootstrap, RxJS and Moment).
- Migration to Angular 14 (from 12)
- Migration to RxJs 7.5 (from 6.6)
- Migration to Bootstrap 5.2 (from 5.1)
- Migration to D3 v7 (from v5) and optimized import to reduce bundle size
- Replaced the deprecated moment library and jstz to date-fns and date-fns-tz across all components and services processing dates and datetimes.
- Updated the Intl, FormatJS, jssha, lodash libraries (and others) to latest versions
- Updated the ngx-charts, vis-network and vis-timeline libraries (used in the analytics library) to the latest versions
- Replaced the (poorly-maintained) ngx-vis and angular-fusioncharts libraries with in-house wrappers to improve performance and fix bugs
- Replaced the deprecated @agm library with @angular/google-maps
Compatibility with Safari
We adressed different issues specific to Safari:
- Broken timeline Zooming
- Timeline Events not displayed
- Dates displayed as "Invalid" (Sinequa's standard format was not properly parsed by
new Date()
)
Project structure
We reorganized our tsconfig files across the workspace, along with other configuration files (ng-package, secondary-entry-point-config, tslint/eslint, karma, etc.)
Core library
- Integration in Teams: We added a
TeamsInitializer
(APP_INITIALIZER
) in the application startup. Its role is to ensure that when the SBA is loaded within a Microsoft Teams tab, the user is automatically authenticated, without the need for additional authentication and/or redirection to an identity provider. - Login: Fixed a bug where the browser would attempt multiple redirects on 401 errors, causing errors with specific Identity Providers.
- Fixed a syntax error thrown by the fielded search parser when a "-" symbol was in the query.
- Audit (breaking change): we harmonized our standard audit events across components and applications to be consistent with the events expected by the latest Usage Analytics application.
Components
- New Sinequa Theme packaged under @sinequa/components/theme. The theme is a set of modular stylesheets that can be imported indidividually or as a whole in an application's global stylesheet. The theme modifies the appearance of standard Bootstrap components and specific Sinequa components. See https://sinequa.github.io/sba-angular/modules/components/theme.html
- We refactored the components in the @sinequa/components/machine-learning library, following new Neural Search features and modified web services (breaking change). These components (showing answers, top passages, and matching passages per document) are all integrated by default in Vanilla Search. See https://sinequa.github.io/sba-angular/modules/components/machine-learning.html
- Preview library:
- Simplification of the sq-facet-preview-2 component (breaking change): This component now only manages the preview itself, and does not display the document metadata or document title. (In Vanilla Search the metadata and title are now displayed via the facet-card itself)
- Fixed navigation issues (eg. 2 clicks required to go back to the search view)
- Fixed SVG highlights in documents generated by certain converters
- Facet library:
- Facet card: Various additions to the sq-facet-card API (See https://sinequa.github.io/sba-angular/modules/components/facet.html). These new features are used in the new "Mini-Preview" of Vanilla Search and should be used more generally for displaying complex components with multiple views, actions and options.
- Natively support multiple views. These views are injected within
ng-template
elements decorated with a directivesqFacetView
. The facet-card displays a list of actions to toggle between the views, in the bottom-left corner of the facet card header. - Support primary actions (shown in the header top-right corner) and secondary actions (shown in the header bottom-right corner).
- The 3 action groups (views, primary, secondary) can be completely and independently customized (size, styles, positioning, etc.)
- The custom
ng-template
s (for the header, sub-header, footer and settings) that a facet component could already declare in its own template, can now be injected into the sq-facet-card directly (thus removing complexity from child components and opening more possibilities for the parent components).
- Natively support multiple views. These views are injected within
- Facet-list and facet-tree: Refreshed look & feel and checkboxes to make multiple selection more intuitive. We also added the option to display the search bar permanently.
- Facet-range: The min/max inputs now accept given number and Date inputs
- Facet card: Various additions to the sq-facet-card API (See https://sinequa.github.io/sba-angular/modules/components/facet.html). These new features are used in the new "Mini-Preview" of Vanilla Search and should be used more generally for displaying complex components with multiple views, actions and options.
- Metadata library: We removed the separator in "inline" mode (as opposed to "tabular").
- Result source component: We changed the treepath separator to a prettier one (❯) and made it easier to customize the component styles.
- Result counter: Prevent text wrapping
- User menu: We now show the user's full name if available, but it is only visible as a tooltip and within the dropdown menu's header. It is possible to display the user name as before, by passing
[showText]="true"
to the component. - Modal component: Modals now respect the height/width/fullscreen settings available in the modal service.
- New sq-scope component (packaged in @sinequa/components/search) to toggle between "search scopes" defined in the query web service. The component is integrated in the default search-form component packaged in Vanilla-Search (but it is visible only if scopes are actually configured).
SearchService
: We made this service (along with theQueryWebService
andBreadcrumbs
) generic with respect to theResults
type, so that it can be easily customized for a custom index schema. (eg. injectSearchService<MyResults>
in your component, whereMyResults
includes all your custom metadata).- Sponsored links: handle link URL when it contains %PREVIEW_URL%
- Fixed broken ClickOutside directive
Analytics
- New multi-level pie chart component to display tree-typed metadata. See https://sinequa.github.io/sba-angular/modules/analytics/fusioncharts.html
- Improved the API of the Tooltip component used in the analytics views (heatmap, timeline, money charts...), resulting in simplified and consistent usage across these components. The tooltip is now in its own library: @sinequa/analytics/tooltip
- Made the timeline tooltip scroll vertically, when too many values.
- Fixed the heatmap component in cooccurrence mode
- Fixed the ngx-chart legend in dark mode
Vanilla Search
- The new Sinequa Theme is used by default in Vanilla-Search.
- The "mini-preview" (displayed along the results) uses the simplified version of the facet-preview component and improved facet-card API, supporting multiple views (see above).
- When Neural Search is active, the mini-preview displays two views: Preview and Passages (from the machine learning package). This list of views can be easily customized by adding/removing
ng-template
s in the facet card. - The metadata component is displayed with
[tabular]="false"
by default, to save space in the mini preview header. - A placeholder card is displayed on the right side when no preview is opened, to encourage a click on a document from the user.
- Refactored the application navbar to match the grid layout of the main app content.
- Fixed scrolling to bottom when returning to the home page
SBA Framework 11.8.1
Components
- Machine Learning module: New "Top passages" component for Neural Search displayed by default in Vanilla Search
Bug fixes:
- Fix compatibility issues with Safari (date format not managed)
- Stop loading animation when an exception occurs
- Fix light button color that was to clear from Bootstrap 5 migration
- Fix bug with facet collapse button
- Sync first-page service on login changes
- Fix exception when facet autocomplete term contains special characters
- Fix neural search deactivated when "keep filters" is on
SBA Framework 11.8.0
General changes
- Removed support for Internet Explorer from
browserslist
file - Upgrade to ngx-bootstrap v8
- Migration from ng5-slider to angular-slider
- Refactoring of proxy config files to group all the endpoints together
- Added "override" keyword from typescript 4.3 to improve type checking
- Fixed Bootstrap
btn-light
class (hover and active effects invisible when the button is on abg-light
background) - Fixed some remaining Bootstrap v5 utilities (
font-style
->fst
,font-weight
->fw
...)
Vanilla Search
- New Help menu available within the User menu
- Added the new
sq-facet-date
(featuring the timeline) as a replacement to thesq-facet-list
for the "modified" metadata - Added the new Neural Search components, when Neural Search is activated:
- Neural Search On/Off button in search form
- Answer card at top of results list
- Passages displayed instead of relevant extracts
- List of relevant passages available within the preview UI
- Passages highlighted in the HTML preview
Pepper
- Fixed broken view when a widget is added while another is maximized
Core library
- Fixed infinite loops upon 401 errors
Components library
- Facets library (
@sinequa/components/facet
):⚠️ Major refactoring of the "facet containers" (sq-facet-multi
,sq-facet-filters
andsq-facet-bar
). Previously, these components were limited to predefined facet types, namelysq-facet-list
andsq-facet-tree
and predefined parameter names. Now, these containers can display any type of facet components, including custom ones. This change requires a migration of the facet configuration objects (defined by default in theconfig.ts
files): TheFacetConfig<T>
is now parametric, requiring developers to specify what kind of configuration they contain (eg.FacetConfig<FacetListParams>
for ansq-facet-list
component. Please refer to the documentation of this module for more information.allowAnd
option added to thesq-facet-tree
(same usage as forsq-facet-list
)- Prevent sequential clicks in the
sq-facet-tree
to be merged withOR
- Proper wrapping of the list of filters in the
sq-facet-filters
components, when there are too many filters to display on one line. - Fixed wrong number of items in facets (by default 11 instead of 10)
- Fixed bug with
null
value selection in distributions
- Search library (
@sinequa/components/search
):- When an http search request fails, stop the loading animation
- Tabs (
sq-tabs
): Made the display of counters optional (showCounts
parameter)
- Preview library (
@sinequa/components/preview
):- Display the link to the PDF version of the file, when available
- Fixed issue with the navigation history (requiring double clicks of the back button)
- FIxed issue with minimap when there are no extract to display
- Utils library (
@sinequa/components/utils
): Added fallback positions (fallbackPlacements
) to thesq-tooltip
directive - Saved queries library (
@sinequa/components/saved-queries
): Prevent app from breaking if multiple query exports are defined - Autocomplete library (
@sinequa/components/autocomplete
): Removed parsing of the query when fielded search if off - Recent documents & Recent queries: Fixed conversion of dates to/from UTC to avoid displaying wrong dates.
- Action library (
@sinequa/components/action
): Fixed menus left open when nested within another dropdown menu - Result and Metadata libraries:
- Better support of change detection (primarily to enhance the User Experience in UI Builder)
sq-result-title
: Use the original document URL ("store original" option) when it exists andurl1
is not available
- Machine Learning library (
@sinequa/components/machine-learning
): 2 new components dedicated to the Neural Search user interface (sq-answer-card
for displaying answers found by the "Answer Finder" model, andsq-passage-list
for displaying the list of passages found by the "Passage Ranking" model)
Analytics library
- Timeline library:
- UI improvements to the
sq-facet-date
component (which is now used by default in Vanilla and Pepper) - New option to display a tooltip when hovering the datapoints of the timeline
- UI improvements to the
- Network component: Display real labels instead of aggregation names in network menus
SBA Framework 11.7.1
General changes:
Among the most impacting changes are the spacing classes used throughout the framework:
- ml-* becomes ms-* ("s" stands for start)
- mr-* becomes me-* ("e" stands for end)
- same for padding: pl-* and pr-*
Why this new notation? For LTR/RTL language purpose (Left to Right/Right To Left)
- If we are in LTR: "start" is "left" and "end" is "right" ("s" and "e" in the new notation)
- If we are in RTL: "start" is "right" and "end" is "left", this is done automatically, no need to update UI for RTL language with this new notation.
Vanilla & Pepper
- Refactored search template to use a results$ observable, making customization easier, and removing the need for a subscription.
- Deactivate Gridster overflow when dropdown is shown (fixing cropped dropdown menus in Pepper)
Core library
- Added a ccquery parameter to the function getColumn() to allow the use with other cc queries, default has been in case no value is set
Components library:
- Action module: Allowed objects in dropdown-menu to get custom classes
- Facet module: Support distributions with
null
values
Analytics library
- New Date facet component (in timeline module), combining (optionally): a timeline, date pickers (from/to) and predefined facet items ("since 1 year")
- Added clientSide option to sq-ag-grid if all data is already loaded and infinite scrolling is not required
- Added cell renderer framework to column definitions for AG Grid
- Fixed heatmap breadcrumbs bad selection
- Added a loading flag to show the user when the heatmap's data is loading
SBA Framework 11.7.0
General changes
Migration from Angular 11 to 12.2: The migration has little impact on the source code of your application. See the official migration guide.
npm clean cache
and reinstalling it from scratch (npm install
). If possible, use our provided package.json and package-lock.json as is. If you have modified these files (to install libraries), make sure to update your versions to reflect the changes we have made (like removing d3-format or setting specific versions of certain libraries).
"@sinequa/vanilla"
(an alias added in pepper/tsconfig.json). If you use the Pepper sample application you may either use this new structure (modify files in the Vanilla Search project), or use the legacy structure. A drawback of using the legacy structure is that your application will not be updated when we release new versions (only the Vanilla Search code will be updated).
Icons and logos: We updated Sinequa icons and logos across our applications and documentation.
The loading screens (defined in index.html) now use inline styles rather than Bootstrap to avoid a positioning glitch on start-up.
A new documentation page (Speed and Performance) explains how to use module lazy loading to speed-up complex applications (typically with multiple routes and "heavy" components).
Compilation errors on UNC paths (due to CSS stylesheet extensions) have been fixed.
@sinequa/core library:
New web service "Doc Builder": DocBuilderWebService
allows to merge documents split by pages (PDF, Words, Powerpoints...). This is the service powering the new "Presentation Builder" module (see below).
New web service "Text Chunks": TextChunksWebService
allows to fetch text from specific documents at specific locations. This is the service powering the new "entity tooltip" functionality (see below).
get()
method returns a Dataset
type instead of a Results
type.
@sinequa/components library:
New module: Slide Builder 🎉
New module to display a list of slide and a selection arranger to create a custom slide deck and export it. See documentation.
Search module:
- Integration of Query Intent web service in the
SearchService
. See documentation to leverage Query intents in your SBA. - Infinite scroll: Added a visual indicator that more results are being loaded
- Sort selector: Fixed error in the sort selector (with no sort action).
Facets module:
-
Facet tree/list:
- Give the possibility to customize the list of facets for each tab (
includedTabs
,excludedTabs
properties ofFacetConfig
) - Filters can be removed using the checkbox
- Fixed facet list with integer values
- Give the possibility to customize the list of facets for each tab (
-
Facet Filters:
- New option to let users personalize their list of filters (
enableCustomization
). Developers must provide the complete list of facets and the default ones (See configuration of the facet bar) - Fixed tree facet closing unintentionally when clicking on the tree items
- Set a minimum and maximum width for the dropdown facets
- Made facet filters special states (filtered, disabled) more visible
- New option to let users personalize their list of filters (
-
Tag Cloud:
- Fixed a tagcloud bug where the clear all filters wouldn't work when the Input aggregations was a string
- Use column's alias instead of column's name to have consistent styles (defined in the metadata stylesheet).
-
Facet Card:
- Add option
collapseOnClickOutside
so that it collapses once clicking outside (for dropdown behavior)
- Add option
Preview module
- New minimap component displaying the position of extracts in the document
- Add a preview loading indicator
- Jump to most relevant extract when preview opens
- In entity facet (preview), i18n entity labels (like "Xxx[fr]Yyy") are properly displayed and formatted.
- Fix extracts panel sort tooltip missing text
Metadata module
Metadata component: New option showEntityTooltip
to display text surrounding entities in a tooltip. To enable this functionality, set this input to true
and check "Include locations in the results" in the Query web service > Advanced > Entities section.
Results view module
When 'view' query params is missing, the default view is displayed
Result module
- Results source component propagates clicks (to open the preview in Vanilla/Pepper)
- Sponsored results: Tooltips are properly displayed
Utils module:
- Fixed tooltip remaining visible in the top left of the screen
- Tooltips can now display HTML asynchronously
User settings:
Refactored the user menu (integrated the dark mode button)
Baskets (aka collections):
Made baskets exportable (from "manage baskets" popup)
Autocomplete module:
Added a function to know if the field-search-items components has items or not.
@sinequa/analytics library:
AG Grid:
- Integrated Sinequa facets and search service in ag-grid module for optimal search experience.
- Fixed lost selection of records when filtering.
Heatmap:
Fixed ResultsHeatmapView selectView causing search to fail (make sure that searches complete before component is destroyed)
Charts:
- Display aggregation labels instead of name in charts dropdown menus
Advanced form
- Fixed styling of metadata in multi-input forms.
Pepper App:
- Replaced pager by infinite scroll
- Gave widgets specific default sizes (when adding from the "add widget" modal)
- Added the treepath facet to Pepper's facet filters by default
SBA Framework 11.6.1
- Multiple optimizations and bug fixes of the document navigator and preview module:
- Improved navigation in the list of extracts
- Better performance with large files
- Fixed issues with Excel spreadsheets (eg. refresh the list of extracts when changing tabs)
- Improved embedded tooltip positioning and display (fixed cropped tooltip on the sides and bottom of the preview)
- Support entity formatting and internationalization (featured developed by Sword)
- Tree facets are now searchable (
[searchable]="true"
) by default. For an optimal experience, please check "Match the search terms anywhere in field values" in the autocomplete web service configuration (available as of Sinequa 11.6.0). - New option in facet filters (Pepper's horizontal facet bar) to let users customize the list of facets with
[enableCustomization]="true"
(feature developed by CTC). - New "comments" module in the @sinequa/components library to display a thread of comments attached to a document. Comments must be stored in a custom index, and accessed via a server-side plugin (which is provided along with the front-end code). Refer to the online documentation.
- New "ag-grid" module in the @sinequa/analytics library to display a list of search results as a grid component powered by the AG Grid library. The module contains one component which is a sample integration of the AG Grid library (which can be used in many other ways). We implemented the "Infinite row model" supported by the library, which offers a great user experience compared to alternatives. We use the free version of the library ("Community"), but many additional options are available with the Enterprise version. Refer to the online documentation.
- Improvements of the metadata module (documentation):
- Display entity counts within a document (returned by the server as of Sinequa 11.6.1)
- Collapse multi-valued metadata by default
- Fixed inline display mode and general look & feel
- Removed the "spacing" parameter
- Simplified styling of the library
- Removed entity-summary component and result-metadata (now redundant)
- Optimization and bug fixes in the timeline module (selection boundaries hidden out of viewport, fixed behavior when series are reduced to a single point) and new "legend" component which can be displayed with
[showLegend]="true"
(Refer to the documentation). - Refactoring and optimization of the action module.
- Refactoring of module dependencies to enable lazy loading of routes (See Angular documentation), which is now supported (but not implemented by default) in Vanilla Search.
- New option to reset all user settings in the user top-right menu.
- Fixed cropped drop-down/drop-up menus in Pepper.
- Fixed a breaking change in the "user ratings" component.
- Multiple improvements of audit events (to support the new Usage Analytics SBA released in Sinequa 11.6.1).
- Added a warning when editing but not saving an alert.
- Fixed the behavior of the app for 403 errors (forbidden access).
SBA Framework 11.6.0
- General refactoring of the SBA libraries:
- The @sinequa/components library has been refactored as 2 libraries (@sinequa/components and @sinequa/analytics). The new analytics library contains the most advanced components from the former library (charts, heatmap, network, map, timeline), and we will keep developing new modules featuring similar advanced integrations.
- References to the material design library have been removed. Only the components based on the Bootstrap library remain.
- The tslint configuration has been replaced with eslint configuration.
- Our 3 libraries are now published to npm (we will publish them every time we release a new version of the code on Github).
- Preview optimization & improvements:
- General performance optimization to speed up the loading time of the preview, particularly with large number of pages
- Optimization of the extract panel on the left, to handle a large number of extracts
- Display of the document title & original URL at the top of the document navigator
- Improvement of the preview tooltip look & feel (dynamic scale & positioning)
- Custom user interface for documents split by pages with document splitter
- The preview facet (visible in Vanilla & Pepper) now has action buttons to toggle the visibility of entities & extracts highlights
- We added the possibility to remove the
sandbox
attribute of the preview iframe (by passingnull
, which can be required in some situations)
- Facets:
- New tag cloud facet component. Documentation available here. This component was added to Pepper's palette of components.
- Refactored my-search facet component with new options & styling. Documentation available here. Note that this component replaces the breadcrumbs component in both Vanilla & Pepper (the component is not displayed with a facet card, but simply above the list of results).
- Handling of excluded items in list facets
- List facets now have an option to display a visual bar proportional to the number of items
- New functionalities added to the main search form of Vanilla & Pepper (which are now fully identical):
- Inline button to clear the form
- Inline button to keep current filters (eg. facets) active for a new search (false by default)
- Inline button to search by speaking (the button is not shown by default, as it relies on querying Google's servers)
- Inline button to display an advanced form (not shown on Pepper by default)
- The above options can all be turned on or off by commenting or uncommenting the features in
config.ts
(or alternatively by passing these options via the "Customization (JSON)" tab of the application's configuration - See configuration). - The search form now handles a long list of fielded search "badges" by scrolling horizontally (with additional left/right buttons)
- New web services added to the @sinequa/core library:
DatasetWebService
: allows to fetch data from the new Dataset web service (currently in beta) as an alternative to the query web service.QueryIntentWebService
: allows to analyze a user's query to infer its intent, using the latest query intent integration on the Sinequa server (currently in beta).
- New audit events added:
- Navigation events: We now record navigation between routes of the applications, as well as leaving the app and returning (
navigation.home
,navigation.exit
, etc.) - Timeline filtering (from, to)
- Autocomplete selection
- Application logout
- Navigation events: We now record navigation between routes of the applications, as well as leaving the app and returning (
- The analytics library contains a new "finance" module containing 2 components for displaying amounts of money extracted from documents. Documentation available here. These components have been added to Pepper's palette of components.
- Minor improvements to the network component's performance & API
- New options/behaviors added to the
sq-result-title
component - The user ratings component does not display empty messages any more
- Delegated admins can now navigate to the administration from the user menu
- New documentation page on the SBA startup lifecycle available here.