goobi_config.properties
In the configuration file goobi_config.properties
, some fundamental settings are done for Goobi Workflow. The file is usually located at the following file system path:
For example, this configuration file looks as follows:
General
This configuration file has been used in Goobi Workflow for a very long time and therefore contains partly obsolete settings which are supported nowadays only for compatibility reasons. These are marked separately and if necessary describe an alternative how to replace these settings.
Since the settings have been added over a long period of time and are still being added, different naming conventions have always been used in the variable names. Therefore, special attention must be paid to the correct use of upper and lower case as well as underscores and periods in the variable names.
This configuration file contains settings for many different topics. Sometimes it is unavoidable that certain settings fit to several topics and, depending on the application purpose, can also be in different categories. If certain settings cannot be found at the expected place, it is recommended to search the page with the search function of the browser (usually Ctrl+F).
Many settings have default values that are chosen to be useful for most users. Therefore, not all settings need to be specified in the configuration file or can simply be commented out.
Comments are marked with a hash symbol (#
) at the beginning of the line. This is also useful to disable settings.
Data types used
Data types are specified for the settings in this configuration file. Unless otherwise specified, the following values are allowed:
Basic information about Goobi Workflow
There is some basic information about the installed Goobi Workflow instance and about Goobi in general, specified in the configuration and partially displayed on the login page in the web browser.
Directories
Some directory paths can be set in the configuration file. Most of them are specified relative to the Goobi directory. The Goobi directory is usually located in /opt/digiverso/goobi/
.
Some directories contain the text sequence {processtitle}
. This is used in the respective directory names to insert the automatically generated title of a process. This ensures that the corresponding directories are created and used separately for each process.
General user settings
All custom user settings are stored by Goobi Workflow in the internally used database. The settings specified here are relevant for pages where no user is logged in (for example, the login page) and therefore the user-specific settings do not exist. Other settings in this category apply to all users and are not account-specific customizable.
Minimum password length
The password length is only checked when creating an account and when changing the own password. Existing passwords that are too short can still be used as long as this value is increased afterwards.
Administrators have the possibility to generate a new random password for users. These are always generated 10 characters longer than the minimum password length.
Additional user permissions
Additional user permissions can be specified. For this purpose, a new entry with the 'userRight' property is made for each added permission. Thus, this value can occur multiple times and will be interpreted as a list by Goobi Workflow.
This could look like this
Note: You should not enter user permissions whose name already exists in Goobi Workflow. This can lead to wrong behavior of some functions.
Additional functionalities in the user interface
Goobi Workflow allows some optional functionalities for the user interface in the web browser. For this purpose there are the following switches that can be set to 'true' to enable functionalities:
The following setting is used to filter the list of displayed sessions in the session overview. The setting itself can be used multiple times, each time specifying a client name (for example browser name) to be filtered from the session list.
For example, this looks like this if there are multiple names:
Activate LDAP
The actual LDAP configuration is located in the database used by Goobi Workflow. In this database, there is a data record with numerous setting options for each LDAP group used. Whether LDAP is included can be controlled with the following parameter.
Configure truststore
The truststore is used in Goobi Workflow to manage certificates and SSH keys. These can be used, for example, for authentication to the LDAP server or to other servers. To use the truststore, the following values must be configured.
OpenID Connect
Normally, user accounts are stored in the mariadb database managed by Goobi Workflow. Additionally there is the possibility to authenticate users with OpenID accounts.
Single Sign On (SSO)
SSO can be used to allow and configure authentication via HTTP headers. This allows or disallows staying logged in to a session in the browser using HTTP header fields.
Set up external users
The following settings can be used to determine whether users with external accounts can be logged in to the system and, if so, how default values should be set that otherwise exist for normal accounts in the database.
Database settings
In Goobi Workflow it is possible to search for specific terms in processes, tasks and other records. Since the search is handled by the SQL database used in the background, there are some settings available to adapt the search to the needs of each project.
For the settings DatabaseLeftTruncationCharacter
and DatabaseRightTruncationCharacter
, %
is specified in each case. This will cause the database search to be performed with SQL as follows (This example is for illustration purposes only and does not work this way in the actual database):
This selects all records in which the search term occurs at any position. For example, if you omit the prefix %
and search for search term%
, you can search at the beginning of a record. This means, for example, that all books beginning with "The" can be searched for. If the prefix and suffix are omitted, only the search term is searched for and all records are selected that exactly match the search term.
To make database searches easier, aliases can be defined to group multiple properties together as one meta-property. For example, when searching for a person, it would be quite time-consuming to search for all authors, publishers, clerks, other persons, etc. For this reason, search terms can be listed and grouped under one name.
For example, following aliases could be configured:
Processes and process log
The following settings can be used to set the process log and some details for the editing of processes.
Configuration of jobs
For automatically executed background processes, it is possible to specify when they should be executed. The first three properties in the following list, marked with daily
, are executed every day. The number of milliseconds specified is the time between 0:00 and the time the task is executed. This has the advantage that certain tasks can be executed at night, for example, when the load on the server is low.
The second advantage of this configuration is that the times of day can be set according to the difference between server time and the most used user time of day. This can happen when a server is located in another country (or uses UTC) and employees worldwide from different time zones work together on the server.
If -1 is specified, the corresponding job will be disabled.
The number of milliseconds can be calculated as follows:
One second has 1000 milliseconds
One minute has 60 seconds and thus 60 000 milliseconds
One hour has 60 minutes and thus 3 600 000 milliseconds
One day has 24 hours and thus 86 400 000 milliseconds.
So the given time should be between 0 and 86 400 000 to avoid errors. A few examples:
For 0:00 o'clock 0 is indicated
For 3:00 o'clock (3:00 AM) 3 * 3 600 000 = 10 800 000 is indicated
For 18:30 (6:30 PM), 18 * 3 600 000 + 30 * 60 000 = 66 600 000 is given
For the setting 'goobiAuthorityServerUploadFrequencyInMinutes' a time in minutes is specified.
Downloadable information
In Goobi Workflow, processes, templates, masterpieces and metadata can not only be searched and displayed, but also exported to various file formats and downloaded. Some data from the database are already taken into account by default:
processes.Title
The title of a processprocesses.processesID
The ID of a processprocesses.creationdate
The creation date of a processprocesses.sortHelperImages
The number of images in the processprocesses.sortHelperMetadata
The number of metadata in the processprojects.title
The title of the project in which the process is locatedlog.lastError
The last detected error in the editing of this process
In addition, the downloadAvailableColumn
setting can be used to include other properties in the exported files. For this purpose the mentioned setting can be used multiple times. All matching rows will be read in together by Goobi Workflow and processed as a coherent list.
In each line exactly one table column name from the Goobi database is specified. The following table columns are currently available (Goobi version 22.08):
prozesseeigenschaften.prozesseeigenschaftenID
prozesseeigenschaften.Titel
prozesseeigenschaften.WERT
prozesseeigenschaften.IstObligatorisch
prozesseeigenschaften.DatentypenID
prozesseeigenschaften.Auswahl
prozesseeigenschaften.prozesseID
prozesseeigenschaften.creationDate
prozesseeigenschaften.container
vorlageneigenschaften.vorlageneigenschaftenID
vorlageneigenschaften.Titel
vorlageneigenschaften.WERT
vorlageneigenschaften.IstObligatorisch
vorlageneigenschaften.DatentypenID
vorlageneigenschaften.Auswahl
vorlageneigenschaften.vorlagenID
vorlageneigenschaften.creationDate
vorlageneigenschaften.container
werkstueckeeigenschaften.werkstueckeeigenschaftenID
werkstueckeeigenschaften.Titel
werkstueckeeigenschaften.WERT
werkstueckeeigenschaften.IstObligatorisch
werkstueckeeigenschaften.DatentypenID
werkstueckeeigenschaften.Auswahl
werkstueckeeigenschaften.werkstueckeID
werkstueckeeigenschaften.creationDate
werkstueckeeigenschaften.container
metadata.processid
metadata.name
metadata.value
metadata.print
It should be noted that only the column name is specified in the configuration. Otherwise the columns cannot be found, because the column names specified here are directly composed with the expected table names and searched. This has the side effect that by specifying for example 'Title' the title of processes, the title of templates and the title of masterpieces are taken into account.
For example, the following configuration can be made:
This would result in the following additional table columns being used:
prozesseeigenschaften.Titel
prozesseeigenschaften.DatentypenID
vorlageneigenschaften.Titel
vorlageneigenschaften.DatentypenID
werkstueckeeigenschaften.Titel
werkstueckeeigenschaften.DatentypenID
metadata.name
metadata.value
metadata.print
Success and error messages for tasks
Manual tasks can be either completed successfully or set to error state by users in Goobi. In order to provide more information about the cause and resolution of errors, error and success messages can be pre-configured to be available later as a drop-down menu when completing (or canceling) tasks.
The following examples show how such messages can be used:
Note: Messages cannot be translated automatically and should be specified in a language that is understandable to as many users involved as possible. For international projects, English should be used.
Any number of messages can be specified. The respective drop-down menus are only available if at least one corresponding message is specified. All messages for error descriptions start with the prefix task.error.
. All messages for problem fixes start with the prefix task.solution.
.
After each prefix there is a short text which should be displayed as a dropdown item. Spaces must be escaped in it. After the equal sign follows a detailed description. This will be displayed later in the step details. At the placeholder {}
the additionally specified remark (from the text field below the dropdown menu) will be inserted later.
Scripts
Scripts can be configured to set up the file system. In a Goobi installation there are already suitable scripts included, but they are not set as default values here.
Include S3 cloud
Amazon provides a cloud system where data objects can be stored in "buckets". This can be integrated by Goobi Workflow and used to exchange data with other servers.
To use S3, access data from the S3 service used is required. These must be specified in this configuration file.
Proxy server settings
A Goobi server can use a proxy server for certain transactions with other servers or clients. By default, no proxy server is configured. To use a proxy server, you must first enable its use.
The default values for http_proxyIgnoreHost
are predefined as follows. The list can be extended as needed:
Server and API settings
This category includes some settings that can be used to configure URLs and credentials to specific web services. Settings are also available to determine the behavior of the internal REST API. Especially for URLs, make sure to use the correct protocol (HTTP or HTTPS) and port number if the corresponding server or service uses one other than 80.
Configure message queues
Goobi Workflow uses multiple message queues to communicate with other processes on the same server (localhost) or other servers. ActiveMQ is always used for production use. For development purposes, SQS can be used in some cases. Since the entire constellation and configuration of the message queues is somewhat confusing, all configuration possibilities are documented here for the sake of completeness, even if individual constellations are not used on production systems. In each case, it is indicated which configurations are relevant for a production system.
Message queues used
Goobi Workflow uses one or more slow queues to transmit normal process communication notifications.
There is a fast queue for transmitting particularly small or time-critical information.
An internal DLQ (Dead Letter Queue) is used to catch undeliverable notifications on the same server.
An external DLQ is used to catch undeliverable notifications between multiple servers.
There is a separate queue for commands that can be sent either on the same server or between different servers. These can be executable scripts, for example.
Simple Queue Service (SQS)
In principle, all queues can be operated with ActiveMQ. The external DLQ and the queue for commands have the special feature that they can work either with ActiveMQ or with SQS (Simple Queue Service). As long as ActiveMQ is used for these queues, it is possible to switch between a localhost service and an external service. The localhost service is set with default parameters and does not need to be configured further. If an external service is to be used or other individual configurations are to be made, this is configured in the file goobi_activemq.xml
. The SQS service, on the other hand, is always located on the same server (localhost) and does not need to be configured.
Configuration
Additionally the names of the respective queues can be configured. This is normally not required and is documented here for completeness.
Metadata editor
The metadata editor has many setting options that can be sorted both technically and thematically. As a compromise, and because there is no "one" correct sorting, all settings are sorted by categories, such as "User Interface", "Export", etc. For OCR settings, for example, this means that showing/not showing the OCR button is configured in the "User Interface" section, while technical details about OCR are described in the "Export" section.
General settings
In the General Settings you can find settings concerning the editor itself and default values for new documents.
User interface
The "User Interface" category documents settings that can be used to configure the display of content or the display/non-display of buttons.
Image files and thumbnails
This category documents settings for image files, thumbnails, the display of images, and the tiling of images in the user interface.
The maximum size of image files (in bytes) is defined with two independently configurable values. With the value MaxImageFileSize
a number is specified, such as 1
, 5
or 10
. With the additional value MaxImageFileSizeUnit
the unit of measurement is specified. These in combination give the maximum number of bytes an image file may not exceed. Important: Only integer numbers can be used.
Since there are many misunderstood units of measurement, the following table lists all accepted values and their internally used numeric values.
This can be used, for example, to make the following settings:
or
The following values can be used to configure information about supported image and tile sizes for JSON API requests. The following API request can be used to retrieve this information about images from operations:
Thereby all values can be used multiple times and return multiple values in the API request.
For example, a configuration could look like this:
When completing steps, various internal data checks are performed. Among other things, the number of existing and processed image files is checked. The historyImageSuffix
value can be used to specify one or more file types that will be considered for this count.
This setting is used for file extensions and can also contain general texts with which a file name should end, but no regular expressions are interpreted.
For example, if all *.tif
, *.jpg
and *.jpeg
files are to be considered, the following list could be used:
Validation
This category contains settings for validating operations, image files and metadata.
Export
This category describes settings that affect the export of operations to downloadable files or files that can be cached on the server.
Zuletzt aktualisiert