The CoreMedia Blueprint workspace contains the modules
, packages
, boxes
and
test-data
top level aggregator modules.
modules
The modules
aggregator module is the most important space for project developers.
All code, resources, templates and the like is maintained here. You can start all components
locally in the modules area.
The modules
hierarchy consists of modules that build libraries and modules that assemble these
libraries to applications. Library modules are being built with the standard Maven jar
packaging
type or with the jangaroo
packaging type, which is a custom packaging type to package CoreMedia
Studio libraries and plugins.
Most applications created by the modules below the modules folder are web applications using the
standard Maven war
packaging type. All other applications are built with the custom
coremedia-application
packaging type. In contrast to war
modules
coremedia-application
modules are being built with the coremedia-application-maven-plugin, a
custom plugin tailored to the CoreMedia .jpif
based application runtime.
The modules folder is structured in sub-hierarchies by grouping modules due to their
functionality. The main groups are cae
, cmd-tools
,
ecommerce
, editor-components
, studio
,
search
and server
which contain the applications defining CoreMedia DXP 8.
Beside the application groups you can see a folder named shared
. Modules
belonging to this category cannot be assigned to one group alone but merely provide libraries
and APIs for multiple applications. The remaining two groups
extension-config
and extensions
are required for the
new extensions functionality of CoreMedia Blueprint workspace.
By default, CoreMedia Blueprint workspace ships preconfigured with many extensions such as Adaptive Personalization or Elastic Social. Many extensions not only touch one application but merely extend many of them. The CoreMedia Project Extensions decouples the application from the dependencies it is extended by and lets you centralize and automatically manage the dependencies. See Section 4.1.5, “Project Extensions” for details.
Not all extensions will be used in a project right from the start. In this case, the CoreMedia Project Extensions allow you to easily deactivate features that you do not need.
packages
The artifacts, for example WAR and Zip files build by the modules hierarchy are not deployable in a target environment as they contain default configuration values used to simplify development with the workspace. The packages hierarchy adds this configuration flexibility and even more important it adds the integration with the servlet container and the operating systems service infrastructure.
The artifacts build in packages are either Zip or RPM files. For RPM files there is an inbuilt native installation routine whereas the Zip files contain custom installation scripts.
The packages
hierarchy consists of several sub-hierarchies. The main hierarchies are services
,
tools
and apache-overlays
. The services sub-hierarchy builds all applications that are built on
top of Tomcat as a servlet container. The tools sub-hierarchy builds all command-line tools for
all services. The apache-overlays
hierarchy builds overlays to an already installed Apache
server, adding only configuration files.
Beside these three hierarchies there is the package-template
module, that contains all the
OS-specific installation code like the scriptlets for the RPM files or the initialization scripts for the
Tomcat services.
The tomcat
hierarchy consists of modules necessary for the Tomcat service infrastructure. The
tomcat-installation
module builds an installable version of a Tomcat distribution. The Tomcat
based services share, when installed on the same machine, one installation of Tomcat. They only
create instances of Tomcat using the binaries of the distribution together with their own
configuration files, which are being provided by the tomcat-config artifacts. The
tomcat-server-libs
and coremedia-tomcat
modules provide class loading extensions.
The editor-webstart-webapp
module has been placed here as signing and repackaging is closer
related to the packages hierarchy as with the modules hierarchy.
boxes
The boxes module contains all provisioning code to automatically set up a CoreMedia Blueprint system. For local development it also contains a harness in the form of a Vagrant file to startup a virtual machine within VirtualBox. See Section 4.1.6, “Virtualization and Provisioning” for more information.
test-data
The test-data folder contains test content to run CoreMedia Blueprint with. It can be imported into the content repository by using the CoreMedia serverimport tool. Extensions may contain additional test-data folders. For more information have a look at Section 3.5.3, “Locally Starting the Components”