Configuration
2017 R1 Update Rollup 1

ConfigurationPermanent link for this heading

Fabasoft Mindbreeze Enterprise ConfigurationPermanent link for this heading

The FSCMINDBREEZE@1.1001:MindbreezeDefaultConfig configuration is used to define properties of Fabasoft Folio objects that should be indexed.

  1. In the “Domain Administration”, click the “Configuration Objects” tab.
  2. Open the configuration object FSCMINDBREEZE@1.1001:MindbreezeDefaultConfig in edit mode.
  3. By default, the configuration provides entries for several object classes and the associated properties. Additionally, an entry for all objects with contents is provided.
    Note: The file extensions of the contents to be indexed must be provided in the “Filter Service” object.

Following fields are available:

  • Enable Metadata Full-Text Search
    If this field is set to “Yes”, all metadata full-text queries are handled by Fabasoft Mindbreeze Enterprise. Otherwise the Fabasoft Folio COO Service handles the metadata full-text queries. For more information on the metadata full-text search see chapter “Searching in Metadata”.
  • Generate External References
    If this field is set to “Yes”, external references will be created automatically. For example, the external reference for the property COOSYSTEM@1.1:objsubject will be _objsubject. External references of properties not from COOSYSTEM@1.1 contain the corresponding software component (e.g. FSCFOLIO@1.1001:addrsurname will be _FSCFOLIO_1_1001_addrsurname).
    Automatically created external references may be overwritten by explicitly defined external references (Mappings for Metadata > Property Description > External Reference).
    Note: If you change this field the Fabasoft Mindbreeze Enterprise index must be rebuilt (see chapter “Rebuilding an Index”).
  • Mappings for Metadata
    In this field the object classes are defined that should be indexed. Only the properties provided in the mappings are included in the index.
    Note: Objects are only added to the Fabasoft Mindbreeze Enterprise index if this property contains an entry for the respective object classes (or base classes). Properties omitted in this mapping will not be searchable using Fabasoft Mindbreeze Enterprise. Additionally, due to security reasons it is not possible to specify properties protected by special access types.
    • Object Class
      In this field you can define the object class containing the properties that should be indexed.
    • Abstract
      If an object class is defined as “abstract” the properties of the object class apply to all object classes that are configured in the Fabasoft Mindbreeze Enterprise configuration.
    • Property Description
      In this field you have to define the properties of the object class selected in the Object Class field that you want to be included in the Fabasoft Mindbreeze Enterprise index.
      • Property Path
        The property or path to the property to be indexed (e.g. the Surname field of a person).
      • External Reference
        External references are keys for the metadata properties. (e.g. the query firstname:Max returns all persons with the first name “Max”).
        The external reference “mes:date” causes the value of the given date/time property to be used as the primary date of an indexed object or content (taken into account during hit ranking and displayed in the hit display of Mindbreeze Enterprise Search). The default primary date is the modification date of the object or content.
        Note:
        An external reference has to be defined if As List, Narrow or Widen is set to “Yes”.
      • As List
        If set to „No“, objects and object lists are indexed as strings, which means that no context icons or context menus are made available for these fields in the Fabasoft Mindbreeze Enterprise client.
      • Narrow
        If set to “Yes”, a context menu item is displayed in the Fabasoft Mindbreeze Enterprise client to allow you to narrow the search result list down to search results referencing the same object in this property. This setting is only evaluated when the As List field is set to “Yes”.
      • Widen
        If set to “Yes”, a context menu item is displayed in the Fabasoft Mindbreeze Enterprise client to allow you to widen your search to include search results referencing the same object in this property. This setting is only evaluated when the As List field is set to “Yes”.
      • Do Not Consider Access Types for Search
        If set to “Yes”, the property represented by Property Path is searchable despite configured access types in Access Types for Reading Property.

    • Software Component
      In this field you have to provide a software component because otherwise the settings are lost after an update of the Fabasoft Folio Domain.
      Note: Make sure that the used software component contains Integration for Fabasoft Mindbreeze Enterprise (FSCMINDBREEZE@1.1001) in the Extended Components field.
  • Mappings for Contents
    In this field you can define which content properties of an object class should be indexed.
  • Object Classes Not Searchable
    In this field you can define object classes which should not be indexed if the base class is defined for indexing.
  • Use Domain Constraints
    If set to “Yes”, you can limit the search in the Fabasoft Mindbreeze Enterprise client to a certain Fabasoft Folio Domain or Fabasoft Folio Tenant.
  • Use Scope Constraints
    If set to “Yes”, you can limit the search in the Fabasoft Mindbreeze Enterprise client to a certain area.
  • Predefined Constraints
    In this field you can provide predefined constraints for filtering search results using the Fabasoft Mindbreeze Enterprise client.
    Example: You want to define a predefined constraint for limiting search results to instances of the object class Wiki Article. To implement this predefined constraint, add a new entry to the Predefined Constraints field and select the object class Wiki Article in the Object for Name and Icon field. In the Constraint field, enter the string “categoryclass:COO.1.1001.1.215908”, which will be passed on to Fabasoft Mindbreeze Enterprise for filtering the search result list. Thus, if the Wiki Article predefined constraint is selected in the Fabasoft Mindbreeze Enterprise client, the search result list will be restricted to instances of object class COO.1.1001.1.215908 (which is the address of object class Wiki Article).


    • Object for Name and Icon
      The object referenced in this field determines the name and the icon displayed for the predefined constraint in the Fabasoft Mindbreeze Enterprise client.
    • Constraint
      In this field, you have to define a constraint for filtering the search result list. Refer to the “Fabasoft Mindbreeze Enterprise Guide” for further information on the syntax of constraints.
    • Default
      This field determines whether the predefined constraint is active or inactive by default.
    • Software Component
      In this field you have to provide a software component because otherwise the settings are lost after an update of the Fabasoft Folio Domain.

