2024 Update Rollup 2

Configuration TasksPermanent link for this heading

The following chapters describe common configuration tasks in Fabasoft Folio.

Automatic ConfigurationPermanent link for this heading

The Fabasoft Folio configuration can be done using a single configuration file which is applied to the installation.

fsceval –eval "coodomain.Configure('/path/to/settings.expr')"

The settings file follows the Kernel Expression syntax assuming the compound type COOSYSTEM@1.1:ConfigurationSettings (which can be used as reference for the available settings) as local scope and parameters as global scope. The process environment can be accessed using the ::env key. Please note that the trailing semicolon after each statement is mandatory.

A simple settings file may look like this:

domainfinalformat = "pdf";
domaindelegation = {
  delegationactivated = true;
  delegationkeypath = "/path/to/key.p12";
  delegationkeypassword = ::env.DELEGATIONKEYPASSWORD;
};
FSCSMTP@1.1001:ciserver = "smtp.example.com";
FSCSMTP@1.1001:ciport = 25;
FSCSMTP@1.1001:cisecure = true;

The environment variables can be either specified by changing the process environment or by using the fsceval parameter env:

fsceval –eval "coodomain.Configure('/path/to/settings.expr')" –env settings.env

The local configuration file can be generated using the following command line:

fsceval –eval "coodomain.WriteConfigurationSettings('/path/')"

A template configuration file can be generated using the parameter CSM_TEMPLATE:

fsceval –eval "coodomain.WriteConfigurationSettings('/path/', CSM_TEMPLATE)"

In case of an update legacy configurations might have been made by modifying the built-in configurations. A merged configuration file can be generated using the parameter CSM_MERGE:

fsceval –eval "coodomain.WriteConfigurationSettings('/path/', CSM_MERGE)"

Please refer to the enumeration type ConfigurationSettingsMode for further generation options.

Configuration Evaluation OrderPermanent link for this heading

A distinction is made between built-in configurations supplied with Fabasoft Folio and local configurations used to configure settings based on the local environment and the customer needs. All built-in configurations can be found in the domain administration in the “Configuration Objects” list. The local configurations are stored in the primary domain or tenant (“Components Configuration” tab).

Configuration Hierarchies

Configurations of the same type can be specified as configuration hierarchy. This is done using the Based on field (“Configuration” tab) of a configuration.

If the Based on field is empty, the configurations from the primary domain and the domain type (or the default configuration, if the domain type hierarchy does not specify a configuration) are added automatically to the evaluation hierarchy.

In most cases, the effective configuration value is a result of the hierarchy. For example, if no value is specified in the topmost configuration the value is looked up in the next configuration in the hierarchy and so on.

Which Configuration Is Used?

Following mechanism is performed to determine the used configuration:

  1. Local configurations
    1. If a configuration is specified in the current tenant (“Components Configuration” tab), this configuration inclusive all “based on” configurations are used.
      Note: If no “based on” configuration is defined, the configuration in the primary domain will be used, too. If no configuration is found in the primary domain or the configuration also defines no “based on” configuration, the firstly found built-in configuration will be used, too.
    2. If a configuration is specified in the primary domain (“Components Configuration” tab), this configuration inclusive all “based on” configurations are used.
      Note: If no “based on” configuration is defined, the firstly found built-in configuration will be used, too.
  2. Built-in configurations
    1. If no configuration was found, the configuration of the Domain Type (and its hierarchy) of the current tenant (“Components Configuration” tab) inclusive all “based on” configurations are used.
    2. If no configuration was found, the configuration of the Domain Type (and its hierarchy) of the primary domain (“Components Configuration” tab) inclusive all “based on” configurations are used.
    3. If no configuration was found, the default configuration inclusive all “based on” configurations (but typically a default configuration has no base) are used.

AnnouncementsPermanent link for this heading

Announcements are shown on the welcome screen or notifications and can be used to inform users about events like a maintenance downtime.

To specify announcements, you need a local announcement configuration (primary domain or tenant > “Components Configuration” tab > Announcements field).

