Digital.ai Release 10.2.0 introduces new way of managing plugins. Once you upgrade your Digital.ai Release to 10.2.0 or higher version there is no more manually copying of plugin files. Everything is handled by Digital.ai Release GUI and internal API. Plugins are now being stored in the database as a central location to remove the manual manipulation of files across the cluster.
Synchronization between filesystem and database occurs during system startup to facilitate the plugin management process.
Since Release 22.0.0 and later versions, a new option
-plugin-source is available to add when starting the distribution.
The value of the option can be either
filesystem. If the option is not given,
database is used as default.
-plugin-source startup parameter defines the source location for the plugins. It helps in synchronizing the contents of the database and filesystem.
If the plugin source is defined as
-plugin-source option is not defined:
- All plugins on the filesystem that are not in the database will be deleted
- All plugins from the database that do not exist on the filesystem will be written on the filesystem
If the plugin source is
- All plugins from the database that do not exist on the filesystem will be deleted
- All plugins on the filesystem that are not inserted into the database will be inserted into the database
Plugin synchronization is skipped in certain cases (even if the
-plugin-source option is defined) in the following scenarios:
- When you start a fresh installation for the first time
- When you start the system the first time after upgrading to a new version
If there are different versions of a plugin in the database and filesystem the one from
-plugin-source will override the one on the other location. This will happen irrespective of the version and source, thereby allowing version upgrades and downgrades.
NOTE The default value of the
database when Digital.ai Release is run as a service. To modify the
-plugin-source value, configure the value of
wrapper.app.parameter.1 property from
-plugin-source=filesystem in the following file:
conf/xlr-wrapper-linux.confif you are running Linux
conf/xlr-wrapper-win.confif you are running Windows
If plugin source is
filesystemand a plugin that is inserted into the database does not exist on the filesystem, the plugin will be deleted from the database.
If plugin source is
databaseand a plugin that is inserted into the database does not exist on the filesystem, the plugin will be written to the filesystem.
If plugin source is
databaseand a plugin that is inserted into the database exist on the filesystem, but a different version, the plugin on the filesystem will be removed and the plugin from the database will be written to the filesystem.
Plugins that come with the distribution are called bundled plugins. They are automatically placed on your filesystem.
When you start your distribution of Digital.ai Release 10.2.0 and later versions for the first time, you will see a message that these plugins are being inserted into the database and synchronized with the message below:
Official plugins are plugins that you can find under the Browse tab in the Plugins menu.
Once you install a new official plugin it means it is being inserted into the database.
You will get a message that the plugin is ready for installation. Once you restart the system, synchronization will happen and the new plugin gets written to the filesystem after which it is ready for usage.
- Local plugins are plugins that you can manually upload by clicking the Installed tab under the Plugins menu. Once you upload a new local plugin it means it is being inserted to the database. You will get a message that the plugin is ready for installation. Once you restart the system, synchronization will happen and the new plugin gets written to the filesystem after which it is ready for usage.
- If plugin exists both on filesystem and database (which means plugin with the same name was already uploaded before), only plugins from plugin source will get materialized
- Type validation is introduced as of Digital.ai Release 22.0.0, so there cannot be duplicated types.