June

Goobi viewer Digest for June 2020

Coming soon 🚀

  • Expansion of crowdsourcing campaigns

  • Adjustments to the IIIF interfaces

  • Data sets without images on the reading lists

Developments

Backend

One and a half years ago we introduced a new design for the admin backend. Our goal was to create a uniform design across all installations to be able to write documentation including screenshots. Short time later we had to realize, that the uniform design was not enough. Before we can start with the documentation, the individual pages have to be reworked to position and name elements in a consistent way or to adapt the operation where it is not intuitive.

With the version released this month we are now taking the next step because we have overhauled many pages in the past months. Special attention was paid to usability.

The operating concept provides that information is clearly structured and can always be found at the same place on the different pages. For example, the buttons for adding new content are always at the top right next to the page heading. Links to view, edit or delete are only displayed when the mouse is moved over the area. The links are displayed in tables uniformly in the first column or alternatively within the boxes. Inline help is available for all form elements and can be displayed if required. Yes/No questions are no longer visualized via a checkbox, but via a button.

Furthermore, a new URL concept has been implemented. The addresses of the individual pages are now "stateless" as in the frontend. This means that a URL can be copied from the address line and passed on. The change also alleviates problems that occurred in the past when using the back button of the browser or when working with several tabs open at the same time.

All revised pages now meet the WCAG 2.1 standard.

The adjustments and new features of the individual pages are described in the following sections.

Administration

Dashboard

When you enter the administration area, you are no longer greeted by an empty page, but by a filled dashboard. As well as a welcome message, it displays the last CMS pages you edited and the versions of the Goobi viewer components installed. If Piwik / Matomo is activated, you can switch directly from the dashboard to the Matomo backend.

If there are unconfigured access licences, this is indicated. The most recently exported works are also represented, as the display may be different for an administrator than for users who are not logged in.

Users

The table with the users now shows the profile picture selected by the user. It is also visible whether a user is a member of a group or has administrator rights. The colors of the badges follow the following scheme:

  • Black: The user is a member of the specified groups

  • Light blue : The user is the owner of the group

  • Red: The user has administrator rights

If a user is edited there is a new section "Delete account". Here an administrator can delete an account and choose whether to anonymise or remove all user comments, crowdsourcing content and annotations. Excluded are OCR corrections. In the case of anonymization, the data is assigned to the collective e-mail address anonymous@goobi.io. If a different address is desired, it can be set in the local configuration file. See also chapter 2.5.3 in the documentation.

Groups and IP-Ranges

User groups are now displayed as tiles. Previously, only the name and the owner were visible, but now the description is also displayed directly. Another new feature is the indication of how many members a group has.

IP ranges are displayed as tiles analogous to the groups.

Access licenses

The "Licenses" section has been renamed "Access Licenses" in order to provide more clarity on functionality by sharpening the term. The settings in the access licenses control access to records for users who are not logged in.

In addition to the renaming, however, there have been other far-reaching changes. The most important one is the reversal of the logic for unconfigured values. Previously, records were displayed with an access license until its restriction was configured in the backend. From now on, records with an access license are locked until it has been determined how it should behave.

Unconfigured values are prominently displayed. Below that, the already configured ones are listed in the already presented tile form. Previously only the assigned functions were listed. Now the unassigned functions are also displayed, so that the overview can already show what was allowed and what was not. Also new is the display of how many records are covered by this access license. A click on this number leads to a search hit list that lists the corresponding records.

When assigning and removing functions to an access licence, the user concept with coloured badges familiar from Goobi workflow for managing user groups has been adopted.

Rights

This page is completely new. It replaces the previous assignment options in the removed tabs on the pages "Users", "Groups", "IP Ranges" and "Licenses".

While an access license only controls access for unregistered users, users, groups and IP ranges can now be assigned more extensive functions. The list of assigned rights is again in tiled form. The colours used within the badges follow a colour concept that is explained on the page itself.

The following two examples show the configuration possibilities:

Example 1: For an access license only the display of metadata was configured, here an IP range can also be allowed access to the images. Example 2: A user should only be able to edit certain pages in the CMS

When a new right is added, three questions must be answered first:

  1. To whom should a right be assigned. You can choose between users, groups and IP ranges

  2. The specific entry. The available values of the previously selected type are available for selection.

  3. Which functionality or which access license is involved.

If all three questions are answered, a box appears with information about the selected values.

If there is a further configuration option, the box "Functions" is also displayed in which the additional rights can be configured. This can either be the activation of additional functions for an access license or the activation of certain areas in the CMS.

CMS

Pages

There are also new features on the CMS pages. The link "Create new page" has disappeared from the sidebar and is now located as an add button at the top right of the page header.

The table with the listing of the already existing CMS pages was also revised. In addition to the restructuring of the contents, two more items of information have been added:

  1. If a CMS page is mapped to a static page, it is visualized with an orange badge

  2. If a CMS page is assigned to a subtheme, the selected subtheme is listed

When adding a new page, the list of available CMS templates has grown over the years. This has also made it more confusing. Therefore, administrators can now manage this list. For this purpose, there is a link at the bottom of the page "Manage displayed templates". There you can activate or deactivate the templates for the display.

Categories

The categories are now also visualized as a badge. The purple colour tone runs consistently through all areas in which categories are used.

Static pages

Previously, on the "Static pages" page, the entries with overwriting CMS page were displayed at the top and those without assignment below. This logic was changed and the entries now have a fixed order. This eliminates the need to search for an entry in the table, since they are now always in the same place.

REST API

The revised REST API is also completely new. It has been documented in the OpenAPI standard and can be discovered via Swagger UI. The individual REST endpoints are listed and described there. This page can be found at the following URL:

Also new is that the REST API is now subject to versioning. This means that the version number can be increased in case of necessary, not downward compatible changes and applications developed against the API do not break. In the new endpoint /index/stream you can work directly with Solr Streaming Expressions. Furthermore the test coverage of the REST API has been significantly increased.

Under the hood

Under the hood, there were also decisive changes. Firstly, the bootstrap framework in the Goobi viewer core has been updated to version 4. This change means that more modern styling instructions are used by default in the browser.

Secondly, the Solr search index used has been raised to version 8. Version 4 was previously used. Since Solr does not officially support migration across more than two major versions (background), the Goobi viewer Indexer has been extended so that when the database is reindexed in Solr 8, the necessary information is automatically retrieved from the old index and transferred to the new one.

See also the core changelog for version 4.8.0 (german).

Other

  • A new configuration switch has been introduced for browsing, where leading characters should be ignored when sorting. See also chapter 2.19.8 in the documentation.

  • The dcList mode in the blacklist for collections has been removed.

Goobi viewer Indexer

The Goobi viewer Indexer has been adapted for compatibility with Solr 8 and extended to include the possibility of transferring relevant data from one Solr index to another. See also chapter 3.1.4 in the documentation.

Goobi viewer Connector

The Goobi viewer connector has been adapted for compatibility with Solr 8.

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>4.8.0</version>
</dependency>
<dependency>
    <groupId>io.goobi.viewer</groupId>
    <artifactId>viewer-core-config</artifactId>
    <version>4.8.1</version>
</dependency>

The Goobi viewer Indexer has the version number 4.8.2.

The Goobi viewer Connector has the version number 4.8.2.

The Goobi viewer Crowdsourcing Module has the version number 1.5.0.

Last updated