To define an announcement, proceed as follows:

  1. Edit the desired Announcement Configuration.
  2. On the “Announcement Configuration” tab, create a new announcement.
  3. Define what, when and to whom the announcement should be displayed.

Note: If you test your settings of an announcement, duplicate it to ensure that you see the changes of the announcement in the welcome screen, because the old setting may be cached for the test user.

Following properties are available for announcements:

  • Title
    The title of the announcement is displayed in bold.
  • Always Show in Welcome Screen
    Defines whether, the announcement is shown in the welcome screen, even if the user has deactivated the welcome screen and even if welcome screens are generally disabled in the virtual application configuration (“GUI” tab > Show Welcome Screen).
  • Symbol for Announcement in Progress
    The symbol that is shown while steps of the announcement are not processed by the user.
    Note: If the announcement has no steps to be processed, this symbol will never be shown.
  • Description for Announcement in Progress
    The description that is shown while steps of the announcement are not processed by the user.
    Note: If the announcement has no steps to be processed, this text will never be shown.
  • Elements of Announcement
    An announcement can consist of several steps that have to be processed by the user. A description of such steps can be found below.
    Note: If all steps are completed, they will be hided.
  • Expression to Be Done When All Steps Have Been Completed
    The defined expression is executed after all steps have been completed.
  • Description for Completed Announcement
    The description that is shown when all steps have been completed or when no steps have been defined.
  • Symbol for Completed Announcement
    The symbol that is shown when all steps have been completed or when no steps have been defined.
  • Valid from
    The announcement is only shown from this date. If left empty, the announcement is shown until the Valid to date is reached.
  • Valid to
    The announcement is only shown until this date is reached. If left empty, the announcement is shown form the Valid from date.
  • Time Span to Complete (in Days)
    If steps are defined, the user can carry out all steps within the defined time span. The first executed step starts the time span calculation and may override the Valid to date for this user.
  • Show Announcement for Following Users/Groups
    The users and groups who should see the announcement.
  • Also Show Announcement for Users If
    An expression that defines users who should see the announcement, too.
    Note: The user has to be defined in at least one of the two properties Show Announcement for Following Users/Groups and Also Show Announcement for Users If to be able to see the announcement.
  • Show Announcement for All Concerned Objects
    Defines whether the announcement should be displayed multiple times, based on the objects returned by the Concerned Objects expression.
  • Concerned Objects
    An expression that defines the concerned objects.

Following properties are available for announcement steps:

  • Title
    The title of the announcement is displayed in bold.
  • Hyperlink
    If the hyperlink is clicked by the user, the step is marked as done. If the Expression to Validate always returns false, the step is only marked as done when the user clicks the hyperlink.
  • Description
    The description of the step.
  • Symbol for Announcement Element in Progress
    As long as a defined hyperlink is not clicked and the expression to validate is false this symbol is displayed.
  • Expression to Validate
    If true, the step is marked as completed.
  • Symbol for Completed Announcement Element
    If a defined hyperlink is clicked or the expression to validate is true, this symbol is displayed.

Transfer/Publish a TeamroomPermanent link for this heading

To allow users to transfer or publish Teamrooms from Fabasoft Folio to the Fabasoft Cloud, the following configuration settings are needed.

Configuration in the Fabasoft Cloud

To authorize users to transfer or publish a Teamroom, proceed as follows:

  1. Navigate in the cloud organization, in the “Advanced Settings”, in the “OAuth Clients” area.
  2. Create an OAuth Client.
  3. Edit the properties of the OAuth client. The data in the fields Client ID and Client Secret are needed for the configuration in Fabasoft Folio.
    • In the Purpose field, you must define the following three web service definitions: “Transfer Teamroom”, “Retract Teamroom” and “Recover Teamroom”.
    • In the Period of Validity field, define the desired period (e.g. “Valid Until Revoked”).
    • Enable the No Confirmation Required option, if users should not have to confirm the authorizations the first time they use them.
  4. All users who have at least read access in the Teamroom are entitled to transfer or publish Teamrooms. Users in the Fabasoft Cloud and Fabasoft Folio are identified by the e-mail address.

Configuration in Fabasoft Folio