Note: More than one configuration object can exist in a Fabasoft Folio Domain. However, only one configuration object may be active at the same time. The active configuration object is determined in the “Current Domain”, on the “Components Configuration” tab, in the FSC Mindbreeze Configuration field.

Indexing ServicePermanent link for this heading

To configure the settings for a specific indexing service proceed as outlined and keep in mind that your configuration will apply to that specific indexing service only:

  1. In the “Domain Administration”, under “Domain Objects”, click the “Services” tab.
  2. Open the “Indexing Service” object in edit mode.
  3. Following fields are available:
  4. Category
    This field can be used to define a new category. Such a category will be displayed in the Fabasoft Mindbreeze Enterprise client in addition to the Fabasoft Folio Domain (e.g. “Fabasoft Contact”).
  5. Indexing Service URL List
    Use this field to define the URL (including port) of the indexing service of Fabasoft Mindbreeze Enterprise. If multiple URLs are specified, the data will be evenly distributed across the specified indexing services.
    Note: By default, Fabasoft Mindbreeze Enterprise assigns port 23100 to the first indexing service.
  6. Search Service URL List
    Use this field to define the URL (including port) of the search service of Fabasoft Mindbreeze Enterprise. Multiple search services may be used.
    Note: By default, Fabasoft Mindbreeze Enterprise uses the HTTPS protocol and port 23300 for the first search service.
  7. Chunk Size
    This field contains the number of objects, to be used in chunks within one transaction. The default chunk size is 100.
  8. Start Point
    This field specifies which objects should be indexed from the date/time they are last changed at.
  9. End Point
    This field specifies which objects should be indexed until the date/time they are last changed at.
  10. Number of Threads
    This field allows you to specify the number of concurrent threads to use.
  11. Alternate Condition
    This field allows you to define your own condition for indexing of objects.
  12. Ignore Default Scope
    If this field is set to “Yes”, the indexing will process objects across all Fabasoft Folio COO Stores for all objects that match the Alternate Condition, even if this indexing service is not defined on the Fabasoft Folio COO Stores.
  13. Force Index Update With Alternate Condition
    If this field is set to “Yes”, the indexing will re-index all objects that match the Alternate Condition, even if objects have already been indexed. This functionality is useful for applying configuration changes without full re-indexing.
  14. File for External Index State
    Use this field to specify a file, where information on indexed objects is stored. By default, the index state is stored in Fabasoft Folio. By storing the index state in an external file, initial indexing into a new index based on a new indexing service object can be executed in parallel to delta indexing into an existing index. If a file is specified, Ignore Default Scope must be set because the alternative Indexing Service object cannot be assigned to a COO Store without removing the current Indexing Service object. Additional restrictions can be specified in Alternate Condition.
    Once completed, the new Indexing Service can be switched to by disabling delta indexing for the current Indexing Service, executing an index recovery which transfers the index state to Fabasoft Folio, and assigning the new Indexing Service to COO Stores. After removing the file from the Indexing Service, delta indexing can be re-enabled.
  15. Directory for Log Files
    Use this field to specify a folder, where the log files will be stored.
  16. Filter Services
    This field allows you to specify the filter services to be used by the Fabasoft Mindbreeze Enterprise indexing service.
  17. Client Certificate
    For HTTPS encryption a PKCS12 client authentication certificate with embedded private key is required. The CA certificate (cacert.pem), used to generate the client certificate, has to be imported in the Fabasoft Mindbreeze Enterprise client (tab "Certificates"). These certificates are generated automatically by the Fabasoft Folio Setup and are stored automatically within the appropriate place. The certificates are stored in a Microsoft Windows environment in C:\Program Files\Fabasoft\Components\MindbreezeIntegration and in a Linux environment in /opt/fabasoft/share/mes/certificate/.
  18. Private Key
    This field contains the path to the generated private key (in a Microsoft Windows environment for example C:\Program Files\Fabasoft\Components\MindbreezeIntegration\request.key and in a Linux environment /opt/fabasoft/share/mes/certificate/request.key). This file has to be readable for every Fabasoft Folio Kernel, whenever a query is passed to Fabasoft Mindbreeze Enterprise. After the installation of the Fabasoft Integration for Fabasoft Mindbreeze Enterprise the private key is stored in the path specified. If an installation is split across multiple computers, the private key has to be stored on all servers hosting a Fabasoft Folio Web Service.
  19. Passphrase of Private Key
    In this field the passphrase of the private key has to be entered. (The path to the text file containing the passphrase is in a Microsoft Windows environment C:\Program Files\Fabasoft\Components\MindbreezeIntegration\passwd and in a Linux environment /opt/fabasoft/share/mes/certificate/passwd).

