The following sub-sections of this documentation describe all attributes that you can edit in the server alias editor:

Overview tab

The Overview tab contains the settings for the connections between different Alfabet components. The settings are required for the basic functionality of the Alfabet Web Application, for implementation of the Alfabet RESTful services and for implementation of help and full text search.

Expand tab

You can define Alfabet Expand related attributes in this tab.

Required configuration for activation of full functionality:

Security related settings:

  • Scan uploaded files for malware Select the checkbox to activate anti-virus check of all documents uploaded to Alfabet via the web interface. The whitelist and blacklist definitions configured in Alfabet Expand for allowed file types are also considered. This option is activated by default.

    The scan is performed via the anti-virus software installed on the server host. An anti-virus application with AMSI (Anti-Malware Scan Interface) support must be installed on the server host and AMSI must be activated for the operating system and the anti-virus application.

Settings for working with multiple Alfabet Expand instances in parallel:

If you are using multiple instances of Alfabet Expand in parallel with a connection to the same Alfabet database, you should set the following attributes. If the meta-model is changed in one of the instances of Alfabet Expand and the changes are saved to the meta-model, the users of the other Alfabet Expand instances will be informed via a message on the Alfabet Expand host that the meta-model has changed. Clicking the message opens a report in the center pane of Alfabet Expand that provides information about which change was made to the meta-model and the user that performed the change. The following configuration must be available in the server aliases of all involved Alfabet Expand instances:

  • Track Meta-Model Changes: Select the checkbox.
  • Tracking Period (seconds): Enter the interval for tracking changes to the meta-model in seconds.

Settings for direct meta-model update between databases: These settings activate upload of changes to the meta-model configuration via a direct connection between Alfabet Expand of a source Alfabet installation and the Alfabet database of a target Alfabet installation. This mechanism is not recommended for production environment. It should only be used for updating of test and solution configuration environments. The configuration is required in the server alias of the Alfabet Expand application in the source environment.

  • Enable Master Database Configuration: Select this checkbox to activate direct meta-model upload to a target database.
  • Alias for Meta-Model Design Master Database: Enter the name of the server alias configuration for connection to the target Alfabet database.
  • Update from Master Database Mode: Select Complete Updates if you want the complete configuration to be taken over. Select Selective Updates if the person triggering the updates shall decide about which parts of the configuration to take over.
  • File-Based Updates Permitted: Deselect the checkbox if you want to perform meta-model update exclusively via the direct connection. If you deselect the checkbox, you deactivate the Update Meta-Model functionality in Alfabet Expand for update of the meta-model configuration of the current database with the meta-model configuration stored in an AMM file.

Server Settings - General tab

Server Settings - Security

Server Settings - Tracking

Two different types of usage tracking are activated and configured with the attributes in this tab:

Presentation Usage Tracking

The user activity in the Alfabet user interface can be tracked to evaluate which functionalities are most used or seldom used and how users navigate on the Alfabet user interface to access a functionality. In addition, the information about the performance of data preparation for view rendering is captured. The information from activity tracking can help to improve the solution configuration and to identify performance issues.

Presentation tracking must be activated to show recently used objects for a user in the Recent Objects view added as standard menu item to new user profiles.

  • Track Presentation Usage: Select Local Database to activate presentation usage tracking. By default, this attribute is set to Deactivated and no presentation usage tracking is performed. The Alfabet REST Service mode is currently not supported.
  •  Track User ID: If presentation usage tracking is activated and this checkbox is selected, the REFSTR of the user will be tracked in addition to the session ID of the current user session and sub-session. If the checkbox is not selected, only the session ID and sub-session ID of the current user session will be saved in the tracking records. This information is sufficient to evaluate which views have been accessed by a user during the same session without adding actual user information to the tracking information. Check legal compliance of tracking user information prior to selecting the Track User ID checkbox.
  •  Archive/Restore Presentation Usage Tracking: If you select the checkbox, the presentation tracking information will be included in Alfabet Database Archive files (ADBZ files) and restored in target databases when restore is performed from an ADBZ file. The presentation usage tracking feature and this attribute must be activated on both the alias used for archiving the database and the alias for restoring the database to include the information.
  • Alfa REST Service Connection Name: This attribute is currently not supported.

Usage Tracking

When your license for using Alfabet is based on a metered contract, it is required that the usage of functionalities is tracked and data about the usage is provided to Alfabet BD GmbH.

To perform usage tracking, a running Alfabet Server must be connected to the same Alfabet database than the Alfabet Web Application. The Alfabet Server can be run as a service.