To determine which Fabasoft Cloud domains should be allowed as target domains, proceed as follows:

  1. Define in the primary domain on the “System Configuration” tab in the Target Domain field the desired Fabasoft Cloud domains. You can either create a new Linked Domain or edit a linked domain provided by the product.
  2. In the Base URL field, type the URL of the Fabasoft Cloud domain.
  3. Set the domain active (Active field) and available (Availability field).
  4. Enter the Client ID and Client Secret, generated by the OAuth client in the Fabasoft Cloud.
  5. Click “Next”.

After a successful configuration, the “Transfer Teamroom” command is available in the context menu of Teamrooms.

Note: For automatically continuing stalled Teamroom transfers an Automated Task executing the FSCTRANSFER@1.1001:CheckStalledTransfers action can be created.

Push Notification ServicePermanent link for this heading

Push notifications from Fabasoft Folio can be delivered via the Fabasoft Cloud. You therefore need an account in the Fabasoft Cloud.

To configure the push notification service, proceed as follows:

Fabasoft Cloud

  1. Open the account menu (your user name) and click “Advanced Settings” > “Access for Applications“.
  2. In the Passwords for Applications field, click “New”.
  3. In the Valid for field, select “Push Notification Service”.
  4. Choose a validity period.
  5. Click “Next”.

The displayed password is required for the configuration in Fabasoft Folio.

Fabasoft Folio

To configure the push notification service, you need a local Push Notification Configuration (FSCPUSHNOTIFICATION@1.1001:PushNotificationConfiguration) that references a Push Notification Service (FSCPUSHNOTIFICATION@1.1001:PushNotificationService).

Settings for the push notification service:

  • Use Predefined Service
    Select the data location where you created the password for applications.
  • User
    The e-mail address of the cloud user you used to create the password for applications.
  • Password
    The generated password for applications.

Settings for the push notification configuration:

  • Configuration for Push Notification Services
    The previously defined push notification service.
  • Firebase Web App Configuration
    • Project ID: fabasoftcloudproduction
    • App ID: 1:381467081838:web:5212c8d96f757890c1fa7f
    • API Key: AIzaSyCl2dAIKUZks8ITGvyeL9C4cfSS014N_-w
    • Messaging Sender ID: 381467081838

The configuration can be done using a configuration file as described in chapter “Automatic Configuration”.

Settings (Fabsoft Cloud Austria)

FSCPUSHNOTIFICATION@1.1001:pnspredefinedservice = PS_FABASOFT_CLOUD_AT;
FSCPUSHNOTIFICATION@1.1001:pnsuser = '<
Fabasoft Cloud login name>';
FSCPUSHNOTIFICATION@1.1001:pnspassword = '<
password for applications>';
FSCPUSHNOTIFICATION@1.1001:pncwebappconfiguration = {

  FSCPUSHNOTIFICATION@1.1001:pnfcprojectid = '
fabasoftcloudproduction';
  FSCPUSHNOTIFICATION@1.1001:pnfcappid =

    '1:381467081838:web:5212c8d96f757890c1fa7f';

  FSCPUSHNOTIFICATION@1.1001:pnfcapikey =

    'AIzaSyCl2dAIKUZks8ITGvyeL9C4cfSS014N_-w';

  FSCPUSHNOTIFICATION@1.1001:pnfcmessagingsenderid = '381467081838';

};

SMTP ConfigurationPermanent link for this heading

Use cases that send e-mails on the server-side require a third-party SMTP server and a corresponding configuration in Fabasoft Folio.

To configure the SMTP server, you need a local SMTP configuration (primary domain or tenant > “Components Configuration” tab > SMTP field).

