The full-text search for objects in the Alfabet database and the full text search on top of the Help window require a search index to be available.

For the full-text search of the online help, the following data is delivered by Alfabet BD GmbH with the Alfabet installation:

  • A folder HelpSearchIndex containing the search index for the standard Alfabet online help.

Configure the Alfabet Web Application to accept images from the help server.

For the full-text search of the online help, images in the search results are taken over directly from the Help web site. If you are implementing the full-text search for the online help, you need to add the root of the web server as allowed image source in the content security policy of the Alfabet Web Application:

  1. Go to the Config subfolder of the physical directory of the Alfabet Web Application. By default, the physical directory is the AlfabetWebApplication sub-directory of the Alfabet installation directory.
  2. Open the alfasettings.json file in a text editor.
  3. Add the help server URL to the img-src specification in the ContentSecurityPolicyValue field of the AlfabetWebConfig JSON object. If the img-src is not yet defined, it needs to be added to the field:
    • img-src 'self' https://documentation.alfabet.com data:;
    • 'ContentSecurityPolicyValue': 'img-src 'self' https://documentation.alfabet.com data:; script-src 'self' 'nonce-{nonce}'; style-src 'self' 'nonce-{nonce}'; style-src-attr 'self' 'unsafe-inline'; object-src 'none'; frame-ancestors 'self'; frame-src 'self''

Specify a search index directory

  • On the local file system, create a directory that shall include the search indices. The Alfabet components must have ReadWrite access to the directory.
  • Copy the HelpSearchIndex folder to the search index directory.
  • In the Alfabet Administrator, click the Aliases node.
  • In the table, select the server alias of the Alfabet Web Application and click Edit.
  • In the Overview tab, click the three dots on the right of the Search Index Directory field and select the directory for the search indices created in step one.
  • Click OK and close the Alfabet Administrator.

Define the objects classes and object class properties for which full text search shall be available

  • In the Presentation tab explorer of Alfabet Expand, double-click XML Objects > SearchManager.
  • In the editor, check whether the <SearchGroup> definitions match your requirements and alter them, if required. Users will be able to filter the full text search by search group and query definition. The following attributes can be defined:

    The XML element <SearchGroup> has the following XML attributes:

    • Name: Define the name of the search group that will be displayed to users when selecting a search option in the filter of the full text search. This attribute is mandatory.
    • Profiles: You can define a comma separated list of user profile names can be defined with this attribute to limit the availability of the search group to the specified user profiles. If the attribute is not set, the search group is available for all user profiles.

    The XML element <Query> has the following XML attributes:

    • Name: Define the name of the search that will be displayed to users when selecting a search option within the selected search group in the filter of the full text search. This attribute is mandatory.
    • ClassName: Enter the name of the object class that shall be searched.
    • ShowProps: Enter the name of the object class properties that shall be displayed in the search results under the headline.
    • ImageProps: Enter the name of the object class properties that shall be displayed in the headline of the search results.
    • ExportProps: Enter the name of the object class properties that shall be added to the search index. when a user searches for a string, the string is searched for in the defined object class properties. you must define at least all object class properties defined in the XML attribute ShowProps and XML attribute ImageProps.
    • Query: Optionally, you can define an Alfabet query to limit the entries in the full text search to a subset of the object of the object class. Show properties must not be defined.
      • Query='ALFABET_QUERY_500 FIND Project WHERE Project.Stereotype='ProjectStep'

Add the full text search to user profiles

  • Go to the Admin tab in Alfabet Expand.
  • Expand the User Profiles node.
  • Expand the node of the user profile for the administrator. You can see already existing menu items as sub-elements.
  • Do one of the following:
    • To add the functionality on the first level of the menu, right-click the node of the user profile and select Create Menu Item.
    • To add the functionality as sub-item of an existing menu item, right-click the node of the existing menu item and select Create Menu Item.
  • Click the new menu item in the explorer and define the following:
    • Target Type: Select BusinessFunction.
    • Target: Select ADMIN_FullTextSearch.
    • Caption: Enter the text to be displayed in the left-side menu of the user interface.
    • Icon: If an icon shall be displayed in the left-side menu of the user interface on the left of the text, open the editor of the Icon attribute. Select the icon gallery containing the icon and then select the icon from the icon list.
    • Arguments: Leave this field empty.
  • Click the parent node of the menu item to edit its attributes.
  • open the editor of the Sub-Items attribute, click the new menu item in the list and move it to the correct position in the list of menu items with the arrow buttons on the upper right of the editor.

Schedule creation of the full text search index in regular intervals.