Blueprint Developer Manual / Version 2107
Table Of ContentsAs a feature often requires the extension of multiple applications, a JSON file is used to bundle up plugins for different applications. If you write plugins only for a specific project, you probably do not need to create such a file. But if you want to provide plugins for others or want to use plugins provided by CoreMedia or partners, this file is intended to be the entry point to access those plugins.
The file simply lists all individual plugins by their targeted applications.
The plugins are referenced by their Maven coordinates, where the type is always zip
.
The JSON file should follow the schema at
https://releases.coremedia.com/plugins/plugin-schema-1.0.0.json.
There is no automated out-of-the-box deployment process that would distribute the individual plugins
into the respective applications.
You could include them as a dependency into your Maven project, for example, when building your docker images,
or download them manually or via mvn dependency:copy -Dartifact=g:a:v:zip -DoutputDirectory=.
and deploy them with your applications directly.
Example
{ "$schema": "https://releases.coremedia.com/plugins/plugin-schema-1.0.0.json", "plugins": { "studio-server": { "maven": { "groupId": "com.acme.plugins", "artifactId": "my-plugin-studio-server", "version": "1.2.3" } }, "studio-client": { "maven": { "groupId": "com.acme.plugins", "artifactId": "my-plugin-studio-client", "version": "4.5.6" } } } }
Example 4.19. my-plugin-7.8.9.json
As you can see in the example, the individual plugins can have different versions and the JSON descriptor itself should also be versioned, so that you can release new versions without breaking anything. Of course all plugins and the JSON descriptor could share the same version if you release everything together.