Following properties can be defined:

  • Server
    Defines the hostname or IP address of the SMTP server.
  • Port
    Defines the port of the SMTP server that should be used for sending an e-mail.
  • Encrypted
    Defines whether the communication is secured by SSL/TLS (port 465) or STARTTLS (port 587).
  • Sender E-Mail Address (on Behalf of)
    Defines the default sender. This means that the e-mail will be delivered "on behalf of".
    Example: Office <office@fabasoft.com>
    The e-mail (sent by user David Porter) will contain:
    Office <office@fabasoft.com> on behalf of David Porter
  • Expression for Computing the Sender Name
    A Fabasoft app.ducx Expression to calculate the sender name that is displayed in an e-mail client.
    Example:
    STRING @sendername;
    @
    sendername = coouser.userfirstname + " " + coouser.usersurname;
    return @
    sendername;
    An e-mail client would show:
    David Porter <david.porter@fabasoft.com>
  • Additional Info
    Additional information for the SMTP server can be configured as key/value pairs. Currently the implementation considers the following keys:
    • "username"
      Used for authentication at the SMTP server.
    • "password"
      Used for authentication at the SMTP server.
    • "timeout"
      Timeout threshold for the SMTP server session.
    • "content-charset"
      A specific content character set for the e-mail transfer (Default: UTF-8).
  • Well Known Mail Recipients
    In this field e-mail addresses can be stored. For each e-mail address a context has to be defined that is used as key (normally a string object). To get the e-mail for a specific context the action FSCSMTP@1.1001:GetWellKnownMailRecipients is provided.

SchedulingPermanent link for this heading

Scheduling is used for several use cases (e.g. follow-ups) that carry out tasks repeatedly in defined time intervals.

To enable scheduling, proceed as follows:

  1. Navigate to the User object of the user who runs the Fabasoft Folio AT Service.
  2. Edit the user and click the “Advanced” tab.
  3. In the List of Automated Tasks field select a list of automated tasks or create a new one.
  4. Edit the properties of the list of automated tasks.
  5. In the Tasks field create a new automated task and edit its properties.
  6. In the Start on/at field, enter a date on which the automatic task should run for the first time. Additionally, define a Repetition and Repetition Type.
    In the Action field select one of the following described actions and save the settings.
  7. Repeat step 5 and 6 to define an automated task for each action described in the following.

Automated tasks for all of the following actions are required. The assignment of a background task to an automated check deadline task is based on the Duration field of the background task definition.

  • FSCSCHEDULE@1.1001:CheckDeadlines
    Background tasks instantiated prior to version 2019 can only be handled by CheckDeadlines. Newer background tasks will not be handled by CheckDeadlines.
  • FSCSCHEDULE@1.1001:CheckBulkImportDeadlines
    Only executes background tasks with duration “Bulk Import” (DD_BULKIMPORT).
  • FSCSCHEDULE@1.1001:CheckDataMigrationDeadlines
    Only executes background tasks with duration “Data Migration” (DD_DATAMIGRATION).
  • FSCSCHEDULE@1.1001:CheckDataMigrationDeadlines2
    Only executes background tasks with duration “Data Migration” (DD_DATAMIGRATION2).
  • FSCSCHEDULE@1.1001:CheckDataMigrationDeadlines3
    Only executes background tasks with duration “Data Migration” (DD_DATAMIGRATION3).
  • FSCSCHEDULE@1.1001:CheckDeadlineDateInitialization
    This action is used for checking the initialization of deadline dates (e.g. if a follow-up should be  based on a base date property that is initially empty).
  • FSCSCHEDULE@1.1001:CheckDeadlineDateRecalculation
    This action is used for recalculating deadline dates (e.g. if the execution date of a follow-up should be recalculated when the base date changes).
  • FSCSCHEDULE@1.1001:CheckDefaultDeadlines
    Only executes background tasks with no defined duration or duration “Default” (DD_DEFAULT).
  • FSCSCHEDULE@1.1001:CheckDefaultMailDeadlines
    Only executes background tasks with duration “Default (E-Mail)” (DD_DEFAULT_MAILS).
  • FSCSCHEDULE@1.1001:CheckDefaultRuleDeadlines
    Only executes background tasks with duration “Default (Rule Tasks)” (DD_DEFAULT_RULES).
  • FSCSCHEDULE@1.1001:CheckLongDeadlines
    Only executes background tasks with duration “Long” (DD_LONG).
  • FSCSCHEDULE@1.1001:CheckProjectDeadlines
    Only executes background tasks with duration “Project” (DD_PROJECT).
  • FSCSCHEDULE@1.1001:CheckShortDeadlines
    Only executes background tasks with duration “Short” (DD_SHORT).
  • FSCSCHEDULE@1.1001:CheckStatisticCalculationDeadlines
    Only executes background tasks with duration “Statistic Calculations” (DD_STATISTIC_CALCULATIONS).
  • FSCSCHEDULE@1.1001:CheckVeryLongDeadlines
    Only executes background tasks with duration “Very Long” (DD_VERYLONG).
  • FSCSCHEDULE@1.1001:CheckVeryShortDeadlines
    Only executes background tasks with duration “Very Short” (DD_VERYSHORT).

