DE EN EN (Google)

Plugins

The easydb provides a number of plugins already, the so-called base plugins.

Apart from this, you may develop plugins yourself or install plugins installed by others. We describe the installation of such a plugin in the Extension-Plugin.

Plugins found on https://github.com/programmfabrik support both ways. You may activate them as a base-plugins or install them as an extension-plugins. The latter is much more complicated.

List of active plugins

Which plugins are currently active can be seen in the web front end of the easydb, on the far left via the “i”(nfo) button and then with its subpoint “About”.


Base plugin

Available base plugins

Pluginname Source code Description
easydb-auto-keyworder-plugin Automatically fill objects with information from external AI services for image recognition
easydb-presentation-pptx-plugin Allows to create powerpoint presentations in easydb5
easydb-server-plugin Allows you to see server statistics in easydb5 frontend
easydb-eventmanager-plugin Allows you to see all events in easydb5 frontend
easydb-hotfolder-plugin Allows you to configure the hotfolder
easydb-export-transport-ftp-plugin Allows you to export your files via ftp
easydb-remote-plugin Allows you to connect your frontend to another easydb5
easydb-connector-plugin Allows you to connect your easydb5 to other instances
easydb-basemigration-plugin
easydb-oai-plugin
easydb-detail-map-plugin
easydb-editor-tagfilter-defaults-plugin
easydb-easydb4migration-plugin
easydb-sso-plugin Allow the easydb to communicate with Kerberos or Shibboleth
easydb-ldap-plugin Allow the easydb to communicate with the LDAP
easydb-webhook-plugin
easydb-wordpress-plugin
easydb-typo3-plugin
easydb-drupal-plugin
easydb-falconio-plugin
easydb-barcode-plugin
easydb-hijri-gregorian-converter-plugin https://github.com/programmfabrik/easydb-hijri-gregorian-converter-plugin
easydb-custom-data-type-dante-plugin https://github.com/programmfabrik/easydb-custom-data-type-dante References to entities of the DANTE-Vokabulary-Server (https://dante.gbv.de)
easydb-custom-data-type-gazetteer https://github.com/programmfabrik/easydb-custom-data-type-gazetteer
easydb-custom-data-type-geonames https://github.com/programmfabrik/easydb-custom-data-type-geonames References to entities of the GeoNames geographical database
easydb-custom-data-type-georef https://github.com/programmfabrik/easydb-custom-data-type-georef References to geoJSON-Objects
easydb-custom-data-type-getty https://github.com/programmfabrik/easydb-custom-data-type-getty References to entities of the Getty Vocabularys.
easydb-custom-data-type-gn250 https://github.com/programmfabrik/easydb-custom-data-type-gn250 References to entities of the gn250-Set of Bundesamt für Kartographie
easydb-custom-data-type-gnd https://github.com/programmfabrik/easydb-custom-data-type-gnd References to entities of the Integrated Authority File (GND)
easydb-custom-data-type-gvk https://github.com/programmfabrik/easydb-custom-data-type-gvk References to entities of the Gemeinsamer Verbundkatalog (GVK)
easydb-custom-data-type-goobi https://github.com/programmfabrik/easydb-custom-data-type-goobi
easydb-custom-data-type-iconclass https://github.com/programmfabrik/easydb-custom-data-type-iconclass
easydb-custom-data-type-html-editor https://github.com/programmfabrik/easydb-custom-data-type-html-editor
easydb-custom-data-type-link https://github.com/programmfabrik/easydb-custom-data-type-link Allows you to configure fields as web-link
easydb-custom-data-type-location https://github.com/programmfabrik/easydb-custom-data-type-location Allows you to configure gps data in easydb5
easydb-custom-data-type-nomisma https://github.com/programmfabrik/easydb-custom-data-type-nomisma
easydb-custom-data-type-tnadiscovery https://github.com/programmfabrik/easydb-custom-data-type-tnadiscovery References to entities of the Nationalarchives-Discovery-System

Base plugins have already been installed with the easydb installation and must therefore only be activated.

Compare the following lines to the configuration file config/easydb-server.yml below the data store (defined during the installation). Add the missing lines.

plugins:
  enabled+:
    - base.detail-map
    - base.eventmanager