Usage tracking must be activated in both the server alias of the Alfabet Web Application and the server alias of the Alfabet Server.

  1. Define a target directory for the storage of tracking data and define write access permissions for the Alfabet Server (Service) for the directory.
  2. Define the following fields in the Server Settings > Tracking tab of the server aliases of both the Alfabet Web Application and the Alfabet Server.

Server Settings - REST API

These settings are only relevant for the server alias of the Alfabet API server.

Server Settings - Email Settings

To send emails in the context of Alfabet functionalities, either a local SMTP server must be installed and configured on the Alfabet Server machine, or an existing enterprise SMTP server must be configured in the server alias configuration file of the Alfabet Server.

Configuration of the Alfabet Server comprises both the specification of the SMTP server and the parameters for processing emails in the queue.

The Alfabet Server checks the queue for pending emails in a configurable time interval and sends out emails to the SMTP server in blocks via a single connection. For the email queue processing parameters, best practice default values are displayed in the respective fields in a new server alias configuration. These parameters should only be changed if problems are encountered with the connection to the SMTP server.

The sender email address of Alfabet emails is configurable. The configuration is described below. The sender email address must be a valid email address that must be available before you begin to configure the Alfabet Server.

Define the connection to the SMTP server:

  1. Expand the Alfabet Aliases node in the Administrator explorer.
  2. In the table, select the server alias that you want to edit and click the Edit  Edit button in the toolbar. An editor opens.
  3. In the Server Settings > Email Settings tab, specify the connection to the SMTP server with the following parameters:
  4. Click OK to save your changes.

Define the email processing parameters:

The Alfabet Server checks the queue for pending emails in a configurable time interval and sends out emails to the SMTP server in blocks via a single connection. For the email queue processing parameters, best practice default values are displayed in the respective fields in a new server alias configuration. These parameters should only be changed if problems are encountered with the connection to the SMTP server.

Define the sender email address:

Typically, an SMTP server requires a sender email address for emails to be sent out. The sender address used for outgoing emails sent in the context of Alfabet by the Alfabet Server will depend on the setting of the System Sender Email Account attribute in the Server Settings > Email Settings tab of the server alias configuration.

The sender email address is written to the ALFA_EMAIL_BUS database table when scheduling the email for sending. If a user triggers sending an email via the Alfabet user interface, the information is added to the table by the Alfabet Web Application. If for example a workflow is started via an event, the Alfabet Server triggers sending of emails.

Therefore, the following attributes must be set in the server alias of both the Alfabet Web Application and the Alfabet Server:

Client Settings - General

  • Save Recent Objects: Select the checkbox if the recent objects data is saved when ending a Alfabet session. The data will be read by the standard Recent Objects and New and Recent Objects functionality. The report for listing of recent objects that is added by default to new user profiles is independent of this setting but uses presentation usage tracking to evaluate which objects are recently used.

You can read about the complete configuration to use the standard functionalities for listing of recent objects in the documentation about creating a menu for a user profile.

Client Settings - Authentication

These settings define how user credentials are checked during login.

Basic authentication settings:

  • Mode: Select the authentication method used to check user credentials:
    • Standard: Standard login with user name and password.
    • ExternalSource: User authentication via an external LDAP server.
    • SSO_WinUser: Windows Sign-On is used for user authentication. The Windows login data are used to check user credentials. This method can only be used for access to the Alfabet user interface via the Alfabet Web Application.
    • SSO_Certificates: Access to Alfabet is granted to all users authenticated via client server Web certificates. This method can only be used for access to the Alfabet user interface via the Alfabet Web Application.
    • SSO_FederatedAuthentication: Access to Alfabet is granted to all users successfully logged in to a company's federated authentication system. This method can only be used for access to the Alfabet user interface via the Alfabet Web Application.
    • Request Credentials URL: A link Click here to request access credentials can be displayed on the login screen. New users that would like to have access to Alfabet but do not yet have a user name and password assigned can click the link that will lead them either to a URL for web-based request of user credentials or will open an email to a predefined email addressed to the system administrator granting access to Alfabet.

      The link for request of access credentials will only be displayed if this attribute is set.

      If a URL is defined in the field, the link on the login screen will open the defined URL. The URL must be defined starting with http:// or https://.

      If an email address is defined in the field, the link in the login screen will open an email to the defined email address with the default mail client of the user with the subject line Access Credential Request. The email address must be defined as mailto: followed by the email address.

    • Authentication Connection Test Log File: For all Single Sign-on authentication mechanisms, the information about the authentication process can be written in a log file. Optionally, you can change the name of the authentication log file. If you do not specify a path, the file will be located in the physical directory of the Alfabet Web Application. The path specification must be an absolute path. This file is only relevant for testing the connectivity. During normal operation, the field should be cleared. Make sure that the Alfabet Web Application has Write permissions for the file.

