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
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
- Support for Wordpress 4.7 and higher
- For the use in the frontend, the JSON rest API must be activated (is default) and authentication must be set up.
Setup (Wordpress)
- easydb supports JSON Basic Authentication and WP REST API - OAuth 1.0a Server.
- Install plugin(s) for authentication
- Enable plugin(s) for authentication
- Setup a user for oauth plugin,
Callback URL: http:// easydb-server /api/v1/plugin/base/easydb-wordpress-plugin/oauth1
(Log into WP > Main Menu > User > Application > enter a name and callback URL here. Save and keep the generated client key and client secret ready for the setup in the basic configuration.)
Install Plugin in easydb
- Make sure the plugin is correctly installed (paths are relative to the .yml)
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)
- Must have a registered Falcon.io account
- Register minimum one Channel so the Content Pool becomes an accessible feature
- Generate an API_Key for easydb under Settings->Integration & APIs
Install Plugin in easydb
- Make sure the plugin is correctly installed (paths are relative to the .yml);
Add the following lines to your server.yml:
base:
plugins+:
- name: falconio
file: easydb-falconio-plugin/falconio.yml
plugins:
enabled+:
- base.falconio