NotificationsPermanent link for this heading

This chapter describes configuration possibilities for notifications and necessary settings for enabling e-mail notifications.

Folio Configuration

On the “History” tab of the used local Folio Configuration, the following settings for notifications are available:

  • Log History Events
    Defines whether events are logged for the history.
  • History Limitations
    Defines the maximum number of logged history entries for certain object classes. By default, 500 entries are logged.
  • Limit for Notification Sources
    Defines the maximum number of objects to which a user can subscribe. By default, this value is unlimited.
  • Maximum Number of Levels for Get History
    Defines the maximum number of levels within a folder structure that should be considered for evaluating the history of an object. By default, this value is unlimited.
  • Maximum Number of Objects for Get History
    Defines the maximum number of objects to be considered for evaluating the history per object. By default, this value is unlimited.
  • Limit for Cached Objects in History Calculation
    Defines the maximum number of objects allowed to store their events in the cache of an object. The cache of an object is used to speed up the evaluation of the history.
  • Destination for History Cache
    For each object class an object on which the cache is stored can be defined. By default, all objects of a Teamroom are stored in the Teamroom’s cache.
  • Notification Settings
    For each event type a default display value can be defined. These values can be overwritten by a user.
  • Skipped Event Types
    It is possible to define a condition under which an event type should not be logged for a certain object class. In the Expression field, an expression returning true or false has to be entered.

E-Mail Notifications

To be able to use e-mail notifications, e-mail addresses have to be assigned to the users (“Address” tab, E-Mail Addresses field).

Make sure that a working SMTP configuration exists as described in chapter “SMTP Configuration”. Additionally, make sure that scheduling is configured as described in chapter “Scheduling”. In particular the background task definition FSCFOLIO@1.1001:DeadlineSendUserEventNotifications (Duration: “Default (E-Mail)”) is used to provide the functionality.

Follow-upsPermanent link for this heading

Follow-ups are sent via e-mail. Therefore, e-mail addresses have to be assigned to the users (“Address” tab, E-Mail Addresses field).

Make sure that a working SMTP configuration exists as described in chapter “SMTP Configuration”. Additionally, make sure that scheduling is configured as described in chapter “Scheduling”. In particular the background task definitions FSCNOTIFICATION@1.1001:DeadlineSendResubmission (Duration: “Short”) and FSCNOTIFICATION@1.1001:DeadlineSendRecalcResubmission (Duration: “Short”) are used to provide the functionality.

Scanning at the DevicePermanent link for this heading

When using the “Scan” command on the “Tools” menu it is assumed that the device scanner puts the file path of the scanned document in the clipboard. Either the scanner supports this functionality or the program copytoclipboard.exe provided by Fabasoft has to be assigned as post-processing step in the third-party scanner software.

To enable the scan functionality with the copytoclipboard.exe tool, proceed as follows:

  1. Unzip Setup\ComponentsBase\Client\copytoclipboard.zip from the installation media and copy copytoclipboard.exe to the client computer.
  2. Assign copytoclipboard.exe as post-processing step in the scanner software.

Folio Folder and Folio Network DrivePermanent link for this heading

The Folio Folder can be enabled in the user environment or the group of the user (“Advanced” tab, Synchronization Mode field: “No Synchronization”, “Synchronized Folder”, “Synchronized Desktop or Synchronized Folder”).

The Folio network drive can be enabled in the user environment of the user (“Advanced” tab, Enable Folio Network Drive field).

Note: By default, the Folio Folder is disabled and the network drive is enabled.

