Headless Server Developer Manual / Version 2304
Table Of ContentsOverview
Headless Server supports the usage of plugins by offering headless specific extension points and service beans. For details about how to develop and deploy plugins, please see Section 4.1.6, “Application Plugins” in Blueprint Developer Manual .
Three types of plugin support are offered:
Extension points
Extension points are concrete implementations of certain interfaces or classes in a plugin, which are annotated with @ExtensionPoint. These extension points are then consumed by the Headless Server.
Beans for plugins
Beans for plugins are service beans especially designed to be used by a plugin. The service beans are provided to the plugin as a spring configuration class, which should be imported by the plugins own spring configuration class.
Resource file loading
Similar to extension points, a plugin may provide resource files to Headless Server, which are then additionally consumed at different points within Headless Server.
To develop a plugin for Headless Server, you need to add these maven dependencies to your project:
<!-- headless specific extension points --> <dependency> <groupId>com.coremedia.caas</groupId> <artifactId>headless-server.plugin-support</artifactId> <version>${cms.version}</version> <scope>provided</scope> </dependency> <!-- optional: common beans for plugins --> <dependency> <groupId>com.coremedia.cms</groupId> <artifactId>common.beans-for-plugins</artifactId> <version>${cms.version}</version> </dependency> <!-- optional: headless blueprint base beans for plugins --> <dependency> <groupId>com.coremedia.blueprint.base</groupId> <artifactId>bpbase-headless-server-core</artifactId> <version>${cms.version}</version> <scope>provided</scope> </dependency>