… for e.g. The two plugins easydb-detail-map-plugin and easydb-eventmanager-plugin.

After that, you should restart the easydb.

To explicitly deactivate a plugin, use the suffix - for the list of enabled plugins:

plugins:
  enabled+:
    - base.detail-map
  enabled-:
    - base.eventmanager

The easydb-eventmanager-plugin will be disabled although it was enabled by default.


Extension plugin

Extension plugins by Programmfabrik

Pluginname Plugin website Description
example-plugin https://github.com/programmfabrik/easydb-plugin-examples/) for testing and learning

Extension plugins are typically made by developers outside of Programmfabrik.

Thus the installation procedure can be different than shown here. In that case please contact the plugin developer for more information.

For some plugins there might be a so called issue tracker enabled, e.g.: https://github.com/programmfabrik/easydb-ubhd-3d-viewer-plugin/issues

Installation example

In this case with the plugin easydb-custom-data-type-geonames:

Commands to be executed in the data store directory (e.g. /srv/easydb, defined during installation):

mkdir config/plugin
cd config/plugin
git clone https://github.com/programmfabrik/easydb-custom-data-type-geonames easydb-custom-data-type-geonames
cd easydb-custom-data-type-geonames
git submodule init
git submodule update
make

In case of problems:

Apply sudo as needed.

Missing permissions when running make can be fixed by calling chmod -R o+w plugin/ from one level above the plugin directory.

If “make” asks for the programm “coffee” then please install the newest version which starts with “1.” e.g. version 1.12.7 during the time of writing this. On a Debian 10 server, these commands have been tested to achieve that:

apt-get install npm
npm install -g coffee-script@1

Typically not needed, but mentioned here just in case:

cd /usr/bin
ln -s nodejs node

Another program that may be unavailable is “sass”. If you run into this, you may get it via npm install -g sass, assuming you’re on a debian derivate. https://github.com/sass/dart-sass

After that you should return to the directory where you executed “make” and execute it again.

If you run into ReferenceError: globalThis is not defined, you may run a too old nodejs version (<12). Visit https://github.com/nodesource/distributions and install a newer version.

Now the plugin is ready but the easydb does not yet know of the plugin. To change that, compare the following lines to the configuration file config/easydb-server.yml below the data store. Add the missing lines:

extension:
  plugins:
    - name: easydb-plugin-example
      file: plugin/example-plugin/example-plugin.config.yml
plugins:
  enabled+:
    - extension.easydb-plugin-example

In detail, look for the name of the yml-file in the git clone directory.

Also look for the name of the plugin in that yml-file. Place the names in the configuration. For clarification, here another example with capital letters as emphasis to show where to replace strings:

extension:
  plugins:
    - name: NAME_FROM_YML_FILE
      file: plugin/CLONE_DIRECTORY/NAME_OF_THE_YML_FILE
plugins:
  enabled+:
    - extension.NAME_FROM_YML_FILE

Lastly, you should restart the easydb to load the new plugin:

docker restart easydb-server easydb-webfrontend

Solution plugin

If we are developing a plug-in for you, we can deliver it as a solution plug-in.

In this case, we also create documentation for the plugin. You will get the documentation from us.


CMS Plugins

Wordpress Plugin

Wordpress Plugin to easily transport media files to Wordpress CMS.

Currently, this plugin supports the creation of new media as well as the updating of related metadata. When a new record is created in easydb, a new record is also created in Wordpress. There is no support for deleting media.

Prerequisites

Setup (Wordpress)

Install Plugin in easydb

Add the following lines to your easydb-server.yml:

base:
  plugins+:
    - name: wordpress
      file: easydb-wordpress-plugin/wordpress.yml

plugins:
  enabled+:
    - base.sso
    - base.simple-example
    - base.wordpress

Now go to Basic Configuration to finish the WP configuration for easydb.

Falcon.io Plugin

Plugin to easily transport media files to Falcon.io CMS. Currently this supports sending selected media to Falcon.io. Updating is not supported, new files are created in Falcon.io instead.

Setup (Falcon.io)

Install Plugin in easydb

Add the following lines to your server.yml:

base:
  plugins+:
    - name: falconio
      file: easydb-falconio-plugin/falconio.yml

plugins:
  enabled+:
    - base.falconio