Filter ServicePermanent link for this heading

A filter service object can be configured in multiple index service objects. Follow these steps to configure a filter service:

  1. In the “Domain Administration”, under “Domain Objects”, click the “Services” tab.
  2. Open the “Filter Service” object in edit mode.

Following fields are available:

  • Filter Service URL List
    This field contains one or more URLs (including port information) representing Fabasoft Mindbreeze Enterprise filter services. During indexing, local Fabasoft Mindbreeze Enterprise filter services (identification is based on the host name) are used in favor of remote filter services to eliminate unnecessary network traffic.
    Note: By default, the first Fabasoft Mindbreeze Enterprise filter service of a Fabasoft Mindbreeze Enterprise installation is reachable via port 23400.
  • File Extensions
    This field contains file extensions of all file types that should be indexed. For example, specifying “doc” causes Microsoft Office Word objects to be indexed.

Fabasoft Folio StoresPermanent link for this heading

A Fabasoft Mindbreeze Enterprise filter service object must be configured in Fabasoft Folio COO Stores to include associated Fabasoft Folio objects for indexing.

  1. In the “Domain Administration”, under “Domain Objects”, click the “Stores” tab.
  2. Open the Fabasoft Folio COO Store in edit mode.
  3. Set the desired Fabasoft Mindbreeze Enterprise indexing service object in the Indexing Service field.

Note: Archived Fabasoft Folio objects remain associated to the original Fabasoft Folio COO Store. During indexing, archived objects are read from the archive and sent to Fabasoft Mindbreeze Enterprise. Consequently, archived objects in Fabasoft software products can be searched via Fabasoft Mindbreeze Enterprise.

Indexing of Archived Contents and ObjectsPermanent link for this heading

Indexing archived contents and objects stored in an archival system via Fabasoft iArchive requires no additional configuration. The Fabasoft Folio Kernel handles these automatically by reading them from the archive and sending them to Fabasoft Mindbreeze Enterprise.

Modification of the timeout propertiesPermanent link for this heading

Whithin a full-text search the configured limit of hits and the maximal search time are sent to Fabasoft Mindbreeze Enterprise. The default values are 10000 for the maximum hit count and 5 seconds for the maximum search time.

These default values can be changed in the Microsoft Windows Registry on the Fabasoft Folio Web Server:

[HKEY_LOCAL_MACHINE\SOFTWARE\Fabasoft\FscWeb\Modules\1_FSC]
@="//?/C:/Program Files/Fabasoft/Components/Web/1_FSC/ASP/content/bin/fscvext.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Fabasoft\FscWeb\Modules\1_FSC\FTSCOUNT]
@="5000"

