Info |
---|
This documentation is complemented by the https://gitlab.datafari.com/datafari-community/DatafariUI/-/blob/dev/README.md that gives you more indepth details for low level modifications of DatafariUI, in particular those that require rebuilding the framework. |
Customizing top left logo and background image
Note |
---|
Info |
The documentation below is valid from November 5th 2021 or from commit dbb8d17e6a35b5a313e4086e0b04fffaaa94a24c of the DatafariUI repository. |
Table of content
Table of Contents | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Customizing top left logo and background image
The top left logo is a public file which path from the root installation of DatafariUI is:
...
You can change it to put any png file containing your logo. Note that you MUST keep the naming (and hence you must use the png format).
If you are using DatafariUI bundled with Datafari and the default installation path, the file is located at:
...
You can change it to put any png file containing your logo. Note that you MUST keep the naming (and hence you must use the png format).
If you are using DatafariUI bundled with Datafari and the default installation path, the file is located at:
...
This image should be minimum 1920px width and max 65px height. Note that you MUST keep the naming (and hence you must use the png format).
Customizing Displayed Facets and Elements
Note |
---|
This documentation is valid from November 5th 2021 or from commit a6a7479fe6ea281de3ac4505ace56fecd043c12f of the DatafariUI repository. |
It is possible to customize the facets displayed as well as some of the elements displayed in DatafariUI by modifying a configuration file. This configuration file is ui-config.json
and is present in the public
folder of the DatafariUI project.
...
Code Block | ||
---|---|---|
| ||
{ "left": [ { "type": "FieldFacet", "title": "Extension", "field": "extension", "op": "OR", "minShow": 2, "maxShow": 5 }, { "type": "FieldFacet", "title": "Language", "field": "language", "op": "OR", "minShow": 2, "maxShow": 5 }, { "type": "FieldFacet", "title": "Source", "field": "repo_source", "op": "OR", "minShow": 2, "maxShow": 5, "show": false }, { "type": "QueryFacet", "title": "Creation Date", "queries": [ "creation_date:[NOW/DAY TO NOW]", "creation_date:[NOW/DAY-7DAY TO NOW/DAY]", "creation_date:[NOW/DAY-30DAY TO NOW/DAY-8DAY]", "creation_date:([1970-09-01T00:01:00Z TO NOW/DAY-31DAY] || [* TO 1970-08-31T23:59:59Z])", "creation_date:[1970-09-01T00:00:00Z TO 1970-09-01T00:00:00Z]" ], "labels": [ "Today", "From Yesterday Up To 7 days", "From 8 Days Up To 30 days", "Older than 31 days", "No date" ], "id": "date_facet", "minShow": 5, "children": [ { "type": "DateFacetCustom" } ] }, { "type": "HierarchicalFacet", "field": "urlHierarchy", "title": "hierarchical facet", "separator": "/" }, { "type": "AggregatorFacet", "title": "Aggregator facet" } ], "center": { "main": [ { "type": "SearchInformation", "data": ["filters", "facets"] }, { "type": "ResultsList", "data": ["title", "url", "logo", "previewButton", "extract"], "folderLinkSources": ["enron"], "folderTarget": "_blank", "previewTarget": "_self" } ], "tabs": [ { "type": "FieldFacet", "field": "repo_source", "max": 3 } ] }, "right": [], "searchBar": { "suggesters": [ { "type": "BASIC", "props": { "maxSuggestion": 5, "title": "SUGGESTED QUERIES", "subtitle": "Queries extending your current query terms" }, "aggregator": false }, { "type": "ENTITY", "props": { "field": "authorTokens", "suggester": "suggestAuthors", "dictionary": "suggesterEntityAuthors", "asFacet": false, "maxSuggestion": 5, "title": "Entities suggested", "subtitle": "Queries extending your current query terms" } } ] }, "queryParams": { "fields": [ "title", "url", "id", "extension", "preview_content", "last_modified", "crawl_date", "author", "original_file_size", "emptied", "repo_source" ] }, "hotkeys": { "activeSearchBar": { "cmd": "shift", "key": "S", "enable": false }, "deactiveSearchBar": { "cmd": "escape", "enable": false } }, "devMode": { "enable": false, "banner": { "location": "BOTTOM", "content": "Dev mode banner content", "props": { "backgroundColor": "orange" } } } } |
...
Code Block | ||
---|---|---|
| ||
{ "type": "FieldFacet", "title": "Extension", "field": "extension", "op": "OR", "minShow": 2, "maxShow": 5, "show": true, "sendToSolr": true }, |
Parameters
Name | Optional | Default value | Description |
---|---|---|---|
| The title showed at the top of the facet | ||
| The solr field associated to the facet | ||
| Operator, either “OR” or “AND”. Tells how documents are shown when selecting multiple entries in the facet. If “OR” documents need to have at least one selected element in the concerned field to be selected. If “AND” they need to have all selected elements as part of the concerned field | ||
| The maximum number of elements that are shown if the facet is not expanded | ||
| The maximum number of elements that are shown if the facet is expanded (after clicking show more) | ||
| yes | checkbox | Specify the type of FieldFacet to use. It can take these values :
|
| yes | true | True to display the FieldFacet in the left panel. This option is only an UI effect. The facet is still registered as a field facet in the query. |
| yes | false | Set to true to force the query to Solr even if show is false (keep in mind that if show is true, the facet is queried whatever the value of the sendToSolr parameter). Required to be true for the use of field facet tabs (https://datafari.atlassian.net/wiki/spaces/DATAFARI/pages/2625634305/Customizing+DatafariUI#Search-Tabs ), which is its only purpose for now. |
QueryFacet:
A query facet displays a facet tied to provided queries with the possibility to filter results based on those queries. It can include children components, providing the ability for the user to provide a custom query. In the example below, we present a way to provide a custom date range.
...
Code Block | ||
---|---|---|
| ||
{ "type": "AggregatorFacet", "title": "Aggregator facet", "show": false } |
Parameters:
title: the title showed at the top of the facetshowed at the top of the facet
show: show or hide this facet
Quick Links widget
Widget to display links to quickly navigate to useful content.
...
It is usually used in the right column. The widget definition looks like this:
Code Block |
---|
{
"type": "DirectLinksWidget",
"title": "Direct Links",
"show": true
visible: 1
}, |
Parameters:
type
- The type of component to place in the servicetitle
- The title showed at the top of the facetshow
- Custom parameter, default value is true
. true
- for will enable the display of the "Direct Links" widget in the right pane. false
- to hide its display in the service. This option is just a user interface effect. The widget is still registered with the service.visible
- Custom parameter, default value is 10
. Specifies the maximum number of records that will be immediately visible when the widget is displayed
Yellow Page widget
Widget to display useful contact information
...
It is usually used in the right column. The widget definition looks like this:
Code Block |
---|
{
"type": "YellowPagesWidget",
"title": "Yellow Pages",
"show": true
visible: 1
} |
Options:
type
- The type of component to place in the servicetitle
- The title showed at the top of the facetshow
- Custom parameter, default value is true
. true
- for will enable the display of the "Yellow Pages" widget in the right pane. false
- to hide its display in the service. This option is just a user interface effect. The widget is still registered with the service.visible
- Custom parameter, default value is 1
. Specifies the maximum number of records that will be immediately visible when the widget is displayed
SearchInformation
Displays some information about the current search, such as:
...
From ui-config.json
file, you can customize the following parameters of the chart :
Name | Description |
---|---|
type | Facet type set to |
title | i18n facet title |
field | Solr field to bind |
start | Solr range start |
end | Solr range end |
gap | Solr range gap |
yDataKey | Key used to format data and used to display the Y bar legend. Key is i18n. |
ranges (Optional) | Array of predefined integer ranges to get as much as radio button selection to give to the brush tool a predefined range. Default is an empty array and the ranges controls are hidden. |
rangeLabel (Optional) | i18n label next to range value |
showBrushBounds (Optional) |
|
barFillColor (Optional) | Bar fill color. Default is |
brushStrokeColor (Optional) | brush stroke color (range selection tool under the graph). Default is |
Configuration example include in left facet :
...
The RangeBarChart
component can be embed into any other component like the RangeFacet
that displays the graph as a facet with a maximal height. This component uses the following props :
Prop name | Type | Description | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | Array | an array of objects that represents the data to be displayed in the graph. The minimal object structure must be as follows :
Example :
X labels will be based on With the previous example, the dates are used for X labels.
| |||||||||||||||
xDataKey | string | Name of the field in the data array object for X axis | |||||||||||||||
yDataKey | string | Name of the field in the data array object for Y axis | |||||||||||||||
maxHeight | number|string | Max height of the graph. Default is | |||||||||||||||
width | number|string | Width of the graph. Default is | |||||||||||||||
startIndex | number | Start index of the brush tool | |||||||||||||||
endIndex | number | End index of the brush tool | |||||||||||||||
brushStrokeColor | string | CSS color of the brush tool stroke. Default is | |||||||||||||||
barFillColor | string | CSS color of the chart bar. Default is | |||||||||||||||
xTickFormater | function<value>:string | A function that takes the X axis label value and returns a formatted value. Default is undefined. | |||||||||||||||
brushLabelFormatter | function<value>:string | A function that formats the brush label as you will. Default returns the current value | |||||||||||||||
onSelectChanged | function<startIndex, endIndex>:void | A function called when the user has changed the brush selection. |
Customize Search Bar component
...
The searchBar
has the following parameters :
Name | Description |
---|---|
| Array of suggesters. Several suggesters can be added, even if they are of the same type : you can add 2 entity suggesters but with different field/suggester. Each suggester result will be displayed in a dedicated section below the search bar. Available suggester types and their parameters are presented below |
| Enable / Disabled the backdrop behind the search bar when it is focused. Default is |
Available suggesters
There are 3 types of suggesters :
...
Code Block | ||
---|---|---|
| ||
... "searchBar": { "suggesters": [ { "type": "BASIC", "props": { "maxSuggestion": 5, "title": "SUGGESTED QUERIES", "subtitle": "Queries extending your current query terms", }, "aggregator": false }, { "type": "ENTITY", "props": { "field": "authorTokens", "suggester": "suggestAuthors", "dictionary": "suggesterEntityAuthors", "asFacet": false, "maxSuggestion": 5, "title": "Entities suggested", "subtitle": "Queries extending your current query terms" } } ] } ... |
...
Code Block | ||
---|---|---|
| ||
{ "type": "BASIC", "props": { "maxSuggestion": 5, "title": "SUGGESTED QUERIES", "subtitle": "Queries extending your current query terms" }, "aggregator": false } |
parameters:
maxSuggestion: The maximum number of suggestion that will be showed in the autocomplete for this suggester
title: the title of the autocomplete section for this suggester
subtitle: the subtitle / helper text of the autocomplete section for this suggester
aggregator : indicates if aggregator is activated or not. If yes use the Datafari REST API rest/v2.0/noaggregator/suggest instead of rest/v2.0/suggest
ENTITY suggester
A suggester designed for entity suggestions. Adds to the query a statement like: field:(“suggestion”).
...
From ui-config.json
file, you can customize the fields you send to Solr. queryParams
is an object which can have the following keys :
Key name | description | Default value | |||||
---|---|---|---|---|---|---|---|
fields | An array of string that define fields sent to solr for each query. |
|
useHotkey hook
This hook allows to define a hotkey with one command key plus an optional second letter key.
Command keys are defined as below (case sensitive) :
...
You can decide which fields to display in the advanced search dropdown lists, and which labels to use. For that, please refer to Advanced search - Fixed values list for fields and labeled fieds /wiki/spaces/DATAFARI/pages/331415555
Customizing colors and theme
...