Additional settings for certificates

  • Certificate Attribute: Enter the name of the certificate attribute that is used to identify the user. Depending on the setting of the Certificate Value Format attribute, either the whole attribute is used as user name for the authentication, or the attribute is scanned for text written in parenthesis and the text in parenthesis is then used as the user name. The user name may be optionally amended by a specified prefix or suffix defined via the User Name Prefix and User Name Suffix attributes.
  • Certificate Value Format: Select the method used to read the user name from the certificate attribute defined in the Certificate Attribute attribute.

    If EntireValue is selected, the entire value defined in the Certificate Attribute attribute will be used as user name for the authentication. If Parentheses is selected, the attribute will be scanned for text written in parenthesis and the text in parenthesis is then used as the user name. The user name may be optionally amended by a specified prefix or suffix defined via the User Name Prefix and User Name Suffix attributes.

  • User Name Prefix: If the Certificate Value Format attribute is set to Parentheses, enter a prefix that shall be added to the certificate attribute part in parentheses to generate the login name for the user, if applicable.
  • User Name Suffix: If the Certificate Value Format attribute is set to Parentheses, enter a suffix that will be added to the certificate attribute part in parentheses to generate the login name for the user, if applicable.

Additional settings for authentication via an external LDAP server

Client Settings - Actualization

Client Settings - Authorization

User Password Settings

  • Permit reuse of random default password: Defines how user passwords are generated if the Regenerate All Passwords and Regenerate Empty Passwords button interactions in the User Administration functionality are used. If Permit reuse of random default password is set, a set of 500 random passwords is temporarily generated and for each user a password is selected randomly from this range. This mechanism enhances the performance of password reset if executed for a very large number of users. If Permit reuse of random default password is not set, an individual intermediate password is generated for each user individually.
  • Enable Forgot Password: Select the checkbox to display a Forgot your password? link to the user on the login screen. If the user clicks the link, the Regenerate Password functionality that assigns a new password to the user via email will be automatically invoked. The user will be requested to change the password at first login with the automatically generated password. This functionality requires that the sending of emails is correctly implemented for the Alfabet Web Application 
  • Maximum Number of Regenerated Passwords: Each time a password is regenerated via email, either by a user administrator in the Users Administration functionality or because the user clicks the I forgot my password link on the login screen, a counter is incremented. The counter is reset to zero on login of the user with the last regenerated password. If the counter reaches a configured maximum number, the password regeneration functionalities are deactivated for the user unless the counter is reset via the Action > Reset Regenerated Passwords Counter option.
  • Password Change Interval: Number of days that a password is valid. After the defined time ends, the user is prompted to select a new password. Enter '-1' to configure that the user will never be prompted to change the password.
  • Enforce Password Criteria: Select the checkbox to use the password security options defined below. User passwords that do not correspond to the configured attributes are invalid.
    • Minimum Password Length: Enter the minimum number of characters required for a user password.
    • Recent Passwords Number: Enter the number of passwords that will be saved for the user and thus cannot be reused.
    • Min. Lowercase Letters: Minimum number of lower-case letters required in a password.
    • Min. Uppercase Letters: Minimum number of upper-case letters required in a password.
    • Min. Digits: Minimum number of digits required in a password.
    • Min. Special Characters: Minimum number of special characters required in a password.

Database Settings - Details

Parameters for database access:

  • Database: The database host name and name as host\database.
  • Database User: If standard login is used for database access, enter the user name of the database login user.
  • Database User Password: If standard login is used for database access, enter the password of the database login user.
  • Database Access: During critical administrative operations like update of the meta-model or restore of the database the database is set to restricted mode. If your database server or the access permissions granted to the Alfabet components does not allow the Restricted mode to be set, set this attribute to State . During update of the meta-model, the state Updating will be used instead to block access for other applications.

Database connection parameters:

Alfabet uses SQL server connection pooling for connections to the database server. With connection pooling, all requests are handed over to a pool of persistent connections.

  • The minimum number of connections are allowed in the connection pool: Enter the minimum number of concurrent connections allowed in the connection pool. The minimum value must be 1 during update of the meta-model via AMM file or database restore from ADBZ file. For performance enhancement of the Alfabet Web Application the value can be set to 10 or higher in production environments.
  • The maximum number of connections are allowed in the connection pool: Enter the maximum number of concurrent connections allowed in the connection pool. It is recommended to use the default value already set for new server aliases.

    The limitations of the operating system must be considered. On Microsoft® Server hosts the maximum number of connections should not be higher than 30000

  • Encrypt Connection: Select the checkbox to apply SSL to the connections between the Alfabet component and the Alfabet database 