[HKEY_LOCAL_MACHINE\SOFTWARE\Fabasoft\FscWeb\Modules\1_FSC\FTSTIMEOUT]
@="20"

In a Linux environment an environment variable can be set for these counters.

echo –n 5000 > /var/opt/fabasoft/instances/WebService_<ID>/env/FTSCOUNT

echo –n 20 > /var/opt/fabasoft/instances/WebService_<ID>/env/FTSTIMEOUT

These counters can also be modified in each query by inserting the designated property:

<Search Term> count:1000 timeout:15

The maximum hit count of a quick search is always 100. You can only change the hit count with inserting the property count:<value>

Indexing via UNC PathsPermanent link for this heading

If you want to index via UNC paths, follow the following steps:

  1. In the “Domain Administration”, under “Domain Objects”, click the “Services” tab.
  2. Open the MMC service in the edit mode.
  3. Open the detail view of the MMC Service Areas.

If a UNC path (Universal Naming Convention) is referenced in the field Path to Directory on Server, the path will be sent to Fabasoft Mindbreeze Enterprise. During the indexing process the Fabasoft Mindbreeze Enterprise filter service indexes the contents directly from the MMC area via these UNC paths. This results in a increased performance.

Note: Each service user, who runs an indexing service, needs access rights to read from the MMC area. In a Linux environment the share has to be mounted.

Optimized Full-Text QueriesPermanent link for this heading

If an additional search criteria, that has not been indexed, is defined beside the full-text search, there is a chance to reduce the time of the query in the database. If the Enable Optimized Full-Text Queries field is set to „Yes“, the result of Fabasoft Mindbreeze Enterprise will be taken and filtered afterwards in the database. If the Enable Optimized Full-Text Queries field is set to „No“, the search request will be first filtered in the database and afterwards searched with Fabasoft Mindbreeze Enterprise.

ACL Check OptimizationPermanent link for this heading

The Fabasoft Integration for Fabasoft Mindbreeze Enterprise optimizes ACL checks during query processing by providing Fabasoft Mindbreeze Enterprise with security context data as part of the indexing process. The data is derived from security-relevant properties in Fabasoft Folio (e.g. ACL, Referenced Object) and allows Mindbreeze to filter results before passing the final result to the Fabasoft Folio ACL check. This optimization can dramatically improve search performance because the number of objects that need to be checked via the Fabasoft Folio ACL check decrease.

In order to take full advantage of this optimization, ACLs containing property paths across object boundaries must be configured along with a list of associated object classes that represent object containers. An ACL or the property “Referenced Object” must not reference objects that are outside of a given object hierarchy identified by a specific object class. Hierarchies of that object class must contain object references of all objects that are part of the hierarchy. The hierarchy must be traversable via the property “COOSYSTEM@1.1:objchildren” or any other property with “COOSYSTEM@1.1:attrischild” set. If all of these conditions are met, ACLs and object classes of containers can be configured to optimize access checks. Otherwise, these objects cannot be pre-filtered before the final ACL check via Fabasoft Folio.

To configure the list of ACLs and object classes, proceed as follows:

  1. In the “Domain Administration”, click the “Configuration Objects” tab.
  2. Open the configuration object FSCCONFIG@1.1001:Configuration in edit mode.
  3. Click the “Search” tab.
  4. In the field “ACLs for Evaluation of Security Context Across Object Boundaries”, create a new entry with the desired ACL and software component.
  5. In the field “Superordinated Objects for Security Context Updates”, create a new entry with the desired object class and software component.

Alternatively, you can configure these using the following customization points in a DUCX project:

  • FSCCONFIG@1.1001:SearchSecACLs
  • FSCCONFIG@1.1001:SearchSecContainers

Custom Forms for Hit Display/PreviewPermanent link for this heading

By default, the Fabasoft Mindbreeze Enterprise Web Client displays indexed properties for each hit and as part of the preview based on the default form in Fabasoft Folio.

The list of properties can be customized for the hit display and preview on a per object class basis by configuring custom forms containing desired properties. The following actions are available for configuring custom forms:

  • FSCMINDBREEZE@1.1001:ViewHit (Hit Display)
  • FSCMINDBREEZE@1.1001:ViewPreview (Preview)

Custom Context Menus in the Mindbreeze Web Client Permanent link for this heading

