June
Goobi viewer Digest for June 2022

Coming soon
🚀

  • Innovations in access restrictions
  • Revision of the CMS area

Developments

E-Publications

General

Together with the Zentral- und Landesbibliothek Berlin (ZLB), we are developing an open source solution for the processing and provision of e-publications. Both Goobi workflow and Goobi viewer will be extended with corresponding functionalities and system components.
Goobi workflow controls the management and registration of submitters, the submission interfaces and the submission process. The Goobi viewer takes over the legally compliant provision the e-publications.
The developments are not yet complete, but the first parts are included in the June release. These are described below.

Client (Preview)

The client is a desktop application that works under Windows, Mac and Linux. You can configure the name of the client, the icons to use, the Goobi viewer server to use, supported languages and so on. After configuration, the client is compiled. This creates a native application for the respective operating system.
Under Windows, an installer is also created in the form of a setup.exe. This supports a silent installation in order to deploy the client automatically with systems such as OPSI or baramundi on many PCs. The client itself supports this via the parameter myid and then only outputs its ID, which can then be used in corresponding scripts for automatic activation at the back end.
The client itself then ensures that, for example, screenshots, copying to the clipboard or saving and printing documents is prevented. The restrictions may differ depending on the operating system.
The client is expected to be published as open source on Github next month.
E-Publications Client Preview

Client management

In the backend of the Goobi viewer there is a new page for the administration of the clients. A client determines a unique ID for itself at runtime and transmits this to the server. The server then checks whether this ID is known and configured. Each client must be confirmed with its ID and an IP address range from which it may connect.
There are two ways to confirm a client: Via the graphical interface in the backend or via the REST API.
If there is an unconfigured client, a corresponding widget is displayed on the dashboard in the backend. On the "Clients" page, non-configured clients are listed in the upper area. Below this, there is a table that lists all known, already configured clients. If an unconfigured client is clicked, it can be confirmed or rejected. For each client, a name and a description can optionally be stored.
Alternatively, new REST endpoints are available for client management. If the correct TOKEN is sent, clients can also be accepted and configured or rejected via it. This means that even in the case of automatic deployment on many PCs at the same time, each client can be activated without the need for manual interaction.
Clients are ultimately rights holders such as users, user groups or IP ranges and can be combined with access restrictions. In this way, data sets or only certain functions such as access to images / files etc. can be restricted to one or all clients.
Unconfigured Client on Dashboard Widget and Sidebar Indicator
Clients overview page
Accept or reject new client
Configure client
New REST endpoints for client management
The Goobi view Indexer now also writes a field containing only the day and the month. This makes it possible to find all records that belong to a specific day, regardless of the year. The new URL pattern /searchtoday/ is available for this purpose, which then automatically translates to the current date.

Access restrictions

The Goobi viewer has long been able to handle a moving wall. However, we were not satisfied with the configuration: different fields for year and date as well as a switch in the backend AND a condition that had to be entered or kept in mind. With this release, the procedure has been simplified. The date is now stored uniformly in the field DATE_PUBLICRELEASEDATE and is also automatically normalised there. A year within the Moving Wall automatically becomes the first of January of the specified year at 00:00. This also eliminates the need to formulate a Solr query as a condition, since it is no longer necessary to distinguish between MDNUM_ and DATE_ fields. The condition is now set automatically if the toggle has been activated in the backend for the moving wall.

Websockets

The Goobi viewer uses websockets in several places. One place is to determine how often a record is viewed at the same time, if this access restriction has been configured. The opening of corresponding websockets is now no longer done globally, but only on the pages of the corresponding datasets. This has significantly reduced the number of Apache processes required.
Fewer Apache processes through smarter websocket connections

Version numbers

The versions that must be entered in the pom.xml of the theme in order to get the functions described in this digest are:
<dependency>
<groupId>io.goobi.viewer</groupId>
<artifactId>viewer-core</artifactId>
<version>22.06.4</version>
</dependency>
<dependency>
<groupId>io.goobi.viewer</groupId>
<artifactId>viewer-core-config</artifactId>
<version>22.06.1</version>
</dependency>
<dependency>
<groupId>io.goobi.viewer</groupId>
<artifactId>viewer-connector</artifactId>
<version>22.06</version>
</dependency>
The Goobi viewer Indexer has the version number 22.06
The Goobi viewer Crowdsourcing Module has the version number 22.06.1