Parameters for database maintenance:

  • Rebuild fragmented indices on server start: This parameter is evaluated in the server alias configuration of the Alfabet Server only: Select the checkbox to activate rebuilding of fragmented indices on each start of the Alfabet Server. Adding data to and deleting data from database tables leads to database index fragmentation which has a negative impact on performance.
  • Clean invalid characters from strings during reading and writing: Select the checkbox if you want strings to be checked for validity prior to check-in or when reading the string from the Alfabet database. Invalid characters such as special characters that are not allowed in the string are cleared from the string and the string is written to the database and displayed in the Alfabet user interface without the special characters.

    This option can cause a loss of performance. The checkbox should only be selected if problems with special characters have been detected.

Database Settings - Command Details

  • Default Execution timeout (seconds): Enter the timeout in seconds that shall be used as the default timeout for all processes targeting the database. If the field is empty, the default timeout of the database server is used. Set this timeout to a higher value if you encounter problems with update of the meta-model or restore of database for large databases.
  • User Interface Execution Timeout (seconds): Enter the timeout in seconds for user activity via the Alfabet user interface except for the specific actions defined in the other timeout options. If the field is empty, the default timeout defined with the Default Execution Timeout (seconds) attribute is used.
  • Report Execution Timeout (seconds): Enter the timeout in seconds for the execution of configured reports that are not configured to be executed offline. If the field is empty, the default timeout defined with the Default Execution Timeout (seconds) attribute is used.

    Please note that tabular configured reports with filters can be configured to be executed offline if a long execution time is expected. The report execution timeout defined in the server alias of the Alfabet Web Application is ignored for offline executed report. An individual maximum execution time is configured for each offline executed report. For more information about offline execution of configured reports, see in the reference manual Configuring Alfabet with Alfabet Expand 

  • ADIF Execution Timeout (seconds): Enter the timeout in seconds for the execution of ADIF jobs. If the field is empty, the default timeout defined with the Default Execution Timeout (seconds) attribute is used.
  • REST Execution Timeout (seconds): Enter the timeout in seconds for execution of RESTful service call to the Alfabet RESTful services. If the field is empty, the default timeout defined with the Default Execution Timeout (seconds) attribute is used.
  • Expand/Administrator Execution Timeout (seconds): Enter the timeout in seconds for user activity via the tools Alfabet Administrator, Alfabet Expand Web and Alfabet Expand Windows. If the field is empty, the default timeout defined with the Default Execution Timeout (seconds). Set this field to a higher value if you encounter problems with database restore or update of the meta-model for large databases.
  • Read Instances Cursor Chunk Size: When a user opens a view, all objects are loaded to memory to build the view. This attribute defines how many objects are read from the database simultaneously. The default of 1000 provides a good performance in loading views. The value should only be reduced if issues occure. You can set a value between 128 and 1000.

Variables

The definition of server variables allows you to store information about connection strings in the server alias configuration. Storing information about the connection strings in the server alias configuration instead of directly defining them in the configuration enhances security. Server variables are stored encrypted in the server alias and a command line tool is available to allow server variables to be set without direct access to the server alias configuration. The administrator of the component the connection is configured to can set the server variables via the command line tool without access to the complete server alias configuration and without providing the connection information to the administrator of the Alfabet components.

Storing connection data in server variables also eases the propagation of changes.

For example, if the setup of a connection to an external data source is done first in a test environment, the test environment is an exact copy of the production environment except that the components are installed on different servers. Therefore, all connections defined will be identical in the test and the production environment except for the server name. When migrating to the production environment, the server name must be changed in all configurations done in Alfabet Expand. But if the server name is defined as a server variable in the server alias configuration, the configurations carried out in the configuration tool Alfabet Expand will reference the server name as a variable in the connection string and can be reused in the production environment. Only the variable definition in the server alias configuration of the production environment must be set to the current value.

