libreccm/README.md

3.7 KiB

LibreCCM

The https://libreccm.org framework and the https://librecms.org web content management system.

Overview

This repository contains the Jakarta EE based, new version of https://libreccm.org and https://librecms.org. We are now using Maven as build tool.

Some more documentation is provided as Maven project site. To create the site run

mvn clean package site site:stage

and open the ./target/staging/index.html file in your browser.

The recreate the site run

mvn package site site:stage

again.

Note: The ./target/staging folder is left intact when cleaning. If you want to remove the folder you have delete it manually.

To include integration tests into the reports run

mvn clean verifiy site site:stage -P${profileName}

Note: If there are test failures the build fails and the site is not build. The build the site anywhy use

mvn clean package site site:stage -Dmaven.test.failure.ignore=true

or with the integration tests included

mvn clean verify site site:stage -Dmaven.test.failure.ignore=true -P${profileName}

Running integration tests

Some of the modules provide integration tests which use Arquillian to run tests inside an application server. If a module provides integration tests it should have at least four profiles for running them (at the time of writing):

  • run-its-with-wildfly-h2mem: This profile uses the wildfly-maven-plugin to start a Wildfly and run the integration tests. The H2 database which is integrated with Wildfly is used for run the tests. No configuration is necessary.
  • run-its-with-wildfly-pgsql: This profile uses the wildfly-maven-plugin to start a Wildfly and run the integration tests. A PostgreSQL database is used to run the tests. The connection parameters are configured using the it-pgsql-datasources.properties file in the project root. Make sure to create a database for all modules and configure them before using this profile.
  • run-its-in-remote-wildfly-h2mem: This profile uses a remote Wildfly and the H2 database for running the tests. The user it responsible for starting the Wildfly container and for creating the required databases.
  • run-its-in-remote-wildfly-pgsql: This profile uses a remote Wildfly and PostgreSQL databases for running the tests. The user it responsible for starting the Wildfly container and for creating the required databases.

To run the integration tests select a profile - we recommend to use the profiles which use the wildfly-maven-plugin` to manage to Wildfly application server - and run

mvn verify site site:stage -P${profileName}

Running LibreCCM (development environment)

Before running a bundle the WAR file has the be generated using

mvn package

To run LibreCCM choose the bundle to run, for instance ccm-bundle-devel-wildfly. You can run the bundle

mvn wildfly:run -pl ${bundleName} -am

This will start a Wildfly server running the selected bundle. Before running the bundle the Wildfly container has the be configured. For these purpose, run

mvn wildfly:run -pl ${bundleName} -am -Psetup-runtime

This will start the Wildfly server, deploy the bundle WAR, and create a datasource. At the moment only PostgreSQL is supported as database. The datasource configuration is provided by the datasource.properties file in the bundle directory. To create one copy the example file and adjust the settings.

Archetypes

To install the archetypes in your local Maven repository run

mvn [clean] install -pl $archetype-module -am

for example

mvn clean install -pl ccm-cms-archetypes-contenttype -am