Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Basically, Goobi is a web-based application. To a very large extent, the way it is used and operated will be familiar to you from numerous websites. On the user side, all you need to be able to use Goobi is access to the internet and a web browser to take you to the Goobi site.
All the official documentation relating to Goobi has been produced by intranda GmbH. It is divided into three main areas, each with a different focus on the same application, and aimed respectively at users, project managers and administrators.
The aim of this part is to provide a simple guide for Goobi users who do not have any specific responsibilities at administrator, project manager or other technical levels. Using examples to illustrate a wide range of typical scenarios, you will learn how to find your way around Goobi, perform basic tasks and complete individual steps in the workflow.
At manager level, the documentation takes a look behind the scenes of Goobi. You will find detailed descriptions of how to set up workflows and how to manage projects, users and user groups, as well as explanations of Goobi’s control functions, rulesets and other areas. This part is aimed primarily at those who are involved in the management of digitisation projects and who want to gain a deeper understanding of how Goobi works.
The technical part for Goobi administrators goes way beyond the application’s actual functions. It takes an in-depth look at what goes on behind the user interface, with a particular focus on the configuration and fine-tuning of different settings, creating rulesets, specifying data imports, file system management, storage integration and other technical issues.
Documentation for the Open-Source-Software Goobi workflow from intranda
Welcome to the Goobi Manual. This is the official documentation produced by intranda GmbH as the core developer of the open-source workflow management application known as Goobi. The entire body of documentation is divided into various sections. It is based on the experience we have gained over several years, both in the development of Goobi and during the installation and support process, involving numerous productive systems at establishments in various European countries. As well as providing answers to the questions most frequently asked by users, the manual explains typical scenarios in which Goobi can be used for different projects and examines the range of approaches adopted by different institutions.
If you have any questions about this documentation, suggestions for the further development of this manual or general questions about Goobi, digitisation projects and, of course, the further development of Goobi, please feel free to contact intranda GmbH at any time:
Address:
intranda GmbH, Bertha-von-Suttner Str. 9, D-37085 Göttingen
Phone:
+49 551 291 76 100
Fax:
+49 551 291 76 105
Email:
URL:
Please note that this document must not be amended or distributed in amended form. It must not be used for commercial purposes.
This work is licensed under the Creative Commons Attribution-Non Commercial-No Derivatives 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-ncnd/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
Please select on the left the chapter you are interested in.
Before we look in detail at the methodology of specific user groups, let us take a look at some basics. Any of the terms used in this section that may not be familiar to you can be found together with an explanation in the glossary.
To open Goobi for the first time, simply type the address of your local Goobi installation in your browser’s address bar, for example:
The page displayed by your browser should be similar to the one below:
To work with Goobi you will need a valid user name and password. You will usually receive these from your system administrator. In most case, they will be the same as those you were given for access to the operating system, for example. Please contact your system administrator or the Goobi support team at intranda GmbH if you have any problems with access or user authentication.
Once you have a valid user name and password, simply open the Goobi start page. Enter your user name and password and click Log in.
Once you have logged in, the Goobi screen will change. The menu bar will now contain a range of options for working with Goobi (depending on your authorisation level). Your screen will appear roughly the same as in the diagram below.
Your user name will appear at the right-hand edge of the menu bar when you are logged in. Click on your user name to display a menu with a Settings
option. This will show you which user groups and projects you belong to. The other menu options available in the menu bar will vary depending on these user groups.
Towards the right-hand edge of the menu bar there is an option to call the integrated Help function. This can be used for many of the input boxes in Goobi and shows you which information is required and where. As well as an explanation of the content required in each field, the Help function will often provide examples.
Please note, however, that the Help function does not provide explanations for every area of Goobi. They are available only for input forms and boxes.
Once you have logged in, you can choose a number of settings to create your own user profile. To do this, click on your user name in the menu bar and then on the sub-menu item User configuration
. Goobi will then display a form in which you can specify your personal configuration details.
In General
view, you can choose a number of settings for working with Goobi. The Automatic logout after session timeout
option allows you to choose how long you want Goobi to wait before logging you out automatically after a period of inactivity. In the diagram above, for example, the user has chosen to set this option at 120 minutes.
The value you enter in the Table size
field (in this example: 10) determines how many rows Goobi will list on each page in a table before having to scroll on to display additional data on the next page of the table.
The Language for metadata
option allows you to define which language from the configured ruleset you want Goobi to use for the structure data and metadata when you are working with the integrated METS Editor. You do not have to choose the same language as the one selected for the Goobi user interface, although it must be configured in the ruleset. This setting allows you to specify particular languages for structure data and metadata regardless of the languages in which Goobi itself is available.
The last of these user configuration settings is the Show process creation date
checkbox. If this checkbox is selected, Goobi will display an additional column in the My tasks
area and in the Processes
and Production templates
areas showing the date on which the process was created.
In the Mail Notifications section, you can configure which emails you want to receive when status changes occur in Goobi. The first step is to define the language in which the emails are written. The projects in which the user is a member are listed below the language selection. As soon as one of the projects has been clicked, it will be expanded and the list of tasks will be listed that are unlocked for the user groups in which the user is a member.
Here you can select the tasks about which the user wants to be informed in case of a selected status change. This is possible for individual tasks as well as for all tasks.
You may need to make changes to your Goobi configuration in order to activate mail notifications and be able to use all its functions:
Create and modify the configuration file goobi_mail.xml
Set a jwtSecret
in the file goobi_config.properties
Unlock the mail deactivation endpoint in the goobi_rest.xml file
If the user has the user right Notifications for all status changes
, all tasks are displayed instead of only those in which he himself is a member. In addition, notifications for further status changes can also be selected in this case, such as for error cases or the completion of processing.
For a detailed explanation of the other values you can enter in the user configuration section, simply click the Help icon on the menu bar. Goobi will display information about the options for each input field.
You will need to click Save
in order for these settings to take effect.
For security reasons, you should always log out of Goobi whenever you leave your work station. Depending on the configuration, Goobi will automatically log you out after a period of inactivity. To log out manually, simply click on your user name at the right-hand edge of the menu bar and select the Log out
option from the drop-down sub-menu.
Goobi is the most popular open-source workflow management software for use in digitisation projects. It covers the entire spectrum of tasks involved in the digitisation process – from book to online presentation. Many libraries, museums, archives, publishers and even scanning companies have already adopted the software.
Goobi allows you to model, manage and supervise freely definable production processes and is used on a daily basis by many institutions to handle all the steps involved in creating a digital library: These include importing data from library catalogues, scanning and content-based indexing and the digital presentation and delivery of results in popular standardised formats.
Goobi meets enormously varied requirements while remaining as user-friendly as possible. It also needs to allow for simultaneous multiple use at a number of centres. As a multilingual web-based application, Goobi meets all these requirements. The following pages provide a detailed description of Goobi's functions and how they can help you coordinate your digitisation projects in a clear and organised way.
The next section examines some typical user groups in order to illustrate their structure as part of digitisation projects at numerous establishments and the way they work with Goobi on a daily basis. In terms of the way tasks are performed, any user groups or methods that may be in place at your own establishment but not specifically represented below will nevertheless work along similar lines to those shown in the examples. Accordingly, all the examples given are also applicable to individual workflows and other project-specific arrangements.
The main area of the Metadata Editor also contains a navigation bar to perform a range of steps during metadata indexing. Selecting Pagination
, Structure data
, Metadata
and File replacement
allows you to switch between the individual editing modes in the Metadata Editor. Each of these modes is explained in greater detail below and should be performed in the specified order.
As well as the manual scripts described in the last section, Goobi can also be configured to execute individual workflow steps automatically if they have been configured to call up scripts.
To do this, as for the manual scripts, the administrator will assign a series of different shell commands
and stipulate that they should be performed automatically one after the other in the specified sequence. Automatic script-run steps are not generally included in a user’s task list. If an error occurs during the execution of the configured server-based script calls with the result that the script cannot actually be executed, the automatic workflow step will keep the same status and will be displayed automatically in the assigned user’s task list. Automatic script-run steps are therefore only visible in the user’s task list if errors occur during execution.
To identify the error, the user can employ the same method as that described above for manual script-run steps, i.e. by starting the scripts in question manually and thus identifying the source of the error. In cases where the automatic scripts make use of the function allowing users to send information or error messages concerning a specific process, the error messages are also listed in the Process log
within that task without having to run the script again to identify the error.
Automatic script-run steps that successfully execute the configured scripts automatically close the current workflow step and activate the next step in the workflow.
When you have completed the task of pagination, the next step in the workflow involves structuring.
Working again in the Metadata Editor, the aim is to identify and record all the relevant structure elements of the material in a tree-like list. In this step of the workflow, all the structure elements to be indexed for that source material are marked using as precise a descriptor as possible and allocated to the corresponding structure element within the hierarchy. By way of example, for a monograph this can mean that several chapters, a foreword, an afterword, an index and other structure elements can be added under the structure element Monograph
. Further sub-elements can then be added under these structure elements and so on. In fact, the Metadata Editor allows you to create a hierarchy of elements with as many levels as you wish, including sub-chapters within chapters.
To start the task of organising the structure elements using the Metadata Editor, first select the Structure data
option from the navigation bar. Goobi will display an overview of the available options. It is important to remember that all changes to the structure data depend on which structure element is currently selected in the structure tree on the left (highlighted in bold).
This section explains a number of additional functions in the METS Editor that involve directly modifying the file system for the images. For this reason you should take great care when using the functions described below.
Goobi users with a higher level of authorisation will find a number of additional options in the menu bar. These allow you to amend data that may relate to an entire project or to different users and user groups. Such changes can only be made by users with the appropriate level of authorisation.
In the following sections you will get a detailed overview of several management areas, as for example for the creation of workflows, management of projects, users, user groups, statistics and rulesets.
If you want to search for a particular process, you can use Goobi’s straightforward search box. To do so, select the Workflow - Search for volume
option from the menu bar.
The input box used to search for a process in Goobi allows you to combine as many search parameters as you like. When you first open the input box, it will display the fields for the most common search criteria.
Each row in the search box contains several fields. The first of these allows you to specify which field you wish to search. The remaining fields relate to the value of the field being searched. In some fields (e.g. Process title
and ID
) you can enter a text-based search. In others, however, such as Project
and Step
, Goobi will offer you a choice of the actual search options available.
If the default number of rows shown for combining fields in a complex search is not sufficient, you can add (or remove) rows at any time.
In the top right corner you can switch between several available languages. Goobi is supplied and installed by intranda in German, English and Spanish. Adding other languages is straightforward, and this can be done at any time if required.
At many sites that work with Goobi, a manual check is made on the quality of the scanning work performed in earlier steps of the workflow. The methods used by the staff who conduct these quality checks are almost identical to those used by the original scan operators. As in section Scanning, staff in the Quality Control user group first log in to Goobi and then select My tasks from the menu bar. Next, from the list of available completed tasks, they choose one to review. The choice will depend on the priority level and any error messages.
Once the reviewer has selected a task, Goobi will create a new folder within that user’s work drive (in the same way as it did for the scan operator) containing all the digitised material produced in an earlier step of the workflow (usually at the scanning stage).
In most cases, the workflow in Goobi is configured in such a way that quality control staff are not expected to make any changes within the new folder and have read-only access. Any general observations entered at an earlier stage are also visible to the reviewer in the Process log
in the bottom left of the window. Any configured additional properties that users from this group need to enter or select during this task are shown next to the general properties. Using any standard image viewer, the user can now review each of the images in the new folder and check the quality of the digitised output.
If the quality matches project requirements, the reviewer will then click on the Fishish this task
link to remove that task from the My tasks list
. The new folder created by Goobi to allow the reviewer read-only access to the digitised material will then be removed automatically from that user’s work drive, thus preventing any further access to the data for that specific task within the specified workflow.
If a reviewer finds that the quality of individual files of digitised material is unsatisfactory, or that certain pages are missing or repeated, Goobi provides an option to send a correction message to a previous work station.
To do this, select the Report error
tab in the Possible actions
box. Goobi will display a list of all those tasks previously completed, together with details of the users responsible for those tasks. The reviewer can enter a description of the error found during quality control in the free text box below the selected task.
After the reviewer clicks on the link Send correction message
, the incorrectly performed task will reappear in the My tasks
list of the work station in question. The user will be able to view details of the error message by holding the cursor over the red warning message or by re-accepting the correction task. Having corrected the error, the user can then enter a description of the solution found. It is therefore possible to assign processes more than once within the workflow (in the event, for example, of an error).
On the page shown here, the details and plugins for tasks can be configured. The page does not differ significantly between tasks of process templates and those of existing processes. Differences are marked where appropriate.
The title of the task is specified in this field. This can be freely selected. However, it should be taken into account that GoobiScript calls, for example, use the respective task titles to automatically execute background tasks across many processes.
Therefore titles should be short, meaningful and unique. Spaces and special characters are allowed.
The position number is used to specify the position of a task in a process template or an existing process. Accordingly, an integer must be specified here.
On the one hand, the position number is used to display all tasks of a process in the correct processing sequence. On the other hand, when tasks are completed, those next tasks within a process that follow the sequence according to the current task are unlocked.
Several tasks can have the same position number. This then means for Goobi that the concerning tasks may be executed simultaneously. Parallel processing works with both automatic and manual tasks (for example, when several employees are working on a task in parallel).
If the task sequence of a process is configured with gaps (for example 1, 2, 3, 6), Goobi jumps directly to the task with the next highest number.
The order of tasks also plays an important role in GoobiScript calls. There, based on the number specified here, further administrative precautions can be taken.
This setting is only available when creating a new task within a process template.
Furthermore, this setting is only relevant when new tasks are to be inserted between already existing tasks.
If this option is set, the position number is set directly when the task is created. It may happen that another task already exists with the same number and both tasks can be processed in parallel later.
If this option is not set, then in the case of a duplication of the sequence number with that of another already existing task, the sequence numbers of the other and all subsequent tasks are shifted back by exactly one number when saving. This ensures that the new task inserted in the process does not duplicate any existing position number and that the subsequent tasks can still retain their defined numbering relative to each other (including missing and duplicated numbers).
If it turns out afterwards that this option was wrongly selected when creating the task and all subsequent tasks have a "wrong" position number, there are two possible solutions: For small adjustments, the position number can be adjusted at any time in the task overview of the process template using the buttons available for this purpose. For large adjustments, or if tasks already exist for the current process template, it is recommended to write a GoobiScript so that it adjusts all "wrong" numbers and is executed on all incorrectly numbered tasks.
In this list it is possible to select a priority for the current task. It should be noted that the priorities Standard
, Priority
, High priority
and Highest priority
are only intended to visually represent the importance of tasks. They have no further technical effect on the corresponding process.
The Correction
option also has no effect on the task, but is automatically set if the final result in a task to be completed is not to be accepted and a correction message is sent.
This option can be activated if it is in the sense of the task to edit metadata.
If a task is marked with the Metadata
property, additional icons and options are displayed at various places in the user interface to access metadata. For example, the button for calling the metadata editor is also displayed if a task has this property.
If metadata in a task is to be uploaded, downloaded, validated or used in any other way, this option must be selected.
This option can be enabled if the user in this task should get read access to image files in his user folder (on the Goobi server). This may be the case, for example, when images are to be downloaded or displayed for quality checking.
This option can be activated if the user in this task should get write access to image files in his user folder (on the Goobi server). This is required whenever images are to be uploaded or edited.
This option can be enabled to validate the metadata of the process when completing this task. This validation has nothing to do with the validation plugin (see below). The type of validation set here checks if all metadata, structure elements (DocStructs) and page counts have been applied according to the rule set.
This option can be enabled if it is in the sense of the task to export data for further processing with other systems. This can be, for example, other database formats, content management systems (CMS) or simply certain file formats. If this task is defined as an export task, an export plugin must be selected in the 'Step plugin' field. Export plugins usually start with the prefix intranda_export_
.
If this task is an automatic task and an export task at the same time, the export will take place automatically. Regardless of this, the user will see an export button next to the corresponding task in the overview and can also export the dataset manually.
This option can be selected if the task should be skipped in the process. If a task has this property, it will be closed automatically as soon as a user accepts it. If this task is an automatic task, it will also be skipped and closed automatically.
Different types of tasks can be configured as automatic tasks. This allows, for example, plugins or GoobiSript calls to be executed either directly or in one of the available processing queues.
Specifically, the following types of tasks can be automated: Internal tasks (intranda_step_*
), export tasks (intranda_export_*
), script tasks, HTTP tasks and time delay tasks (intranda_delay_*
). In each case, make sure that the appropriate plugin or script is selected as described in the corresponding chapter.
In order to use processing queues, they must first be enabled and set up in the corresponding configuration files (goobi_config.properties
and goobi_activemq.xml
). If this option is then activated, a drop-down menu appears below the checkbox from which the desired processing queue can be selected.
If the option Don't execute in processing queue
is selected, the corresponding plugin or script will be executed directly as soon as the task is reached in the process. This option is recommended only for tasks that should be triggered by the user in real time, for example by completing the previous task.
The Processing queue for fast jobs
and Processing queue for slow jobs
options provide two independently operating processing queues that are normally the right choice for most automated tasks. The fast processing queue is intended for tasks that have a rather short execution time and should be completed promptly.
The slow processing queue, on the other hand, should be used for tasks that require a lot of processing time and for which it is not really relevant how quickly they are completed. For example, the slow processing queue can be used for large amounts of image exports, OCR analysis, 3D calculations, or other complex applications. As a result, this processing queue is also suitable for tasks that sometimes require a total computing time of hours, days or even longer over many thousands of processes.
However, by default, Goobi always prioritizes tasks that are being executed by users in real time and tasks that are in the fast processing queue. For example, if Goobi is busy during the day due to the work of many active employees and there is also a well-filled slow processing queue, it is therefore common for this to make its greatest progress at night.
In addition, there is an In queue for external processing
option. This processing queue can be used by REST API requests. Suitable REST API requests are usually provided by plugins.
If the task is to be used to generate thumbnails, this checkbox must be selected. A text input field then appears, in which an example configuration for the generation of thumbnails is given. This should be adapted for the project's own needs.
The text input field includes several lines in which a YAML-compatible notation of key-value pairs is expected. Key-value pairs are separated by a colon (:
) and each line may contain exactly one key-value pair. The first line contains the string ---
to indicate the beginning of the data set. Comments are marked with a hash (#
) and may be placed in a separate line as well as at the end of a line used for content. They are ignored by the interpreter. Thus it is also possible to "comment out" certain parts in experimental configurations.
At the beginning the following example configuration is in the text input field:
The variables have the following meaning (details, see below):
Master
Boolean
false
This value can be set to true
to enable thumbnail generation for all image files in the master
folder.
Media
Boolean
false
This value can be set to true
to enable thumbnail generation for all image files in the media
folder.
Img_directory
Text
""
Here you can optionally specify another folder with image files.
Custom_script_command
Text
""
Here you can optionally specify an alternative script or executable program to generate thumbnails.
Sizes
List of integers
800
A list of image file sizes (in pixels) in which the images will be generated must be specified here.
Note that Sizes
accepts a list. Each line starts with the string -
and then contains an integer. The list entries must directly follow the line Sizes:
. Text values must be enclosed in double quotes "
. Boolean values can be used directly and can be set to either true
or false
to turn the feature on or off.
Master
Setting this value to true
will generate thumbnails for all image files inside the master
folder (usually /opt/digiverso/goobi/metadata/{processId}/images/{processId}_master/
) and store them in the thumbnails
folder (usually /opt/digiverso/goobi/metadata/{processId}/images/thumbs/{processId}_master_{size}/
).
Media
Setting this value to true
will generate thumbnails for all image files inside the media
folder (usually /opt/digiverso/goobi/metadata/{processId}/images/{processId}_media/
) and store them in the thumbnails
folder (usually /opt/digiverso/goobi/metadata/{processId}/images/thumbs/{processId}_media_{size}/
).
Img_Directory
At this point, a third, additional folder can be specified for the generation of the thumbnails. The generation behaves here in exactly the same way as with the master
folder and the media
folder. However, this folder must be specified as a full folder path, for example /opt/digiverso/goobi/metadata/{processId}/images/{processId}_custom/
. The destination folder for generation would then be accordingly: /opt/digiverso/goobi/metadata/{processId}/images/thumbs/{processId}_custom_{size}/
. If the folder path specified here is empty or the parameter is missing, this option will be ignored during generation.
Custom_script_command
A path to an individual script file or to an executable program that is to be used to generate the thumbnail files can be specified here. The script or program should be able to independently recognize the image files and use the correct process-related folder paths. If the field is left empty, Goobi will use internal Java libraries for generation.
Note: This option is not currently supported. All thumbnails are generated using special image processing Java libraries, regardless of any script or program specified here.
Sizes
At this point a list of image file sizes (in pixels) can be specified in which the thumbnails should be generated. This can be done by specifying one or more lines, each of which starts with the YAML list entry prefix (-
) and then contains an integer. Note that each of the specified image file sizes will be used independently, and will always produce thumbnails that have the specified size on their longest side. For example, if the values 400
and 800
are specified, both thumbnails with a size of 400 pixels and thumbnails with a size of 800 pixels will be generated.
Additional technical information
In the examples above, the placeholders {processId}
stand for the respective process ID and {size}
for the thumbnail size in pixels. These are inserted in folder names accordingly.
All settings (except Sizes
) can be omitted, in which case the default values given above will be used.
If multiple thumbnail sizes are specified, all will be generated independently. All respective sizes are stored in their individually named folders (consisting of image size and source folder).
All generated thumbnail images are JPG files using a default color profile of the image file processing Java library.
Watermarks are not included in preview images.
Spaces in filenames of original files are replaced by %20
in thumbnail image file names for technical reasons.
If the folders for the preview images do not exist, they will be created automatically.
If the output folders including preview images already exist and if the source image files have not changed (measured by the last-modified
value of all involved image files), the thumbnail images will not be regenerated.
This option can be enabled to run one or more scripts on the server as part of the current process. For example, these can be Bash or Python scripts that perform background tasks or interact directly with the current task's dataset in the file system.
The numeric return values of the scripts play an important role in workflow control. Therefore, they are documented in detail following this chapter and should be strictly observed.
If the script step option is activated, a table appears below the checkbox in which up to five script files can be entered. For each script a name and a path can be entered, whereby the path is the absolute path (including script file name) in the server file system. The associated name can be freely selected and serves exclusively the simpler recognition for the user.
Any fields in the table can be filled in or left blank. If this task is executed later in a process, Goobi will execute all filled script path fields from top to bottom.
Care must be taken to ensure that the specified scripts are executable. Otherwise, error messages in the journal and server log files will indicate the cause of non-execution. Common causes of errors are for example missing execution rights, wrong environment variables (especially PATH
), missing interpreters, wrong file paths or missing parameters. Parameters can easily be specified in the script field.
If another script language is to be used, an interpreter must be specified if necessary. In this case, the interpreter is the executed program and then executes the script file specified as a parameter.
The script lines read from the table (but not the script files themselves) will be searched again by the variable replacer in Goobi Workflow when executing the scripts in a process and any variables will be replaced. This can be used to insert metadata values into certain fields. For example, parameters for the scripts specified here can be written so that the parameter values correspond to the variables for the variable replacer.
A few examples of scripts:
If the available script fields are not sufficient, a kind of meta script file can be written instead, which in turn executes several scripts and occupies only one field in the table.
Return values of script files
The respective return value of a script is used by Goobi Workflow to determine the current status of the corresponding task, especially between the processing of multiple scripts within one task. A distinction is made between Success
, Error
, Reopen task
and Continue task
.
The return value, for example 99, is specified in Bash scripts with the command return 99
or in python with sys.exit(99)
to the end of the script. This should properly handle any errors caught by if
blocks or other situations, and in particular should not use return
statements without return values.
The following table gives an overview of the respective behavior of Goobi:
0
Completed
Executes the next script of this task
1
and all undefined values
Error
Cancels execution of this task
98
Open
Cancels execution and restarts the task
99
In process
Executes the next script of this task
If a script outputs text in the error output stream (STDERR), this is also treated as an error condition (1
). Errors are documented in the journal and server log files.
The input and output streams STDIN and STDOUT are currently not used.
Combination of multiple scripts
The value 0 can be used if a script is the only or last script in a task. If the script was successfully executed, the task is set to Completed
status. If 0
is used and scripts follow afterwards, unwanted side effects may occur.
The value 1 (and all undefined values) can be used if a script fails. Goobi will then not execute any further scripts and set the current task directly to Error
status. Error messages (STDERR output and goobi-internal errors) are logged in the journal and server log.
The value 98 can be used if a script could not be executed as desired and Goobi should be told to restart the whole task. Accordingly, the execution of the first defined script will be started again if it is an automatic task. The status of the task is set back to Open
by the return value 98
and to In process
in case of an automatic task. This return value can be used, for example, for situations when scripts perform error handling in their own error detection and then need to be re-executed to benefit from their own error corrections on the next execution attempt. Validation scripts can also be used at this point to detect errors from previous scripts and cause the task to restart accordingly.
The value 99 can be used if a script could be executed successfully and another script is to be executed afterwards. The status of the task is not yet set to Completed
with 99
(in contrast to 0
), which makes sense if several scripts follow each other. The last script should then return 0
to complete the task.
If the provided script fields are not sufficient and multiple script calls are outsourced to an external script file, make sure that all return values are passed correctly and arrive back in Goobi to achieve the desired effects in task automation.
This option can be selected if the current task is to perform an HTTP (or HTTPS) transaction with an API of another server. This application is mainly intended for POST
, PUT
and PATCH
requests, i.e. for uploading data to the respective services. However, GET
requests can also be sent conditionally to check the availability of resources. As soon as the corresponding checkbox is selected, several input fields appear in which the details of the request can be entered.
With the option `Close step after successful HTTP call, it can be configured whether the task should be closed automatically in case of a successful HTTP request. More details, see below.
First, the HTTP method must be selected. The method to use is determined by the API endpoint used (usually within a REST API) and must match the method specified in the associated specification. Otherwise, the accessed server can be expected to return an error message (405 Method Not Allowed
, see below).
In general, APIs should adhere to the following request method conventions, although deviations are possible:
POST
Created target address
Data set is created
All properties to create
PUT
*
Existing target address
Data set is replaced
All unchanged and changed properties
PATCH
Existing target address
Data set is changed
Only changed properties
GET
**
Requested target address
Data set is requested
- No content -
* If unchanged properties are omitted, this may lead to unintended deletion of the data in question, since the API endpoint assumes that the properties should be overwritten with "empty" data. Details on the specific behavior of the API should always be found in the associated specification.
** Note that the GET
method is only partially supported at this point. The received data is not stored or further processed. The GET
method can be used to query the existence or accessibility of data.
The next step is to specify the HTTP URL. This is composed of the domain name or IP address of the server, optionally the port number, the API endpoint and the required URL parameters. If the default HTTP port '80' is used, this can be omitted.
Some examples of API request URLs:
After that the HTTP body is entered. This is only relevant if it is a POST
, PUT
or PATCH
method. The content of the request depends on the API used and the corresponding API endpoint, so we cannot go into more detail here. However, if a REST API is used, data must always be entered in JSON format.
The specified data in the HTTP body, once the HTTP request is later performed for a process, will be post-processed by goobi's internal variable replacer. This makes it possible to use metadata field labels according to the variable translator's syntax rules in the request content. These are then replaced by the actual data in the respective process before the request is sent.
Additionally, the Escape HTTP body as JSON option can be selected. This modifies control characters (for example, line breaks or tabs) in the request content so that they are masked by backslashes (\\
) and can be used correctly by the API endpoint if necessary. However, the exact handling of such control characters also depends on the API endpoint and must be read in the associated specification or requested from the provider.
This completes the settings for the request.
As soon as the request is sent later during the execution of the task within a process, the requested server responds with an HTTP status code. This is read by Goobi and decides whether to continue executing the process. In general, successfully answered requests lead to the completion of the respective task. If the next task in the process is an automatic task, it will be executed.
With the option Close step after successful HTTP call
, it can be configured that the task is really closed if the HTTP call was successful. If this option is not choosed, the task will remain in the status Open
.
If an error status code is returned, the task remains in an error status and manual intervention is required. Errors are logged in the journal and server log files.
In the realm of HTTP status codes, normally all status codes < 400
are considered successes and all >= 400
are considered errors.
The following is a listing of the most common status codes associated with REST APIs:
Successful status codes:
200 OK
- The request was processed successfully or the data set could be found
201 Created
- The resource was created successfully
204 No Content
- The request was processed successfully, the answer intentionally does not include data
Error status codes
400 Bad Request
- The request was not formatted correctly - The syntax should be checked
401 Unauthorized
- Authentication is required for this request (or the specified authentication is invalid)
403 Forbidden
- This resource exists, but may not be requested
404 Not Found
- The resource does not exist - possibly the URL or URI is incorrect
405 Method Not Allowed
- The wrong HTTP method was used (see above)
429 Too Many Requests
- Too many requests were sent within a certain period of time
500 Internal Server Error
- The server has detected an internal error for which the request is not directly responsible
501 Not Implemented
- The API endpoint does not exist - Possibly an incorrect API version is used
In addition, some further status codes can be returned. The respective meaning can be found in the relevant RFC standards. In case of special problems, however, the responsible support should be contacted.
In this drop-down menu, the status of the task can be set manually. Typically, in a process template, all tasks are set to Locked
and the first one to Open
, so that later in each process, editing can start at the first task. In the course of editing, Goobi sets all open tasks to In queue
or In process
and finished tasks to Completed
. In case of an error, the task is automatically set to Error
.
Additionally, there is an option Deactivated
to deactivate a task completely. This will be skipped by Goobi when editing the process. The Error
status can also be used manually to indicate that an edit has not taken place as desired and may need to be repeated.
When setting the status in a task in an already existing and edited process, care should be taken here to avoid unwanted side effects caused by automatic tasks being opened or closed manually, which are triggered by this intervention in the workflow.
This option can be enabled if the current task should be able to be grouped and executed together with similar tasks within a batch.
In this drop-down menu, a plugin is selected that is to be used for the task currently being processed. There are different possibilities for what the plugin selected here can be used for. Different possibilities are described in more detail in other subchapters on this page.
Plugins can be used for automatic or semi-automatic tasks. In this case, time delay plugins (intranda_delay_*
), validation plugins (intranda_validation_*
), export plugins (intranda_export_*
) or other types of plugins can be selected. Plugins that bring their own user interface and are not already described in one of the other categories on this page can also be selected here (e.g. intranda_step_*
).
For tasks that should not use a plugin, this field is left empty.
A task can be configured to run a validation plugin upon completion. The corresponding plugin can be set in this field. Validation plugins usually start with the prefix intranda_validation_
.
Time delay plugins can be included as tasks in the process to pause automatic processing for a certain time. If a task is to be used for time delay, this checkbox must be set and a corresponding plugin must be set.
The corresponding plugin is selected in the Step plugin
field. Plugins that can be used for time delay usually start with the prefix intranda_delay_
.
This option can be enabled if metadata has been modified by completing this task and the search index should be updated for the entire dataset of this process.
This option can be enabled to offer generating and downloading a docket PDF file for the current intermediate status of the corresponding process in the task overview. This can be handy to manually check the current technical status of the process.
As with any other technical system, you should change your password from time to time for security reasons. To do so, click on your user name in the menu bar and then select the Change password
option. This will display the following screen:
To change your password, enter your new password in the two boxes below. The change will take effect when you click Save
. When you next log in to Goobi and from then onwards, you will have to use your new password. Do not disclose your password to any other users. In order to create a secure password, you need to use a mixture of special characters, numbers, both lower and upper case letters and at least 8 characters in total.
In addition to the tasks we have already described, it is possible to configure Goobi so that users can call up any external programs, scripts or plugins for specific purposes from within Goobi. To this end, Goobi provides an option to configure additional buttons in the Possible actions
area for individual steps of the workflow. The names of these buttons are specified by the Goobi administrator when configuring the workflow. When they are activated, they call up one or more configured instructions on the server.
Based on the way Goobi has been configured by the Administrator, the user can decide whether the scripts are actually executed or not. The user simply needs to click on one or more of the proposed actions. Depending on the configuration, the user will receive a message to confirm that the server has executed the script correctly.
One of the workflow steps frequently included in a wide range of digitisation projects at numerous establishments involves making the digitised material available to the public together with the corresponding structure data and metadata, obtaining which can sometimes require a considerable investment of time and effort. This digitised material can be made available in a range of systems independently of Goobi and can be used, for example, on completely different hardware from that required to run Goobi. In this step, Goobi will export the digitised material, together with the structure data and metadata in the form of a METS file, to a Document Management System (DMS)
. This step can either be completely or partially automated, depending on the configuration.
If the procedure is only partially automated, the data is exported manually by the responsible person in the user group using roughly the same methods as those described earlier for the other user groups. After logging in and selecting a task from the My task
list, the user will be shown a screen containing the details of that task. As in the previous examples, in addition to the task details, this screen contains a Process log
for messages about the corresponding process. However, an additional button can be found in the Possible actions
area. This button can be selected to launch the actual export to the external DMS system.
Please note that exporting the digitised material together with the corresponding structure data and metadata to an external DMS can take some time depending on the configuration and the volume of data. If Goobi has been configured to validate the export to the DMS, it will prevent any further work until the communication between Goobi and the DMS has been completed. You will not see any message to confirm that the export has taken place until this communication is over, and in the case of large volumes of data this can easily take several minutes. If the export fails, Goobi will display a detailed error message on the screen that was responsible for preventing the export. Such errors are usually caused by a failure to observe the rules within the structure data and metadata. As part of the DMS export task, Goobi can also (depending on the configuration) allow users access to the structure data and metadata through the Metadata Editor, so that they can resolve any such validation errors themselves immediately. In most cases, however, export errors lead to the sending of an error message to the responsible work station earlier in the workflow. A description of how to send error message to other work stations within the workflow can be found in section Quality control.
If Goobi has been configured by the system administrator in such a way that the user does not have to wait until communication with the DMS has ceased, it will display a positive message immediately (after the user clicks the Export to DMS
link) to indicate that the export process is now running in the background. The results of the export are still validated in the background (even though validation is not displayed on the user screen) and are stored with details of system events in the form of log files. This means that the user does not have to wait and can continue to work with Goobi immediately by clicking the Finish this task
link. The task is then removed automatically from that user’s My tasks
list.
From Version 1.9 of Goobi onwards, users have been able to perform a fully automated DMS export in addition to the manual option. In this case, DMS export tasks will only appear in a user’s task list if an error has occurred during the export process. Assuming that Goobi has been correctly configured, the validation of earlier workflow results should ensure that the automatic export is successful. In such cases, the export process is fully automatic within the workflow and will on completion activate the next task in the workflow.
In Goobi 2.0, the Export function has been updated so that users can integrate various plugins at this point allowing them to respond flexibly to the requirements of different presentation environments. If you wish to use this plugin-based export function, the workflow step must be configured with the Export DMS
setting. However, you will also need to enter the plugin that has been provided. If the special plugin-based export function has not been configured for that workflow step, Goobi will use the default export function.
There is a specific screen for adding new processes to Goobi’s store of data. Select the option Workflow - Production templates
from the menu bar. You will be shown a list containing all the production templates already available in Goobi together with their configured workflows.
This list gives you an overview of all those production templates that you as a project member are authorised to view. The only difference between this template list and the process list lies in the Actions
column. To add a new process in Goobi, click the correct symbol in the Actions
column.
Create process from this process template.
Tip:
To avoid having to keep every production template for every project, production templates can also be used for other projects. Simply click on the small arrow next to the button to select the desired project from the list of usable projects.
This will open a new window allowing you to import the bibliographical data for the new process.
This manual contains a very broad overview of the ways in which new processes can be created in Goobi by importing metadata from a library catalogue. For more information and details of alternative methods of creating one or more processes at the same time in Goobi, please refer to the section Goobi Management. To import bibliographical data from one of the configured library catalogues (Pica, Aleph, Z39.50, etc.), select a catalogue from the Search in OPAC
drop-down list and enter the relevant identifier. Next, click on the corresponding Import
button. Goobi will now fill the relevant fields automatically and set the correct publication type.
Once you have requested the catalogue, fill in all the fields marked at the end with an asterisk behind the label. These are compulsory fields, although you can of course fill in all the other fields, too. Do not enter anything into the Author-Title-Key (ATS) or the Title-Key (TSL) fields. The fields for Process title, Tif header document name, Tif header image description, Author-Title-Key or Title-Key are filled in automatically by Goobi when you save the new process or when you select the Generate
button. The Author-Title-Key is a combination of some of the characters from the main title and the names of the people involved. The process name is made up of the Author-Title-Key generated by Goobi and a unique identifier. This way, each process within Goobi is given an unambiguous and meaningful name.
Before you click on the Save
button, please ensure that at least one digital collection has been selected for this process. To select more than one digital collection, hold down the Control key. Finally, click on Save
to move to the next page.
Goobi will now display an overview page that allows you to work with the new process you have just created. For example, you can generate a docket. To do so, just click on the Print docket
link. To create another process, click Create new process
. If you want to open the new process to modify its individual workflow or settings, click on Open newly created process
.
Once a new process has been created, it can be viewed (together with its first open workflow step) by all those users and user groups who have been configured for that step. So, if the first step in the workflow is Scanning
, for example, the newly created process will be visible to all scan operators assigned to the overall project containing that process. Accordingly, the task can be accepted and performed by any of these scan operators.
All the processes that you or other users create will remain in Goobi’s database. To display an overview of these processes, select the option Workflow - Processes
in the menu bar.
Goobi will display a table of all the processes that you are allowed to access. This will depend on whether you are a member of those projects or an authorised Goobi administrator. These details are stored in your user account and will determine how much of the stored data will be displayed in the Current processes
table. Equally (unless you are an authorised administrator), Goobi will not display processes belonging to projects that have been marked as completed by an administrator.
The process list gives you an overview of all those processes that have not yet completed all the corresponding steps. In addition to these active processes, if you wish to display processes that have completed all their steps, select the table menu option Modify display
and check the Show finished processes
box. This will display all the Goobi processes that you are authorised to access regardless of their current status. If you are a Goobi administrator, by ticking the checkbox Show deactivated projects
you can also list those processes for which the overall project has already been marked as completed.
The overview of current processes allows you to work with specific processes and modify their data or the status of individual steps independently of the workflow. To do this, you do not yourself have to be a member of the user group that is registered in Goobi as the group with responsibility for the individual workflow steps making up the processes in the list. This means that you can, for example, access Goobi’s integrated METS Editor regardless of whether the status of the current process indicates that it is at the stage of obtaining and recording structure data and metadata. From this screen, you can also export the data to other systems, e.g. a presentation system for digitised material such as the intranda viewer. You can also, for example, generate PDF files from the digitised material in combination with the structure data and metadata that have been recorded.
Each of the columns in the process view table can be sorted into ascending or descending order by clicking on the column headings. The little sort direction symbols at the right-hand edge of the column heading cell will change accordingly.
The Process title
column contains the unique identifier for each process. It is generated automatically from the metadata whenever new processes are added to Goobi.
The Status
column shows you immediately how far a particular process has advanced in the workflow. The colour system used here indicates how many steps have already been completed out of the workflow by those users involved. The red section of the bar shows how many steps are still locked and cannot yet be processed by users. The yellow section shows how many steps are currently being processed or waiting to be processed. For details of the status of individual process steps, just click the process in the Process title
column. Goobi will display a detailed list of all the steps for that process and their current status.
In the example above, you can see which individual steps out of the workflow have already been completed by users, which are currently being processed and which are still locked until the preceding steps have been completed. You can search for one or more specific processes from the list at any time using the Filter processes
box. Your search term will need to be entered using the correct syntax. For more information, please see section Searching processes.
A detailed description of all the functions provided by Goobi in process view can be found in the section Goobi Management, which contains further information about the functions described above and all other available options.
Once you have opened the Metadata Editor, you have full access to all the editing options relating to the pagination, structure data and metadata of the digitised material. The Metadata Editor is divided into a number of sections.
Goobi’s Metadata Editor is one of the core elements of digitisation projects. Most work involving the Metadata Editor is performed by trained librarians. There are two ways to open the Metadata Editor. Administrators and project managers can open the screen for processing structure data and metadata at any time from any individual process listed in the process view page, regardless of its workflow status.
Users with a more restricted level of authorisation can access the Metadata Editor through the My tasks
area but can only perform those workflow steps for which they have been designated as the responsible user.
The grey-shaded area on the left of the screen contains the structure tree, where you can see in hierarchical form all the structure elements that have already been obtained from the source material. When you select a structure element, it will appear in bold in the tree view. For each structure element, the descriptor is based on the type chosen for that element.
Click on the icon just in front of the structure element to expand or collapse individual sections of the structure tree. If you hold the cursor over the small symbol next to each structure element, you will see a pop-up with further details of that structure element without having to open it.
Goobi offers a wide range of functions that simplify the task of working with structure data and metadata. These options can be found in the top menu bar and at the right-hand edge of the structure tree pane in the Metadata Editor.
The following functions are available from the top menu bar. The corresponding icons can be found on the right-hand side of the bar.
At any time while you are working with the Metadata Editor, you can use the Validate
option to check whether you have complied with the rules provided by Goobi for the structure data and metadata. These rules are defined individually for each project by the Goobi administrator. Before closing the step you are working on, Goobi will conduct a further validation check. If this validation fails, Goobi will not let you close the task. It is therefore advisable to perform regular validation checks in the Metadata Editor to ensure that you have complied with the rules. If you click Validate
and Goobi then determines that your metadata and structure data do not comply with the established rules, it will display an explanatory warning message to that effect.
By choosing this function you can prevent the image from scrolling in the Metadata Editor when you are dealing with long lists of metadata or during the allocation of pagination sequences. If you activate this function, the selected image will remain in place on the right hand side of the window together with its navigation bar and the zoom options, even if you scroll up or down on the right of the Metadata Editor.
This menu bar icon provides several options for additional settings. Simply click the icon to display the available functions.
The Save
option allows you to save your work in the Metadata Editor at any time. You should always click on this button when you want to make sure your data cannot be lost.
Click this menu bar icon to exit the METS Editor. You then have two options.
The Exit
option exits the Metadata Editor without saving your work, so you should usually ensure that you save your data before selecting this option. This function can also be used, for example, to exit the Metadata Editor without having to save your work in the event that you unintentionally delete or change the data.
The option Save and exit
saves all your work and closes the Metadata Editor. Goobi will then return you to the screen from which you launched the Metadata Editor. If you accessed the Metadata Editor from My tasks, for example, you will find yourself back in that area. If you launched the Metadata Editor from the Processes area, selecting Save and exit will automatically return you to the same point in that area.
If you select the menu bar icon Settings, Goobi will display a drop-down list containing several additional functions.
Click on this function to display information about the hierarchical level of each structure element in the structure tree on the left. This function is particularly useful in cases where the hierarchy of the structure tree contains many levels. An indication of the hierarchical level can help you determine which level you are currently viewing.
Using this function, you can switch between the fully expanded and fully compressed versions of the structure tree on the left hand side of the Metadata Editor. This allows you to fully expand even the most complex structure trees with a single click without having to click and expand each section within the tree individually.
You can select the Hide image
option at any time to prevent the image from being displayed. Conversely, the Show image
option causes the image to be shown again after being hidden.
This option allows you to recommence pagination. You may wish to use this function to reset all the pagination data and start indexing the pagination sequences again from the beginning.
This function allows you to work with the physical structure tree rather than the logical structure tree. This allows you, for example, to record metadata for individual pages or edit metadata stored in the physical metadata area.
The structure tree pane contains a number of additional icons/functions that can be used to modify the way the structure tree is displayed.
The function gives you an option to link the structure tree on the left of the Metadata Editor to the image. If this function has been activated, the image display will change to the start page of the structure element you have selected in the structure tree.
If you activate this function, Goobi will display the names given to individual structure elements directly within the structure tree. This may give you a better overview, e.g. to help you locate chapters by their name in the structure tree.
Select the Tree page number
to display the page ranges allocated to each structure element in the structure tree on the left. The first and last page of the range will appear in brackets next to each structure element. Each page range displayed contains the image number and the page label (printed page number).
Select this icon if you wish to print out the structure tree.
One of the main areas of work for those users with library training in the field of digitisation projects involves the comprehensive indexing of digitised objects. Basically, this covers pagination, structuring and the recording of metadata.
Those members of the digitisation project who are responsible within their user groups for recording structure data and metadata will complete their tasks in Goobi in a similar way to the other user groups described earlier (scan operators and quality control).
After logging in, they also need to click on My tasks
in the menu bar and select the task they wish to process next from the list of tasks displayed. The screen containing the details of the selected task is very similar to that described above for scan operators and quality control users. Here, too, the user will find a box of general properties on the left and the Process log
for general observations concerning the process. However, one additional action is available in the Possible actions
area. The Edit metadata
link allows the user to open Goobi’s Metadata Editor. The precise functions and user operation of the Metadata Editor are described in a separate section of this manual on account of its complexity.
Unlike project members working as scan operators or in quality control, users involved in processing structure data and metadata do not generally work directly with data from the file system. Consequently, at this point Goobi does not provide access to the digitised material in the file system within the user’s work drive. If required, however, this can also be configured for users processing structure data and metadata to allow for read-only access to the images and allowing them to be displayed using an image viewer. In this case, when the task is closed, the folder containing the digitised material would be removed from the user’s work drive to prevent any further access to that material outside the authorised workflow.
Goobi allows you to copy structure elements from the METS file of one process to another process. To do this, in the Selected docstruct
box, select the function Import structure elements from another process
. Goobi will display a tree view from which you can copy the required structure. You can then specify the target location within the current METS file.
First enter the name of the process from which you want to obtain the data, then click Search for process
.
You can now choose one or more structure elements from the selected process by clicking on them. Once you have selected the required elements, click on the Next
button to return to the structure tree for the process you are currently working on.
In this view, you can now select the structure element into which you want to insert the structure elements you have just copied from the other process. Please note that you can only select a target structure element that is allowed by the ruleset to contain the copied elements. Also, this function allows you to copy only logical structure elements from another process. This means that you cannot use this function to copy images and page allocations.
Pagination is a key element of digitisation projects. It involves matching page labels
(printed page numbers in the source material) to the scanned images. In older works, the page numbering often changes within the actual source text. Often, there is no printed page number, or the same page number is used more than once, and sometimes the pagination can change several times within a single work. A typical example of altered pagination occurs when the preface or introduction makes use of Roman numerals only to be replaced by Arabic numerals after the index.
To edit the pagination for the source work, open the pagination area in the Metadata Editor by clicking on the option in the navigation bar. Goobi will calculate the number of images in the current process folder and produce a vertical list. The box immediately to the right is used to allocate a pagination number to each image. As you can see below in the box entitled Page selection
, Goobi has initially determined that all the pages should be numbered consecutively using Arabic numerals, beginning with the number 1.
Using either the keyboard combinations or the image navigation bar above the scanned image, you can now navigate through the entire set of images to obtain the printed page number for each image. In most cases, the first few pages of books do not contain a page number. Click the first checkbox for image 1 in the Page selection
box. Next, in the Define pagination
box, select unnumbered
from the drop-down list and then click on the link From first selected page
. For pagination purposes, you have now told Goobi to treat the volume as though it did not contain any printed page numbers. Next, move to the first image that shows a printed page number.
Tip: While you are navigating through the images, if you come across a page where the pagination changes, just click on the image. This will automatically select the corresponding checkbox in the Page selection
list. To actually mark the checkbox, press the space bar on your keyboard. Alternatively, you can of course identify the corresponding image in the Page selection
list and then mark the checkbox using your mouse.
When you are selecting pages, please remember that you must go by the image number and not by the printed page number in the source. In Goobi, you can always tell which is the image number. Two numbers are always shown for each image, separated by a colon. The number on the left is the number of the file within the file system, i.e. the image number. The number to the right of the colon is the printed page number in the source, known as the page label. You should always take the image number (to the left of the colon) as your guide to avoid accidentally choosing the wrong pages. It is worth noting that in some source material the same printed page number (page label) can occasionally be used more than once.
Once you have identified the page where the pagination of the source material changes and marked the corresponding checkbox, choose the required pagination type in the Define pagination
box. Next, enter the current page number/label and click once again on the link From first selected page
. This will instruct Goobi to allocate the required page number to each image, beginning consecutively with the page you have selected.
Sometimes, the pagination of the source material can change more than once. Pages without a page number and repeated instances of the same page number occur frequently. Pages on which a new structure element begins (e.g. new chapters) but that do not contain a printed page number (although page numbering is continued on subsequent pages) are marked with a simulated pagination. This simulated pagination can be recognised in that a logical numbering is assumed despite the absence of a page number, and consequently the assumed page number is shown in brackets.
Example: If a chapter starts on a page without a printed page number and the next page contains the printed page number 4
you would give the first page of the chapter a simulated (i.e. assumed) page number, in this case a number 3. Simulated page numbers are based accordingly on an interpretation derived from the missing page identifier and the available page identifiers on subsequent pages of the source. Simulated page numbers are shown in square brackets. In this example, the designation used for the first page of the chapter would therefore be 3
.
Alternatively, you can at any time click the icon next to the page number in the Page selection
box to display the corresponding image in the image display area on the right.
Goobi supports different page numbering methods for pagination purposes. As well as allocating Arabic and simulated Arabic page numbers, Roman and simulated Roman page numbers, free text and unnumbered pages, you can also specify the sequence to be used for consecutive numbering. Using the symbols in the Define pagination
box, you can determine how the page sequence in the book should actually appear.
Goobi supports the following page sequences:
Pagination types supported by the Metadata Editor
Tip: If you want to make a change within an existing pagination sequence, you can use one of Goobi’s features that that does not automatically overwrite all the subsequent pages using automatic numbering. To do so, select one or more pages in the Page selection
_**_box, enter the required numbering and pagination type and then clink on the link entitled Only the selected pages
. In this way, only the selected pages will be affected by the change.
There are several ways in which you can subsequently modify the structure of a document.
One of these involves moving structure elements to a different position. To do this, first select the structure element from the structure tree. Next, in the Selected docstruct
box, select the function Move docstruct up
or Move docstruct down
to move the selected element by one position in the required direction.
However, if you want to move the structure element to a different position within the hierarchy, you will need to select the function Move docstruct to other location
. This will open a dialogue box in which you can specify exactly where you want to place the structure element. You will be able to select only from those locations permitted by the Goobi ruleset.
The methods used by scan operators working with Goobi on a daily basis do not vary substantially from those of other users with different qualifications or responsibilities. All users must first log in and select My tasks
from the menu bar.
This list of tasks contains all the workflow steps that the scan operator is authorised to perform as a member of one or more projects and user groups. The symbols in the Actions
columns indicate the current status of the workflow steps in those rows. As described above in , each user can see immediately which tasks are still open and waiting to be processed and which are already in progress
, i.e. being processed by that user or another user with the same level of authorisation and qualifications. The symbols in the column Priority
indicate error messages or priorities.
From an individual user’s perspective, working with Goobi on a daily basis generally involves selecting a task from the list of those offered and then clicking on the corresponding Actions
button at the end of the row to view full details of that task.
The top-left box in the Details of the task
window contains some general information about the task selected and accepted for processing by the user. You can use the Process log
box immediately below this to enter whatever information you wish. This information will be visible to all users who subsequently accept other tasks as part of the same process at a later stage of the workflow. Its purpose is therefore to act as an open area for communication between different users in the form of general notes or observations. It can be used, for example, to draw attention to the fact that the volume in question needs to be worked on with particular care on account of its properties, or to a particular feature of the process that users at other work stations at a later stage of the workflow need to be aware of. Comments entered by users manually in the Process log
are usually displayed in green.
It is also possible to upload files for this process, which are then listed within the process log. In contrast to the digital copies, these files do not serve to describe the work itself, but can contain information about the work or the method of operation to be observed. For example, it can be used to upload routing slips or offers from restoration service providers. The files uploaded in this way are available for all subsequent workflow steps, as are the comments.
In addition, you can switch to the file area at the top of the process log. Here the files of the different directories of a process are listed. Depending on the respective user authorization, these files can also be downloaded and deleted there. In the lower part of the process log it is possible to select a file to upload. After selecting a file, an optional description can be added. It is also possible to specify whether the file should only be used internally or whether it should also be considered for later export.
Information that has been transferred by external applications or scripts to the currently displayed process is displayed in different colors within the process log. The colors used here have the following meanings:
Colours in the Process log
To the right of the general properties box, you will find a number of extended task properties that can or in some cases must be entered by the user. These will depend on the configuration of your particular site, the process and the workflow step. In the screenshot shown above, for example, Goobi has been configured in such a way that the user must enter details of the opening angle and the scanning device.
Once a task has been accepted by the scan operator, Goobi will create a new folder within that operator’s work drive for storing the digitised files. Depending on the installation and configuration, users are generally allocated a network drive for use on the local work station computer. After a task has been accepted, that drive will contain an additional folder to which the scanned files can usually be saved directly.
Once a task has been completed, i.e. when all the required pages of the physical source have been scanned and saved in digital form in the folder provided by Goobi, the user needs to click on the Fishish this task
link in the Possible actions
area. This tells Goobi that the task has been completed. Goobi will then check for graphics files in the specified folder within the user’s work drive, check the names given to those files and end the task for the user. Goobi will also remove the folder provided for that specific process within the user’s work drive so the scan operator can no longer access it and the digitised material it contains. Whenever a user tries to close a task, Goobi will draw attention to any compulsory fields that need to be completed, e.g. the opening angle or the scanning device (see screenshot above). This means a task cannot be closed until all the required information has been entered in full by the user.
If, after accepting and starting a task, you decide that you do not want to work on the selected task, you can simply return it. Goobi will then reset that workflow step to its original open
status. It is now available to any other authorised users or even to the same scan operator at a later stage. This arrangement can be useful if a task that has been selected involves too much work and cannot be completed, for example, on the last day before that user’s holiday, as it would otherwise remain unavailable to other users for a relatively long period.
Once you have closed a task, you will return automatically to the My tasks
list. The completed task will no longer appear in the list. You can now continue with the next task from your list.
The list of elements from which you can select in the New structure element box will vary depending on which structure element has been activated. You can choose the position where you want to insert the new structure element from the following options:
Positions for new structure elements
The list of structure elements from which you can select will vary depending which of the four position options you choose. The range of elements available for selection depends on how the Goobi administrator has specifically defined the system for the current project using the freely configurable rulesets. Within certain structure elements, this means that structure data and metadata can be specified that are admissible within a given hierarchy. For example, within the structure element Monograph
it is not possible to assign the structure element Periodical article
, although you could assign a Chapter
, which is a perfectly normal component of a monograph. Depending on this configuration, the list display will be based on the structure element currently selected in the left-hand navigation tree.
The fastest way of adding new structure elements in Goobi is to choose the option As last sub-element
As last sub-element First page
input box. Move forward until you come to the last page for the structure element you wish to add, and this time click on the image symbol next to the Last page
input box. Clicking the image symbols instructs Goobi to apply the page number currently selected on the right of the image display. Using the little arrows on either side of the image icon, you can enter the page number for the preceding or following page. This allows you to allocate pages without spending an inordinate length of time moving between pages in the image display section. Next, click on Add structure element
to insert this new structure element as the last sub-element within the current structure element. This is an efficient method of adding structure elements.
If you want to create additional sub-elements as part of a structure element that you have already added, first select the existing element to which you want them to belong. You can now use the same method as described above by adding each new structure element as the last sub-element.
This single step of the workflow therefore involves providing two important pieces of information. As well as identifying and recording the digital structure of the source material (to reflect its logical structure in the form of chapters, sub-chapters, forewords, afterwords, indices and any other structure elements that can be configured individually in your Goobi installation), when you add structure elements you are also providing the corresponding page ranges for each one of those elements.
Clicking on the small arrow symbols next to the First page
and Last page
text boxes instructs Goobi to set these as the beginning and end pages for that structure element. As the metadata file grows in the background, it will eventually be perfectly clear which page ranges correspond to which structure elements. If the digitised material is later made available for viewing, e.g. on a website, researchers will then be able to display all the pages corresponding to a particular sub-element, and sub-chapters downloaded in pdf format will always contain the correctly allocated pages.
For some structure elements, Goobi will display input fields below the selected type so that metadata can be allocated directly to the structure element. Which fields are displayed (e.g. main title, keywords) will depend on the structure type that has been selected and on the ruleset configurations in Goobi.
This function can be used to download a file from the current process folder to the user’s own computer. The user can select the file to be stored locally using the computer’s file browser.
Provided that the server-based target folder is not empty, you can use the Server-based import
box to select a folder from which previously exported images can now be imported into the current process.
In order to do this, you will need to specify the point in the pagination sequence where you want to insert the new file. You can then choose whether the new files are to be inserted as uncounted
pages or whether they are to be integrated into the existing pagination.
For every subfolder in the target folder, Goobi will then search for a counterpart in the current process folder. The selected files are then imported to this folder. Once the files have been successfully imported, the subfolder in the target folder is deleted.
This function can be used to upload a file from the user’s computer to a selected process folder.
The user will need to specify a file and choose the position within the pagination sequence where the new file is to be inserted. Next the user can choose whether this new file is to be inserted as an uncounted
page or whether it should be integrated into the existing pagination. Click the Upload file
button to insert the file into the currently selected process folder. If this is the media folder, the pagination sequence will be updated. The file will be inserted in the selected position and either created as a uncounted page or integrated into the existing pagination sequence. If the file is integrated, the page number for each of the following pages will increase by one. In this context, however, it is important to note that the last file in the pagination sequence is not allocated a page number. It remains unpaginated and if necessary will again have to be changed separately in the pagination sequence.
If there is already a file in the selected folder with same name as the file being updated, the file cannot be uploaded and the user will receive an error message.
A subfolder entitled fileupload
is automatically generated on the Goobi server in the configured folder named tempfolder
. This subfolder is used to exchange files between processes on the server.
In this area of the METS Editor, you can select one or more pages for export to the exchange folder on the server. A subfolder with the current process title is created in the exchange folder. Goobi will search for the selected pages in all the image directories (derivatives) for the current process and export them to the process subfolder in the exchange folder.
You can also choose to delete all the selected pages from the current process when you export them. This deletion will also be applied to the filename allocation, all allocations to structure elements and all the allocated metadata. The file will also be deleted from all the process folders.
If the currently displayed image has been deleted, Goobi will display the first image for that process. If not, the image number will simply be updated.
The metadata editor has an editor for OCR results with which the ALTO XML files in the process can be edited. This editor can be accessed via a button in the upper menu bar:
The ALTO editor overlays the usual interface of the metadata editor. The interface consists of two main elements. The digital copy is displayed on the left and the automatically recognised OCR text on the right. If you move the mouse over the image or over the text on the right, the recognised line and the recognised word are highlighted in the image:
The editor allows you to correct the words recognised by the OCR. To do this, simply click in the text on the right and change the words as you are used to doing with text editors. When you edit a word, it is also marked on the left of the digital copy. If a word is difficult to read, you can zoom in the image display with the mouse wheel. In addition, the page to be edited can be selected via the navigation below the image.
To save the results, just click the green button at the bottom right. To undo all changes, the editor can simply be closed.
If you wish, you can modify previously created pagination sequences. Goobi allows you to move or delete individual pages or several pages at the same time. To do this, you first need to select the required pages in the Page selection
box. Once you have highlighted at least one page in this way, you will be able to choose from the following functions:
Regardless of whether or not you select a page, you can also use the following function:
If one or more pages are moved up, each page will displace its predecessor in the pagination sequence and will take over all the settings and page allocations of the predecessor. If a page is moved down, its original place it taken by the next page in the pagination sequence.
If the changes affect the image currently being displayed, the image number in the page display is updated automatically. There is no change in the displayed image.
As well as moving files, you can also delete selected files. This action deletes the selected page completely from the metadata file. It affects both filename allocation and allocation to structure elements or allocated metadata.
The file is also deleted from all the process folders. You can search for files that you wish to delete from all the process folders using the selected filename. Goobi will search the available folders for files that match the filename (but not necessarily the file extension). The file will be deleted in all the subfolders of the ocr
and images
directories. If the currently displayed image has been deleted, Goobi will display the first image. If not, the image number will be updated.
Goobi also allows you to generate new filenames so that systems that are not based on the sequence of filenames in the METS file can continue to display the images in the correct sequence. All the files are numbered using an eight-digit system based on the sequence in the METS file. The files will be renamed in all the process folders.
One of the fundamental aspects of Goobi is that all structure data and metadata to be recorded as part of a digitisation project can be specified on the basis of a flexible system of rulesets. Before the project actually begins, the project management team can decide which structure elements and which metadata elements should be admitted for that project. The collection of these structure data and metadata, the user authorisations governing how and how often they may be used and the associated translations for the interfaces are specified in the ruleset files.
A detailed description of how to create a ruleset file can be found in a separate document. This documentation can be found here:
This section explains how you can work with rulesets in Goobi. To do this, click the menu item Administration
in the top menu bar and choose Rulesets
from the drop-down menu. This action will display a list of the rulesets that have already been defined.
If you click on the Create new ruleset
link, Goobi will display a dialog box allowing you to create an additional ruleset.
You will need to enter a meaningful name that you wish to use when allocating project tasks. For the ruleset file, you must choose the actual name it has been given in the file system.
In the ruleset dialogue box, as well as choosing the title and file name of the ruleset, you can stipulate the order in which data from that ruleset are displayed in Goobi. The default setting is alphabetical. This means that all lists of structure element names and metadata fields will be sorted in alphabetical order in the Goobi METS Editor. However, if instead you activate the checkbox Sort as in ruleset
in the dialogue box, the order will change. For the configured ruleset in question, the structure data and metadata will now be shown in the order they appear within the ruleset. This can be useful, for example, if you specifically want to make a manual change to the order in which Goobi displays the structure data and metadata. To save the changes you have made in the dialogue box, simply click the Save
button. To delete the selected ruleset, click on the Delete
button. When entering the file name, please ensure that the specified file actually exists in the configured ruleset. The default path that Goobi expects you to use when saving your rulesets is:
In the figure above, for example, the file archive.xml
must exist in the rulesets folder in order for Goobi to use it:
Please note that a newly defined ruleset must not only exist in the file system and be made known in Goobi workflow. It must also be assigned within the details of the process templates used. Otherwise it will not be applied.
The right-hand side of the Metadata Editor gives you an overview of the individual digital images that form part of the current process together with the number of pages, the current magnification level, the currently displayed image number and information about which derivative of the available digitised material you are currently viewing.
You can move between individual pages using the Forward
and Previous
links just above the image. You can also move quickly to the previous and next images by selecting them directly.
The current page is shown in the middle of the page range with the previous and next two pages on each side (provided they are available for display). Clicking on any of the pages will take you directly to the corresponding scanned image. Goobi also features a number of keyboard combinations for repeated navigation between different pages of the source material.
Keyboard combination for navigating between images in the Metadata Editor
Using these keyboard combinations allows you to move quickly and easily through the digitised material, even over large areas. Another navigation option allows you to move directly to a specific image by entering that image number in the Go to image
box and pressing return. Goobi will then automatically display the requested image.
In addition to all the above navigation options, you can also change the way Goobi displays the scanned image. To do so, just click on either magnifying glass symbol below the page navigation bar to increase or reduce the magnification/zoom level. The current magnification is shown between the two magnifying glass symbols. If you want to select a particular level of zoom, simply click between the two magnifying glass symbols, enter a figure and press the Enter key to confirm.
Goobi also allows you to rotate the image in 90 degree stages to view information that can only be read in landscape format. To do so, just click on the arrow pointing to the right to rotate the image clockwise and on the arrow pointing left to rotate the image anti-clockwise.
Underneath the image you will find an option to select from different derivatives of the image (where available). In the drop-down list entitled Folder, Goobi lists all the image folders linked to the currently selected process. For example, if you already have a number of derivative images for a specific process (e.g. master images, scaled or compressed versions of images or derivatives with a different tone such as bitonal images), you can switch between these derivative images simply by selecting the corresponding folder.
Within the METS Editor you can specify a particular image that can be used to represent the entire work. This is usually the title page. Most digitisation portals (e.g. Europeana, ZVDD, VD18) and the Goobi viewer use the first image in the METS file as the representative image, unless a different image has been specifically chosen for that purpose.
In order to specify the representative image, first select the required image from the available list. Click on the corresponding icon make this the representative image. Within the METS file, the selected image will now have the attribute USE=“banner“
.
One of Goobi’s key features is the integration of both Goobi and the additional services linked to it to a central authentication system. In most cases, the authentication process is conducted via a central LDAP server that allows users to work in different systems with a single user account and just one login and one password.
This means it is possible to log in to Goobi with your own user account and to access the work drive on which Goobi provides the data to be processed by users.
Access to the work drive is provided in the background via a Samba server that authenticates user requests via the central LDAP servers. To configure the LDAP groups, you need to click on the menu item Administration - LDAP groups
. Goobi will display an overview of all the LDAP groups that have been set up. In most cases, only one LDAP group will be configured.
Klicken Sie auf das Icon zur Bearbeitung einer der konfigurierten LDAP-Gruppen, so gelangen Sie in die Bearbeitungsmaske. Innerhalb dieser können Sie die einzelnen Parameter für die LDAP- Authentifizierung konfigurieren.
Tip: You must take great care and consult with the system administrator before making any changes to the data provided. If Goobi is configured incorrectly at this point, you could prevent all other users from using the program. Please feel free to contact intranda’s support team if you wish to reconfigure the LDAP groups but are not sure which parameters to use.
After changing the LDAP group parameters, click on the Save
button to return to the list of LDAP groups and apply your changes. Clicking on the Delete
button will delete the selected LDAP group permanently from Goobi. You should note that users will then no longer be able to access the authentication function. It is not possible to continue working with Goobi if an LDAP group has been incorrectly configured or deleted.
As well as the options described above allowing users to edit or amend each volume independently of the current status of the workflow and to process its structure data or metadata or re-export the data to the presentation system, with Goobi you can also apply different actions to a whole group of processes. These actions are applied to all of the processes displayed in the table. If you want to restrict the change or action to a particular selection of processes, you will need to filter the list accordingly. To do so, simply use the Filter processes
box, the list of predefined filters or Goobi’s search function to list only those processes you wish to edit.
Once you have adjusted the list of processes to meet your requirements, you can apply the available actions (shown underneath the process table) to that list. For each action, you can also choose whether to apply the action to the entire set of matches (i.e. all the filtered processes) or just to the processes listed on the page of the table that is currently being displayed. You will be prompted to make this selection when you click on one of the available actions.
The table below contains a description of each possible action.
The remaining actions offered by Goobi correspond to those described earlier for the workflow steps and . When the user closes the task by clicking the Finish this task
link, Goobi will validate the structure data and metadata. The task can only be closed completely if all the configured rules on structure data and metadata have been observed.
For efficient pagination, use the keyboard combinations described in . Especially if the source is particularly large and you cannot or do not wish to check every page, you can ensure that your pagination is actually correct by checking a selection. In most cases, it is relatively easy to detect mismatches in the pagination. To do so, use the keyboard combinations to navigate 20 pages at a time through the set of images, comparing the printed page number on your selected page with the pagination numbers allocated through the automatic consecutive numbering option. You can identify mismatches where the pagination sequence no longer coincides with the sequence of printed page numbers.
While you are working on a task, if you notice an error that has been made at an earlier stage of the workflow that needs to be rectified before you can complete your work, you can send an error message to the work station responsible for that earlier task. This tends to be very rare in the case of scan operators. A description of such error messages can be found in .
Page numbering
A page number is printed on each page.
Column numbering
Each page contains two individually numbered columns. Accordingly, each page will have two pages numbers. In the Page selection
box, you will notice that in such cases the consecutive numbering advances in twos, since each column on each page is allocated a number.
Sheet numbering
In the case of sheet numbering, each physical sheet in the book is given a sheet number. Unlike the page numbering method, no distinction is made between verso and recto. Accordingly, page numbers are not allocated per image. Automatic consecutive numbering is based on every second image. Two images are allocated to each page number before adding the next page/sheet number in the sequence.
Recto/verso sheet numbering
Using this method, page numbers are allocated as for sheet numbering
, except that each page number is followed by an r for recto or v for verso.
Recto/verso page numbering
Here, pages are allocated as for page numbering (see above) with the addition of an r
for recto or v
for verso after the number.
Grey
Messages containing detailed program information for debugging purposes. This information is intended primarily for more precise analysis and not so much for users.
Blue
Messages containing general information.
Orange
Alerts warning about a critical status.
Red
Error messages documenting errors that have arisen.
Green
Messages entered manually by users in the Goobi interface.
Black
Uploaded files
As a web-based application, Goobi has its own structure and is located on a defined path in the file system independently of the servlet container being used. This section explains how to organise the directory structures within which Goobi saves its data and the different configuration files.
The base path for all digitisation software in the Goobi environment is:
The following directories are usually located on this base path:
The logs
directory is the main directory for log files. Goobi log files are also stored here (assuming the system is properly configured). The other directories listed above relate to frequently used applications (e.g. viewer
for the Goobi viewer, itm
for the intranda Task Manager and goobi
for Goobi.
The base path for Goobi is:
In most cases, this base path will accommodate the following folder structure (see below for details of each sub-directory):
As a workflow management application for the library environment, Goobi has to be able to deal with a wide range of specific configurations and project-specific requirements. To this end, it has been designed in line with established conventions. These cover individual directory structures and the way Goobi uses these structures in different areas of the application. This section outlines the directory structures that have proven most effective and explains how external storage is integrated into the system.
This section includes several topics as for example configuration and granular adaption for data protection as well as information about metadata and mappings.
Depending on the way Goobi has been installed, the import
directory will contain a range of data, mostly on a temporary basis. By way of example, import plug-ins use this directory to enter metadata and associated digital content in order to create processes. The respective import plug-ins are also responsible for deleting files that are no longer needed.
A range of scripts can be made available centrally in the scripts
directory. These scripts can be used within the workflow to automate certain tasks.
Within Goobi, the UGH class library is used to process metadata, map PICA imports and generate METS files. In order to manage the huge variety of configuration options, UGH uses a mechanism known as rulesets. The rulesets
directory is the central storage location for these rulesets. It allows you to make individual configurations available for different projects and types of publication.
To let Goobi run several services are required as dependency. These services get explained on the following pages.
Goobi allows users to export processes (together with all their digitised objects) to digital libraries. As a rule, the XML file (METS) is exported last. It is generally preceded by any images, OCR results and other digital objects (e.g. audio files, video files, born digital data).
The following systems (e.g. intranda’s Solr Indexer) monitor the hotfolder and start to function when a specifically defined event occurs. Exporting the XML files last of all ensures that all the other files needed have been made available to the Solr Indexer. In this way, processing can begin as soon as the XML file is exported
The different export parameters can be configured in Goobi. They are located under project properties in the Technical data
and Mets parameters
tabs.
Goobi uses a mechanism called XSLT transformation to generate dockets as PDF files. This involves generating PDF documents from existing xml files. This is done on the basis of xslt files located centrally in the xslt
directory.
Validate metadata against designated ruleset
Fix the image display to avoid image scrolling
This menu bar icon allows you to choose various settings from a sub-menu.
Save the current structure data and metadata
Verlassen des METS-Editors mit oder ohne vorheriges Speichern
Display the hierarchical level in the structure hierarchy
Fully collapse the structural hierarchy
Hide image / Show image
Reset pagination completely
Show physical structure tree / Show logical structure tree
Link the image with the selected structure element
Show main title in the structural hierarchy
Display the assigned pages in the structure hierarchy
Print the structure element hierarchy
Display image for the selected page
Selection of pagination type
Menu item to help users navigate to and select the first or last page of a new structure element
Set the current image as the first or last page
Set the previous image as the first or last page
Set the next image as the first or last page
Create new ruleset
Edit existing ruleset
Rotate the displayed image 90 degrees to the left or right
Create new LDAP group
Edit existing LDAP group
Export metadata to Document Management System (DMS)**: Click this action if you want to export the filtered processes to the presentation system. Please note that this export can take much longer because of the huge volume of data that your selection may contain. When you export data in this way, Goobi will copy both the images and the METS file to the target location configured for the project.
Set status of processes up:** Select this action to change the workflow status of a group of processes. Every time you click this action, the status of each of the processes in the group will be advanced by one level for the current workflow step. For example, steps that already have the status In progress
will be set to Completed
and the next tasks in the workflow will move from Locked
to Open
. Every time you click this action, you are therefore moving the workflow forward by one step.
Set status of processes down:** This action changes the workflow status in the same way as the action Set status of processes up
(see above). The workflow status of all the individual process tasks will be reversed (i.e. set back) by one level compared to their previous status. This allows you to edit the status of a large number of processes at the same time.
Execute GoobiScript:** If you click on the action Execute GoobiScript
, you will be shown a list of different scripts that can be applied to the group of processes you have selected. A detailed description of the possible GoobiScripts is given in section GoobiScript.
Export search results:** This action opens a further area in which you can save the results of a search and the actual search. In each case, you can specify the information you want to include in the search results. The results can be saved as an Excel, Word, rich text or PDF file. You can use Goobi’s central configuration file to specify the columns to be made available in each case.
Calculate number of metadata and images:** Click on this action if you want to instruct Goobi to calculate how many structure data, metadata and images are already present in the system for the filtered volumes. Goobi will display a listing of the processes in both graphical and numerical form indicating their size. The listing will also contain a summary table containing average and total figures.
Statistical analysis:** Clicking on this action instructs Goobi to generate different statistical analyses based on the filtered processes. You can select from a wide range of statistics.
Symbol for collapsing and expanding the structure element hierarchy
Move the structure element one place higher in the same hierarchical level
Move the structure element one place lower in the same hierarchical level
Move the structure element to another location in the hierarchy
Before current element
Choose Before current element
to insert a structure element immediately before the currently selected element.
After current element
Choose After current element
to insert the new structure element on the same hierarchical level directly after the current element.
As first sub-element
Choose As first sub-element
to insert the new structure element as a sub-element within the hierarchy before any other sub-elements that are already in place within the currently selected structure element.
As last sub-element
Choose As last sub-element
to insert the new structure element as a sub-element of the current element. The new structure element will be inserted after any other elements that are already in place.
Move the selected page up
Move the selected page down
Delete the selected page
Generate new filenames
Ctrl
+ Shift
+ Cursor left
Move to previous image
Ctrl
+ Shift
+ Cursor right
Move to next image
Ctrl
+ Shift
+ Cursor up
Move 20 images forward
Ctrl
+ Shift
+ Cursor down
Move 20 images back
Ctrl
+ Shift
+ Pos 1
Move to first image
Ctrl
+ Shift
+ End
Move to last image
All objects that are processed in Goobi as part of the whole range of digitisation workflows, and that as such have their own individual progress status, can be viewed in the Processes
area. First, click on the menu item Workflow – Processes
in the menu. Goobi will now display a list of all the processes you are authorised to view. If you are a Goobi administrator (as in the screenshot below), you are authorised to view all the processes being managed in Goobi.
If you are not an administrator but are authorised to Goobi manager level, you will have been assigned to specific projects. In Process view, you will only be able to display those processes you are authorised to access through your membership of those projects.
The number of hits listed in the table of processes is determined by each individual’s user configuration. In the diagram shown above, for example, you can see the number of rows in the table is limited to ten. In order to display more processes, you would need to move to the next page using the page function below the table.
You can use the simple checkbox filters above the table to quickly filter the results displayed by Goobi or to show processes that are hidden by default. By way of example, an administrator can select the checkbox Show deactivated projects
above the process table to display all the processes that were previously hidden because the corresponding project has been deactivated. Using the checkbox Show finished processes
, you can display all the processes that belong to active projects but have already completed every step in their workflow. By default, if neither of these checkboxes is selected, Goobi will only show processes that are currently being processed as part of the workflow, i.e. completed processes and deactivated projects are excluded by default.
If you want to filter the list of processes displayed by Goobi still further (e.g. because the list of processes is too large), you can enter your own filter in the Filter processes
input box. The options available to you here are very comprehensive and are explained in detail in section Searching processes. As an alternative to this filter function, you can perform a search by selecting the menu item Workflow - Find process
in the menu. This will open a detailed filter dialogue box where you can fine-tune your search using a combination of properties, processes, task status, etc. This method of filtering using the Find process
dialogue box translates your search request into a search filter string as described in section Searching processes.
After using a particular filter, if you wish to save it for future use, you can store it in the list of pre-defined filters. To do so, once you have entered the filter string, simply click on the save symbol next to the drop-down list of pre-defined filters. If you wish to reuse any of your pre-defined filters on a future occasion, simply choose it from the drop-down list to enter the filter string automatically in the Filter
input box. To update the list of results using that filter, press the enter key or click on the reload symbol next to the Filter
input box. The list of hits is automatically updated in the Processes window.
Each of the different columns in the table can also be sorted, allowing you, for example, to list the processes in ascending or descending order depending on the process name or status or the project to which it belongs.
You can adjust the way how the processes are displayed in tabular form. You can include other columns in the table, e.g. the identifier and the date on which the process was created. You can also add selection boxes that allow the user to select individual processes for batch actions. If you choose this option, you will be able to activate a checkbox in each row of the process table. This means that you can then apply any of the actions to those processes whose checkboxes are activated rather than to the whole set of filtered processes or to the processes listed on the current page.
You can also view the workflow details for each process by clicking on the Process title
. This allows you to check the current status of individual steps of the workflow. Goobi will display a small summary view of the selected process indicating the current status of each workflow step for that process. If you hold the cursor over the small square coloured symbols to the right of each workflow step, you will see a brief overview indicating which users have previously worked on that step and when.
If you want to search for specific processes, you can use Goobi’s extended search function. To do this, select the menu bar option Workflow – Search for volume
.
In order to conduct a finely tuned search, Goobi’s Search for volume
dialogue box uses a filter syntax that makes it possible to identify the requested processes on the database.
The above diagrams show how a search is performed in Goobi using its internal search syntax based on the search details entered in the dialogue box. The search syntax generated by Goobi can be seen in the filter box Find processes above the table and can be extended to include additional parameters. It is also possible to save a search in case it is needed on future occasions. It will then appear in the drop-down list of pre-defined filters and can be executed at any time.
Below you will find an explanation of the background filter syntax. This is useful because manually combining the search parameters described below allows you to perform more detailed searches than is the case simply using the dialogue box. The following table contains a description of some typical search filters and how they work.
ab
Filter to display all processes from all projects that contain ab
in the process title.
-ab
Filter to display all processes that do not contain ab
in the process title.
ab -abc
Filter to display all processes that contain ab
in the process title, but not abc
.
a?c
Filter to display all processes that contain a
, one arbitrary character and c
. The search pattern a?c
does not search for ab
.
a*c
Filter to display all processes that contain a
, multiple arbitrary characters and c
. Because \*
can also be "no characters", the search pattern a*c
does also search for ac
.
meta:Shelfmark:123
Filter to display all processes with the condition that the metadata item Shelfmark
must contain the value 123
.
meta:Author:Mustermann
Filter to display all processes with the condition that the metadata item Author
must contain the value Mustermann
.
"meta:Author:Max Mustermann" "meta:Author:John Doe"
Filter to display all processes for which both the authors Max Mustermann
and John Doe
have been recorded.
meta:index.Person:Mustermann
Filter to display all processes that contain the value Mustermann
in the Persons index
.
meta:*:123
Filter to display all processes that contain the value 123
in any item
of metadata.
-meta:Shelfmark:*
Filter to display all processes that have no Shelfmark
.
batch:3
Filter to display all processes allocated to the batch
with the number 3
.
-batch:3
Filter to display all processes which are not allocated to the batch
with the number 3
.
journal:intranda
Filter to display all processes that contain the word intranda
in the Journal
.
project:sample_project
Filter to display all processes from the project sample_project
.
"project:sample project"
Filter to display all processes from a project where the project name contains blank spaces
.
ab project:sample_project
Filter to display all processes from the project sample_project
with ab
in the name.
ab -abc "project:sample project"
Filter to display all processes from the project sample_project
with ab
but not abc
in the name.
"-project:sample project"
Filter to display all processes that do not belong to the project sample project
stepDone:7
Filter to display all processes from all projects for which the workflow step with the sequential number 7
has already been completed
.
stepOpen:7
Filter to display all processes from all projects for which the workflow step with the sequential number 7
is waiting to be processed
by a user.
stepInFlight:7
Filter to display all processes from all projects for which the workflow step with the sequential number 7
is currently waiting in a queue
.
stepInWork:7
Filter to display all processes from all projects for which the workflow step with the sequential number 7
is currently being processed
.
stepLocked:7
Filter to display all processes from all projects for which the workflow step with the sequential number 7
is still locked
.
stepDeactivated:7
Filter to display all processes from all projects for which the workflow step with the sequential number 7
is currently deactivated
.
stepError:7
Filter to display all processes from all projects for which the workflow step with the sequential number 7
has entered an error state
.
stepDone:4 stepLocked:7
Filter to display all processes for which at least workflow step 4
has been completed
but step 7
has not yet been released for processing
.
stepInWork:Imaging
Filter to display all processes for which a workflow step with the name Imaging
is currently being processed
.
stepDone:Export "project:sample project"
Filter to display all processes belonging to the project sample project
for which a workflow step with the name Export
has already been completed
.
"id:17 18 19"
Filter to display all processes with the internal Goobi identifiers
17
, 18
or 19
.
template:123
Filter to display all processes for which the physical source
contains a property
including the value 123
.
template:shelfmark:123 intranda
Filter to display all processes for which the shelfmark
property of the physical source
contains the value 123
and the process name
contains intranda
.
workpiece:intranda
Filter to display all processes for which the property of the associated workpiece
contains the value intranda
.
workpiece:Artist:intranda
Filter to display all processes for which the workpiece property Artist
contains the value intranda
.
workpiece:Artist:intranda process:shelfmark:123 "project:sample project" stepDone:Imaging 456
Filter to display all processes from the project sample project
for which the process name contains 456
; at least the workflow step Imaging
has been completed
; the shelfmark
of the physical source
contains 123
, and the workpiece property Artist
contains intranda
.
processproperty:Font:fra
Filter for all processes whose process property
Font
contains the value fra
.
project:Berlin |project:London
OR-Search for all processes whose project title
contains either Berlin
or London
.
"project:Palma de Mallorca" "|project:New York"
OR-Search for all processes whose project title
contains either Palma de Mallorce
or New York
. The individual search parameters are set in quotation marks
here, since the project titles contain spaces here..
"meta:TitleDocMain:1801" "|meta:TitleDocMain:1802"
Or search for all processes whose metadata
contains 1801
or 1802
in the main title
. The quotation marks
are only necessary if spaces are contained within the search term..
processdate=2021
Search for processes whose creation date
is in the year ´2021`.
processdate!=2021
Search for processes whose creation date
is not in the year ´2021`.
"processdate<2020-01-01 12:00:00"
Search for processes whose creation date
is before 01.01.2020 12:00:00
.
processdate>2020-01-01 processdate<2020-12-31
Search for processes whose creation date
is after 01.01.2020
and before 31.12.2020
.
stepdone:Scanning stepfinishdate:2021
Search for workflow steps with the title Scanning
completed in the year 2021
.
stepstartdate:2021
Search for workflow steps whose processing started in 2021
.
stepdone:Scanning "stepdone:Quality control" stepfinishdate:2021
Search for workflow steps Scanning
and Quality control
both completed in 2021
.
stepdone:Scanning stepfinishdate>2021-08-01 stepfinishdate<2021-08-31
Search for workflow steps Scanning
completed in August 2021
.
stepDone:Scanning processdate=2021 |processdate=2022
Searches for processes that are created in the year 2022 or contain steps Scanning
and are created in the year 2021.
stepDone:Scanning (processdate=2021 |processdate=2022)
Searches for processes that contain steps Scanning
and are created in the year 2021 or 2022. Brackets can be nested arbitrarily to determine the priority and thus the execution order of the individual AND and OR conditions.
Note: The operators <
and >
are interpreted in the background as less than or equal to
and greater than or equal to
. For example, searching for processdate>2022
will list all processes whose creation date is 2022 and later.
As you can see from the examples given above, it is possible to conduct some very complex filter-based searches by combining a wide range of parameters. Unlike the simple filters you can apply in the dialogue box, by using the correct filter syntax you can use the same parameters more than once with different values for a single search (e.g. to simultaneously retrieve both completed workflow steps and others that are still in progress).
All the parameters listed above can be combined with each other as required. Please note, however, that any parameters containing a blank space should be written inside double quotation marks.
The harvester can be used to automatically import data from external repositories.
To be able to access the harvester, the user must have the Edit harvester repositories
right. The Harvester
menu entry is then available under the Administration
menu item. This opens the screen for listing all configured repositories.
The function Add repository
opens the editing screen to create a new repository.
The first step is to enter a name and select the protocol type. The following are available: OAI-PMH
, Internet Archive Web Search
, Internet Archive CLI
and the BACH API
.
For BACH
, the URL to the BACH server and the authentication token must be specified.
If the Internet Archive Web Search
is selected, the URL
to the advanced search interface must be specified. To import only certain works, a search filter must also be specified as part of the URL. This way, only publications that are marked as Open Access and have been published can be imported.
In order to import access-protected publications, the Internet Archive CLI must be used. The CLI must be installed for this, usually under the path /usr/local/bin/ia
. In addition, the environment variables IA_USERNAME
and IA_PASSWORD
must be set. A search filter can also be specified here to narrow down the hit list.
For OAI-PMH
, the URL to the OAI server must be specified. If the URL contains the parameters set
and format
, this information is automatically determined together with the base URL. Otherwise, they must be specified manually.
With OAI, the From
and Until
parameter can also be set to limit the query to a specific time period. If the fields are empty, the entire period since the last request is automatically queried.
Test mode can also be activated. In this case, only the first records of the hit list are imported without the resumptionToken being analysed.
The other settings then apply to all types.
The Poll frequency
defines the intervals at which the repository should be queried. The specification is in hours.
Delay
defines a time period up to which new data is to be queried. If a number greater than 0 is entered here, a search will not look for all data up to the current date, but for data published up to the configured number of days before the current date.
The ‘Download folder’ field is used to specify the folder in which the data is to be downloaded and saved. The folder is created automatically during the first harvesting if it does not yet exist.
Optionally, a script can then be called that is executed on each downloaded file. This can be used, for example, to perform an XSL transformation on each XML file or to write additional information in all JSON files.
If the data is not only to be downloaded but also imported as Goobi processes, the checkbox to Create processes
must be activated.
The Project
, Process template
and Import format
to be used can then be specified.
To start harvesting manually, you can use the now run once
button in the Actions column of the overview. If the project is active, harvesting is then started once.
Automatic harvesting takes place regularly. The time at which it should run must be defined for this. This is done in the goobi_config.properties
file using the line harvesterJob=0 0 */1 * * * ?
. This causes the check to take place every hour on the hour. The configuration is carried out in chron syntax and allows any time periods.
When the check is performed, it is checked for each configured active repository whether the last run was longer ago than the value configured in the poll frequency field. If this is the case, harvesting is started.
When a new harvest is triggered, the records that have been published or updated in the repository since the last run are determined first. For each record, Goobi checks whether it has already been processed once or is new. New files are then downloaded to the configured folder. If a script has been configured, it is called for each downloaded file.
If configured, the files are now imported. In the case of marc-xml or pica-xml, the document type is determined first. Higher-level data such as journal titles or multi-volume works are skipped. In the case of subordinate documents (journal issues, volumes of a multivolume work), the superordinate work is searched for and also downloaded. The metadata is then parsed on the basis of the ruleset from the configured process template.
The process title is created on the basis of the identifier.
If you need even more detailed information about a process, click on the first symbol in the Actions
column for that process. This will open the detailed view window for that process with a number of options for specific purposes. You can also perform other actions for each process. Details of these possible actions can be found in the Actions
column for each process. Some of the possible action symbols will not be activated if the status of the process does not yet permit that action to be performed. You cannot, for example, generate a pdf for a process if it does not yet contain any images. In such cases, the Generate PDF
symbol will be deactivated.
The following options are available for each process in the Actions
column:
Open detailed view for the process and edit workflow steps, physical source, workpiece and associated properties.
Open the METS Editor for the selected process to amend the structure data, metadata and pagination.
Generate a link on the current user’s work drive
: This involves creating a link for the selected process on your own work drive that permits you to access the images for that process. This allows the administrator to access the associated process files at any time regardless of the current status of the process, in order, for example, to review or amend them.
Remove link from work drive
: Once you have finished editing or viewing the data for a specific process, any link can be removed from the user’s work drive to prevent any further access to the process data.
Generate docket
: A docket is generated whenever a process is first created. Should it be necessary to generate another docket at a later stage, this can be done here at any time. If you click on this symbol, Goobi will prompt you to download a pdf file that you can print out and use for whatever purposes may be required.
Generate METS file
: This option allows you to generate a full METS file for a specific process outside the normal workflow. When you click on the symbol, Goobi will create and store a METS file on your work drive.
Generate PDF
: This option allows you to create a pdf file for a specific process. Depending on your configuration, Goobi will either store the pdf directly on your work drive or prompt you to download it. Depending on the status of the process, a pdf file generated in this context will contain either just the images entered for that process or may also contain structural information. If structure data and metadata have already been recorded for that process using the METS Editor, they will also be included in the pdf. In such cases, the pdf file generated by Goobi will contain a linked index of contents.
Export to the Document Management system
: Using this symbol you can re-export a specific process to the configured presentation system regardless of its workflow status. This involves exporting the assigned digital objects (mostly images) and the METS file to a designated directory within the project that is responsible for transfers to the presentation system. Once you have completed the export process, Goobi will display a message to indicate that the export has been successful (or failed) with information about the status of the export.
It is important to note that all of the possible actions offered by Goobi can be performed for individual processes or a number of processes together regardless of their current status. This allows users with manager-level or administrator-level authorisation to access and if necessary amend the data for specific processes at any time.
Depending on the way Goobi has been installed, the plugins
directory may contain a number of plug-ins that perform imports or call Web API commands. Depending on the task, the compiled plug-ins are located in either of the directories shown below:
The config
directory contains all the Goobi configuration files that do not have to be located within the application itself. These are listed below:
Depending on the specific installation, the config directory may also contain other configuration files in addition to those related to the application’s core components. Accordingly, we recommend that you also use this central configuration directory to store configurations for individual plug-ins that provide additional functionality.
For subsequent ease of maintenance, the paths and file names relating to the configuration of any new Goobi plug-ins that may be developed should also adhere to this convention.
The metadata
directory is the central directory for storing Goobi metadata and digital content. Within this directory there is a directory with the name of the Goobi process ID for each Goobi process. The directories for the individual Goobi processes are organised as follows:
In addition to the central metadata file meta.xml
, there may be other backup files such as meta.xml-2021-11-28-175618166
, meta.xml.2024-05-08-135432256
, etc. in the directory, depending on the configuration.
images
The images
directory is temporarily made available to various users within the workflow and has the following structure:
media
The most important folder for working with the content is the one that ends in _media
. Files that are to be used for publication (e.g. in a Goobi viewer) are stored here. The files stored here are usually compressed derivatives that can be used for working with the digitised material and publishing it in very good quality.
master
The master files are located in the directory that ends with _master
. These are usually the unaltered originals, such as those generated by scanners. They are typically uncompressed and not optimised in any other way (straightened, cropped or similar).
source
In the directory whose name ends in _source
, source files can be stored to which Goobi users should also have access in order to upload or view them. The files stored here are taken into account and exported as part of the standard Goobi workflow export. In the case of export to the Goobi viewer, for example, this means that the data from the source folder is also exported to the Goobi viewer's hotfolder
.
In addition to the images
directory, there may also be an ocr
directory. This contains all the OCR results that were generated within the workflow and added to the process. There is a separate directory with the respective files in it for each existing format of the OCR results.
Smaller versions of the images in images
can be saved in the thumbs
folder, which Goobi uses to display the images in low resolution. This significantly increases the speed of image display for larger images. For each subfolder of images
, one or more subfolders can be created in thumbs
with the same name as the images
subfolder, extended by an additional underscore _ and a size specification in pixels. This size specification must correspond to the maximum height and width of the images in the respective subfolder. The file names of the images in the thumbs
subfolder must correspond to those of the images in the corresponding images
subfolder, but with the file extension .jpg
.
If there are matching images in thumbs
for an image file in images
, then these are automatically used in Goobi to display thumbnails and zoomable images when zoomed out.
If automatic validation, e.g. of images, takes place on the Goobi server and also in the workflows used, the validation
directory exists.
Within this directory, a subfolder is created for each validation run so that older validation results can also be stored. The generated subfolders are always named in such a way that the folder name lists the date and time as well as the type of validation. This looks as follows, for example:
If there is collaboration with the intranda TaskManager, the ‘taskmanager’ directory also exists within the folder. Within this directory, the TaskManager saves temporary data for the execution of long-running tasks. Depending on the configuration, all ticket and template files used for the individual TaskManager calls are also permanently saved and stored here. The content of this directory is as follows:
Depending on the individual installation, there is also an import
folder for each Goobi process. This folder is used by import plug-ins to carry original source files associated with the respective process. Imported and imported catalogue data record files or other source files can be stored here and used within scripts as part of workflow processing. The contents of the folder could look like this, for example:
A folder with the name ‘export’ can also exist within the process directory. Files with the same structure as those in the images
directory can be saved in this folder. The files in this folder are then included in the export and exported to the Goobi viewer hotfolder, for example. This may be necessary if files are to be included in the export without them being present in the images folder and without them being referenced within the METS file.
The content could look like this, for example:
Goobi workflow allows operation with S3-compatible storage. It should be noted that a local file system is still required to store the metadata. This means that the files meta.xml
, meta_anchor.xml
and their backups, which exist for each process, will continue to be stored in the file system. Only all other data, such as images and OCR results, are stored on the S3 storage area.
To run Goobi with S3 as storage, the following two settings must be set within the configuration file goobi_config.properties
:
Goobi workflow uses the AWS Java SDK internally. This means that the credentials for accessing the storage system are read either from $HOME/.aws
or from environment variables. If another S3 provider is to be used instead of AWS, the connection can be configured relatively granularly. This requires a few more settings within the same configuration files:
Using S3 as a storage system should basically work with all S3-compatible APIs. During the development of the S3 functionality, both Amazon S3 and were used for the implementation.
Goobi saves information using a database. As a rule, the preferred option is MySQL. Ideally, the latest stable version of this database engine is installed from the operating system’s standard repositories.
If you are using Ubuntu Linux 14.04 LTS, MySQL is installed from the standard repositories by means of the following command:
The service can be stopped and started using the following commands:
The configuration data for MySQL is located on the following path:
Most digitisation projects involve handling very large volumes of data. In most cases, this makes it necessary to link external storage capacity to the server. This can be done in a number of ways. We recommend that the external storage is linked to the following folder in the directory tree:
This means that all Goobi data can be found in a central location.
Two solutions for integrating external storage are explained in schematic form below. We do not recommend linking via CIFS as this can affect performance and functionality. Furthermore, CIFS does not allow you to produce symbolic links or read-only rights.
The following information is required if you wish to integrate external storage via an NFS Share
• exporting server • exporting directory
You can then add the storage to the directory tree via NFS. It is a good idea to add an entry into the file /etc/fstab that automatically sets up the link when the system starts up. This entry could be as follows:
Another way of integrating external storage is to attach it to the virtual machine as an independent device. This can be different iSCSIs or SAN LUNs. They are subsequently combined into a logical volume in the virtual machine using LVM. The result is an aggregated storage unit based on a number of devices.
The Goobi installation path may vary depending on your installation. Typically, the base path for web applications on an Ubuntu Linux system within an Apache Tomcat servlet container is shown below:
Accordingly, the Goobi application is located on the following path within the file system:
In addition to the configuration parameters listed above, the METS file groups can also be specified. The screenshot shows five defined file groups:
Min
Max
Thumbs
Default
Presentation
The file groups Min
, Max
, Thumbs
and Default
are intended to ensure compatibility with the DFG Viewer.
The configuration dialogue box used to configure these METS file groups is shown in the following screenshot:
The configuration settings provided here mean the following::
Any of the following methods is possible for the option Validation against folder
:
In addition to the method names given above, it is also possible to specify folder names. A check will then be made for those folders within the images
folder:
Goobi uses Samba to provide users with directory authorisations to read and write image data. The latest stable version of Samba should be installed from the operating system’s standard repositories.
f you are using Ubuntu Linux 14.04 LTS, you need to use the following command to install Samba from the standard repositories:
The service can be stopped and started using the following commands:
The configuration data is located on the following path:
If you are using Windows 7 or a later version, the directory can be integrated as a network drive. To set this up, click Start
, then Computer
. Next, right click on Network
and choose the option Map network drive
.
A free drive letter can now be assigned in the dialogue box. The folder entry should take the form SERVERNAME\USERNAME
(with USERNAME
standing for the Goobi user name). If the Goobi login data does not match the login data for the Windows PC, you will also need to select Connect using different credentials
.
You may need to enter the user name and password for the next step. Thereafter, the network drive can be accessed using the selected drive letter.
The Goobi Mount Tool is an alternative way of connecting the authorised Goobi directories as a network drive.
The Goobi Mount Tool is configured in the file config.properties
in the same directory as GoobiMountTool.exe
.
The parameter drive_letter
defines the drive letter used to integrate the network drive. The parameter ip_address
is the IP address of the Goobi server that makes the network drives available.
Once it has been configured correctly, the Goobi Mount Tool can be called directly. Thereafter, all you need to do is enter the Goobi login details (user name
and password
).
Once you have selected Connect
, the network drive can be accessed using the drive letter assigned in the configuration file.
In addition to the directories listed here, there may also be other subdirectories. For example, a directory whose name ends in _raw
is listed here in order to store RAW files from cameras or other data there. Goobi users can also gain access to these folders. An explanation of how such additional directories are configured in Goobi workflow .
DMS export images folder
/opt/digiverso/viewer/hotfolder/
This stipulates the folder to which the images are written when exporting.
DMS export success folder
/opt/digiverso/viewer/success/
This stipulates the folder in which Goobi is instructed to search for a success message indicating that the exported XML file has been correctly processed. A check against this value is only made if the parameter exportWithoutTimeLimit
has been set to false in the configuration file goobi_config.properties
. At this point, Goobi can communicate with downstream systems in order to establish, for example, whether an item has been successfully exported.
DMS export error folder
/opt/digiverso/viewer/error_mets/
This stipulates the folder in which Goobi is instructed to search for an error message indicating that an error has occurred in processing the exported XML file. A check against this value is only made if the parameter exportWithoutTimeLimit
has been set to false in the configuration file goobi_config.properties
.
Create process folder
no
If this checkbox has been activated, Goobi will create a folder with the corresponding process name in each of the folders specified as the DMS export folder for XML file
and DMS export folder for images.
The exported files will then be placed in these folders. If the checkbox is not activated, the files will be placed directly into the stipulated folders. By default, this checkbox is not activated.
Timeout (ms)
36000
This setting defines the time interval in milliseconds before Goobi removes the exported files from the hotfolder. A check is only made if the parameter exportWithoutTimeLimit
has been set to false in the configuration file goobi_config.properties
. The default value is 300000
(i.e. 5 minutes).
Name
Default
This setting defines the name of a METS file group. The name can be found in the attribute USE in the fileGrp area within fileSec in the METS file.
Path
This parameter defines the base path in which the digital objects can be located. When exporting, the filename of the files from the _media folder is also written to this path. The file suffix required is defined in the Suffix field.
Mime Typ
image/jpeg
This defines the Mime type of the files that are linked in this METS file group. Once the export is complete, this entry can be located in the MIMETYPE attribute for the file objects.
Suffix
jpg
This defines the suffix for the files that are linked in this METS file group.
Validation against folder
video
This value is optional. If the field is blank, the file group will be generated normally. However, if it contains a value, Goobi will check perform a check within the file system for a directory in the images folder that corresponds to the value or method defined in this setting. If this is the case, the file group will be created using the files from this folder. If there is no such folder, the file group will not be created.
Use file extensions and MIME type of files
false
This value can be set to true
to ignore the default file types set for this project and use the file types of the files present in the media
folder instead. This can be convenient if files of different types are to be used for a project or if no other conventions exist. If this value is set to false
, only the file types set for this project will be considered.
File extensions to ignore
This field can be used to specify mime types that should not be included in the export. For example, images/jpeg
or images/*
can be used. Multiple values can be separated with commas, for example: images/jpeg,images/png
.
getProcessDataDirectory
/opt/digiverso/goobi/metadata/1165/
getImagesDirectory
/opt/digiverso/goobi/metadata/1165/images/
getImagesTifDirectory
/opt/digiverso/goobi/metadata/1165/images/kleiuniv_PPN1234_media/
getImagesOrigDirectory
/opt/digiverso/goobi/metadata/1165/images/master_kleiuniv_PPN1234_media/
getSourceDirectory
/opt/digiverso/goobi/metadata/1165/images/kleiuniv_PPN1234_source/
getOcrDirectory
/opt/digiverso/goobi/metadata/1165/ocr/
getTxtDirectory
/opt/digiverso/goobi/metadata/1165/ocr/kleiuniv_PPN1234_txt/
getWordDirectory
/opt/digiverso/goobi/metadata/1165/ocr/kleiuniv_PPN1234_wc/
getPdfDirectory
/opt/digiverso/goobi/metadata/1165/ocr/kleiuniv_PPN1234_pdf/
getAltoDirectory
/opt/digiverso/goobi/metadata/1165/ocr/kleiuniv_PPN1234_xml/
getImportDirectory
/opt/digiverso/goobi/metadata/1165/import/
mp3
/opt/digiverso/goobi/metadata/1165/images/kleiuniv_PPN1234_mp3/
mpeg4
/opt/digiverso/goobi/metadata/1165/images/kleiuniv_PPN1234_mpeg4/
jp2
/opt/digiverso/goobi/metadata/1165/images/kleiuniv_PPN1234_jp2/
Goobi communicates with the intranda Task Manager
via the TaskClient
. In Goobi, this command line program is configured as part of a workflow step. It can accept and process a number of parameters. The parameters required depend on the nature of the task to be performed by the intranda Task Manager. The parameters expected and validated for OCR, for example, are different from those required for SDB.
Details of the intranda Task Manager
and how it works with Goobi can be found in the intranda Task Manager documentation.\
Goobi automatically exports METS files to a pre-defined folder. This is usually the directory shown below:
A sub-folder is created in this directory for each process, and all the data being exported is copied within this new folder. As well as the actual METS file, this may include the anchor file, the images and OCR data.
Once the export has been completed, Goobi calls PostExport.jar
. This program renames the exported METS file (so that the file name corresponds with the b-number) and merges it with the SDB-AMD file.
As a first step, this involves reading in the AMD file and for each element creating a mets:techMD
element within the mets:amdSec
section of the METS file. The second step involves checking all the FileGroups individually. The file name, checksum and Mime type are formed from the values in the AMD file. Finally, the structure elements of the physical structMap are linked to the individual techMD.
After this, the enriched METS file is written to the pre-defined folder, and from here the presentation can read in the data.
If the data includes multiple manifestation objects
and one or more manifestations have already been exported, the anchor files are also merged. This involves entering into the logical structMap a new child element that contains the information for the new object. The sequence within the structMap is defined using the metadata item order number
.
A further export setting can be configured in goobi_config.properties
. The corresponding parameter is shown below:
If this value is set to true
, Goobi will produce a success message for the export once the exported files have been copied to the folders DMS export folder for XML file
and DMS export folder for images
(as defined in the project settings). Goobi will produce an error message if an error occurs during the copying process.
If the value is set to false
(or if it is missing from the configuration file), Goobi will not produce a success message unless it can find a corresponding message in the folder DMS export success folder
(as defined in the project settings). Goobi will produce an error message if it finds an error message in the folder DMS export error folder
(as defined in the project settings).
If Goobi does not find a success of error message in these folders within the timeout period stipulated in the project settings, it will delete the exported items automatically.
At various points, Goobi workflow is controlled via several configuration files. At this point, the most important configuration files are listed and explained in detail.
The configuration file goobi_mail.xml
is used to configure mail dispatch for Goobi. The file is usually located here:
For example, this configuration file looks as follows:
smtpServer
SMTP server for mail dispatch
smtpPort
Port for the SMTP server to use, in case it is not the default port
smtpUser
Username for authentication on the SMTP server
smtpPassword
Password for authentication on the SMTP server
smtpUseStartTls
Activation of the StartTLS
encryption type
smtpUseSsl
Activation of the SSL
encryption type
smtpSenderAddress
The sender address to be displayed to the recipient.
apiUrl
URL at which a user can deactivate mail reception
To deactivate the global sending of emails, it is sufficient to delete the goobi_mail.xml
file or set the enabled
attribute to false
.
Additionally, the content of the emails can be configured. The following keys are available in the messages files
for this purpose:
mail_notification_openTaskSubject
Subject of the email that is sent when a task is opened.
mail_notification_openTaskBody
Content of the email that is sent when a task is opened
mail_notification_inWorkTaskSubject
Subject of the email that is sent when a task is being processed
mail_notification_inWorkTaskBody
Content of the email that is sent as soon as a task is processed
mail_notification_doneTaskSubject
Subject of the email that is sent when a task is completed
mail_notification_doneTaskBody
Content of the email that is sent when a task is completed
mail_notification_errorTaskSubject
Subject of the email that is sent when a task changes to an error status
mail_notification_errorTaskBody
Content of the email that is sent when a task changes to an error status
In addition to normal text or HTML elements, variables can also be used in the subject
or body
. The following variables are available for this purpose:
${user}
Name of the user to whom the e-mail will be sent
${projectname}
Name of the project to which the task belongs
${processtitle}
Name of the operation to which the task belongs
${stepname}
Name of the current task
${url_cancelStep}
URL to unsubscribe from notifications for this type of task
${url_cancelProject}
URL to unsubscribe notifications for all tasks of the project
${url_cancelAll}
URL to unsubscribe from all notifications
For example, an email text could be configured as follows:
The goobi_activemq.xml
configuration file specifies the settings for the org.apache.activemq
Java library used by Goobi Workflow.
Goobi Workflow does not use the file itself, but passes it directly to the library as configuration. This documentation only presents the most important settings that are relevant for Goobi. More detailed documentation can be found on the activemq website.
The file is usually located at the following location:
For example, this configuration file looks as follows:
This configuration file can use multiple XML namespaces in more complex applications.
The root element <beans>
always uses this default namespace:
The <broker>
sub-element always uses this default namespace:
All settings that are important for using the Message Broker of Goobi Workflow are made inside the <broker>
element.
The brokerName
parameter is used to specify the name of the message broker. Since this is the only one on localhost (on this computer system), the name defaults to localhost
.
The schedulerSupport
parameter specifies whether a scheduler is used for multithreading.
The schedulerDirectory
parameter specifies a full file path to an executable scheduler.
The <transportConnectors>
element is used to specify a list of enabled endpoints along with the protocols that can be used. Each <transportConnector>
element contained in it specifies an endpoint.
An endpoint usually has two parameters. The name
parameter specifies a name for the enablement. For example, this can be the name of the protocol. The uri
parameter specifies a Uniform Resource Identifier consisting of a protocol, an IP address or domain, a port number, a path and any parameters. From the URL specified here, activemq can later be accessed using the specified port and protocol.
It can happen that transmitted information is not directly accepted by the receiver. If this information is not requested for a long enough time, activemq stores it in its own database. This is configured with the <persistenceAdapter>
element.
By default kahaDB
is used, so the configuration includes an element <kahaDB>
with the parameter directory
, specifying the full file path to the database.
Additionally, the journalMaxFileLength
parameter can be specified to limit the file size in the database. One of the units mb
or gb
will be used.
The <systemUsage>
element can be used to limit the available memory for the transferred data in the queue.
The <memoryUsage>
element defines the maximum size of used memory.
The <storeUsage>
element defines the maximum size of the internal database.
The <tempUsage>
element defines the maximum size of temporary files.
The most common units for the limit
parameter are mb
and gb
.
The <managementContext>
element is usually used to turn off a custom connection for JMX (Java Management Extensions). The createConnector
parameter is set to false
by default to use the default connection.
This configuration of the Message Broker by default comes with three plugins that handle authentication and the redelivery system.
The <authenticationPlugin>
is used to define user groups and their access rights to different queues.
With each <authorizationEntry>
a queue and its details are specified. The queue
parameter specifies the used queue. The topic
parameter can be used to configure access to specific topics instead of read and write permissions for a queue.
Instead of a name, the value >
can be set for a queue or topic. This is a universal operator and applies to all queues and topics.
The read
, write
and admin
parameters specify user groups that have read, write and administrator access to the respective queue or topic respectively. Multiple user groups in one parameter can be separated with comma.
The <simpleAuthenticationPlugin>
is used to create users and define passwords and user groups for users. Each <authenticationUser>
element specifies an authenticatable user. The username
and password
parameters define the username and the necessary password with which the user (or other software) must authenticate.
In addition, there is the groups
parameter, which contains a comma-separated list of user groups to which the respective user belongs. These groups are relevant for the <authorizationPlugin>
.
The <redeliveryPlugin>
is used to configure more detailed error handling for resending data that was transmitted with errors. This plugin has two boolean parameters that control the final save of multiple failed transmission attempts and their contents.
With the fallbackToDeadLetter
parameter, messages are not retransmitted after a certain number of failed transmission attempts to keep the system load low.
With the parameter sendToDlqIfMaxRetriesExceeded
a message that could not be sent several times is written to a residual memory. There it remains until it can be read manually or by a later successful transmission attempt. This prevents the queuing system from being overloaded with non-functional connections.
The sub-element <redeliveryPolicyEntries>
lists error handling rules that should apply to specific queues. For each rule entered there, the element <redeliveryPolicy>
and the parameter queue
define the corresponding queue.
In the element <defaultEntry>
the default case is defined, which will be executed if none of the above rules apply. This element <redeliveryPolicy>
defines exactly one rule, but this one does not need a queue
parameter, because it is used for all queues in all usual cases.
Some more parameters can be specified for the rules. For example, with the integer maximumRedeliveries
parameter it is possible to specify the maximum number of attempts before a message is written to the residual memory. The initialRedeliveryDelay
parameter, also an integer, is used to specify the number of milliseconds after which a new transmission attempt is started.
To avoid a permanent load on the system, the time interval between retransmission attempts can be increased exponentially each time. For this the boolean parameter useExponentialBackOff
is set to true
and with the parameter backOffMultiplier
a multiplication factor is specified, with which the period is increased. For example, if this is set to 1.5 and the initial period is set to 60 seconds, the next send attempt will be executed after 1.5 * 60 = 90 seconds. The third follows after another 1.5 * 90 = 135 seconds.
The goobi_exportXml.xml
file specifies technical details about the properties and associated XML namespaces used when generating docket files.
The file is usually located at the following location:
For example, this configuration file looks as follows:
This configuration file is used to specify additional properties to be included when exporting docket files. Since these properties can be gathered from different areas, it is necessary to specify for each property where it is defined. This is done with the help of namespaces, which are also defined beforehand.
The <namespace>
elements are used to define namespaces that can be used to add further properties for exporting metadata. There are some projects and institutions that define such namespaces. In this configuration file, a <namespace>
element is created for each required namespace definition.
Namespaces are identified by a name or abbreviation specified with the name
parameter. This should be short and descriptive, as it will be used often later. Namespace names may not occur more than once. Usually the project name or an abbreviation of it is used. The project name is usually evident from the domain in the specified URL.
Accordingly, namespaces refer to a URL defined in the value
parameter. This URL must point to an XML specification that contains further information about the respective namespace and the available property names. Further information can be found in the respective documentation for the namespace specifications.
For example, if the following namespace is defined,
so an element mets:xmlData
can be used later. Goobi can then assign that in the namespace mets
, which in turn is defined in the specification under http://www.loc.gov/METS/
, the element xmlData
should be searched for. There it is defined according to the project.
Properties to be included in the export are specified in <property>
elements. The title specified in the name
parameter will be reused for the structure of the exported docket file. The value
parameter contains one or more properties which are structured as follows.
All properties are separated with slashes (/
). Additionally, the entire entry starts with two slashes. The basic syntax is as follows:
Since no default namespace can be defined in the list of namespaces, each property is assigned a namespace, resulting in the following syntax:
Any number of elements can be specified. Only namespaces that have been previously defined in the <namespace>
elements can be used. According to the namespaces, only certain properties can be specified. For example, it looks like this:
It may happen that properties exist as lists. In this case the number of the list element is indicated with square brackets. It should be noted that the count starts at 0. In the following example the second element from the list dmdSec
is used. (The first element would then have the number 0).
In addition, for more complex properties, it is possible to select which component of the property should be used. In the following example, the sub-element with the property name
= PublicationYear
is selected from the metadata
element.
If only a meta.xml
is used to describe the process, all <property>
elements are created inside a <mets>
element.
If an additional meta_anchor.xml
is used to describe the process, then all <property>
elements are created within an <anchor>
element.
For an export, only the <property>
elements from one of the two elements are ever used.
If a goobi_exportXml.xml
file is to be used for different projects, some of which use only the meta.xml
and some of which also use the meta_anchor.xml
, both elements can be specified with their respective <property>
subelements without any problems. These do not influence each other.
The configuration file goobi_digitalCollections.xml
is responsible for controlling the selection list of digital collections. It is usually located at the following path in the file system:
In this configuration file you define which collections basically exist and within which projects they should be available for selection.
If collections are to be configured with sub collections, these are separated from each other by the #
separator. This looks like the following example:
If the collections are to be configured differently depending on the project, this can be done as follows:
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:
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 are specified for the settings in this configuration file. Unless otherwise specified, the following values are allowed:
Text
Any text can be specified here.
Boolean
Here the values 'true' or 'false' can be used to enable or disable a functionality.
Number
Any integer numbers can be specified here. Comma numbers are not allowed and are not used by any settings so far. If necessary, the setting specifies which range of values can be processed.
Time
This data type is actually intended for very large numbers and is used for time periods in this configuration file. The usage is described in more detail in the respective settings.
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.
ApplicationTitle
Text
http://goobi.io
The URL specified here leads to the general Goobi web page. There you can find more information about Goobi Workflow, the Goobi Viewer and Goobi-to-go. The documentation and the community section are also linked there.
ApplicationHeaderTitle
Text
Goobi workflow
The name of the software is entered here. It will be displayed on the Goobi Workflow login page.
ApplicationHomepageMsg
Text
Here you can optionally specify the URL of an associated home page for the currently installed Goobi Workflow instance.
ApplicationWebsiteMsg
Text
The URL of an associated website for the currently installed Goobi Workflow instance can optionally be specified here.
developing
Boolean
false
This switch indicates whether Goobi Workflow is in development mode. On production systems this value is always false
.
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.
goobiFolder
Text
/opt/digiverso/goobi/
This is the root directory of Goobi. It contains common directories such as config/
, plugins/
, rulesets/
etc.
dataFolder
text
metadata/
All files of processes are stored in this directory.
dir_Users
Text
users/
This directory contains information about Goobi users.
debugFolder
Text
This directory can be used to write an intermediate result to an XML file when importing Opac data. This is created in the directory specified here under the name opacBeautifyAfter.xml
.
folder_journal_internal
Text
internal
Process log files are stored in this directory. **This value replaces the value folder_processlog_internal
and is preferred if both values are used.
folder_processlog_internal
Text
internal
Process log files are stored in this directory. **This value is deprecated and was replaced with folder_journal_internal
, but is still supported for compatibility reasons.
doneDirectoryName
Text
finished/
Files to be uploaded to other systems can be copied to this directory. The directory and all files in it will be deleted after the upload.
useSwapping
Boolean
false
This parameter specifies whether more space should be made available on external disks.
swapPath
Text
The "swap" directory is used to have more space available on the current system. The directory is usually located on a network hard disk or an external disk that must be mounted in the operating system before use. To use swapping, useSwapping=true
must be set.
process.folder.images.master
text
{processtitle}_master
This directory is used to store the original images for the respective process.
process.folder.images.main
Text
{processtitle}_media
In this directory additional data for the respective process will be stored.
process.folder.images.source
Text
{processtitle}_source
Additional resources for the respective process are stored in this directory.
process.folder.images.fallback
Text
This directory contains files that are created during the processing of the process and are to be processed later.
process.folder.images.[name]
Text
At this point any other [name]
values can be used to provide further directories for different applications, for example also plugins.
process.folder.ocr.txt
Text
{processtitle}_txt
This directory is used to store TXT
files for OCR processing.
process.folder.ocr.pdf
Text
{processtitle}_pdf
This directory contains PDF
files for OCR processing.
process.folder.ocr.xml
Text
{processtitle}_xml
This directory contains XML
files for OCR processing.
process.folder.ocr.alto
Text
{processtitle}_alto
This directory contains additional files for OCR processing.
process.folder.import
Text
import
Files for importing processes are stored in this directory.
process.folder.export
Text
export
Files for exporting processes are stored in this directory.
createOrigFolderIfNotExists
Boolean
true
This value can be set to true
to automatically create the master
directory for processes if it does not exist yet.
createSourceFolder
Boolean
false
This value can be set to true
to create the directory named in process.folder.images.source
if it does not exist yet.
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.
defaultLanguage
Text
This setting can be used to specify the default language of the Goobi Workflow user interface. This language will be used before a user is logged in and the language set for him/her will be loaded. The language abbreviations of the languages available on the Goobi Workflow instance can be used as language. By default these are de
, en
, es
, fr
, it
, iw
, nl
and pt
.
anonymize
Boolean
false
This switch can be set to true
if the names of other users should be hidden in statistics and step and process details.
enableGravatar
Boolean
true
This switch can be used to specify whether profile pictures are used for users. Profile pictures are specified in the user accounts. If this setting is enabled and a user has no profile picture, the Goobi logo will be used by default.
minimumPasswordLength
Number
8
This value specifies the minimum password length for users. If a length less than 1 is specified, this value is replaced by 1.
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 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.
userRight
Text
This setting can be used to add additional user permissions.
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.
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:
ui_useIntrandaUI
Boolean
true
This switch can be used to set whether the Intranda web interface is used as user interface. Nowadays this switch is always true
renderAccessibilityCss
Boolean
false
This switch sets whether an accessible design is loaded by default (for example on the login page). This is useful if some users depend on the accessible design and the user-specific accessible design is not yet loaded on the login page.
showStatisticsOnStartPage
Boolean
true
This switch can be set to show statistics on the start page (after login).
TaskEnableFinalizeButton
Boolean
true
This switch can be set if a user should have a button in the user interface to complete steps by himself.
ui_showFolderLinkingInProcessList
Boolean
false
This switch can be set to show extended download buttons for tasks in the task list.
confirmLinking
Boolean
false
This switch can be set to interpose a confirmation prompt before executing scripts.
renderReimport
Boolean
false
This switch can be set to display a button when downloading a process that allows to re-import the process.
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.
excludeMonitoringAgentName
Text
This setting specifies a name of a client which should not be displayed in the session list.
For example, this looks like this if there are multiple names:
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.
ldap_use
Boolean
false
This value indicates whether an LDAP service should be used.
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.
truststore
Text
This value specifies where the truststore is located.
truststore_password
Text
This value specifies the password for authentication in the truststore.
Normally, user accounts are stored in the mariadb database managed by Goobi Workflow. Additionally there is the possibility to authenticate users with OpenID accounts.
useOpenIdConnect
Boolean
false
Setting this value to true
will enable the ability to login with OpenID Connect in Goobi Workflow.
OIDCAutoRedirect
Boolean
false
If this value is set to true
, the login page will be redirected directly to the login page of the OpenID provider. After successful login, this redirects directly back to Goobi Workflow.
OIDCAuthEndpoint
Text
This specifies the API endpoint (URL or URI) used to authenticate the user. Specifying this value also configures the provider of the OpenID service.
OIDCLogoutEndpoint
Text
Since a second API endpoint is used for logout, it must be explicitly specified here. This endpoint is also specified in the form of a URL or URI.
OIDCIssuer
Text
The issue service of the OpenID provider is configured here.
OIDCJWKSet
Text
The JWK service of the OpenID provider is configured here.
OIDCClientID
Text
This specifies the client id that Goobi Workflow uses against the OpenID service.
OIDCIdClaim
Text
email
The value specified here can be set in the user database in the ssoId
column to allow Goobi Workflow to use or ignore the OpenID service depending on the account.
useOIDCSSOLogout
Boolean
false
If this value is set to true
, the user will be redirected to an intermediate page after successfully logging out.
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.
EnableHeaderLogin
Boolean
false
Setting this value to true
will enable SSO login in Goobi Workflow.
SsoParameterType
Text
header
This value determines where exactly the SsoHeaderName
will be searched. If header
is specified here, the value will be searched in the HTTP header errors. If attribute
is specified here, the value will be searched in the URL parameters.
SsoHeaderName
Text
Casauthn
The text specified here will be requested as HTTP header field. The value sent in this field will be read and must match the SSO ID.
showSSOLogoutPage
Boolean
false
If this value is set to true
, a corresponding intermediate page will be displayed after logout.
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.
EnableExternalUserLogin
Boolean
false
If this value is set to true
, people with external accounts can log in to the system.
ExternalUserDefaultInstitution
Text
Since external accounts are not assigned to any institution, an alternative institution name for all external accounts can be specified here.
ExternalUserDefaultAuthentication
Text
Here you can specify an LDAP group to which users with external accounts should be assigned by default.
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.
useFulltextSearch
Boolean
false
If this switch is set to true
, a full text search is performed that searches all database entries instead of a simple search using titles and a few metadata.
FulltextSearchMode
Text
BOOLEAN MODE
The search mode can be used to specify how to search the database. If BOOLEAN MODE
is specified, regex-like expressions are used for searching. An alternative value is NATURAL LANGUAGE MODE
. In this mode the search term (even with syntactically special characters) is searched directly in the text.
DatabaseLeftTruncationCharacter
Text
%
This character (or character string) is used as prefix in a database search query in connection with the SQL command LIKE
. A %
used as a prefix stands for any other text that can occur before the search term.
DatabaseRightTruncationCharacter
Text
%
This character (or character string) is used as suffix in a database search query in connection with the SQL command LIKE
. A %
used as suffix stands for any other text that can occur after the search term.
SqlTasksIndexname
Text
An SQL index can be used for the search. The name of the index used is specified here.
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.
index.***
Text
This value can be used to specify a comma-separated list of terms to be summarized under the term specified in ***
. The value can be used multiple times to make multiple summaries.
For example, following aliases could be configured:
The following settings can be used to set the process log and some details for the editing of processes.
ProcessCreationResetJournal
Boolean
false
This value can be set to true
to not copy the process log when duplicating a process. **This value replaces the value ProcessCreationResetLog
and is preferred if both are used.
ProcessCreationResetLog
Boolean
false
This value can be set to true
to not copy the process log when duplicating a process. **This value is deprecated and was replaced with ProcessCreationResetJournal
, but is still supported for compatibility reasons.
dir_allowWhiteSpaces
Boolean
false
This value is set to true
to allow spaces in file and directory names when creating or uploading files or directories. It is generally recommended to leave this setting at false
because scripts in particular often cannot handle spaces in directory or file names and then the space is interpreted as a separator between two parameters. If false
is set here, however, all spaces will be replaced internally by underscores to avoid the problem mentioned above.
massImportAllowed
Boolean
false
This value can be set to true
to enable uploading of very large amounts of data.
MassImportUniqueTitle
Boolean
true
This value is set to true
to allow only files with different names when uploading files. This simplifies later handling because then no name conflicts can occur.
batchMaxSize
Number
100
This value is used as limit for displaying batches and processes.
ProcesslistShowEditionData
Boolean
false
If this value is set to true
, more information about process editing will be displayed in the process log. This includes information about the user who last worked on the process, when the process was last worked on, and which step was last worked on.
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.
dailyHistoryAnalyser
Time
-1
This setting specifies when to backupt the processing of events from the last 24 hours.
dailyDelayJob
Time
-1
This setting determines when steps are executed for which a delay is enabled.
dailyVocabJob
Time
-1
This setting determines when the locally managed vocabulary is synchronized with other servers.
goobiAuthorityServerUploadFrequencyInMinutes
Time
-1
This value is used for requesting the authority server. Server requests are made in the background every n minutes, where n is the number of minutes specified here. For example, if 2 is specified, a request will be made every 2 minutes.
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 process
processes.processesID
The ID of a process
processes.creationdate
The creation date of a process
processes.sortHelperImages
The number of images in the process
processes.sortHelperMetadata
The number of metadata in the process
projects.title
The title of the project in which the process is located
log.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.
downloadAvailableColumn
Text
This specifies exactly one additional table column to be included in the export.
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
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 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.
script_createDirUserHome
Text
This script can be used to create and set up user directories. Example: script_createDirUserHome.sh
script_createDirMeta
Text
This script can be used to create and set up the metadata directory. Example: script_createDirMeta.sh
script_createSymLink
Text
This script can be used to create system links (to other directories or files). Example: script_createSymLink.sh
script_deleteSymLink
Text
This script can be used to delete system links (to other directories or files). Example: script_deleteSymLink.sh
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.
useS3
Boolean
false
This value specifies whether an S3 store should be used.
useCustomS3
Boolean
false
This value specifies whether the S3Endpoint
, S3AccessKeyID
and S3SecretAccessKey
settings specified in this configuration file should be used for selecting the S3 service and the necessary authentication.
S3Endpoint
Text
This value specifies a domain name or IP address where the service can be reached. Usually a port number must be specified, for example: http://123.123.123.123:9000
S3bucket
Text
This value specifies the name of the bucket used.
S3AccessKeyID
Text
This value specifies the account ID that Goobi uses to access the service.
S3SecretAccessKey
Text
This value specifies the access key or password that Goobi uses to identify itself for the account used.
S3ConnectionRetry
Number
10
This value specifies how many times to retry a failed interaction.
S3ConnectionTimeout
Number
10000
This value specifies how long to wait for a server response when connecting. The value is specified in milliseconds.
S3SocketTimeout
Number
10000
This value specifies how long to wait for a server response when interacting. The value is specified in milliseconds.
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.
http_proxyEnabled
Boolean
false
This switch is set to true
to enable the use of a proxy server.
http_proxyUrl
Text
This value specifies the URL of the proxy server.
http_proxyPort
Number
8080
This value specifies the port number of the proxy server.
http_proxyIgnoreHost
Text
Multiple IP addresses or URLs can be specified here to which Goobi connects without a proxy server. For this, this value may occur multiple times with one address each.
The default values for http_proxyIgnoreHost
are predefined as follows. The list can be extended as needed:
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.
useWebApi
Boolean
false
This value can be set to true
to enable Goobi Workflow's internal REST API. If it is disabled but still requested, a 404 Not Found Error will be returned with a corresponding error message.
apiTokenSalt
Text
Here, an additional text can be specified that should be used as salt value for encrypting the authentication data for the REST API.
jwtSecret
Text
The Goobi Workflow REST API uses a JSON Web Token (JWT) for authentication. This is specified here. To send an authenticated request to the REST API, the token must be specified in the request.
goobiUrl
Text
The Goobi URL where the Goobi Workflow Server can be reached on the Internet can be specified here. This URL is only specified for internal purposes and can therefore also be set to https://localhost:8080
. The protocol and port number should also be specified to avoid possible errors due to incorrect default values.
pluginServerUrl
Text
The URL of the plugin server is specified here. The plugin server is also a REST API interface of the Goobi Workflow Server used to offer plugins for download. It is used by the integrated plugin management.
ocrUrl
Text
This URL specifies an OCR service used by Goobi Workflow or OCR plugins to perform OCR analysis on a document.
goobiContentServerTimeOut
Number
60000
This timeout (in milliseconds) specifies the time Goobi Workflow waits for a response from the content server.
goobiAuthorityServerUrl
Text
This specifies the URL of the authority server used to manage vocabulary data.
goobiAuthorityServerUser
Text
This specifies the user name used by Goobi Workflow to log in to the Authority server to retrieve vocabulary data.
goobiAuthorityServerPassword
Text
This specifies the password used by Goobi Workflow to authenticate to the Authority server to retrieve vocabulary data.
goobiAuthorityServerUploadFrequency
Number
0
This specifies the frequency with which Goobi Workflow makes requests to the Authority server.
geonames_account
Text
This value contains the authentication information that Goobi Workflow uses to authenticate itself to the Geonames web service for a query.
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.
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.
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.
MessageBrokerStart
Boolean
false
This value is set to true
to enable the use of message queues in Goobi Workflow.
ActiveMQConfig
Text
goobiFolder + config/goobi_activemq.xml
A configuration file for ActiveMQ can be specified here. In this file also the URL and the port for the communication with other servers are configured. If this property is set and thus the default value is overwritten, an absolute path must be specified.
MessageBrokerServer
text
localhost
This setting is used by Spring Framework and specifies the URL (or localhost
) of the ActiveMQ service.
MessageBrokerPort
Number
61616
This setting is used by Spring Framework and specifies the port of the ActiveMQ service.
MessageBrokerUsername
Text
This is the account name that Goobi Workflow uses to register with ActiveMQ.
MessageBrokerPassword
Text
This is the password Goobi Workflow uses to authenticate itself with ActiveMQ.
MessageBrokerNumberOfParallelMessages
Number
1
Here you can specify the number of slow message queues. With a higher value more data transmissions can be executed in parallel. A speed advantage arises especially with large amounts of data, if the used server has many processor cores and these are released by the operating system for Goobi or ActiveMQ.
allowExternalQueue
Boolean
false
If this setting is set to true
, Goobi Workflow will also use a DLQ for communication with other servers, i.e. a queue for notifications that could not be sent without errors.
externalQueueType
Text
activeMQ
This value can be set to activeMQ
or SQS
to switch the queue service for the command queue and the external DLQ. In production systems this is always activeMQ
.
useLocalSQS
Boolean
false
If the queue service is set to SQS
, this parameter can be set to true
to use the default connection used by Goobi Workflow via http://localhost:9324
. Otherwise, a default configuration used by SQS will be used. This setting is not used on production systems.
Additionally the names of the respective queues can be configured. This is normally not required and is documented here for completeness.
GOOBI_INTERNAL_FAST_QUEUE
Text
goobi_fast
This is the queue for fast information exchange of small information units.
GOOBI_INTERNAL_SLOW_QUEUE
Text
goobi_slow
This is the queue (or several) for exchanging larger data packets.
GOOBI_EXTERNAL_JOB_QUEUE
Text
goobi_external
This is the queue for external communication with other servers.
GOOBI_EXTERNAL_JOB_DLQ
Text
goobi_external.DLQ
This is the queue for non-deliverable information generated by communication with other processes on other servers.
GOOBI_EXTERNAL_COMMAND_QUEUE
Text
goobi_command
This is the queue to send commands between servers.
GOOBI_INTERNAL_DLQ
Text
ActiveMQ.DLQ
This is the queue for non-deliverable information that is generated when communicating with other processes on the same server.
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.
In the General Settings you can find settings concerning the editor itself and default values for new documents.
MetsEditorEnableDefaultInitialization
Boolean
true
This value can be set to true
to make default configurations in the document structure when loading a document in the metadata editor.
MetsEditorEnableImageAssignment
Boolean
true
This value can be set to true
to enable automatic assignment of image files to a document structure.
MetsEditorDefaultPagination
Text
uncounted
This setting can be used to specify the default pagination system. Valid values are arabic
(0, 1, 2, ..., 7, 8, 9), roman
(I, V, X, L, C, D, M) and uncounted
(no page numbers).
MetsEditorLockingTime
Time
180000
This value specifies how long a document edited in the metadata editor is reserved for a user and locked for other users. The reservation is set to prevent multiple users from editing a document at the same time and overwriting changes made by other users unnoticed. The reservation is removed as soon as the user saves the document and leaves the metadata editor or the lock time has expired. The lock time is specified in milliseconds, the default value is half an hour and is calculated for example with Lock time = 30 minutes * 60 seconds * 1000 milliseconds = 180000 milliseconds
.
MetsEditorUseExternalOCR
Boolean
false
This value can be set to true
to use an external OCR service. This is configured with the ocrUrl=address
setting. If the use of the external OCR service is disabled, the OCR equivalent text contents will be loaded directly from resource files.
numberOfMetaBackups
Number
0
This value specifies the number of backups of the meta.xml
file and the meta_anchor.xml
file. Note: If 0 is entered here, no backups will be stored.
The "User Interface" category documents settings that can be used to configure the display of content or the display/non-display of buttons.
showOcrButton
Boolean
false
This value can be set to true
to display a button in the metadata editor for running the OCR analyze on the currently selected structure element.
MetsEditorDisplayFileManipulation
Boolean
false
This value can be set to true
to display unsaved modified documents in the metadata editor.
MetsEditorShowArchivedFolder
Boolean
false
This value can be set to true
to show archived image files.
MetsEditorShowMetadataPopup
Boolean
true
This value can be set to true
to show a button that can be used to display additional metadata for a document in a popup.
MetsEditorMaxTitleLength
Number
0
This value specifies the maximum number of characters to be displayed in names of document structure elements. If a name is longer than the value specified here, only the first characters are displayed according to the maximum length. This value can be set to 0
to disable the maximum length.
This category documents settings for image files, thumbnails, the display of images, and the tiling of images in the user interface.
ShowImageComments
Boolean
false
This value can be set to true
to show image comments for individual pages of documents.
MetsEditorNumberOfImagesPerPage
Number
96
This value specifies how many thumbnails are displayed on a page in the metadata editor by default.
MetsEditorUseImageTiles
Boolean
true
This value can be set to true
to load image files on the user interface tile by tile. This allows a smoother display of the images.
ImageSorting
Text
number
This value specifies the criterion by which image file names are sorted. With the value number
file names are sorted numerically (for example 1, 10, 30, 100, 200, 1000). With the value alphanumeric
file names are sorted lexicographically (for example 1, 10, 100, 1000, 200, 30).
ImagePrefix
text
\\d{8}
This value can contain a regular expression (regex) and specifies which string image file names must start with to be accepted as valid files. The default prefix specifies that a file name must start with 8 digits (e.g. YYYYMMDD).
UserForImageReading
Text
root
Image files can be downloaded in read-only mode. These then do not belong to the user, but to another virtual user who provides the image files with read-only privileges. The username of this virtual user is configured with this value. Usually root
is used.
UseImageThumbnails
Boolean
true
This value can be set to true
to display thumbnails of document pages.
MetsEditorThumbnailsize
Number
200
This value specifies the size in pixels at which thumbnails are displayed in the metadata editor.
MaxParallelThumbnailRequests
Number
100
This value can be set to limit the number of thumbnails loaded simultaneously. This option is especially useful on weaker servers.
MetsEditorMaxImageSize
Number
15000
This value specifies the maximum image size in pixels that an image may have in order to be displayed in the metadata editor.
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.
MaxImageFileSize
Number
4000
This value specifies the factor for the maximum image size in bytes.
MaxImageFileSizeUnit
Text
MB
This value specifies the unit of measurement by which the factor is multiplied to obtain the total image size in bytes.
Since there are many misunderstood units of measurement, the following table lists all accepted values and their internally used numeric values.
B
1
Byte
K
or KB
1000
Kilobyte
KI
or KIB
1024
Kibibyte
M
or MB
1000*1000
Megabyte
MI
or MIB
1024*1024
Mebibyte
G
or GB
1000*1000*1000
Gigabyte
GI
or GIB
1024*1024*1024
Gibibyte
T
or TB
1000*1000*1000*1000
Terabyte
TI
or TIB
1024*1024*1024*1024
Tebibyte
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.
MetsEditorImageSize
Text
This value can be used to specify multiple sizes (in pixels) for common images.
MetsEditorImageTileSize
Text
This value can be used to specify multiple sizes (in pixels) for tiles.
MetsEditorImageTileScale
Text
This value can be used to specify multiple scaling sizes for tiles.
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.
historyImageSuffix
Text
.tif
This value can be used to specify one or more file types.
For example, if all *.tif
, *.jpg
and *.jpeg
files are to be considered, the following list could be used:
This category contains settings for validating operations, image files and metadata.
useMetadatavalidation
Boolean
true
This value can be set to true
to validate the metadata of the current document when saving and exiting the metadata editor.
MetsEditorValidateImages
Boolean
true
This value can be set to true
to display a validate button in the metadata editor to allow user-initiated validation.
validateProcessTitleRegex
Text
[\\w-]*
This value specifies a regular expression (regex) to be used to check the validity of process titles.
ProcessTitleGenerationRegex
Text
[\\W]
This value specifies a regular expression (regex) to be used to remove invalid special characters from process titles.
This category describes settings that affect the export of operations to downloadable files or files that can be cached on the server.
ExportExiftoolPath
Text
/usr/bin/exiftool
This specifies the file path and program name of the program used for extracting additional metadata (EXIF data) from image files.
useOrigFolder
Boolean
true
This value can be set to true
to get image files directly from the master folder when importing.
exportWithoutTimeLimit
Boolean
true
This value can be set to true
if export processes should not be subject to a time limit.
ExportValidateImages
Boolean
true
This value can be set to true
to validate image files during export.
ExportMetadataForProject
Text
Here, the name of the metadata field is specified where the name of the project should be exported to.
ExportMetadataForInstitution
Text
Here, the name of the metadata field is specified where the name of the institution should be exported to.
ExportMetadataForDfgViewerUrl
Text
Here, the name of the metadata field is specified where the URL of the DFG viewer should be exported to.
ExportFilesFromOptionalMetsFileGroups
Boolean
false
This value can be set to true
to consider optional file groups when exporting.
ExportInTemporaryFile
Boolean
false
This value can be set to true
to store exports in temporary files.
ExportCreateUUID
Boolean
true
This value can be set to true
to set the UUID (universally unique identifier) of files when exporting.
ExportCreateTechnicalMetadata
Boolean
false
This value can be set to true
to include additional technical metadata related to the document structure when exporting.
automaticExportWithImages
Boolean
true
This value can be set to true
to include image files in automatic export processes.
automaticExportWithOcr
Boolean
true
This value can be set to true
to perform OCR analysis during automatic export processes.
pdfAsDownload
Boolean
true
This value can be set to true
to make exported PDF documents available for download. If this value is set to false
exported PDF documents will be stored in the user folder of the corresponding user on the server.
Goobi is a web-based Java application. The Java code needs to be translated to ensure that Goobi can be called from your web browser. This job is done by a servlet container. Some examples are given below:
Apache Tomcat
Jetty
Resin
Goobi is usually installed in an Apache Tomcat
. This servlet container is installed from the operating system’s standard repositories. However, if the standard repositories do not contain version 7, Apache Tomcat
is installed and maintained manually.
If you are using Ubuntu Linux 14.04 LTS, you need to use the following command to install Apache Tomcat (version 7) from the standard repositories:
The service can be stopped and started using the following commands:
The configuration data is located in the following path:
In order to install Goobi, you have to place the file goobi.war into the Tomcat’s webapps folder. The file is unpacked automatically. The webapps folder is located on the following path:
Goobi allows you to mark individual tasks as automatic. These tasks are opened and performed automatically once the preceding workflow task has been completed. Whenever an error occurs in such an automatic workflow task, that task will remain paused and will not be processed any further.
To mark a workflow task as automatic, you need to activate the Automatic task
checkbox. This is located in the Task details box as shown in the following screenshot:
The following screenshot shows the Mets parameters
tab from Goobi’s project settings:
The configuration settings are explained below:
METS rights owner
Example Library
Defines the METS rights owner.
METS rights owner logo
Defines a URL for a logo belonging to METS rights owner.
METS rights owner URL
Defines a URL for the METS rights owner.
METS rights owner contact
digitisation@example.net
Defines a contact email address for the METS rights owner.
METS Digiprov reference
METS Digiprov Referenz
Defines a link to the catalogue entry for the source material.
METS Digiprov presentation
Defines a persistent link to the source material in the digital library.
METS Digiprov reference (anchor)
Defines a link to the catalogue entry for the overarching source item where the material being exported is part of a multi-volume source.
METS Digiprov presentation (anchor)
Defines a link to the overarching source item in the digital library where the material being exported is part of a multi-volume source.
METS pointer Path
Defines a link to a METS resolver for the source material. This link can be used later to download the METS file.
METS pointer path (anchor)
Defines a link to a METS resolver for the overarching source item where the material being exported is part of a multi-volume source. This link can be used later to download the METS file.
METS sponsor
Deutsche Forschungsgemeinschaft
Contains the name of the digitisation sponsor, e.g. Deutsche Forschungsgemeinschaft (DFG).
METS sponsor Logo
Contains a URL to a logo of the digitisation sponsor. The logo is integrated into the design of the DFG Viewer, where it replaces the DFG logo.
METS sponsor URL
Contains the sponsor’s website URL. The URL is linked in the DFG Viewer to the sponsor’s logo.
METS licence
CC-BY
Contains details of the licence under which the digitised material was published.
The information about the METS rights owner
, METS rights owner logo
, METS rights owner URL
and METS rights owner contact
can be found in the exported METS file in the section amdSec
in the namespace dv
. It is intended to ensure compatibility with the DFG viewer.
There follows an explanation of the three variables found in the column of typical values shown above:
$(meta.CatalogIDDigital)
is replaced during export by the CatalogIDDigital
of the source material from the METS file.
$(meta.topstruct.CatalogIDDigital)
is replaced during export by the CatalogIDDigital
of the multi-volume source material from the METS file.
$REGEXP(s/PPN=PPN/PPN=/)
applies the defined regular expression to the entire line. In this case, a search is performed for PPN=PPN
, which is then replaced by PPN=
.
Since version 1.9.2, Goobi has allowed users to fully automate workflow tasks using plug-ins, e.g. to delete images that are no longer required. This ImageDeletion plug-in should be the last step in the workflow. When configuring this workflow step, it is important to note that it has to be an automated task and must be defined as a Step plug-in
for the identifier intranda_step_imageDeletion
.
Once configured, the workflow step plug-in is called automatically from within the workflow. An explanation of how this works is given below.
First, the plug-in starts the validation process for the JP2 derivative that has been generated. A check is then made to confirm the existence and validity of an AMD results file from SDB containing at least one object description. The subsequent final validation ensures that the number of objects in the master
and media
directories matches the number of objects described in the AMD file.
The images will not be deleted until these validations have been completed. At this point, the master
and media
directories will be deleted.
If the above validations fail, the workflow step will remain open. This will prevent automatic deletion, and the user will have to perform a manual validation before data can be deleted from the corresponding process.
The file goobi_projects.xml
configures the mask for creating processes. Here it is defined per project which metadata and properties are allowed for certain publication types.
The file is usually located at the following location:
For example, this configuration file looks like this:
For each project a <project>
element can be created. The name of the project is specified either with the name
parameter or with the <name>
sub-element. If a configuration is to apply to projects with different names, multiple <name>
elements can be specified. Alternatively, a regex expression can be used instead of the name to address multiple projects. The default project configuration should always be a project named default
. When a project is created in Goobi Workflow, a suitable configuration is searched for according to the following sequence:
search for the first project
entry whose name matches or contains the project name
search for a project
entry whose name, interpreted as a regular expression, matches the project name
search for a project
entry with the name `default
use the first project
entry
The sub-elements of <project>
contain a number of details that are taken into account when loading the creation mask for tasks in the user interface.
All details around the input fields that are important for loading the creation mask are specified in the <createNewProcess>
element. This includes in particular the <itemlist>
element where the input fields are listed.
Each input field in the user interface is described by an <item>
in this list. These entries can be used to add text fields and dropdown menus. More specific fields, such as a file upload area, are described below.
Each <item>
element contains as content the text that is displayed in the label column in the input mask table. This can additionally be translated into different languages by Goobi Workflow's translation mechanism using the messages files.
An <item>
is displayed either as a text field or as a drop-down menu. The following parameters apply to both types of input fields:
Dropdown menus
As soon as an <item>
contains the multiselect
parameter and sub-items <select>
, it will no longer be displayed as a text field but as a dropdown menu. The multiselect
parameter can be set to true
or false
to allow or disallow the selection of multiple items.
Each <select>
element can have a label
parameter. The label
text is displayed in the menu while the content of the <select>
element is technically processed. This allows to specify a more readable alternative name for the display.
Even an <item>
that is displayed as a dropdown menu needs a label. This is specified in parallel to the <select>
elements.
For example, if a city abbreviation is to be selectable when creating an operation, it would be useful for users to have the spelled out names displayed in the menu:
Hiding input fields
The <hide>
element can be used to hide input fields, i.e. <item>
elements defined here. The field can contain for example the following values: collections
, doctype
, preferences
, images
and processtitle
.
The collection selection can be hidden using collections
, doctype
controls the display of the field for selecting the document type, preferences
the selection field for the ruleset, images
the input for the expected number of digitised pages and processtitle
the display of the generated process title.
Process title
If the process title is to be generated automatically, the <processTitle>
element can be used to specify formation rules for the titles. Process titles can be generated differently for certain document types. To assign a document type to an education rule, the isdoctype
parameter is used. Alternatively, all document types can be used and only a specific type can be excluded with the isnotdoctype
parameter.
Between the start and end elements of <processTitle>
is an expression describing the title to be generated. Text passages are written in single quotes and as variable names all properties defined above can be used. All elements are concatenated with the +
operator.
For example, to generate a title for all documents that are not periodical
that includes the author and the title of the document, the following entry would be useful:
The replacewith
parameter can be used to specify a string to replace all invalid letters and special characters in the automatically generated operation title, if required. If the string is ""
, all invalid characters will be removed. Even if this parameter is missing, all special characters will be removed without replacement.
The OPAC catalog query can be activated by setting the use
attribute to the value true
within the <opac>
parameter. The preselected catalog can be defined in the <catalogue>
sub-element. If the value is not set or does not correspond to any entry from the goobi_opac.xml
file, the first catalog defined there will be used as default value.
To import the metadata from already existing operations, the use
attribute in the <templates>
element must be set to the true
value. This makes the Select from existing tasks
option available, which lists all tasks for which the Display in selection list
checkbox was activated during creation.
The publication type selected when opening the creation mask can be defined in the field <defaultdoctype>
. The name used here comes from the doctypes
definition of the configuration file goobi_opac.xml
.
By using the <metadatageneration />
element with the use="true"
parameter, additional metadata can be automatically generated when an operation is created.
With the configuration of <fileupload>
the upload area can be enabled. With this, files can already be uploaded to the newly created task. Which folders are available for selection can be configured in the subfield <folder>
.
The regex
parameter can be used to specify which file names are accepted by the upload button in the user interface. If the file selected by the user does not match the regex expression, the file will not be uploaded and an error message will be displayed. If the regex parameter is omitted or an empty string is specified, files of all file types and names are uploadable. Since the regex expression is evaluated by Primefaces, it must be enclosed in slashes:
Valid notation:
/^.*\.pdf$/
Invalid notation:
^.*\.pdf$
The messageKey
parameter specifies a key which can be used in messages_xx.properties
files to store individual error messages. For example, if a file upload is restricted to PDF files as shown above, then an error message indicating an incorrect file type can be specified in the messages files in all languages under the key specified here. If the parameter is omitted or the key is not found, a standard error message is displayed.
In the <tifheader>
element, values can be specified that are to be written to the tiff headers. Here, a separate text can be defined for each publication type previously defined in a <item>
.
For example, if a <item>monograph</item>
has been defined, the following can be entered here:
To import data from a document management system, the <dmsImport>
element can be specified.
Data of the form can be validated. Validations can be specified in the <validate>
element.
In the configuration file goobi_normdata.xml
links to databases are specified, which can be used for universal purposes. A main application is to obtain metadata to digitized objects. The file is usually located at the following location:
For example, this configuration file looks as follows:
The file goobi_normdata.xml
contains a simple list of norm databases that can be used in Goobi, for example also by plugins. For each registered database there is a <normdatabase>
element, which contains the further information.
The parameter url
specifies the URL of the database. This should point to an API that can be queried by Goobi. Depending on the usage or plugin, the start page of the database can also be specified here, where a user can query object data in the browser.
The abbreviation
parameter is used to specify an abbreviation that uniquely identifies this database. The abbreviation can be used, for example, for configurations and file imports and exports.
The additional name
parameter is not currently used by Goobi Workflow. It is used for completeness in the configuration file and contains the full, human readable, name of the database. Alternatively, a common abbreviation can be specified here. This parameter can also be used by plugins when they read the file themselves.
In the configuration file goobi_processProperties.xml
further properties for projects, processes and steps can be specified. The file is usually located at the following memory path:
For example, this configuration file looks like this:
With each <property>
element a property is defined. This can be configured to apply to one or more projects, one or more tasks, or one or more steps. Combinations are also possible. Instead of a project name, task title or step title, an asterisk (*
) can be used to address all projects, tasks or steps.
For each <property>
a name is specified with the name
parameter, this should be unique and meaningful.
For each <property>
a container is specified with the parameter container
, in which the defined property should be internally classified.
The following tags are available as subelements for the <property>
tag:
All access rights can be written in any capitalization, this will be ignored when reading.
If no value is specified or it is written incorrectly, READ
is the default value.
All data types can be written in any capitalization, this will be ignored when reading.
If no value is specified or it is written incorrectly, TEXT
is the default value.
For the LIST
and LISTMULTISELECT
datatypes, a text such as Please select
or one of the specified values can be specified as the default value with the <defaultvalue>
tag. If the field is required, one of the specified values must be selected later, even if the value in <defaultvalue>
differs.
There are two cases where the properties defined in this file are queried. Either information about processes or about steps is queried.
In the case of a process, not all sub-elements are used. Only the elements shown in the following example are observed:
The <workflow>
and <showStep>
elements are not used for processes.
Properties can also be displayed conditionally. To do this, you can define that another property must have a certain value in order to control the display. The following example illustrates this:
The Special Resolution
property is only displayed here both in the creation screen and in the Scanning preparation
task if the value Other
has been selected from the list in the Resolution
property. If a different value is selected in the Resolution
property, the Special Resolution
text field is not visible.
The configuration file goobi_opac.xml
defines the communication between Goobi workflow and external data sources. This usually applies to systems such as library catalogs. The file is usually located at the following storage path:
For example, this configuration file looks as follows:
Several publication types can be defined in the <doctypes>
element. Each type is in its own <type>
element and has some properties specified by parameters and subelements.
All important properties of a publication type are specified as parameters in the <type>
element. The following parameters can be used:
The name of a publication type specified in the title
parameter is used internally in the software and is therefore not always easily readable by users and is not translated automatically. Therefore, the publication type name can be translated into different languages using the <label>
element. The language
parameter specifies the language abbreviation. Depending on the configuration, the following languages are usually supported:
It can happen that a publication type should be able to be found with a search function or with external data formats via certain designations or abbreviations that cannot be derived from the title. For this purpose, further designations can be specified for each type with the sub-element <mapping>id42</mapping>
. If then, for example, the ID id42
is searched for, the corresponding publication type will be found.
Goobi can use metadata from different catalogs. These are entered with the <catalogue>
element directly in the <opacCatalogues>
element. For each catalog element, the title
parameter specifies the official name of the respective catalog.
Some other properties of a catalog are specified as parameters in the <config>
subelement. The following parameters can be used:
Metadata is identified in catalogs using specific numbers (for example ISBN or ISSN). If metadata is to be imported into Goobi using a given number from the respective catalogue, the ` element can be used to list different numbering systems. A user can then enter an ISBN number in the following example and select the ISBN field to match it:
Each <searchField>
element represents an option in the corresponding dropdown menu. The text specified in label
is displayed on the user interface. The value defined in value
is the internal ID of the numbering system. Depending on the catalog, a text-based ID can also be used. This can look like this, for example:
Detailed information about supported numbering systems can be retrieved from the respective catalogue API. This is an XML file that can be called directly in the browser. The domain must be adapted according to the used provider.
As described above, publication types can be found with alternative labels. In addition, it is possible in <catalogue>
elements to link catalogue-specific designations (and thus also catalogues) to publication types using the <specialmapping>
element. Thus, matching publication types can be defined and found via the alternative designations of a catalogue.
The type
parameter of the <specialmapping>
element refers to the title
of the previously defined publication type. The <specialmapping>
element contains an alternative name. The following example would link the search term k10plus_periodical
to the publication type periodical
for a K10Plus catalogue:
If records are retrieved from catalogs, they are imported into Goobi via MARC files, among others. Records from these files can be customized using certain replacement patterns. For this purpose, the <beautify>
element is used as a direct sub-element of the corresponding <catalogue>
element and can contain any number of <setvalue>
commands.
Since processing MARC data with these commands can become very complex, only a few simple examples are described here based on the following MARC data excerpt.
The following command can be used to replace certain values. For example, if it turns out that some records of type book
have an invalid year (year
), incorrect data can be corrected. The setvalue
command specifies that in each datafield
with tag book
addressed with the inner <condition>
, the subfield
with parameter code="year"
should get the value 1900
. The <condition>
says that all datafield
elements should be considered which have the tag book
and where a subelement with code="year"
and the value 190
exists.
Data can be filtered with the <setvalue>
command. For example, if you want to remove the other_id
elements, their value can be overwritten with an empty string.
Note: An asterisk (*) is a placeholder for an arbitrary value. Regular expressions are not supported.
Data sets can also be supplemented with new properties. However, this works only conditionally, because only the data from the MARC file and from the <setvalue>
command can be accessed. For example, it is possible to assign new tags to records with certain contents:
Note: Please note that Goobi was originally designed for communication with PICA catalogs. Many other catalog systems are now also supported. However, these often require a very individual configuration, e.g. for communication via the Z39.50 protocol or using SRU.
The goobi_metadataDisplayRules.xml
configuration file specifies how the metadata is to be displayed within Goobi's metadata editor. It is usually located at the following path in the file system.
This configuration file describes how individual metadata fields are to be displayed. Among other things, it can be specified that fields are displayed as input fields, selection lists, read-only fields, etc., and can be edited differently by the user. Here is an example of such a configuration file:
In this configuration file, you can define within the projectName
attribute for which projects this individually configured display is to apply.
The IDs specified with ref
refer to the metadata names that exist in the database for the corresponding project (or task).
Most elements have a child elements label
. This can contain text to describe the input field. Normally, this is the name of the concerning meta data, but it can be different for better readability.
In addition, different field types can be selected from a list:
The input
box is displayed as a normal single-line input field.
The type textarea
is similar to the Input Box. However, it is multiline and allows the display size of the field to be adjusted.
The type readonly
is similar to the Input Box, but it does not allow changing the field content.
The select box select1
allows the selection of one value from a list of values. A distinction is made between the display of the value (label
) and the actual value to be stored internally (value
). With the selected
parameter, one <item>
element can be preselected.
The Multi Select Box select
allows you to select multiple values, all of which should be stored within the metadata field. Here, too, a distinction is made between the displayed value (label
) and the internally stored value (value
). With the selected
parameter, multiple <item>
elements can be preselected.
The htmlInput
field type allows you to enter texts with optical formatting options. For example, text can be marked in bold or italic and is saved in the METS file along with the formatting.
The geonames
type allows the search and selection of locations within the GeoNames database.
The field type gnd
allows the search and data transfer of entries from the Common Standards Database of the German National Library.
The dante
field type allows you to use the GBV's Dante vocabulary server. All provided vocabularies can be configured. A complete list of available vocabularies can be found at the following address within the notation
element:
The viaf
field type allows data to be transferred from the VIAF database across all integrated standards databases of different national libraries.
Sample for persons:
Sample for places:
The vocabularyList
field type allows you to transfer data from a specific vocabulary in the vocabulary manager of Goobi workflow. The vocabulary to be used is specified within source
.
If not all values of the vocabulary should be listed, field
can be used to define a restriction for one or more fields that should contain a certain value:
If you want the content of a vocabulary from the Goobi vocabulary manager to be accessible via a search box, the type vocabularySearch
is used. You can use field
to define which fields of the data records are to be displayed.
With the type person
, a person can be selected. The person can be specified in more details with the elements <source>
and <field>
.
With the type corporate
, a corporate can be selected. The corporate can be specified in more details with the elements <source>
and <field>
.
With the type process
, a process can be selected. The process can be specified in more details with the elements <source>
and <field>
.
The type kulturnav
allows data transfer from the Kulturnav database across all integrated standards databases of different national libraries. The person
reference and the <source>
element can be used to retrieve personal data, for example.
With the type easydb
, an easydb database can be specified to import information from.
The element easydb
defines the desired metadata type, in the attribute ref
the name of the metadata is configured to which the entry should apply. The element source
contains the ID of the easydb instance in which the search should be performed. The value must correspond to an instance ID from the file plugin_metadata_easydb.xml
. In field
is the ID of the search to be used. The mapping is done using the ID element in the search
section of the file in plugin_metadata_easydb.xml
. This allows an individual search query to be configured for each metadata in its own easydb instance. However, the individual search queries can also be reused and entered in field
for multiple metadata.
With the type generate
, a rule for generating the field can be defined. This allows referencing the content of other metadata or Goobi variables.
The attribute ref
configures the name of the metadata to which the entry should apply. If the rule should only apply to certain records, an optional XPath expression can be specified in <condition>
that must be satisfied. Unlike other elements, this field is repeatable and thus allows configurations for a field with different conditions. When generation is executed, all entries are processed from top to bottom, and the first entry for which the condition is met or for which no condition is set is used.
The element <value>
contains the text to be generated, and arbitrary placeholders in the form of [NAME]
can be used.
The individual parameters are then defined within the <item>
elements. Each element contains a <label>
with the name of the placeholder to be replaced and a <type>
. The type can either be xpath
or variable
. For xpath
, the value is searched within the current structure element using an XPath expression, while for variable
, data from the variable replacer of the current process can be used. Using <regularExpression>
and <replacement>
, the retrieved value can be further manipulated. If a value is found, the placeholder in the text will be replaced.
In the configuration file goobi_opacUmlaut.txt
umlauts are specified which should be replaced when automatically generating process titles. The file is usually located at the following location:
For example, this configuration file looks as follows:
Usually, Goobi Workflow automatically generates the process titles used. These contain the first letters of the author and an abbreviation of the corresponding work name.
Since the task title cannot contain umlauts or special characters for compatibility reasons, Goobi tries to replace them with compatible letters with similar meanings.
While it is intuitive for a user that an ä
can also be replaced by an a
, these two letters have no technical connection. Therefore, this context must be configured in terms of language usage. Usually the configuration shown above is already present and covers most languages.
In the file goobi_opacUmlaut.txt
the used replacement rules are specified. The first column contains the characters to be replaced. Behind this is the replacement character. This may not be a special character or an umlaut.
All special characters, which are not considered in this configuration file, are removed without replacement from the name when generating the process title.
The translation algorithm is implemented in such a way that also multi-letter strings can be replaced. The following configuration is also possible, whereby exactly one space character is always expected as a separator:
Please note that the process title is first generated using the original names and then the umlauts are replaced. Thereby it can happen that the length of the process title changes in case of a multi-letter substitution.
For example, if the author's name is Björn
and the first four letters are used, the result is the abbreviation björ
(without capitalization). Since the ö
now becomes oe
, the abbreviation changes to bjoer
and now has five letters.
As is usually the case for web applications, you will find a navigation menu. After logging in, users can select from a number of options depending on their level of authorisation. The diagrams below show what the menu bar can look like after login depending on the authorisation level of the user.
As the illustrations above show, access to the functions offered by Goobi varies considerably depending on the level of authorisation of the user. Whereas some members of the project team may only be able to view their specific work, e.g. as a scan operator, users with a higher level of authorisation can choose from a much wider range of functions.
Users with a higher level of authorisation can view details of all the source works covered by those projects to which they have been assigned. They can also add new source works to Goobi based on Production templates
.
Users with administrator rights have access to the widest range of functions and can view processes for all projects, not just for those projects to which they belong. They are also authorised to make changes to processes and workflows, add users, define user groups and assign individual users to user groups and projects. In addition to these settings, administrators can draw on a range of additional functions allowing them to configure projects in detail, specify rulesets with their structural and metadata and define the authentication process.
This section focuses on topics for those project members who work with Goobi on a day-to-day basis, for the most part through the menu option My tasks
.
After logging in, most users continue with the menu option My tasks
in the menu bar. This will display a screen similar to the one shown below:
In the My tasks
list, you will only find those process tasks that form part of a project to which you have been assigned and which you are qualified to perform. In the diagram above, for example, a scan operator will only be shown tasks that are currently at the scanning stage of the overall workflow. The task name is shown in the Task
column, while the name of the process to which the task belongs is shown in the Process title
column.
The Project column displays the name of the corresponding project, and the Priority
column provides a simple overview of the priority of the individual step. The priorities can be one of the following:
Explanation of the symbols for the priorities of a workflow step
Depending on your configuration and the process involved, you will also find additional information next to the status symbol that tells you how urgent the task is. If you see a priority symbol, this means that the project manager has prioritised this step. Tasks will always be shown in priority order regardless of which column you have chosen as the basis for sorting and listing your tasks.
As well as these priority indicators, there is an option to send error messages back from a later to an earlier point in the workflow. This means that errors detected at a later stage can be redirected backwards along with an error report. A red Correction
button with a warning symbol in the My tasks
list will immediately show the responsible person that the task listed in that row is one that was previously completed but that has now been found to contain an error. To display the error message, hold the cursor briefly over the red Correction button.
The status of each task can also be identified from the icon displayed in the Actions
column. Within the My tasks
area, you will come across the following Action symbols:
Explanation of symbols used for indicating the status of a workflow step
If you wish to check the meaning of any of these symbols, simply hold the cursor over the symbol in question. In the Actions
column, for example, this might show you which user is already working on that particular task.
If the number of hits is very large, you can choose to navigate between different pages of the table. To do this, click on the arrow symbols below the table to move forwards or backwards. If you click on the current page number for the table, this will display an input box where you can enter the number of the page you want to view. Once you confirm this with the Enter
key, Goobi will take you directly to the page you requested.
There is some scope for changing the way the list of tasks is displayed under the heading My tasks
. As a general rule, you can arrange the tasks in ascending or descending order for any of the columns. If too many tasks are displayed, you can use the menu options above the table to modify the display.
If you wish to modify the display, the following options are available:
Options for customising the My tasks list
As well as the check boxes that you can tick to restrict the range of tasks displayed, Goobi gives you the option to filter specific tasks from the overall list of those process tasks that have been assigned to your project team and that you are qualified to perform. To display only certain tasks, enter your filter term into the Filter tasks
input box. You can find a description of possible filter terms in the section Filtering processes
. You can also save your filters and make them available for all other Goobi users.
This way, even complex filter terms can be selected and applied at any time from a list of previously saved terms. To save a filter and include it in the list of predefined filters, simply click on the save symbol after entering the term. You can then select and apply it any time you wish from the list.
If you want Goobi to display more columns in the My tasks
list, you can choose from the following:
List of available columns that can be added to the task list
To adjust the column display, just select the column that you wish to add to the table display. To do so, tick the corresponding checkbox.
docstruct
topstruct
, firstchild
The docstruct
attribute can contain two allowed values: topstruct
and firstchild
. As with other configurations, these specify whether the defined metadata should be stored for the topmost structure element or to the child element.
from
werk
, vorlage
, prozess
The from
attribute can be used to create the value as a property. The allowed values work, template and process control whether this is a template property, workpiece property or process property.
isdoctype
Publication type
The isdoctype
attribute can be used to control for which publication types a metadatum is to be displayed. The publication type names used here must have been defined in the goobi_opac.xml
file.
isnotdoctype
Publication type
The isnotdoctype
attribute can be used to control for which publication types a metadate should not be displayed. This attribute can be used if an input field matches all but one specific document type. The publication type names used here must have been defined in the goobi_opac.xml
file.
required
true
, false
If required
is set to true
, then the entry field is marked as mandatory in the user interface. If such a field is left blank when filling out the form, Goobi will notify the user and the creation process will not be able to be completed.
initStart
Text
By initStart
a static prefix can be added. Furthermore, the contained value can be generated automatically. This setting makes sense especially for identifiers.
initEnd
Text
By initEnd
a static suffix can be added. Furthermore, the contained value can be generated automatically. This setting makes sense especially for identifiers.
ughbinding
true
, false
If ughbinding="true"
is specified, the value of the property or metadatum will be filled by the result of the OPAC query.
metadata
MetadataType
If the metadata
attribute is specified, not only a property is defined here, but also a metadata of the specified type in the associated METS file. The value specified here must match a metadata definition in the rule set used.
autogenerated
true
, false
This parameter can be used to specify whether the field should be automatically filled with an identifier if it has no content.
<project>
yes
This element can be used to specify one or more projects for which the property should apply. Alternatively, an asterisk (*
) can be used to address all projects.
<workflow>
yes
This element can be used to specify one or more process templates to which the property should apply. Alternatively, an asterisk (*
) can be used to display the property inside of all process templates.
<showStep>
yes
This element specifies that a single step is displayed in the user interface. The name
parameter is used to specify the step title. The access
parameter is used to specify an access right, see below. The duplicate
parameter specifies whether steps may appear more than once.
<showProcessCreation>
ja
This element can be used to define that the property is displayed in the process creation screen.
<showProcessGroup>
no
In this element, the access
parameter defines an access right for groups of processes. For details, see below.
<validation>
no
This element can be used to specify parameters for a validation.
<type>
no
This element specifies the data type of this property. For supported data types, see below.
<defaultvalue>
no
This element specifies the default value of an input field or selection.
<value>
in lists yes, otherwise no
For simple input field types, this element specifies a predefined value. For lists, multiple <value>
elements specify a list of selectable entries.
READ
The property can be accessed in read-only mode.
WRITE
The property can be accessed in write mode.
WRITEREQUIRED
The property must be set individually.
BOOLEAN
A boolean value can be specified. Valid values are true
and false
.
DATE
A date can be selected.
HTML
An HTML coded text can be used. Depending on the used internet browser all common HTML tags are supported.
LINK
A URL can be used. This should exist and be freely accessible.
LIST
An element can be selected from a list of choices.
LISTMULTISELECT
Any number of elements can be selected from a list of choices.
METADATA
Additional metadata can be specified.
NUMBER
A number can be specified.
TEXT
Any text can be used. This text does not support HTML.
title
Text
This field specifies the title of the publication type. The title is a technically easy-to-use name that can be translated with the <label>
subelement.
isContainedWork
true
, false
This value can be set to true
if this publication type is a part of another publication type. For example, this can be used if there are removable maps in a book and this publication type represents the maps that are included. Note: This parameter is largely deprecated and should no longer be used.
isMultiVolume
true
, false
This value can be set to true
if the publication type is a multi-volume edition, for example a single volume of an encyclopedia.
isPeriodical
true
, false
This value can be set to true
if the publication type is a regular edition, for example a newspaper.
rulesetType
Name from ruleset.xml
This field can be used to specify a rule set to be associated with this publication type.
rulesetChildType
Name from ruleset.xml
This field can be used to specify a rule set sub-element to be associated with this publication type.
tifHeaderType
Text
This field can be used to specify a label to be written in the file header when exporting to tiff files.
opacType
OPAC-Type
This parameter can be used to specify the OPAC type of the database used by the catalog. For example, this can be PICA
, ALMA-MARC
or GBV-MARC
.
description
Text
A description of the catalog can be specified here.
protocol
Protocol
This parameter is usually set to http://
or https://
if the protocol is not already included in the address
parameter.
address
URL
This parameter specifies the domain name or IP address of the catalog service API. If the network protocol is specified here, the protocol
parameter must be left empty.
port
Port number
The port number can be used to specify a particular network port of the catalog service API. Usually this is the default HTTP port 80
.
database
Number
This parameter can be used to specify the database version to be used for API requests.
charset
Charset
This parameter can be used to specify a character set with which the database should return the records.
iktlist
File path
This parameter is used only if the catalogue uses a PICA database. The filename must refer to an IKTLIST file that provides information about media numbering systems.
ucnf
Text
This parameter is used to insert UCNF information into the URL of the API request.
Show automatic tasks
This option instructs Goobi to include tasks that are to be performed automatically rather than manually by a user.
Hide correction steps
This option hides any tasks in the table for which a correction message has been issued.
Show only my tasks
This option instructs Goobi to display only those tasks that have not yet been accepted by a user and therefore are not currently being processed.
Show only open tasks
This option instructs Goobi to display only those tasks that have not yet been accepted by a user and therefore are not currently being processed.
Show tasks of other users
This option allows you to display tasks that you would be authorised to carry out but that are already being performed by other users.
ID
The process ID
for the step in question.
Process date
The Process date
column tells you the date on which the process (of which the task forms part) was created in Goobi.
Module
The available modules
and plug-ins
that have been defined for that particular step in the workflow. These modules and plug-ins provide additional functionality to extend the scope of Goobi for specific tasks.
Locks
The Locks
column lists the names of other users who have opened and are currently using Goobi’s internal METS Editor. Only one person at a time can use the METS editor to process structure data and metadata. Depending on your location and configuration, several people may be responsible for individual projects and tasks, and the Locks column allows you to see whether any of your colleagues is currently working on the metadata for specific processes.
Batch
The Batch
column will display the batch ID for the process. This column will contain a value only if the corresponding process forms part of a batch with other processes, i.e. in cases where various processes are to be worked through at the same time.
There are various keyboard combinations available in the metadata editor. These are summarised here once again:
Ctrl
+ Shift
+ Cursor left
Move to previous image
Ctrl
+ Shift
+ Cursor right
Move to next image
Ctrl
+ Shift
+ Cursor up
Move 20 image forward
Ctrl
+ Shift
+ Cursor down
Move 20 images back
Ctrl
+ Shift
+ Pos 1
Move to first images
Ctrl
+ Shift
+ End
Move to last image
Ctrl
+ Shift
+ Space
Activate or deactivate the checkbox for the currently displayed image for pagination.
Ctrl
+ Shift
+ Enter
Save the METS file
Ctrl
+ Shift
+ v
carry out the validation
The task priority level is normal.
The task has priority and should therefore be given preference.
The task has a high priority and should therefore be completed quickly.
The task has top priority and should therefore be completed urgently.
At least one correction message has been issued in relation to this task or other tasks in the process workflow. This task should therefore be given preference.
This task is not currently being processed. Click on the icon to accept the task.
This icon indicates that you are already processing this task. Click on the icon to open the detailed view for this step.
This icon indicates that the task in question is already being processed by another user. Click on the icon to display the details of the task. You cannot work on this task unless it is first released by your Goobi administrator.
This task is part of a batch. It can be accepted and processed together with other tasks in the same batch.
This icon indicates that the task is a batch task that you have already accepted.
This icon indicates that the task is a batch task that has already been accepted by another user. Click on the icon to display the details of the task. You cannot work on this task unless it is first released by your Goobi administrator.
Goobi can also use variables when performing certain actions. Some of these variables can be used only in specific contexts, e.g. the variables {login}
and {user full name}
when configuring the LDAP.
There are also ‘static’ and ‘dynamic’ variables. These can be used at various points, e.g. when calling scripts or configuring projects.
Static variables are variables with a fixed name and a defined value.
Sample value:
/opt/digiverso/goobi/rulesets/ruleset.xml
Meaning:
This is the absolute path to the ruleset file specified in the process.
Sample value:
27
Meaning:
This is the internal identifier to which the process is linked in Goobi.
Sample value:
kleiuniv_PPN517154005
Meaning:
This is the process title.
Sample value:
6519
Meaning:
This is the internal identifier to which the workflow step is linked in Goobi. This variable can be used only when calling scripts.
Sample value:
scanning
Meaning:
This is the title of the workflow step. This variable can be used only when calling scripts.
Sample value:
/opt/digiverso/goobi/metadata/27/
Meaning:
The absolute path to the folder in which all the process data are located.
Sample value:
/opt/digiverso/goobi/metadata/27/import
Meaning:
The absolute path to the import folder for the process. This is a subfolder of {processpath}. It contains the files that were generated or imported when performing an import.
Sample value:
/opt/digiverso/goobi/metadata/27/images
Meaning:
The absolute path to the image folder for the process. This is a subfolder of {processpath}. It contains various folders for each item of digitised material.
Sample value:
/opt/digiverso/goobi/metadata/27/images/kleiuniv_PPN517154005_media
Meaning:
The absolute path to the media folder for the process. This is a subfolder of {imagepath}. It contains the optimised digital images. This folder is usually exported at the end of the workflow.
Sample value:
/opt/digiverso/goobi/metadata/27/images/master_kleiuniv_PPN517154005_media
Meaning:
The absolute path to the media folder for the process. This is a subfolder of {imagepath}. It contains the scanned images. Derivatives for other folders are usually generated from this folder.
Sample value:
/opt/digiverso/goobi/metadata/27/meta.xml
Meaning:
The absolute path to the metadata file in Goobi. This file can be present in a range of formats.
Sample value:
Meaning:
The path for {tifpath} as a valid URL.
Sample value:
Meaning:
The path for {origpath} as a valid URL.
Sample value:
/opt/digiverso/goobi/metadata/27/images/kleiuniv_PPN517154005_source/
Meaning:
The path to the source folder for the process. This folder can be used to store files that are to be included in exports to the Goobi viewer.
Sample value:
4
Meaning:
The internal ID of the project within the Goobi workflow database.
Sample value:
Monographs 1850-1950
Meaning:
The name of the project within the Goobi workflow database.
Sample value:
M1850-1950
Meaning:
The speaking identifier that was additionally given to the project independent of the database ID.
Sample value:
Meaning:
Listing of IIIF URLs to all images from the media
directory of a process
Sample value:
Meaning:
Listing of IIIF URLs to all images from the master
directory of a process
As well as static variables, there is a range of dynamic variables that can be used to access all the freely configurable data in Goobi.
Example:
{process.b-number}
Sample value:
b20057465
Meaning:
This variable can be used to access the value of every process attribute.
Example:
{product.Artist}
Sample value:
Niedersächsische Staats- und Universitätsbibliothek Göttingen, Germany
Meaning:
This variable can be used to access the value of every workpiece attribute.
Example:
{template.Shelfmark}
Sample value:
8 HLP II, 8726
Meaning:
This variable can be used to access the value of every template attribute.
Example:
{meta.PlaceOfPublication}
Sample value:
Göttingen
Meaning:
This variable allows you to use the value of an item of metadata. The metadata file is searched recursively, and the first value found is used.
Example:
{meta.topstruct.CatalogId Digital}
Sample value:
517154005
Meaning:
This variable allows you to use the value of an item of metadata. Only the highest structure element is searched for the metadata.
Example:
{meta.firstchild.CurrentNo}
Sample value:
12
Meaning:
This variable allows you to use the value of an item of metadata located in the first sub-element of the main element. This is particularly useful in the case of multi-volume or periodical structures.
Example:
{db_meta.DocStruct}
Sample value:
Monograph
Meaning:
With this variable the value of a metadata can be used. This is not read from the METS file itself in this case, but instead comes from the cached version from the database.
Example:
{datetime.yyyy-MM-dd}
Example value:
2024-08-13
Meaning:
This variable can be used to generate the current date and time in any format. The format PATTERN
can contain all permitted symbols for date and time formatting in Java. You can find more information on this at: https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
In order to specify and manage the users that you want to be able to work with your Goobi installation, first select the menu item Administration - Users
from the menu. This will display a list of all the users currently entered in Goobi. In the Users
column, you will see the first name and surname of each registered user. The Location
column tells you the establishment or town where the user is based. The User groups column shows you the user groups to which that user belongs. In the Projects column, you can see which projects each user has been assigned to.
Finally, in the Actions
column, you can edit the details for each user. As an administrator, you now have an option to select a user and switch to that users role.
Create new user
Edit existing user
Switch to users role
To do so, click on the icon to the right in the Actions
column. This will switch your own authorisation level and role as an administrator to those of the selected user, allowing you for test purposes to check how Goobi behaves for a specific user. This can be particularly useful if individual users have reported problems that cannot otherwise be traced. By switching to the authorisation level and role of a specific user, you can see exactly how the interface appears to that user without that person having to give you his/her user name and password.
Just above the list of users, you will find an option that allows you to display inactive users as well as active users. To do so, click on the checkbox Only show active users
. This will remove the tick and deactivate the default setting which restricts the display to active users.
You can also use the filter above the table to search for a specific user from a large list. Simply enter part of that user’s first name or surname and press the enter key to conduct the search.
To add a new user, click on the Create new user
link below the table. To edit the details for an existing user, click on the first icon in the Actions
column for that user.
The Edit user
dialogue box allows you to change the details already stored in Goobi for that person. As well as the Surname
, First name
and Location
, you can also assign a Goobi Login
and Password
.
If Goobi has been instructed at the main configuration stage to authenticate each user against a configured LDAP, you will at this point need to specify for each person which server is to be used for authentication.
In the Metadata language
input field, you can use a language code in free text form. Please ensure that the language code you use matches exactly the code defined in the ruleset with which users will be working in the METS Editor. In the example given below, the rulesets must contain a localised form of the metadata and structure data descriptors (language
) for English with the language code en
. If the field is left empty, the language set in the browser is used in the metadata editor.
Localisation of the metadata item 'logicalPageNumber' for various languages within a ruleset
You can specify in the Edit user
dialogue box whether the user’s Goobi account should be active or inactive. This means you can configure Goobi in such a way that existing user accounts remain in place even though the corresponding users are no longer authorised to access those accounts. This is particularly important to avoid any potential loss of existing information from source material that has already been processed or any difficulties conducting statistical searches that might otherwise be caused by the removal of individual users from the database. It also ensures that information about source material whose workflow was completed some time ago can be analysed precisely and that project managers or administrators can identify which person performed which tasks and when. This can be particularly useful in the event of an error.
By activating the batch download
checkbox, you can allow individual users to display a more extensive list of tasks of possible actions underneath the My tasks
list. These enable the user to accept several tasks at the same time and to work on them all together, e.g. in an automated batch process to optimise image quality. Once tasks such as these are completed, the source work images corresponding to the process will be stored in the folder provided by Goobi for batch upload on that user’s work drive. This folder is often called 'Ready', 'Done' or similar. This can be configured individually for each Goobi installation. Placing more than one folder of related tasks in the batch upload folder allows users to close all finished tasks for which there is a related folder in the batch upload folder by means of a single click in the Possible actions
area. This method enables users to accept and close a large number of tasks simultaneously.
Thanks to its comprehensive system of user authorisations, Goobi ensures that each person can be assigned not only to different projects but also to different roles. Furthermore, every user can perform more than one role at the same time. In this context, roles can also be understood as levels of qualification or as skills. These roles can be assigned in the User groups
area. To assign additional roles to a specific user, simply click on the Add user groups
button for that user.
In the User group
window, select all the user groups to which you want to assign the user and then click on the Save button to confirm your selection. You will find that the selected user has now been assigned to those user groups. You can follow the same process to assign users to projects.
To remove a person from a particular user group or project, click on the symbol for deletion next to that user group or project. Next, to apply permanently any changes you have made, click on the Save
button.
If you have added any new users whose login details need to be authenticated by the configured LDAP server, you will need to open their details again in the Edit user
dialogue box after first entering them. The additional icon next to the LDAP group configuration will not be visible to the user until that user has been stored and the corresponding details re-opened in the dialogue box. Click on this symbol to re-enter the user’s details in the configured LDAP. Once this step is completed, the user will be able to log in.
In order to set a user as a super administrator, a super administrator must already exist so that this super administrator can set further super administrators. If no super administrator has been set so far, the following command must be issued within the database:
In order to ensure flexibility in the handling of freely configurable workflows and the corresponding users, you will need to define a number of user groups. These user groups can be understood as the roles, activities or skills of individual users within the workflow. By way of example, user groups can be created for scan operators, metadata editors and administrators. You are free to define these groups as you wish in Goobi and then assign individual users to them. To open the list of existing user groups, click on the menu item Administration - User groups
in the menu. Goobi will display a list of all the user groups that have already been defined. For each of these user groups, you can also display a list of all the users assigned to that group. To show this list, simply click on the little symbol to the left of the user group name.
To create additional user groups, click on the Create new user group link. To edit existing user groups, however, you need to click on the Edit symbol in the Actions column.
Create new user group
Edit existing user group
Within the editing mask, a title must always be assigned to a user group. This can be freely selected. Please make sure that you select this title as descriptively as possible to give you and other administrators in Goobi a better overview.
Very granular permissions can now be assigned to each defined user group. These can be added in the right area of the form by simply clicking on an authorization. A click on an authorization in the left area removes it from the user group.
The following authorizations are available for selection:
This permission allows the user to view and use menu items in the Administration menu.
This permission allows access to the administrative area, in which a message can be sent to all logged in users.
This authorization allows you to list and edit dockets.
This permission allows you to list and edit LDAP groups.
This authorization allows the execution of administration plug-ins, as long as they are installed and do not require special individual rights.
This authorization allows you to list and edit projects.
This authorization allows you to list and edit rulesets.
This authorization allows you to list and edit user groups and their authorizations.
This authorization allows you to list and edit users.
This authorisation allows you to switch to the user account of another Goobi user without having to use their login data. A precondition for this is, however, that the User authorization and the Administration menu are also available.
This authorization allows you to display information on how many users are currently actively working in Goobi.
This authorization allows you to display the number of active users in Goobi as well as a detailed list of exactly which users are involved and when they last showed activity.
With this permission the user has the possibility to delete files that have been uploaded for a process within the process log or in one of the directories import/
, export/
or source/
.
Users with this permission can configure for which status changes they want to be notified. Within the user settings of each user, there are fields available that define the notification for status changes by mail. A notification is possible for the status change of tasks in the following cases:
When tasks are ready for editing
When tasks are accepted for processing by a user
When tasks have been completed
When tasks reach an error status
This permission allows the user to view statistics and use menu items in the menu.
This authorization guarantees access to the standard statistics available within Goobi.
This authorization allows additionally installed statistics plug-ins to be called.
This permission allows the user of the My Tasks menu to view and work with My Tasks.
This permission allows you to view and work with the user's own task list.
This authorization determines whether users with access to the internal metadata editor are allowed to work with the Pagination area.
This authorization determines whether users with access to the internal metadata editor are allowed to work with the Structure Data area.
This authorization determines whether users with access to the internal metadata editor are allowed to work with the Metadata area.
This authorization determines whether users with access to the internal metadata editor are allowed to work with the Files area.
This permission allows the user to see and use menu items in the Workflow menu.
This authorization controls whether the user may use the search mask to search for processes.
This authorization determines whether a user may also see processes in which he himself is not a member.
This authorization determines whether the user may group processes into batches or modify existing batches.
This permission determines whether a user is allowed to see the details of a process.
This permission determines whether a user can see and edit the details of a process.
This authorization allows additionally installed workflow plug-ins to be called.
This authorization controls whether a user has access to the list of process templates.
This authorization determines whether a user may clone an existing process template in order to create a new process template.
This authorization determines whether a user can create new process templates.
This authorization enables the user to create new processes individually on the basis of existing process templates.
This authorization enables the user to create new operations on the basis of existing process templates by carrying out a mass import.
With this authorization, the user has the option of having processes listed.
With this authorization, the user has the option of subsequently changing the process template to be used for an existing process.
With this authorization, the user has the option of downloading process information as an XML file.
With this authorization the user is able to perform a tabular export of a process list.
This authorization can be used to determine whether a user may create a link to the data in his home directory for a desired process.
This permission can be used to determine whether a user can also see processes from deactivated projects.
This authorization can be used to specify whether a user is to be given access to finished processes.
This permission gives the user the rights to apply all GoobiScripts over a number of operations.
It is possible for user groups to be given specific rights to execute selected GoobiScripts. For this purpose, the assignment of the permission is not done by clicking on one of the indicated rights in the right area. Instead, the GoobiScript to be allowed is named in the right input field and is accepted by clicking on the button with the plus icon. The assignment of the permission is done in such a way that goobiscript_
is entered followed by the name of the concrete GoobiScript.
Accordingly, the following authorizations can be assigned as examples:
addStep
goobiscript_addStep
metadataChangeValue
goobiscript_metadataChangeValue
setStepProperty
goobiscript_setStepProperty
When you apply an action to a group of processes, you also have an option to run Goobi scripts within that action. To do so, click on the button Execute GoobiScript
in the Possible actions
box. Goobi will display an overview of all the scripts that can be applied to the entire list of processes, to the processes listed on the current page or just to a selection of processes.
For every GoobiScript, you need to enter the name of the script you wish to run as well as the corresponding parameters. These parameters are shown when you click on the script in the list. Replace the parameters shown as examples with your desired settings.
After completing the GoobiScript, you can now apply it to selected hits or the entire hit list. Before the execution, however, a security query appears in which the number of operations to which the GoobiScript should be applied must first be confirmed again.
Please note that you may not have access to all the GoobiScripts that Goobi offers. Some of the GoobiScripts may be hidden. Your user group may also not have been granted access to all GoobiScripts. A more detailed explanation of how to assign permissions to GoobiScripts can be found here:
The syntax for using GoobiScript is based on the markup language YAML. This allows each GoobiScript to have built-in documentation with small help texts and the individual parameters are visually clear with syntax highlighting. Each parameter is placed on its own line and separated from its value by a colon and a space. Contrary to earlier versions of Goobi, values for parameters containing spaces are now also possible within GoobiScript without having to enclose them in quotes. A simple GoobiScript is structured exemplarily like this:
The lines starting with a hash #
form comments for help purposes. They can also be omitted before submitting the GoobiScript. Accordingly, the GoobiScript is a bit more compact afterwards:
Thanks to the change to the new syntax, it is now also relatively unproblematic to have several GoobiScripts started together. Note that each GoobiScript is separated from the previous GoobiScript by the ---
character. This way you can easily combine several commands and start them together. This could look like this, for example:
Here, too, the commas can be omitted accordingly for a shortened application, so that the entire call becomes clearer:
The processing of such multiple GoobiScripts takes place after sending in the order of the naming in each case over all affected processes. Related to this example this means, if 3 processes are concerned the following processing:
Please avoid starting additional GoobiScripts unless other GoobiScripts are already being processed. Otherwise, the processing of Goobi scripts may be interrupted. This limitation will be fixed in future versions of Goobi workflow.
You can choose from the following Goobi scripts:
The GoobiScript addUser
allows you to add a new user to a specific workflow step. Before you apply this Goobi script, you should ensure that you have the correct login name for the user you wish to add to that step. You also need to check the exact name of the step to which you want to add a new user. For the parameter steptitle
you should select the name of the step to which you want to add the new user.
The GoobiScript addUserGroup
is similar to addUser
, as it gives additional user rights for workflow steps. For the parameter steptitle
, enter the full name of the step to which you want to add a user group, and for the parameter entitled group
enter the exact name of the user group you wish to add for that step.
The GoobiScript cloneProcess
allows the duplication of one or more Goobi processes. The parameter content
can be used to specify whether only the database contents and the METS file should be copied or whether all the associated directories (e.g. the images) should also be duplicated. The parameter title
can be used to control the titles of the processes to be created. The variable system of Goobi is used here and thus allows a high degree of flexibility.
The GoobiScript renameProcess
allows you to rename a process or several Goobi processes. A search string is defined with the search
parameter, the new value with replace
and the search method with type
(defined values contains
- the search value should be contained in the process title - or full
- the process title must match the search value exactly). Both the task title in the workflow and the image directories of the process in the file system are renamed.
For the GoobiScript deleteTiffHeaderFile
there is no need to enter additional parameters. Running this GoobiScript will delete any previously created TIFF header files that can be used by a program that writes the TIFF headers into the images. This allows you, for example, to make centrally modified TIFF headers available for future use, since missing TIFF header files are automatically created on the basis of the configuration the next time the file is accessed.
The GoobiScript swapSteps
allows you to swap the order of two steps within the workflow of a number of processes. To perform a swap, you need to provide the details of each of the steps involved. Enter the workflow number and full name of the first and second step. Running this script will then swap the order of the steps you have specified. This makes it very easy to change workflows across a large number of processes.
The GoobiScript importFromFileSystem
imports existing image sets from a defined output directory into processes that have already been created in Goobi. This can be useful if you want to import projects into Goobi that were created before Goobi was installed. Please note that all the image directories within the specified output directory must have the same name as the processes in Goobi. An automatic import from the file system can only be performed correctly if the folder name and process title are identical. For the parameter entitled sourcefolder
, you need to specify the location of the individual directories containing the processes you wish to import.
The GoobiScript setRuleset
allows you to make a central change to the Goobi ruleset for a group of processes. This could be particularly important after detailed editing and testing of a ruleset (for safety reasons this is performed separately in a newly created ruleset), if you then wish to apply the new ruleset to the processes. For the parameter entitled ruleset
, you need to specify the name of the ruleset using the name as it appears in the ruleset list in Goobi. The newly assigned ruleset will be entered when you run the GoobiScript, regardless of which ruleset is currently in place for the individual processes being changed.
You can run the GoobiScript deleteStep
if you want to delete a specific step from the workflow for a group of processes. Running the script will delete the workflow step (specified by its full name in the parameter steptitle
) from the list of selected processes. Please note that this GoobiScript will also delete any production-related data being stored for that particular workflow step (e.g. project staff, processing date, status).
The GoobiScript entitled addStep
allows you to automatically create a new step with a specific name and a specific position in the workflow order. For the parameter steptitle
, enter the name of the new step, and for the parameter order
enter the required workflow order number. In addition to numerical values, the keyword end
can also be used to add the step to the end.
The GoobiScript addStepAtOtherStepPosition
enables the creation of a workflow step with a defined title at a defined position within the workflow where another workflow step is already located. By inserting the new workflow step, all existing workflow steps with this or a subsequent position are moved so that the new workflow step can be inserted at the desired target position. The parameter newsteptitle
allows you to define the title for the new workflow step to be inserted. The parameter existingsteptitle
defines the name of the workflow step that determines the target position of the step to be inserted. The parameter insertionstrategy
defines whether the new step is to be inserted before (before
) or after (after
) the specified existing step.
You can choose the GoobiScript setStepStatus
to modify the workflow status for a group of processes at the same time. For the parameter steptitle
, you need to enter the name of the workflow step whose status you wish to change. For the status parameter
, you should enter the required numerical value using the system:
Using the GoobiScript setStepNumber
you can modify the workflow order number of an individual step for a group of processes. For the parameter steptitle
you need to enter the full name of the workflow step you wish to change. For the number
parameter you should enter the workflow order number you want to apply to that step for all the selected processes.
The GoobiScript addShellScriptToStep
allows you to add shell scripts or other command-line calls to designated workflow steps in a group of processes. For the parameter steptitle
you need to specify the full name of the steps you wish to change. For the script
parameter, enter the full command that you wish Goobi to execute in the form of a command-line call whenever this step is activated.
Please note that shell commands at Linux level begin with /bin/bash/
.
In the parameter label
you define the name for the shell script.
If parameters are to be grouped in the command so that they are passed as one argument to the new process, the quotes required for this must be escaped with a preceding quote each. An example for the script
parameter would be accordingly:
script: /bin/bash /path/to/script.sh "parameter with blanks"
You can use the Goobi script setStepProperty
to set individual options for a specific workflow step in a group of processes at the same time. For the parameter steptitle
, you should enter the full name of the step you wish to select. For the property parameter
, you will need to select one of the following values:
metadata
for changing the metadata property
readimages
for changing the property whether a reading access to the images should be possible
writeimages
for the property whether a write access to the images should take place.
validate
for the property whether a validation should take place when the workflow step is completed
exportdms
for the property whether the workflow step should be able to perform an export to the presentation system
batch
for the property whether the workflow step should be executed together with all other workflow steps in batch mode
automatic
for the property whether the workflow step should be executed automatically
importfileupload
for the property whether a file upload should be used for the import in this workflow step (Please note that this function is no longer used in Goobi).
acceptandclose
for the property whether the workflow step should be accepted directly without action and closed again (Please note that this function is no longer used in Goobi)
acceptmoduleandclose
for the property whether a module of a work step should be accepted and executed and the workflow step should also be completed immediately. (Please note that this function is no longer used in Goobi).
script
for the property whether the step should execute a script
delay
for the property whether this workflow step is a delay workflow step that should wait a configured time
updatemetadataindex
for the property that the internal database index is to be updated in this workflow step
generatedocket
for the property whether the user should be able to download a docket in this workflow step
You should also set the value of the actions you have specified here to activated or deactivated by entering the values true
or false
for the value parameter..
Sample: For example, if you select Scanning
as the steptitle
, writeimages
as the property
and true
as the value
and apply this GoobiScript to a group of processes, this will allow a user who accepts the step entitled Scanning
to have write access to the images in his/her working directory for that step.
The GoobiScript export
allows you to export a large number of processes. The parameters exportImages
and exportOcr
can be used to specify whether the associated images and OCR data should be exported. If an export plugin has been configured in the workflow, that plugin will be loaded and used for the export; if not, Goobi will run the default export.
Using the GoobiScript runScript
, you can initiate a script for a particular workflow step outside the regular workflow. The parameter steptitle
is used to enter the full title of the workflow step whose scripts you wish to run.
If the workflow step contains a number of scripts, you can specify which one you wish to run using the script
parameter. If this parameter is left blank, all the scripts for that workflow step will be run in the specified sequence.
As the name suggests, the GoobiScript deleteProcess
is used to delete processes. You have to use the parameter contentOnly
(value true
or false
) to specify whether Goobi should delete only the data from the file system or, additionally, all the information from the database.
The GoobiScript addPluginToStep
allows you to add plugins to workflow steps. You can use the parameter steptitle
to specify the name of the workflow step and the parameter plugin
for the identifier of the plugin that you wish to add.
The GoobiScript updateImagePath
updates the path to the image files within the METS files. No parameters are required to run this GoobiScript.
The GoobiScript updateContentFiles
updates the list of all image files within the METS files. No parameters are required to run this GoobiScript.
The GoobiScript addToProcessLog
allows adding messages to the process log. The type
parameter determines how the message should be classified. The message
parameter specifies the content of the message.
debug
Internal system messages, primarily for administrators
info
Information messages that every user should be able to see
warn
Warning messages that every user should see
error
Error messages that every user should see
user
User comments that users enter visibly for all other users
The GoobiScript setProject
allows you to assign the selected tasks to a defined project. The parameter project
specifies which project should be used for this.
The GoobiScript runPlugin
allows the execution of a step plugin for the selected tasks. The parameter steptitle
determines the step of the affected tasks from which the plugin is to be executed.
The GoobiScript import
is not intended for execution by users from the user interface. Instead, it is started during the execution of mass imports from the selected plugin. It then performs a mass import in the form specified in the import plug-in. The parameter plugin
defines the unique name of the plugin. The identifiers
parameter determines which identifiers the data records have that are to be imported. The parameter template
determines which production template is to be used for the import.
The GoobiScript metadataDelete
allows you to delete metadata from a process. The field
parameter specifies the type of metadata, where the internal rule set name must be used. The value
parameter defines the content of the metadata. The parameter ignoreValue
determines whether the content of the parameter value is to be ignored and whether the metadata is to be deleted independently of its value. The parameter type
can be used to control whether the metadata to be deleted are present as normal metadata, whether they occur within a named metadata group, or whether an entire metadata group is to be deleted. The parameter group
allows the naming of the group concerned. The following application scenarios apply:
If metadata
is given as value within type
(or no value is given) and no name is given within the parameter group
, a normal metadata is deleted.
If metadata
is specified as the value within type
(or no value is specified) and a name is specified within the parameter group
, the metadatum is changed within the named group.
If group
is specified as the value within type
, the group named within the parameter field
is deleted.
The parameter position
allows you to specify where the metadata should be found:
work
This parameter specifies that the metadata should be adjusted at the level of the physical work. This selection automatically chooses the main element (e.g. a monograph) or, in the case of an anchor record, the sub-element (e.g. the periodical volume).
child
This parameter specifies that the metadata should be adjusted at the level of the sub-element of an anchor record (e.g. a periodical volume or volume).
top
This parameter specifies that the metadata should be adjusted at the level of the anchor record (e.g. at the level of a journal or a multi-volume work).
any
This parameter specifies that the metadata should be adjusted at all levels of the object (e.g. in the volume, in all chapters, title pages, illustrations, etc.).
physical
This parameter specifies that the metadata within the physical structure elements should be adjusted (e.g. metadata of the individual pages).
Sample calls:
Delete a metadata entry on top level:
Delete a metadata entry on top level, but the current value should be ignored
The GoobiScript metadataAdd
allows you to add new metadata to a process. The field
parameter defines the type of metadata, where the internal ruleset name must be used. The value
parameter defines what content the new metadata should contain. The parameter ignoreErrors
determines whether, in the event of an error, the processing and saving of the METS file should be continued or the processing for the object should be aborted. The parameter type
can be used to control whether the change is to be made to a simple metadata or within a metadata group. The parameter group
defines the metadata group to which the metadata is to be added. The following application scenarios exist:
If metadata
is given as value within type
(or no value is given) and no name is given within the parameter group
, the metadata is added as normal metadata.
If metadata
is given as the value (or no value is given) and a name is given within the group
parameter, a metadata is added to the named group.
If group
is specified as the value, a new metadata group is created with the name specified within the group
parameter.
The parameter position
allows you to specify where the metadata should be added:
work
This parameter specifies that the metadata should be adjusted at the level of the physical work. This selection automatically chooses the main element (e.g. a monograph) or, in the case of an anchor record, the sub-element (e.g. the periodical volume).
child
This parameter specifies that the metadata should be adjusted at the level of the sub-element of an anchor record (e.g. a periodical volume or volume).
top
This parameter specifies that the metadata should be adjusted at the level of the anchor record (e.g. at the level of a journal or a multi-volume work).
any
This parameter specifies that the metadata should be adjusted at all levels of the object (e.g. in the volume, in all chapters, title pages, illustrations, etc.).
physical
This parameter specifies that the metadata within the physical structure elements should be adjusted (e.g. metadata of the individual pages).
Any authority data can also be added using the authorityName
and authorityValue
parameters.
Sample calls:
Adding a metadata entry on top level:
Adding a metadata entry on second level:
Adding a metadata entry with authority data:
The GoobiScript metadataReplace
allows you to replace a metadata with a new value. The old value is thus replaced by another value and is therefore no longer available. The field
parameter determines which type the metadata has, whereby the internal ruleset name must be used here. The search
parameter defines the current content of the metadata. The replace
parameter defines which content the metadata is to have instead. The parameter group
specifies whether the change is to be made within a metadata group. If no value is given here, the change is made to a normal metadata. If, on the other hand, a value is given, the change of the metadata takes place within the named metadata group. The parameter position
allows you to specify where the metadata to be replaced should occur and be replaced:
work
This parameter specifies that the metadata should be adjusted at the level of the physical work. This selection automatically chooses the main element (e.g. a monograph) or, in the case of an anchor record, the sub-element (e.g. the periodical volume).
child
This parameter specifies that the metadata should be adjusted at the level of the sub-element of an anchor record (e.g. a periodical volume or volume).
top
This parameter specifies that the metadata should be adjusted at the level of the anchor record (e.g. at the level of a journal or a multi-volume work).
any
This parameter specifies that the metadata should be adjusted at all levels of the object (e.g. in the volume, in all chapters, title pages, illustrations, etc.).
physical
This parameter specifies that the metadata within the physical structure elements should be adjusted (e.g. metadata of the individual pages).
Any authority data can also be added or changed using the authorityName
and authorityValue
parameters.
Sample calls:
Search for a value within a certain top-level metadata and replace it with something else:
Find a value within a certain second level metadata and replace it with something else:
The GoobiScript metadataReplaceAdvanced
allows replacing a metadata with a new value. In contrast to metadataReplace
, regular expressions can be used here to manipulate values. The field
parameter determines what type the metadata has, whereby the internal ruleset name must be used here. The value
parameter defines a regular expression that is applied to the content of the metadata. The parameter group
specifies whether the change is to be made within a metadata group. If no value is given here, the change is made to a normal metadata. If, on the other hand, a value is given, the change of the metadata takes place within the named metadata group. Any authority data can be added or changed using the authorityName
and authorityValue
parameters.
Sample calls:
Finding a value within a specific top-level metadata and replacing it with something else:
The GoobiScript metadataChangeValue
allows the manipulation of existing metadata of a process. Prefixes or suffixes can be added to an existing metadata to extend the content of a metadata. The field
parameter specifies the type of metadata, where the internal ruleset name must be used. The content of the prefix
parameter is used to prefix a text with the current value of the metadata. The content of the parameter suffix
is used to append a text after the current value of the metadata. The parameter group
specifies whether the change is to be made within a metadata group. If no value is given here, the change is made to a normal metadata. If, on the other hand, a value is given, the change of the metadata takes place within the named metadata group. The parameter position
allows you to specify where the metadata should be present and adjusted:
work
This parameter specifies that the metadata should be adjusted at the level of the physical work. This selection automatically chooses the main element (e.g. a monograph) or, in the case of an anchor record, the sub-element (e.g. the periodical volume).
child
This parameter specifies that the metadata should be adjusted at the level of the sub-element of an anchor record (e.g. a periodical volume or volume).
top
This parameter specifies that the metadata should be adjusted at the level of the anchor record (e.g. at the level of a journal or a multi-volume work).
any
This parameter specifies that the metadata should be adjusted at all levels of the object (e.g. in the volume, in all chapters, title pages, illustrations, etc.).
physical
This parameter specifies that the metadata within the physical structure elements should be adjusted (e.g. metadata of the individual pages).
condition
This parameter can be used optionally to specify a condition for the replacement of metadata. If this parameter is used and the given value is not empty, the replacement is applyed to all data sets that contain the text given here in the previor metadata field.
Sample calls:
Add a prefix to a top-level metadata::
Add a suffix to a top-level metadata, but there must be a specific value in the metadata:
Add a prefix and suffix to a second-level metadata:
The GoobiScript metadataChangePersonType
changes the role type of a person. The call requires four parameters. The oldType
parameter specifies what the old type should be, and the newType
parameter specifies the type that the person should receive instead. The parameter ignoreErrors
determines whether, in the event of an error, processing and saving of the METS file should continue or whether processing should be aborted for the object. The parameter position
, on the other hand, controls where the person should be present to be changed:
work
This parameter specifies that the metadata should be adjusted at the level of the physical work. This selection automatically chooses the main element (e.g. a monograph) or, in the case of an anchor record, the sub-element (e.g. the periodical volume).
child
This parameter specifies that the metadata should be adjusted at the level of the sub-element of an anchor record (e.g. a periodical volume or volume).
top
This parameter specifies that the metadata should be adjusted at the level of the anchor record (e.g. at the level of a journal or a multi-volume work).
any
This parameter specifies that the metadata should be adjusted at all levels of the object (e.g. in the volume, in all chapters, title pages, illustrations, etc.).
physical
This parameter specifies that the metadata within the physical structure elements should be adjusted (e.g. metadata of the individual pages).
The GoobiScript metadataChangeType
changes the type of a metadata. The call requires four parameters. The oldType
parameter specifies the old type of the metadatum. The newType
parameter specifies the new type for the metadata. The parameter ignoreErrors
controls whether, in case of an error, the processing and saving of the METS file should be continued or whether the processing for the object should be aborted. The parameter type
can be used to control whether the change is to be made to a simple metadata or within a metadata group. The parameter group
defines the metadata group for which the metadatum is to be changed. The following application scenarios exist:
If metadata
is specified as value within type
(or no value is specified) and no name is specified within the parameter group
, a normal metadata is changed.
If metadata
is specified as the value within type
(or no value is specified) and a name is specified within the parameter group
, the metadata is changed within the named group.
If group
is specified as the value within type
, the type of the named group is changed from the old value (oldType
) to the new value (newType
).
The parameter position
allows you to specify where the metadatum should occur so that it is affected by the change:
work
This parameter specifies that the metadata should be adjusted at the level of the physical work. This selection automatically chooses the main element (e.g. a monograph) or, in the case of an anchor record, the sub-element (e.g. the periodical volume).
child
This parameter specifies that the metadata should be adjusted at the level of the sub-element of an anchor record (e.g. a periodical volume or volume).
top
This parameter specifies that the metadata should be adjusted at the level of the anchor record (e.g. at the level of a journal or a multi-volume work).
any
This parameter specifies that the metadata should be adjusted at all levels of the object (e.g. in the volume, in all chapters, title pages, illustrations, etc.).
physical
This parameter specifies that the metadata within the physical structure elements should be adjusted (e.g. metadata of the individual pages).
The GoobiScript changeProcessTemplate
allows you to change the workflow for the affected processes. The templateName
parameter defines which production template is to apply to the operations. If this GoobiScript is applied to processes, Goobi tries to set the steps already performed to the identical status in the updated workflow if possible. This can only succeed if the steps have the same titles.
The GoobiScript updateDatabaseCache
ensures that the internal database table of the Goobi database is updated with the status of the workflows and the associated media files as well as metadata. This is important if, for example, the metadata has been modified outside of Goobi, or if a new index field has been defined. Among other things, various statistics are based on these database tables and therefore require as up-to-date values as possible for the visualization of information.
No parameters are required to run this GoobiScript.
The GoobiScript propertySet
allows you to add and change a process property. The parameter name
specifies the name of the property. The value
parameter specifies the value that the property should have. If a property already exists with the name specified here, its value is changed to the value specified here.
The GoobiScript propertyDelete
allows the deletion of process properties. The parameter name
specifies the name of the properties to be deleted.
The GoobiScript executeStepAndUpdateStatus
executes a selected step and then updates the workflow for further processing of the following work steps. The steptitle
parameter determines which step is to be executed. After the call, Goobi checks whether this is a script step, an export step, a plug-in step or an HTTP step and executes it accordingly. If the work step is marked as automatic, the further workflow process is continued after the execution. If, on the other hand, the call triggers a wait mode, the status is not changed by Goobi but waits for a status change by the respective plugin or script itself. If an error occurs while the started step is being executed, the status of the workflow step is set to error
.
The GoobiScript exportDatabaseInformation
exports all database contents of the selected Goobi operations to an internal XML file. This is then located in the Goobi file system within the process folder and has a file name that can be used to import the data into another Goobi instance. The path of such a file is e.g.
No parameters are required to run this GoobiScript.
With the GoobiScript moveWorkflowForward
the status of the workflow can be moved forward step by step. Each time this GoobiScript is executed, the active workflow step is changed accordingly (e.g. from open
to in work
).
With the GoobiScript moveWorkflowBackward
the status of the workflow can be moved backwards step by step. Each time this GoobiScript is executed, the active work step is changed accordingly (e.g. from completed
to in work
).
The GoobiScript setPriority
can be used to define the priority of individual or all process steps. The parameter priority
determines which priority
should be used. The following values are available: standard
, high
, higher
, highest
and correction
. The parameter steptitle
determines for which workflow step the priority is to be set. If the parameter steptitle
is not specified, the priority is changed for all workflow steps of the selected processes.
In most cases, an automatic task is combined with a script task. Goobi then responds to the script output. Goobi will treat any messages issued on the default output console as simple status reports and will continue operation. However, Goobi will treat any messages issued on the error output console as errors and will interrupt workflow processing.
One example for the combination of an automatic workflow task and a script task is the conversion of images to TIFF/JPEG
. Goobi automatically calls a script and converts the images in the specified folder to TIFF/JPEG
format.
The following example shows how Goobi calls a script for the intranda image improver:
The call involves providing two parameters. The first of these, convert_images
, is defined in the script itself. Goobi replaces the other parameter {tifpath}
dynamically by the path to the folder in which the image set is located.
Parameters can be combined with quotation marks ("
) to pass them as an argument to the called process. If a quotation mark is to be passed directly to the new process as an argument, it must be escaped with a preceding second quotation mark (then: ""
).
Goobi usually uses an LDAP server to authenticate users. This makes it possible to connect to the provided network drive with the same user name and password as in Goobi. In the configuration file goobi_config.properties
it is specified on the one hand whether LDAP is to be used in principle by Goobi, on the other hand the truststore used is also configured there. All other settings for LDAP connections and user groups are made in the administration area of the user interface.
The LDAP server needs to include the following schemas: COSINE
, inetOrgPerson
, NIS
und SAMBA
..
In the file goobi_config.properties
the following settings for LDAP and the truststore are available:
Note: In previous Goobi versions there were ldap_keystore
and ldap_keystore_password
settings at this point. These have been renamed because the keystore can be used for other purposes as well. These settings are no longer supported.
Note: Occasionally, the incorrectly passed ldap_truststore
and ldap_truststore_password
settings appear in older configuration files. These settings do not exist in Goobi and are accordingly not supported.
The configuration within the goobi_config.properties
configuration file when using a local LDAP server may look like the following, for example:
LDAP groups can be set up in Goobi in the 'Administration' -> 'Authentication' section. A list of authentication options that have already been set up is displayed first. To set up an LDAP group, a new authentication must be created.
Currently, three authentication types are available. For all of them at least a name, a type and a login shell command must be selected.
If LDAP is selected as type, some more options are available. There are also a total of three tabs available for LDAP (General
, Details
and Authentication
).
On the General
page, basic settings for the LDAP group are made, such as the URL of the LDAP server, the User DN (distinguishing name) and Samba IDs. The User DN
field is used for mapping from the user identification in the Goobi database to the user identification in the LDAP group. The placeholder {login}
represents the login name of a user and must be specified so that Goobi can later create a named LDAP account for each new Goobi account.
On the page Details
, many more details are configured for the LDAP group.
The Authentication
page specifies technical details for authentication to the LDAP service set up in the General
tab. This page contains some settings that previously could only be made once in the goobi_config.properties
configuration file and can now be specified for this particular LDAP authentication.
As well as these Goobi-specific settings, it is important to ensure that LDAP users are identified to the operating system. The LDAP information must be entered correctly. This is particularly important for the following files:
The use of the LDAP server must be enabled for SAMBA. Since Ubuntu 14.04 LTS this is set by default.
"", "", ...
"", "", ...
Name
A name for the authentication type is specified here. This should be unique within Goobi.
Type
This menu can be used to select what type of authentication it is. The options 'Database' and 'OpenID' can be used without detailed configuration. If LDAP is selected, further setting options appear below.
LDAP URL
The URL of the LDAP service is specified here. The URL must also contain the correct port number. If the LDAP server runs on the same machine, localhost:389
can be specified here.
LDAP User DN
This field contains information for creating LDAP accounts based on Goobi database accounts. The {login}
placeholder must be used so that Goobi can use the correct user name later.
Samba SID
This is the user identification for the associated Samba server.
Login Shell
Here you can specify a bash script to be executed when a user logs in.
Samba Primary Group SID
The group ID for the user group at the Samba server is specified here.
User directory
The directory for user accounts is specified here. The placeholder {login}
is used here so that Goobi can use the correct user name later.
GID number
The group ID number for the LDAP group is specified here. If multiple LDAP groups are set up, these IDs must be different.
Object classes
Additional parameters for the LDAP group can be specified in this field. These are listed comma separated.
LDAP SN
In this field the serial number of the user on the LDAP system is specified. The placeholder {login}
can also be used for this.
LDAP UID
This field specifies the user ID to be used for the respective LDAP account. Here, too, {login}
can be used as a placeholder.
Description
This description will be added to the users created by Goobi in the LDAP system.
Display name
This text field contains a placeholder for the user's full displayed name. Here {user full name}
can be used. This will display first name and last name later.
Geocs
This field can be used to specify additional information about Goobi users in the LDAP group, such as a location or contact details.
Samba Account Flags
This field is used to specify additional parameters for the Samba account.
Samba Logon Script
This field can be used to specify a script file to be executed when a user logs on to the Samba system. To allow a separate script file for each user, the placeholder {login}
can be used here as well.
Password change required by Samba
Here you can specify a time period after which each user has to change his password for security reasons. Since this password is also the Goobi password of the corresponding user, a user has to change his Goobi password to change the Samba password as well.
Samba Password History
Here you can specify details about the storage of the last used passwords of a Samba user.
Samba Logon Hours
Here a time period in binary format (in hours) can be specified when a user can logon to the Samba system. To always allow this, the value must contain 21x 'F'.
Samba Kickoff Time
Here you can specify the time in milliseconds after which a user is automatically logged off the Samba system.
Use user directory from the configuration file
This field can be set to not let LDAP determine the user directory, but to use the one specified above.
Attribute name user directory
This value can be used on older systems to specify which key is used in the Goobi configuration to specify the LDAP user home directory.
Administrator account name
The user name of the administrator account at the LDAP service is specified here. Additional parameters (separated by commas) are specified to identify the administrator.
Administrator password
The password for the administrator account at the LDAP service is specified here.
LDAP next free unix id
A placeholder for the next free user ID on the LDAP server is specified in this field. In addition, further parameters for user identification are specified (separated by commas).
Root certificate
The SSL certificate for the connection to the LDAP server is specified here.
PDC certificate
The PDC certificate for the connection to the LDAP server is specified here.
Encryption type
The encryption type for connections with the LDAP service can be selected here. Currently SHA
and MD5
are available.
SSL
This option can be selected to use Secure Sockets Layer (SSL) encryption. Note: SSL encryption is deprecated and it is recommended to use TLS encryption.
Read only access
This option can be selected if users should have read-only access to the LDAP system.
Access without authentication
This option can be used to set whether anonymous access to the LDAP system is allowed.
TLS
This option can be selected to use Transport Layer Security (TLS) encryption.
ldap_use
Boolean
false
This value indicates whether an LDAP service should be used.
truststore
Text
This value specifies where the truststore is located.
truststore_password
Text
This value specifies the password for authentication in the truststore.