By default the Fabasoft Mindbreeze Enterprise Web Client is using the "container independent" as defined on the according object class. To overwrite this default behavior to use custom context menus there are two new properties for each object class (FSCMINDBREEZE@1.1001:classmbctxmenu and FSCMINDBREEZE@1.1001:classmbctxenuex). Using these properties the context menus can be defined analog to the existing configuration possibilities (e.g. the container independent context menu for search results).

Furthermore the transaction variable TV_ISMESCONTEXT will be set during context menu evaluation. This transaction variable can be used to define dynamic context menus using FSCMINDBREEZE:1.1001:classmbzmenuex and an "User Interface Scoping Rule".

Mindbreeze Web Client LanguagePermanent link for this heading

By default, the Fabasoft Mindbreeze Web Client displays language-specific strings depending on the web browser language. If a user environment specifies a language, information provided by Fabasoft Folio is still solely based on the web browser language to present a consistent user interface. However, so-called preferred languages (FSCCONFIG@1.1001:cfgbrowserlanguages) can be configured in the Fabasoft Folio Administration Configuration to customize that behavior:

  1. In the “Domain Administration”, click the “Configuration Objects” tab.
  2. Open the “Administration” configuration object in edit mode.
  3. In the field “Preferred Languages When Using the Web Browser Language”, configure one or more preferred languages. If a preferred language represents a subordinate language of the web browser language, that language is used instead.

Hyperlink Preview GenerationPermanent link for this heading

Preview in Fabasoft FolioPermanent link for this heading

Fabasoft Folio generates preview images for hyperlink objects via Fabasoft Mindbreeze Enterprise.

For preview generation, Fabasoft Folio selects filter services that satisfy the following criteria:

  • The filter service contains the extension httpurl
  • The filter service is referenced by an indexing service configured for a specific COO store

Preview requests are sent to the resulting list of filter services on a round-robin basis. Fabasoft Mindbreeze Enterprise accesses the website represented by the URL in the hyperlink object and generates an image representation that is post-processed by Fabasoft Folio. Direct internet access is required for these filter services.

The generated preview can be updated by the user via the context menu entry “Update preview”.

Preview in Fabasoft Mindbreeze EnterprisePermanent link for this heading

For indexing, Fabasoft Folio can pass URLs in hyperlink objects to Fabasoft Mindbreeze Enterprise so that the indexed object information can be extended with a preview comprised of a website thumbnail and formatted text retrieved from the website itself.

The following criteria must be met for the URL exchange to be enabled:

  • The “Mapping for Contents” in the Mindbreeze Configuration object contains an entry for the object class “Hyperlink” (COODESK@1.1:URLObject). The property “Property Description” contains the property “File” (COOSYSTEM@1.1:content).
  • A filter service contains the extensions url and website
  • The filter service is referenced by an indexing service configured for a specific COO store
  • Direct internet access is required for selected filter services.

The generated preview in Fabasoft Mindbreeze Enterprise can be updated by the user via the context menu entry “Update preview”, the update is the performed during the next delta-indexing run.

Displaying Search Results in the Embedded Fabasoft Mindbreeze Enterprise Web ClientPermanent link for this heading

By default, the search result of a quick search is displayed as drop-down list. If the search results should be displayed in the embedded Fabasoft Mindbreeze Enterprise Web Client (after pressing “Enter”), following configuration steps are necessary.

  1. Edit the “Mindbreeze Configuration”.
  2. Set Show Quick Search Result in Overlay to “Yes”.
  3. Define the Web Client Service URL (Embedded Search) of the Fabasoft Mindbreeze Enterprise Web Client.
    For example: https://mindbreeze.fabasoft.com:23350
    Note: Make sure that <web client service URL>/stylesheets/embedded.css and <web client service URL>/script-bundle/embedded.js is reachable.

If the JavaScript file cannot be accessed, the search result is displayed as the default drop-down list. In case of problems:

  • Check whether Web Client Service URL (Embedded Search) is defined correctly.
  • Check whether SAML is used as authentication mechanism.
  • Check whether the file paths of the two files exist on the Fabasoft Mindbreeze Enterprise Web Server.

If everything works fine the virtual application FSCVENV@1.1001:MindbreezeSearchOverlayApp is opened as overlay after pressing “Enter”. The action FSCMINDBREEZE@1.1001:GetFTSQueryConstraints is used to evaluate the query. The virtual application FSCVENV@1.1001:ShareMindbreezeSearchResultApp is used to share the results in the object list.