ELO sources

Having set up an ELO connection, you can define a source. The name implies that this will be a source for Portrait and your future sections. Technically speaking, sources are ELO index-field queries. The results of these queries will be stored as lists in Portrait.

 

Add the following to the source section inside the application.yml file:

sources: source: - id: 'elo-outgoing-invoices' conn: 'ix-Archive1' sourceType: 'elo' runInterval: 3600 excludeKeysFromSuggestions: [] sourceSpecific: mask: Sales searchParams: - name: SALDOCTYPE value: Invoice

 

The name of the source will be elo-outgoing-invoices. The name will be later on used inside the section. In this example, the connection ix-Archive1 is used and therefore must be defined firsthand. The sourceType will be in case of ELO always be elo. Thus, sourceSpecific config is required. Each ELO source needs a mask (= ELO keywording mask) and searchParams (= ELO indexfields). The name of an indexfield is referenced by its internal group name.

By default, ELO limits a search result to 10.000 entries. This limit can be adjusted - see the ELO Indexserver Documentation.

Settings

Name

 

Name

 

id String

Name of the source

conn String

Used connection.
Refer to https://portrait.atlassian.net/wiki/spaces/PA/pages/98329

sourceType String

In case of ELO: elo

keyName String OPTIONAL

Name of the indexed object. If not set, it will default to sord.Name

key String OPTIONAL

Unique Id of the indexed object. If not set, it will default to sord.Guid

The key must be unique for this document in Portrait

runInterval Integer

reindex interval of the source in seconds

runDelay Integer OPTIONAL

delay before the first reindex run in seconds.

runAt String

instead of using an interval, you can define a specific time when the reindex will be triggered. Example:

runtAt: 07:00

runAt cannot be combined with runInterval

maxResultSize Integer OPTIONAL

Per default, the ELO results are limited to 10.000 elements. By defining this property, you can overwrite the default to a higher value.

excludeKeysFromSuggestions
List<String>

This list excludes the Keys from being added to the suggesters. Suggesters are used inside the search as “Completion Suggester” and “Did you Mean”.

For ELO sources, a good practice is to filter all the internal fields. Example:

excludeKeysFromSuggestions: [guid, key, path, xDateIso, iDateIso, fileExtension, owner, parentId, isDocument, fileSize, desc, icon]

icon String

See https://portrait.atlassian.net/wiki/spaces/PA/pages/820609029

sourceSpecific.mask String

Keywording mask

Either the name of the mask or the SordID

sourceSpecific.searchParams
List<String name, String value>

A list of ELO index fields to narrow the search.

A list entry consists of the internal group name of an ELO index field and the value.

Example:

sourceSpecific.documentDate OPTIONAL
from Integer or Date
to Integer or Date

These settings are under sourceSpecific and limits the search to a time range – either into the future or the past.

The range will be applied on the ELO-Sord property “External Date“ (aka. Document Date).

Example:

This example limits the reindex to documents that are older than two years or newer than a year.

It is also possible to use exact dates. The dates have to be written in the ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format. Example:

This example limits the reindex to all documents from 2021.

sourceSpecific.archivingDate OPTIONAL
from Integer or Date
to Integer or Date

These settings are under sourceSpecific and limits the search to a time range – either into the future or the past.

The range will be applied on the ELO-Sord property “Internal Date“ (aka. Archiving Date).

Example:

This example limits the reindex to documents that are archived at max for 90 days. The property from: is set to zero, so could also be left out.

It is also possible to use exact dates. The dates have to be written in the ISO 8601 () format. Example:

This example limits the reindex to all documents that have been archived in 2021.

sourceSpecific.maps
List<object> OPTIONAL

Index ELO maps of a given object. Due to a lot of different configuration setups, you must define which fields are imported.

Example:

Domain
You need to define which domain you want to use, typically this would be objekte or formdata - in case of fields used in Business Solutions.

You can also define your own domain (e.g. ApplicationA). See also de.elo.ix.client.MapDomainC in the ELO IndexServer documentation.

Type
Can either be string or table. If the type is table, Portrait will collect a value and convert it into a table and store it as a list of objects.

Name
The name of the map field or the common prefix of a map-table.

Given the above examples, the map fields can be accessed via the following names from the UI:

  • string: map_formdata_MY_VERY_LONG_TEXT

  • table: table_objekte_YOUR_TABLE_PREFIX

If Portrait detects that a map-value is stored as blob, the blob value is extracted and stored as text. Otherwise, the normal value is utilized (which is limited to 255 chars).

sourceSpecific.excludeEntriesWithinAdministration
boolean OPTIONAL

Default: true

Determines if sords within the ‘administration’ folder are blacklisted and therefore not indexed.

sourceSpecific.excludeEntriesWithinChaosFolder
boolean OPTIONAL

Default: true

Determines if sords within the ‘chaosablage’ folder are blacklisted and therefore not indexed.

sourceSpecific.excludeEntriesWithinFolder
List of GUIDS OPTIONAL

Default: empty

Can be set to exclude certain directories for indexing. All Sords within the specified folders and its subdirectories are ignored.

Example

Index Documents/Files

It is possible to index files referenced by an entry. Currently only supported when providing public access to them.

Configuration:

Name

 

Name

 

publicCache: true/false

Must be true
Default: false

mask String

Mask selector for Entries you want to cache. This should be the document mask.

nesting Int

Hierarchy level for the search. Defaults to 1

Storage Location

The Files are cached during reindex and stored on the local file system alongside the configuration.

The files can then be retrieved via the URL

One example use case is to include images into preformatted HTML or Markdown content.

 

Copyright Treskon GmbH.