Digital.ai Deploy 10.2.0 introduces a new way of managing plugins. Once you upgrade your Digital.ai Deploy to 10.2.0 or higher version there is no more manually copying of plugin files. Everything is handled by Digital.ai Deploy GUI and internal API. Plugins are now being stored in the database as a central location to remove manual manipulation of files across the cluster.
Synchronization between filesystem and database occurs during system startup to facilitate the plugin management process.
How synchronization works
- If the plugin exists on the filesystem but not in the database then it gets written to database
- If the plugin exists in the database but not on the filesystem then it gets written to filesystem
- If the plugin exists on both places (filesystem and database), version and checksum comparison happens (see below for more details)
Plugins that come with distribution are called bundled plugins. They are automatically placed on your filesystem.
When you start your distribution of Digital.ai Deploy 10.2.0 and later versions for the first time, you will see a message that these plugins are being synchronized with the database and you can see the below message:
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.
IMPORTANT - HIGHER VERSION ALWAYS WINS
If the plugin already exists in the database and on the filesystem before synchronization then the higher version gets written to the database or the filesystem.
EXAMPLE: If plugin version is higher in the database than on filesystem, plugin will be deleted from filesystem and version from database gets written to the filesystem.
- 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) and checksums (calculation based on bytes of the plugin file) are not identical then database plugin always gets materialized over the filesystem plugin.