Server variables can be used in the following configurations:

  • URLs and storage location definitions in the server alias configuration of the Alfabet components.
  • Connection strings defined in XML objects for the definition of interfaces with third party components. This applies to all XML objects located in Alfabet Expand in the Presentation tab in the Integration Solutions subfolder of the XML Objects folder. For more information, see the documentation of the respective interface in the reference manual Configuring Alfabet with Alfabet Expand.
  • Connection strings to external data sources.
  • URLs defined for dynamic Web links and URL properties.
  • URLs defined for external reports.
  • Link targets defined for object class properties of the type URL . The server variable name will be used to display the link in the user interface, except for the tooltip, which displays the correct link with the server variable value. The hook Show in UI of server variable values is not honored, but if the server variable value does not start with http, neither navigation is provided, nor a tooltip is displayed.
  • Definition of database users with restricted access permissions in the XML object DatabaseUsers in the Administration subfolder of the XML Objects folder.

Either all or part of the connection string can be defined in a server variable. It is also possible to build the connection string from several concatenated server variables.

If an attribute or XML attribute in the above-mentioned configurations can be defined with server variables, this is explicitly mentioned in the documentation. If the use of server variables is not documented for an attribute, server variables cannot be used.

For example, a Microsoft® SQL server is used as an external data source. The server name and the database name should be defined as server variables because they are the subject of the change. Therefore, the following server variables are defined in the server alias configuration:

  • SQLSERVER, specifying the Microsoft® SQL server used
  • DBNAME, specifying the name of the external database

The connection string contains the variables instead of the current Microsoft® SQL server name and the database name:

  • ConnectionString='Data Source=$SQLSERVER;Initial Catalog=$DBNAME;Pooling=false;Connection Reset=false;User ID=alfabet;Password=secret'

You can define server variables in this tab:

  1. Click the New button. A dialog box opens.
  2. In the Variable Name field, enter a unique name for the server variable. The server variable name may only contain letters (English alphabet), numbers, and the underscore symbol.
  3. In the Variable Value field, enter all or part of the connection string used to connect to the external source or a user name or a password that shall be stored as server variable for security reasons.
  4.  Show in UI: Select the checkmark if you want the value of the server variable to be displayed in plain text on the Alfabet user interface. The Alfabet query language instruction ReplaceServerVariable can be used to define queries that return server variable values in plain text.

    This setting is ignored for the definition of server variables in object class properties of the type URL. For these object class properties, the server variable value is only displayed in the tooltip of the server variable starts with http. Therefore, user names and passwords stored in the server variable cannot be read by creating URL links with the server variable.

  5. Click OK to save your changes. The server variable definition appears in the list of server variables.

    To edit or delete the server variable, select the server variable in the table and click the Edit or Delete button below the table.

  6. Click OK to save your changes and exit the editor. The variable definition is stored encrypted in the server alias configuration and can be used in external source configurations.

In the definition of the connection string, a variable is included as $<server variable name> . For example, a server variable called SQLSERVER is referenced as $SQLSERVER. The variable definition can either substitute the entire connection string or a part of the connection string.

Set server variables for preconfigured functionality

Integration solutions preconfigured for Alfabet IT Transformation Server solutions depend on correct setting of server variables. Licenses for third-party products are not included in Alfabet. The integration solutions can only be used with a valid license for access to the respective applications.

Most of the integration solutions are hidden when the server variables are missing. For IT-Pedia® integration, a server variable must also be set for hiding the feature.

  • You need to have a valid Horizzon® license. The access data for the Horizzon RESTful services are stored in the server variables.

    • Horizzon_ClientID: The client ID for access to the Horizzon RESTful services.
    • Horizzon_ClientSecret: The client secret for access to the Horizzon RESTful services.
    • Horizzon_TokenURL: The URL for token generation of the Horizzon RESTful services.
    • Horizzon_ApiURL: The URL of the Horizzon RESTful services.
  • Per default, Alfabet 11.9 includes out-of-the-box integration to IT-Pedia® from Eracent. IT-Pedia is a comprehensive IT product library that provides an up-to-date source of data about IT products of all types including, for example, hardware, software, and network devices. For customers migrating to Alfabet 11.8.1 who have not licensed IT-Pedia® from Eracent, the IT-Pedia functionalities should be disabled. In this case, all functionalities to import and synchronize IT-Pedia products with components in the Alfabet repository will be disabled and not displayed in the user interface.

    • Enable_ITPedia: Set to false to disable IT-Pedia integration or to true to enable IT-Pedia integration.
    • Eracent_UserName: Your user name for access to IT-Pedia.
    • Eracent_Password: Your password for access to IT-Pedia.

License tab

The Alfabet components will only work if a valid license is imported to the server alias. You must define a database connection prior to importing the license. The import mechanism connects to the database to check if the Alfabet version number in the license file corresponds to the Alfabet version number of the Alfabet database. Licenses are version specific, and you must import a new license on each upgrade to a new Alfabet release.

To import a license from a license file, click Import License File.