Long-Term Suspended ActivitiesPermanent link for this heading

Depending on the processing state, activities are displayed on different tabs in the worklist. In order to increase the clarity and improve the performance, the "Long-Term Suspended" tab can be enabled.

For this purpose, a time interval has to be defined in the workflow configuration from when a suspension is considered as long-term. As soon as the submission date falls inside the time interval, the activity will be moved from the "Long-Term Suspended" tab on the "Suspended/Pending" tab (configuration of an automated task is required). This setting does not affect already defined suspensions. If the setting is removed again, the automatic task moves all long-term suspended activities on the "Suspended/Pending" tab.

To define a time interval from when a suspension is considered as long-term, proceed as follows:

  1. Edit the local Workflow Configuration.
  2. On the “Worklist” tab, define a Time Interval From When a Suspension Is Considered as Long-Term.

To define the automatic task that is used to move the long-term suspended activities, proceed as follows:

  1. Navigate to the User object of the user who runs the Fabasoft Folio AT Service.
    Note: The user needs search rights for activity instances. By default, users with position Administration or System Administration have search rights.
  2. Edit the user and click the “Advanced” tab.
  3. In the List of Automated Tasks field select a list of automated tasks or create a new one.
  4. Edit the properties of the list of automated tasks.
  5. In the Tasks field create a new automated task and edit its properties.
  6. In the Start on/at field, enter a date on which the automatic task should run for the first time.
    In the Object field, create a new List of Background Activities.
    In the Action field, select the COOWF@1.1:CheckLongTermActivities action.
    Additionally define the Repetition and Repetition Type and save the settings.

Video and Audio ConversionPermanent link for this heading

By default, the video and audio conversion is disabled. To be able to convert videos and audios the third-party product FFmpeg has to be available on the Fabasoft Folio AT server.

To enable the automated task that carries out the conversion, proceed as follows:

  1. Navigate to the User object of the user who runs the Fabasoft Folio AT Service.
  2. Edit the user and click the “Advanced” tab.
  3. In the List of Automated Tasks field select a list of automated tasks or create a new one.
  4. Edit the properties of the list of automated tasks.
  5. In the Tasks field set the State of the “Process Digital Asset Conversions” task to “Activated” and save the settings.

Google MapsPermanent link for this heading

To be able to use Google Maps within Fabasoft Folio a Google Maps JavaScript API key has to be defined.

To define the API key, proceed as follows:

  1. Create a new or edit an existing local Map Configuration.
  2. On the “Map Configuration” tab, specify the Host of Fabasoft Folio (e.g. folio.comp.com) and your own API Key obtained from Google.

Object Class Hierarchy for the Mindbreeze SearchPermanent link for this heading

On object classes, the “Generate Thesaurus” context menu command can be used to generate a thesaurus of the whole object class hierarchy. The generated terms contain the file extensions as Hidden Synonyms and the object address of the corresponding object class as Exact Match.

This thesaurus can be further structured and may serve as the basis for filter options in the Mindbreeze search.

Providing AppsPermanent link for this heading

Licensed apps can be defined for a group (“Apps” tab) in order to make them available to the users of the group. The owner of the group receives a request in the notifications to create the corresponding app configurations for the defined apps with app configuration.

Alternatively, licensed apps can be defined for the primary domain or tenant (“Apps” tab).

By defining the app in the group, in the primary domain or in the tenant, the associated users receive a corresponding license. Apps without app configuration can be used directly. For apps with app configuration, the users must be additionally defined in the app configuration in the corresponding role in order to be able to use the app.

Procedure

Enter the required app in the Licensed Apps field on the “Apps” tab in the primary domain or tenant. In the App License Configuration field, an object is created when the functionality is used for the first time. This object contains, in particular, the app configurations that have not yet been created and the app configurations that have been created. In the notifications (account menu > “Advanced Settings” > “Notifications”) you will find the requests to create the first app configurations that have not yet been created. To do so, you can define additional app administrators who can authorize users in the following.

In some cases, more the one app configuration is wanted for an app. After the first app configuration was created via the notifications, additional app configurations can be created in the App Configurations field of the apps license configuration.