Compare commits

..

19 Commits

Author SHA1 Message Date
Jens Pelzetter 2f31c5b3a8 Several bugfixes
Former-commit-id: 341404fca4
2020-05-24 16:33:45 +02:00
Jens Pelzetter 179ca1fc5e Updated user entity, don't use JSONB for primary email address
Former-commit-id: facba35003
2020-05-24 14:36:20 +02:00
Jens Pelzetter 1fc48eb39c Don't use embedded entity for email address in User class
Former-commit-id: 87dea3cebd
2020-05-24 14:00:23 +02:00
Jens Pelzetter 8956a5d9f5 Fixed typos in test datasets
Former-commit-id: 26c8ce9491
2020-05-24 10:42:35 +02:00
Jens Pelzetter ede3d639f5 Fixed typo in dataset for ShiroTest (and others)
Former-commit-id: 3b7c7909e0
2020-05-24 10:18:56 +02:00
Jens Pelzetter 132df428ed fixed typos in test datasets for GroupManagerTest
Former-commit-id: 8085699290
2020-05-24 10:04:07 +02:00
Jens Pelzetter c49dc8e31a fixed dbunit jsonb type
Former-commit-id: 8842aa66dc
2020-05-23 20:43:45 +02:00
Jens Pelzetter 12cc5f5ea7 Fixed test failures
Former-commit-id: 02fa324249
2020-05-23 20:01:30 +02:00
Jens Pelzetter 87172c1f27 Use JSONB column to store email addresses
Former-commit-id: 98d01b978f
2020-05-23 19:22:34 +02:00
Jens Pelzetter 047aaf0645 Missing dependency in deployment for ShiroTest fixed
Former-commit-id: ab7cea8227
2020-05-23 17:08:02 +02:00
Jens Pelzetter 85fabbf29e Missing classes for integration tests added to deployment
Former-commit-id: 0b50f2508e
2020-05-23 16:43:27 +02:00
Jens Pelzetter bbe69cbd2f Reducing boilerplate code for JSON mapping UserTypes
Former-commit-id: 1f970809b3
2020-05-23 16:30:01 +02:00
Jens Pelzetter 05b722e61c Use try with resources for readers
Former-commit-id: e5d0e5f329
2020-05-23 16:01:39 +02:00
Jens Pelzetter f03e63a443 Updated JavaDoc of LocalizedString
Former-commit-id: 69de594da6
2020-05-22 19:26:22 +02:00
Jens Pelzetter 0eea72225e Fixed bug in LocalizedStringType for null values
Former-commit-id: f62ece6de1
2020-05-21 21:09:43 +02:00
Jens Pelzetter 7d3475a480 JSON-DB cols work now for tests with PostgreSQL
Former-commit-id: 7a843e81b6
2020-05-21 19:50:27 +02:00
Jens Pelzetter 04789fd327 Trying to make DBUnit to work with JSON columns
Former-commit-id: 7d93f4dde4
2020-05-20 06:46:40 +02:00
Jens Pelzetter a50e1fb99b More edits for refactoring embedded entities into JSON cols
Former-commit-id: a82f46c846
2020-05-17 18:56:57 +02:00
Jens Pelzetter a369979f79 Refactor embedded localized string to JSON columns
Former-commit-id: 5abbc454a2
2020-05-17 17:07:43 +02:00
2755 changed files with 239985 additions and 208812 deletions

6
.gitignore vendored
View File

@ -1,17 +1,11 @@
it-pgsql-datasources.properties
nb-configuration.xml
nbproject
node
node_modules
runtime
target
.cache
.classpath
.factorypath
.parcel-cache
.project
.settings
.tscache
*.vscode
/ccm-core/nbproject/
/ccm-cms/nbproject/

20
Jenkinsfile vendored
View File

@ -1,14 +1,19 @@
pipeline {
agent any
tools {
maven 'apache-maven-3.8.4'
maven 'apache-maven-3.6.0'
}
stages {
stage('Build and Test') {
steps {
dir('') {
//sh 'mvn clean package verify -Prun-its-with-wildfly-h2mem -Dwildfly.propertiesFile=/srv/libreccm-wildfly.properties'
sh 'mvn clean package'
// sh 'mvn clean package test -Pwildfly-remote-h2-mem'
sh 'mvn clean package -Pwildfly-remote-h2-mem'
}
}
post {
always {
sh 'sudo systemctl restart wildfly'
}
}
}
@ -20,14 +25,10 @@ pipeline {
}
}
stage("Deploy") {
environment {
DEPLOY_TOKEN = credentials('gitea_libreccm_ci_packages')
NPM_TOKEN = credentials('gitea_libreccm_ci_packages')
}
steps {
dir('') {
configFileProvider([configFile(fileId: 'libreccm-packages-deploy', variable: 'MAVEN_SETTINGS')]) {
sh 'mvn -U -s "$MAVEN_SETTINGS" -e package deploy'
sh 'mvn -U -s "$MAVEN_SETTINGS" -e deploy'
}
}
}
@ -45,8 +46,7 @@ pipeline {
body: "Build ${env.BUILD_URL} failed."
}
always {
junit allowEmptyResults: true, testResults: '**/target/surefire-reports/*.xml'
junit testResults: '**/target/surefire-reports/*.xml'
recordIssues enabledForFailure: true, tools: [java(), javaDoc()]
recordIssues enabledForFailure: false, tool: spotBugs()

104
README.md
View File

@ -3,11 +3,8 @@
The [https://libreccm.org](LibreCCM) framework and the
[https://librecms.org](LibreCMS) web content management system.
## Overview
This repository contains the Jakarta EE based, new version of
[https://libreccm.org](LibreCCM) and [https://librecms.org](LibreCMS). We are
now using Maven as build tool.
This repository contains the Jakarta EE based, new version of LibreCCM
and LibreCMS. We are now using Maven as build tool.
Some more documentation is provided as Maven project site. To create the site
run
@ -18,86 +15,46 @@ and open the ./target/staging/index.html file in your browser.
The recreate the site run
mvn package site site:stage
mvn clean 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
To include integration tests into the reports run
mvn clean package test site site:stage -P$profile-name
mvn clean verifiy site site:stage -P${profileName}
Note: If there are test failures the build fails and the site is not
Note: If there are test failures the package goal 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
or with a profile
mvn clean verify site site:stage -Dmaven.test.failure.ignore=true -P${profileName}
mvn clean package site site:stage -Dmaven.test.failure.ignore=true -Pwildfly-remote-h2-mem
## Running integration tests
The available profiles are listed in the documentation. All modules should
provide a profile called wildfly-remote-h2-mem. This profile uses a remote
Wildfly application server and its integrated H2 in-memory database for
running the tests. Before you can run the integration tests you must download
Wildfly from http://www.wildfly.org. Unzip the downloaded archive and start
the server using the bin/standalone.sh file. Then go to another terminal,
navigate to the CCM NG directory and run
Some of the modules provide integration tests which use
[Arquillian](http://arquillian.org/) 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](https://docs.jboss.org/wildfly/plugins/maven/latest/)
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](https://docs.jboss.org/wildfly/plugins/maven/latest/)
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
mvn clean package test site site:stage -Pwildfly-remote-h2-mem
To run LibreCCM choose the bundle to run, for instance
`ccm-bundle-devel-wildfly`. You can run the bundle
ccm-bundle-devel-wildfly. Depending on the bundle and the selected profile
you may have to configure a datasource in the Wildfly server and create a
database. Also you need to configure an environement variable which points to
your Wildfly installation. Then you can run LibreCCM using
mvn wildfly:run -pl ${bundleName} -am
mvn package wildfly:run -DskipTests -pl ccm-bundle-devel-wildfly -am -Pgeneric
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.
You also have to create a wildfly.properties file which contains some settings
for the Wildfly server, for isntance the port the Wildfly server binds to. An
example file is provided.
## Archetypes
The above example skips all tests to speed up the start process. The generic
profile used in this example uses an existing Wildfly installation. The
JBOSS_HOME environment variable must either be configured or must be provided.
Alternativly you can provide the location of your Wildfly installation using
the -D switch: mvn -Djboss-as.home=/path/to/wildfly/
To install the archetypes in your local Maven repository run
@ -107,6 +64,15 @@ for example
mvn clean install -pl ccm-cms-archetypes-contenttype -am
Using the managed profiles (example is for testing):
mvn clean test -Djboss.home=/path/to/wildfly/ -DstartupTimeoutInSeconds=180 -Pwildfly-managed-h2-mem
You might need to increase the timeout.
For convience, we also provide a small Bash script which makes calling some Maven tasks easier. For more information please refer to the help of the ccm.sh script:
ccm.sh --help

View File

@ -1 +1 @@
mvn clean verify site site:stage -Dmaven.test.failure.ignore=true -Prun-its-with-wildfly-h2mem
mvn clean package site site:stage -Dmaven.test.failure.ignore=true -Pwildfly-remote-h2-mem

View File

@ -12,7 +12,7 @@
<artifactId>ccm-archetype-module</artifactId>
<version>7.0.0-SNAPSHOT</version>
<name>LibreCCM Module Archetype</name>
<name>LibreCCM Module archetype</name>
<url>http://www.libreccm.org/devel/modules</url>
</project>

View File

@ -183,8 +183,13 @@
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<configuration>
<detectLinks>false</detectLinks>
<detectJavaApiLinks>false</detectJavaApiLinks>
<detectLinks>true</detectLinks>
<detectJavaApiLinks>true</detectJavaApiLinks>
<links>
<link>http://docs.oracle.com/javase/7/docs/api/</link>
<link>http://docs.oracle.com/javaee/7/api/</link>
<link>http://docs.jboss.org/hibernate/orm/4.3/javadocs/</link>
</links>
<show>private</show>
<docfilessubdirs>true</docfilessubdirs>
<charset>UTF-8</charset>
@ -195,6 +200,16 @@
<author>true</author>
<keywords>true</keywords>
<failOnError>false</failOnError>
<doclet>org.jboss.apiviz.APIviz</doclet>
<docletArtifact>
<groupId>org.jboss.apiviz</groupId>
<artifactId>apiviz</artifactId>
<version>1.3.2.GA</version>
</docletArtifact>
<useStandardDocletOptions>true</useStandardDocletOptions>
<additionalparam>
-sourceclasspath ${project.build.outputDirectory}
</additionalparam>
</configuration>
</plugin>
@ -213,6 +228,11 @@
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.5.201505241946</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@ -221,7 +241,7 @@
<configuration>
<linkXref>true</linkXref>
<sourceEncoding>utf-8</sourceEncoding>
<targetJdk>11</targetJdk>
<targetJdk>1.8</targetJdk>
<rulesets>
<ruleset>/rulesets/java/basic.xml</ruleset>
<ruleset>/rulesets/java/braces.xml</ruleset>

View File

@ -1,91 +0,0 @@
/*
* ToDo: Add your license
*/
package ${package};
import static org.libreccm.testutils.DependenciesHelpers.*;
import static org.hamcrest.CoreMatchers.*;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.container.test.api.ShouldThrowException;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.arquillian.junit.InSequence;
import org.jboss.arquillian.persistence.CreateSchema;
import org.jboss.arquillian.persistence.PersistenceTest;
import org.jboss.arquillian.persistence.ShouldMatchDataSet;
import org.jboss.arquillian.persistence.UsingDataSet;
import org.jboss.arquillian.transaction.api.annotation.TransactionMode;
import org.jboss.arquillian.transaction.api.annotation.Transactional;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.EmptyAsset;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.shrinkwrap.resolver.api.maven.Maven;
import org.jboss.shrinkwrap.resolver.api.maven.PomEquippedResolveStage;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.io.File;
import java.util.List;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import static org.junit.Assert.*;
@RunWith(Arquillian.class)
@PersistenceTest
@Transactional(TransactionMode.COMMIT)
@CreateSchema({"create_${artifactId}_schema.sql"})
public class ${moduleClass}Test {
@PersistenceContext(name = "LibreCCM")
private EntityManager entityManager;
@BeforeClass
public static void setUpClass() {
}
@AfterClass
public static void tearDownClass() {
}
@Before
public void setUp() {
}
@After
public void tearDown() {
}
@Deployment
public static WebArchive createDeployment() {
return ShrinkWrap
.create(WebArchive.class,
"LibreCCM-${package}.${moduleClass}Test.war")
.addPackage(${moduleClass}.class.getPackage())
.addAsLibraries(getModuleDependencies())
.addAsLibraries(getCcmCoreDependencies())
.addAsResource("test-persistence.xml",
"META-INF/persistence.xml")
.addAsWebInfResource("test-web.xml", "WEB-INF/web.xml")
.addAsWebInfResource(EmptyAsset.INSTANCE, "WEB-INF/beans.xml");
}
@Test
@InSequence(1)
public void yourFirstTest() {
//ToDo: Add test logic
}
}

View File

@ -0,0 +1,94 @@
/*
* ToDo: Add your license
*/
package ${package};
import static org.libreccm.testutils.DependenciesHelpers.*;
import static org.hamcrest.CoreMatchers.*;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.container.test.api.ShouldThrowException;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.arquillian.junit.InSequence;
import org.jboss.arquillian.persistence.CreateSchema;
import org.jboss.arquillian.persistence.PersistenceTest;
import org.jboss.arquillian.persistence.ShouldMatchDataSet;
import org.jboss.arquillian.persistence.UsingDataSet;
import org.jboss.arquillian.transaction.api.annotation.TransactionMode;
import org.jboss.arquillian.transaction.api.annotation.Transactional;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.EmptyAsset;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.shrinkwrap.resolver.api.maven.Maven;
import org.jboss.shrinkwrap.resolver.api.maven.PomEquippedResolveStage;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.runner.RunWith;
import org.libreccm.tests.categories.IntegrationTest;
import java.io.File;
import java.util.List;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import static org.junit.Assert.*;
@Category(IntegrationTest.class)
@RunWith(Arquillian.class)
@PersistenceTest
@Transactional(TransactionMode.COMMIT)
@CreateSchema({"create_${artifactId}_schema.sql"})
public class ${moduleClass}Test {
@PersistenceContext(name = "LibreCCM")
private EntityManager entityManager;
@BeforeClass
public static void setUpClass() {
}
@AfterClass
public static void tearDownClass() {
}
@Before
public void setUp() {
}
@After
public void tearDown() {
}
@Deployment
public static WebArchive createDeployment() {
return ShrinkWrap
.create(WebArchive.class,
"LibreCCM-${package}.${moduleClass}Test.war")
.addPackage(${moduleClass}.class.getPackage())
.addAsLibraries(getModuleDependencies())
.addAsLibraries(getCcmCoreDependencies())
.addAsResource("test-persistence.xml",
"META-INF/persistence.xml")
.addAsWebInfResource("test-web.xml", "WEB-INF/web.xml")
.addAsWebInfResource(EmptyAsset.INSTANCE, "WEB-INF/beans.xml");
}
@Test
@InSequence(1)
public void yourFirstTest() {
//ToDo: Add test logic
}
}

View File

@ -0,0 +1,213 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--<parent>
<groupId>org.libreccm</groupId>
<artifactId>libreccm-parent</artifactId>
<version>7.0.0-SNAPSHOT</version>
</parent>-->
<parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel</artifactId>
<relativePath>../ccm-bundle-devel</relativePath>
<version>7.0.0-SNAPSHOT</version>
</parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel-thorntail</artifactId>
<packaging>war</packaging>
<name>LibreCCM Devel Bundle for Thorntail</name>
<url>http://www.libreccm.org</url>
<distributionManagement>
<site>
<id>libreccm-site</id>
<name>LibreCCM</name>
<url>http://www.libreccm.org/project-sites/</url>
</site>
</distributionManagement>
<organization>
<name>LibreCCM Foundation</name>
</organization>
<licenses>
<license>
<name>LGPLv2 or newer</name>
<url>http://www.gnu.org/licenses/lgpl-2.0.html</url>
</license>
</licenses>
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<!-- <dependencyManagement>
<dependencies>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>bom</artifactId>
<version>2.4.0.Final</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>-->
<dependencies>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>cdi</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>datasources</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>ejb</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>hibernate-search</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>jaxrs</artifactId>
</dependency>
<!-- <dependency>
<groupId>io.thorntail</groupId>
<artifactId>jaxrs-cdi</artifactId>
</dependency>-->
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>jaxrs-jsonp</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>jpa</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>jsf</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>jsonp</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>logging</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>mail</artifactId>
</dependency>
<dependency>
<groupId>io.thorntail</groupId>
<artifactId>undertow</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.5.jre7</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>font-awesome</artifactId>
<version>4.7.0</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs</artifactId>
<version>2.3.6</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs-domready</artifactId>
<version>2.0.1-2</version>
</dependency>
</dependencies>
<build>
<finalName>ccm-bundle-devel-wildfly</finalName>
<plugins>
<plugin>
<groupId>io.thorntail</groupId>
<artifactId>thorntail-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<overlays>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-editor</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-theme-foundry</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-core</artifactId>
<type>jar</type>
<includes>
<include>assets/</include>
</includes>
</overlay>
<overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms</artifactId>
<type>jar</type>
<includes>
<include>templates/</include>
</includes>
</overlay>
</overlays>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,215 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--<parent>
<groupId>org.libreccm</groupId>
<artifactId>libreccm-parent</artifactId>
<version>7.0.0-SNAPSHOT</version>
</parent>-->
<parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel</artifactId>
<relativePath>../ccm-bundle-devel</relativePath>
<version>7.0.0-SNAPSHOT</version>
</parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel-wildfly-swarm</artifactId>
<packaging>war</packaging>
<name>LibreCCM Devel Bundle for Wildfly Swarm</name>
<url>http://www.libreccm.org</url>
<distributionManagement>
<site>
<id>libreccm-site</id>
<name>LibreCCM</name>
<url>http://www.libreccm.org/project-sites/</url>
</site>
</distributionManagement>
<organization>
<name>LibreCCM Foundation</name>
</organization>
<licenses>
<license>
<name>LGPLv2 or newer</name>
<url>http://www.gnu.org/licenses/lgpl-2.0.html</url>
</license>
</licenses>
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>bom-all</artifactId>
<version>2017.11.0</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>cdi</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>container</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>datasources</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>ejb</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>hibernate-search</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>jaxrs</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>jaxrs-cdi</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>jpa</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>jsf</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>logging</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>mail</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>undertow</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.1.4.jre7</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>font-awesome</artifactId>
<version>4.7.0</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs</artifactId>
<version>2.3.5</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs-domready</artifactId>
<version>2.0.1-2</version>
</dependency>
</dependencies>
<build>
<finalName>ccm-bundle-devel-wildfly</finalName>
<plugins>
<plugin>
<groupId>org.wildfly.swarm</groupId>
<artifactId>wildfly-swarm-plugin</artifactId>
<!--<configuration>
<mainClass>org.libreccm.CcmBundleDevel</mainClass>
</configuration>-->
<executions>
<execution>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<overlays>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-editor</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-theme-foundry</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-core</artifactId>
<type>jar</type>
<includes>
<include>assets/</include>
<include>VAADIN/</include>
</includes>
</overlay>
<overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms</artifactId>
<type>jar</type>
<includes>
<include>templates/</include>
</includes>
</overlay>
</overlays>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,19 @@
package org.libreccm;
import org.wildfly.swarm.Swarm;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public class CcmBundleDevel {
public static void main(final String[] args) throws Exception {
final Swarm swarm = new Swarm();
swarm.start();
}
}

View File

@ -0,0 +1,19 @@
package org.libreccm;
import org.wildfly.swarm.Swarm;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
public class CcmBundleDevel {
public static void main(final String[] args) throws Exception {
final Swarm swarm = new Swarm();
swarm.start();
}
}

View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="warn">
<AppenderRef ref="Console"/>
</Root>
<!--<Logger name="org.hibernate"
level="info">
</Logger>
<Logger name="org.hibernate.SQL"
level="debug">
</Logger>
<Logger name="org.hibernate.type"
level="trace">
</Logger>
<Logger name="org.hibernate.type.descriptor.sql"
level="trace">
</Logger>-->
<!--<Logger name="com.arsdigita.bebop.util.Traversal"
level="debug">
</Logger>-->
<Logger name="com.arsdigita.cms.ui.assets.AssetFolderBrowserController"
level="debug">
</Logger>
<Logger name="com.arsdigita.cms.ui.folder.FolderBrowserTableModelBuilder"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.admin.AdminServlet"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.admin.configuration.ConfigurationTable"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.admin.usersgroupsroles.UsersTable"
level="debug">
</Logger>
<Logger name="com.arsdigita.cms.ui.assets.AssetPane"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.login.UserLoginForm"
level="debug">
</Logger>
<Logger name="com.arsdigita.packaging.Config"
level="debug">
</Logger>
<Logger name="com.arsdigita.templating.PatternStylesheetResolver"
level="info">
</Logger>
<Logger name="com.arsdigita.templating.SimpleURIResolver"
level="warn">
</Logger>
<Logger name="com.arsdigita.web.CCMDispatcherServlet"
level="debug">
</Logger>
<Logger name="org.libreccm.core.AbstractEntityRepository"
level="debug">
</Logger>
<Logger name="org.libreccm.modules.CcmIntegrator"
level="debug">
</Logger>
<Logger name="org.libreccm.pagemodel.PageModelManager"
level="debug">
</Logger>
<Logger name="org.libreccm.security.OneTimeAuthTokenCleaner"
level="debug">
</Logger>
<Logger name="org.libreccm.security.PermissionManager"
level="debug">
</Logger>
<Logger name="org.libreccm.security.Shiro"
level="debug">
</Logger>
<Logger name="org.libreccm.ui.admin.usersgroupsroles.RolesController"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.AssetRepository"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.ContentSectionSetup"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.ContentSectionServlet"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.rs.Images"
level="debug">
</Logger>
<Logger name="com.arsdigita.web.DefaultApplicationFileResolver"
level="debug">
</Logger>
</Loggers>
</Configuration>

View File

@ -0,0 +1,5 @@
swarm:
deployment:
ccm-bundle-devel-wildfly.war:
jaxrs:
application-path: /jaxrs

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
author: Jens Pelzetter
-->
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">
<persistence-unit name="LibreCCM" transaction-type="JTA">
<!--
Enforce JPA provider
Not really necessary here because we don't use any Hibernate
specific features, but makes it easier to manage to database
creation scripts.
-->
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>java:jboss/datasources/LibreCCM</jta-data-source>
<!--<jta-data-source>java:/comp/env/jdbc/libreccm/db</jta-data-source>-->
<jar-file>lib/ccm-core-7.0.0-SNAPSHOT.jar</jar-file>
<jar-file>lib/ccm-cms-7.0.0-SNAPSHOT.jar</jar-file>
<jar-file>lib/ccm-shortcuts-7.0.0-SNAPSHOT.jar</jar-file>
<properties>
<!-- Properties for Hibernate -->
<property name="hibernate.hbm2ddl.auto" value="validate" />
<property name="hibernate.connection.autocommit" value="false" />
<property name="hibernate.id.new_generator_mappings" value="true" />
<property name="wildfly.jpa.hibernate.search.module"
value="org.hibernate.search.orm:main" />
<!--<property name="hibernate.show_sql" value="true" />
<property name="format_sql" value="true" />
<property name="use_sql_comments" value="true" />-->
<!--
Properties for Hibernate Envers
We are using the ValidityAuditStrategy here because it is faster
when querying data than the DefaultStrategy
-->
<property name="org.hibernate.envers.audit_strategy"
value="org.hibernate.envers.strategy.ValidityAuditStrategy"/>
</properties>
</persistence-unit>
</persistence>

View File

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>LibreCCM Devel Bundle for Wildfly</display-name>
<context-param>
<param-name>ccm.develmode</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>ccm.distribution</param-name>
<param-value>libreccm</param-value>
</context-param>
<!-- No JSESSIONID!!! -->
<session-config>
<tracking-mode>COOKIE</tracking-mode>
<!--<tracking-mode>URL</tracking-mode>-->
</session-config>
<filter>
<filter-name>ShiroFilter</filter-name>
<filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ShiroFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
</listener>
<!-- JAX-RS -->
<!--<servlet>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/content-sections/*</url-pattern>
</servlet-mapping>-->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<context-param>
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<servlet>
<servlet-name>vaadin-servlet</servlet-name>
<servlet-class>com.vaadin.cdi.server.VaadinCDIServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>vaadin-servlet</servlet-name>
<url-pattern>/vaadin/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>vaadin-servlet</servlet-name>
<url-pattern>/VAADIN/*</url-pattern>
</servlet-mapping>
</web-app>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project-shared-configuration>
<!--
This file contains additional configuration written by modules in the NetBeans IDE.
The configuration is intended to be shared among all the users of project and
therefore it is assumed to be part of version control checkout.
Without this configuration present, some functionality in the IDE may be limited or fail altogether.
-->
<spellchecker-wordlist xmlns="http://www.netbeans.org/ns/spellchecker-wordlist/1">
<word>libreccm</word>
</spellchecker-wordlist>
</project-shared-configuration>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,21 @@
{
"name": "ccm-bundle-devel",
"version": "7.0.0",
"scripts": {
"build": "webpack"
},
"dependencies": {
"@librecms/ccm-cms-pagemodelseditor": "7.0.0",
"tinymce": "^4.8.2"
},
"devDependencies": {
"@types/tinymce": "^4.5.16",
"@types/webpack-env": "^1.13.6",
"file-loader": "^1.1.11",
"ts-loader": "^4.4.2",
"tslint": "^5.11.0",
"typescript": "^3.0.1",
"webpack": "^4.16.4",
"webpack-cli": "^3.1.0"
}
}

View File

@ -0,0 +1,227 @@
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel</artifactId>
<relativePath>../ccm-bundle-devel</relativePath>
<version>7.0.0-SNAPSHOT</version>
</parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel-wildfly-web</artifactId>
<!--<version>7.0.0-SNAPSHOT</version>-->
<packaging>war</packaging>
<name>LibreCCM Devel Bundle Web for Wildfly</name>
<url>http://www.libreccm.org/modules/web/wildfly</url>
<dependencies>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>font-awesome</artifactId>
<!--<version>4.7.0</version>-->
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs</artifactId>
<!--<version>2.3.5</version>-->
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs-domready</artifactId>
<!--<version>2.0.1-2</version>-->
</dependency>
<dependency>
<groupId>org.webjars.npm</groupId>
<artifactId>tinymce</artifactId>
<!--<version>4.8.2</version>-->
</dependency>
<!-- <dependency>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms-js</artifactId>
<version>7.0.0-SNAPSHOT</version>
</dependency> -->
<dependency>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms-pagemodelseditor</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms-tinymce</artifactId>
<version>${project.parent.version}</version>
</dependency>
</dependencies>
<build>
<finalName>libreccm-web-wildfly</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>${project.build.directory}/generated-resources</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<optimize>true</optimize>
<debug>true</debug>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<configuration>
<installDirectory>../node</installDirectory>
</configuration>
<executions>
<execution>
<id>Install node.js and NPM</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<configuration>
<nodeVersion>v8.11.4</nodeVersion>
</configuration>
</execution>
<!-- <execution>
<id>npm link @libreccm/ccm-pagemodelseditor</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>link @libreccm/ccm-pagemodelseditor</arguments>
</configuration>
</execution> -->
<execution>
<id>npm link @librecms/ccm-cms-pagemodelseditor</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>link @librecms/ccm-cms-pagemodelseditor</arguments>
</configuration>
</execution>
<!-- <execution>
<id>npm link @librecms/ccm-cms-tinymce</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>link @librecms/ccm-cms-tinymce</arguments>
</configuration>
</execution>-->
<!--<execution>
<id>npm link @librecms/ccm-cms-js</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>link @librecms/ccm-cms-js</arguments>
</configuration>
</execution>-->
<execution>
<id>npm install</id>
<goals>
<goal>npm</goal>
</goals>
</execution>
<execution>
<id>build</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>run build</arguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>${project.build.directory}/generated-resources</directory>
</resource>
</webResources>
<overlays>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-editor</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-pagemodelseditor</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-theme-foundry</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-core</artifactId>
<type>jar</type>
<includes>
<include>assets/</include>
</includes>
</overlay>
<overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms</artifactId>
<type>jar</type>
<includes>
<include>templates/</include>
</includes>
</overlay>
<overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms-tinymce</artifactId>
<type>jar</type>
<includes>
<include>scripts/</include>
</includes>
</overlay>
</overlays>
</configuration>
</plugin>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,107 @@
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel</artifactId>
<relativePath>../ccm-bundle-devel</relativePath>
<version>7.0.0-SNAPSHOT</version>
</parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel-wildfly-web</artifactId>
<!--<version>7.0.0-SNAPSHOT</version>-->
<packaging>war</packaging>
<name>LibreCCM Devel Bundle Web for Wildfly</name>
<url>http://www.libreccm.org/modules/web/wildfly</url>
<dependencies>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>font-awesome</artifactId>
<version>4.7.0</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs</artifactId>
<version>2.3.5</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs-domready</artifactId>
<version>2.0.1-2</version>
</dependency>
</dependencies>
<build>
<finalName>libreccm-web-wildfly</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<optimize>true</optimize>
<debug>true</debug>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<overlays>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-editor</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-theme-foundry</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-core</artifactId>
<type>jar</type>
<includes>
<include>assets/</include>
<include>VAADIN/</include>
</includes>
</overlay>
<overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms</artifactId>
<type>jar</type>
<includes>
<include>templates/</include>
</includes>
</overlay>
</overlays>
</configuration>
</plugin>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="warn">
<AppenderRef ref="Console"/>
</Root>
<!--<Logger name="org.hibernate"
level="info">
</Logger>
<Logger name="org.hibernate.SQL"
level="debug">
</Logger>
<Logger name="org.hibernate.type"
level="trace">
</Logger>
<Logger name="org.hibernate.type.descriptor.sql"
level="trace">
</Logger>-->
<!--<Logger name="com.arsdigita.bebop.util.Traversal"
level="debug">
</Logger>-->
<Logger name="com.arsdigita.cms.ui.assets.AssetFolderBrowserController"
level="debug">
</Logger>
<Logger name="com.arsdigita.cms.ui.folder.FolderBrowserTableModelBuilder"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.admin.AdminServlet"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.admin.configuration.ConfigurationTable"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.admin.usersgroupsroles.UsersTable"
level="debug">
</Logger>
<Logger name="com.arsdigita.cms.ui.assets.AssetPane"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.login.UserLoginForm"
level="debug">
</Logger>
<Logger name="com.arsdigita.packaging.Config"
level="debug">
</Logger>
<Logger name="com.arsdigita.templating.PatternStylesheetResolver"
level="info">
</Logger>
<Logger name="com.arsdigita.templating.SimpleURIResolver"
level="warn">
</Logger>
<Logger name="com.arsdigita.web.CCMDispatcherServlet"
level="debug">
</Logger>
<Logger name="org.libreccm.core.AbstractEntityRepository"
level="debug">
</Logger>
<Logger name="org.libreccm.modules.CcmIntegrator"
level="debug">
</Logger>
<Logger name="org.libreccm.pagemodel.PageModelManager"
level="debug">
</Logger>
<Logger name="org.libreccm.security.OneTimeAuthTokenCleaner"
level="debug">
</Logger>
<Logger name="org.libreccm.security.PermissionManager"
level="debug">
</Logger>
<Logger name="org.libreccm.security.Shiro"
level="debug">
</Logger>
<Logger name="org.libreccm.theming.xslt.CcmUriResolver"
level="debug">
</Logger>
<Logger name="org.libreccm.ui.admin.usersgroupsroles.RolesController"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.AssetRepository"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.ContentSectionSetup"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.ContentSectionServlet"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.rs.Images"
level="debug">
</Logger>
<Logger name="com.arsdigita.web.DefaultApplicationFileResolver"
level="debug">
</Logger>
</Loggers>
</Configuration>

View File

@ -0,0 +1,17 @@
[main]
filterChainResolver = org.apache.shiro.web.filter.mgt.PathMatchingFilterChainResolver
passwordMatcher = org.apache.shiro.authc.credential.PasswordMatcher
passwordService = org.apache.shiro.authc.credential.DefaultPasswordService
passwordMatcher.passwordService = $passwordService
ccmRealm = org.libreccm.security.CcmShiroRealm
ccmRealm.credentialsMatcher = $passwordMatcher
securityManager.realms = $ccmRealm
securityManager.rememberMeManager.cipherKey = p5h/Aphy0gfV+XThbEPqSG4iQNh2fTNH9ZEkSBAt/Ok=
cacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager
securityManager.cacheManager = $cacheManager

View File

@ -0,0 +1,65 @@
# -*- text -*-
# This file locates stylesheets, if you are using the
# "PatternStylesheetResolver". Please read the Javadoc for that file for
# the full story.
# Currently the "resource" part is actually "short-circuited", see
# Templating#transformURL(url). As long as we store and synchronize all theme
# files in each server's local file system, we use the direct file apprach to
# avoid unnecessary http request and traffic between client (user) and server!
# Additionally all modules are installed into one webapp context, so the
# webapp tag is redundant, but sort of required by some part of the code.
# Theme with single entry point (e.g Mandalay) managed by themedirector
#http://::host::/resource/::webapp::/themes/::themedir::/::theme::/start.xsl
http://::host::/::webapp::/themes/::themedir::/::theme::/start.xsl
# Theme with single entry point (e.g Mandalay) unmanaged default
#http://::host::/resource/::webapp::/themes/mandalay/start.xsl
#http://::host::/::webapp::/themes/mandalay/start.xsl
# Theme with single entry point (e.g Mandalay) unmanaged default
#http://::host::/resource/::webapp::/themes/mandalay/start.xsl
http://::host::/::webapp::/themes/libreccm-default/start.xsl
# ==============================================================================
# The following is for multi-entry themes, not used in ScientificCMS
# ==============================================================================
# Output type is for things such as text/javascript
# NOT used by ScientificCMS, uses Mandalay only!
#http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::-::outputtype::-::locale::.xsl
#http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::-::outputtype::.xsl
# Grabs custom item xsl for CMS
# NOT used by ScientificCMS, uses Mandalay only!
#http://::host::/themes/servlet/content-item/index.xsl?oid=::item_template_oid::&delegated=::item_delegated_url::
# Theme, with optional locale & prefix
# NOT used by ScientificCMS, uses Mandalay only!
#http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::-::prefix::-::locale::.xsl
#http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::-::prefix::.xsl
# Theme, with optional locale
# NOT used by ScientificCMS, uses Mandalay only!
#http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::-::locale::.xsl
#http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::.xsl
# APLAWS generic default, with locale and prefix
# XXX change ROOT -> ccm-ldn-aplaws
# http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::-::prefix::-::locale::.xsl
# http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::-::prefix::.xsl
# APLAWS generic default, with locale
# XXX change ROOT -> ccm-ldn-aplaws
# http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::-::locale::.xsl
# http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::.xsl
# Global default, from application's own web app
# NOT used by ScientificCMS
#http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::-::locale::.xsl
#http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::.xsl

View File

@ -0,0 +1,3 @@
version = 7.0.0-SNAPSHOT
appname = LibreCCM
apphomepage = http://www.libreccm.org

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
bean-discovery-mode="all">
</beans>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
author: Jens Pelzetter
-->
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">
<persistence-unit name="LibreCCM" transaction-type="JTA">
<!--
Enforce JPA provider
Not really necessary here because we don't use any Hibernate
specific features, but makes it easier to manage to database
creation scripts.
-->
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>java:/comp/env/jdbc/libreccm/db</jta-data-source>
<jar-file>lib/ccm-core-7.0.0-SNAPSHOT.jar</jar-file>
<jar-file>lib/ccm-cms-7.0.0-SNAPSHOT.jar</jar-file>
<jar-file>lib/ccm-shortcuts-7.0.0-SNAPSHOT.jar</jar-file>
<properties>
<!-- Properties for Hibernate -->
<property name="hibernate.hbm2ddl.auto" value="validate" />
<property name="hibernate.connection.autocommit" value="false" />
<property name="hibernate.id.new_generator_mappings" value="true" />
<property name="wildfly.jpa.hibernate.search.module"
value="org.hibernate.search.orm:main" />
<!--<property name="hibernate.show_sql" value="true" />
<property name="format_sql" value="true" />
<property name="use_sql_comments" value="true" />-->
<!--
Properties for Hibernate Envers
We are using the ValidityAuditStrategy here because it is faster
when querying data than the DefaultStrategy
-->
<property name="org.hibernate.envers.audit_strategy"
value="org.hibernate.envers.strategy.ValidityAuditStrategy"/>
</properties>
</persistence-unit>
</persistence>

View File

@ -0,0 +1 @@
waf.config.packages=ccm-core

View File

@ -0,0 +1,7 @@
<?xml version="1.0"?>
<faces-config version="2.2"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
</faces-config>

View File

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>LibreCCM Devel Bundle for Wildfly</display-name>
<context-param>
<param-name>ccm.develmode</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>ccm.distribution</param-name>
<param-value>libreccm</param-value>
</context-param>
<!-- No JSESSIONID!!! -->
<session-config>
<tracking-mode>COOKIE</tracking-mode>
<!--<tracking-mode>URL</tracking-mode>-->
</session-config>
<filter>
<filter-name>ShiroFilter</filter-name>
<filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ShiroFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
</listener>
<!-- JAX-RS -->
<!--<servlet>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/content-sections/*</url-pattern>
</servlet-mapping>-->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<context-param>
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<!-- <servlet>
<servlet-name>vaadin-servlet</servlet-name>
<servlet-class>com.vaadin.cdi.server.VaadinCDIServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>vaadin-servlet</servlet-name>
<url-pattern>/vaadin/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>vaadin-servlet</servlet-name>
<url-pattern>/VAADIN/*</url-pattern>
</servlet-mapping>-->
</web-app>

View File

@ -0,0 +1,72 @@
requirejs(["./ccm-editor",
"./ccm-cms-editor",
"../webjars/requirejs-domready/2.0.1/domReady!"],
function(editor, cmseditor, doc) {
editor.addEditor(".editor-textarea", {
"commandGroups": [
{
"name": "blocks",
"title": "Format blocks",
"commands": [
editor.FormatBlockCommand
]
},
{
"name": "format-text",
"title": "Format text",
"commands": [
editor.MakeBoldCommand,
editor.MakeItalicCommand,
editor.MakeUnderlineCommand,
editor.StrikeThroughCommand,
editor.SubscriptCommand,
editor.SuperscriptCommand,
editor.RemoveFormatCommand,
editor.InsertExternalLinkCommand,
cmseditor.InsertInternalLinkCommand,
cmseditor.InsertMediaAssetCommand
]
},
{
"name": "insert-list",
"title": "Insert list",
"commands": [
editor.InsertUnorderedListCommand,
editor.InsertOrderedListCommand
]
},
{
"name": "html",
"title": "HTML",
"commands": [editor.ToggleHtmlCommand]
}
],
"settings": {
"ccm-editor-css.path": "/libreccm/ccm-editor/ccm-editor.css",
"font-awesome.path": "/libreccm/webjars/font-awesome/4.7.0/css/font-awesome.min.css",
"formatBlock.blocks": [
{
"element": "h3",
"title": "Heading 3"
},
{
"element": "h4",
"title": "Heading 4"
},
{
"element": "h5",
"title": "Heading 5"
},
{
"element": "h6",
"title": "Heading 6"
},
{
"element": "p",
"title": "Paragraph"
}
]
}
});
});

View File

@ -0,0 +1,12 @@
--------------
Overview
--------------
Jens Pelzetter
--------------
2016-03-18
--------------
LibreCCM Bundle Web for Wildfly
This module provides the web application part of the the LibreCCM devel
bundle for the Wildfly application server.

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/DECORATION/1.3.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/DECORATION/1.3.0
http://maven.apache.org/xsd/decoration-1.3.0.xsd">
<body>
<menu name="Parent project">
<item name="LibreCCM" href="../index.html"/>
</menu>
<menu name="Overview">
<item name="The LibreCCM Devel Bundle Web module" href="index.html"/>
</menu>
<menu ref="reports"/>
</body>
</project>

View File

@ -0,0 +1,29 @@
const path = require('path');
module.exports = {
devtool: "source-map",
entry: {
"ccm-cms-pagemodelseditor": "./src/main/typescript/ccm-cms-pagemodelseditor.ts",
// "ccm-cms-tinymce-loader": "./src/main/typescript/tinymce/ccm-cms-tinymce-loader.ts",
},
mode: "development",
output: {
//path: path.resolve(__dirname, "src/main/resources/dist"),
path: path.resolve(__dirname, "target/generated-resources/scripts/dist"),
filename: "[name].js"
},
resolve: {
extensions: [".webpack.js", "web.js", ".ts", ".tsx", ".js"]
},
module: {
rules: [
{ test: /\.tsx?$/, loader: "ts-loader"}
]
}
};

View File

@ -1,3 +0,0 @@
datasource.properties
runtime.properties
wildfly.properties

View File

@ -1,42 +0,0 @@
# ccm-bundle-devel-wildfly README
This module creates a WAR which can be deployed to a Wildfly Application
Server. For testing, the module also provides an runtime environment
and the setup. The runtime is managed using the
[wildfly-maven-plugin](https://docs.jboss.org/wildfly/plugins/maven/latest/).
At the moment the runtime only supports PostgreSQL as database.
To use these runtime some prepration steps are necessary.
1. Create the configuration files. The runtime is configured using two files:
* wildfly.properties allows it to configure the ports used by the Wildfly server
* datasource.properties provides the configuration data for datasource used by
LibreCCM.
For both files examples are provided (`datasource.example.properties`,
`wildfly.example.properties`). Copy the example files and customize
the settings is necessary.
2. Run a build using the `setup-runtime` profile. It is important to add the
`package` goal, otherwise the WAR file which is deployed in this step is
not build correctly:
```
mvn package -Psetup-runtime -pl ccm-bundle-devel-wildfly -am
```
During the `package` phase of the this module Wildfly will be downloaded,
unpackaged into the `target` directory, the PostgreSQL driver will be
deployed, a datasource will be generated and the WAR file will be deployed.
To run LibreCCM in this environment, use the `enable-runtime` profile and the `wildfly:start`
goal:
mvn -pl ccm-bundle-devel-wildfly wildfly:start
To shutdown the server:
mvn -pl ccm-bundle-devel-wildfly wildfly:shutdown

View File

@ -1,3 +0,0 @@
libreccm.datasource.connectionUrl=jdbc:postgresql://localhost:5432/ccm-devel
libreccm.datasource.username=ccm
libreccm.datasource.password=ccm47web

View File

@ -1,3 +0,0 @@
libreccm.datasource.connectionUrl=jdbc:postgresql://localhost:5432/ccm-devel-beta
libreccm.datasource.username=ccm
libreccm.datasource.password=ccm

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scene Scope="Project" version="2">
<Scope Scope="Faces Configuration Only"/>
<Scope Scope="Project"/>
<Scope Scope="All Faces Configurations"/>
</Scene>

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +0,0 @@
{
"name": "ccm-bundle-devel",
"version": "7.0.0",
"scripts": {
"build": "webpack"
},
"dependencies": {
},
"devDependencies": {
"@types/webpack-env": "^1.13.6",
"file-loader": "^1.1.11",
"ts-loader": "^4.4.2",
"tslint": "^5.11.0",
"typescript": "^3.0.1",
"webpack": "^4.16.4",
"webpack-cli": "^3.1.0"
}
}

View File

@ -3,506 +3,200 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<wildfly.version>12.0.0.Final</wildfly.version>
</properties>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel</artifactId>
<relativePath>../ccm-bundle-devel</relativePath>
<artifactId>libreccm-parent</artifactId>
<version>7.0.0-SNAPSHOT</version>
</parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel-wildfly</artifactId>
<!--<version>7.0.0-SNAPSHOT</version>-->
<packaging>war</packaging>
<packaging>ear</packaging>
<name>LibreCCM Devel Bundle for Wildfly</name>
<url>http://www.libreccm.org/modules/web/wildfly</url>
<url>http://www.libreccm.org/bundles/devel/wildfly</url>
<dependencies>
<dependency>
<groupId>org.libreccm</groupId>
<artifactId>ccm-wildfly</artifactId>
<version>7.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>font-awesome</artifactId>
<!--<version>4.7.0</version>-->
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs</artifactId>
<!--<version>2.3.5</version>-->
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs-domready</artifactId>
<!--<version>2.0.1-2</version>-->
</dependency>
<dependency>
<groupId>org.webjars.npm</groupId>
<artifactId>tinymce</artifactId>
<!--<version>4.8.2</version>-->
</dependency>
<!-- <dependency>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms-js</artifactId>
<version>7.0.0-SNAPSHOT</version>
</dependency> -->
<!-- <dependency>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms-pagemodelseditor</artifactId>
<artifactId>ccm-bundle-devel-wildfly-web</artifactId>
<version>${project.parent.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms-tinymce</artifactId>
<version>${project.parent.version}</version>
</dependency>-->
<!-- <dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>provided</scope>
</dependency>-->
</dependencies>
<build>
<finalName>libreccm-web-wildfly</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<!--<resource>
<directory>${project.build.directory}/generated-resources</directory>
</resource>-->
</resources>
<finalName>libreccm-devel-${project.version}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<artifactId>maven-ear-plugin</artifactId>
<configuration>
<source>11</source>
<target>11</target>
<optimize>true</optimize>
<debug>true</debug>
<encoding>${project.build.sourceEncoding}</encoding>
<!-- Tell Maven we are using Java EE 7 -->
<version>7</version>
<!-- Use Java EE ear libraries as needed. Java EE ear libraries
are an easy way to package any libraries needed in the ear,
and automatically
have any modules (EJB-JARs and WARs) use them -->
<defaultLibBundleDir>lib</defaultLibBundleDir>
<outputFileNameMapping>no-version</outputFileNameMapping>
<modules>
<webModule>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel-wildfly-web</artifactId>
<contextRoot>/libreccm</contextRoot>
</webModule>
</modules>
</configuration>
</plugin>
<!-- <plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<configuration>
<installDirectory>../node</installDirectory>
</configuration>
<executions>
<execution>
<id>Install node.js and NPM</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<configuration>
<nodeVersion>v16.14.2</nodeVersion>
</configuration>
</execution>
<execution>
<id>npm link @libreccm/ccm-pagemodelseditor</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>link @libreccm/ccm-pagemodelseditor</arguments>
</configuration>
</execution>
<execution>
<id>npm link @librecms/ccm-cms-pagemodelseditor</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>link @librecms/ccm-cms-pagemodelseditor</arguments>
</configuration>
</execution>
<execution>
<id>npm link @librecms/ccm-cms-tinymce</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>link @librecms/ccm-cms-tinymce</arguments>
</configuration>
</execution>
<execution>
<id>npm link @librecms/ccm-cms-js</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>link @librecms/ccm-cms-js</arguments>
</configuration>
</execution>
<execution>
<id>npm install</id>
<goals>
<goal>npm</goal>
</goals>
</execution>
<execution>
<id>build</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>run build</arguments>
</configuration>
</execution>
</executions>
</plugin>-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>src/main/resources</directory>
</resource>
<!--<resource>
<directory>${project.build.directory}/generated-resources</directory>
</resource>-->
</webResources>
<overlays>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-editor</artifactId>
<type>jar</type>
</overlay>
<!-- <overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-pagemodelseditor</artifactId>
<type>jar</type>
</overlay>-->
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-theme-foundry</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-core</artifactId>
<type>jar</type>
<includes>
<include>assets/</include>
</includes>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-core</artifactId>
<type>jar</type>
<includes>
<include>themes/</include>
</includes>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-core</artifactId>
<type>jar</type>
<includes>
<include>WEB-INF/</include>
</includes>
</overlay>
<!-- <overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-shortcuts</artifactId>
<type>jar</type>
<includes>
<include>WEB-INF/</include>
</includes>
</overlay>-->
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-core</artifactId>
<type>jar</type>
<includes>
<include>resources/</include>
</includes>
</overlay>
<overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms</artifactId>
<type>jar</type>
<includes>
<include>WEB-INF/</include>
</includes>
</overlay>
<overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms</artifactId>
<type>jar</type>
<includes>
<include>assets/</include>
</includes>
</overlay>
<overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms</artifactId>
<type>jar</type>
<includes>
<include>icons/</include>
</includes>
</overlay>
<overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms</artifactId>
<type>jar</type>
<includes>
<include>templates/</include>
</includes>
</overlay>
<!-- <overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms-tinymce</artifactId>
<type>jar</type>
<includes>
<include>scripts/</include>
</includes>
</overlay>-->
<!-- <overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms-default-theme</artifactId>
<type>jar</type>
<includes>
<include>themes/librecms/scripts/</include>
</includes>
</overlay> -->
</overlays>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<configuration>
<excludeDefaultDirectories>true</excludeDefaultDirectories>
<filesets>
<fileset>
<directory>${project.build.directory}</directory>
<excludes>
<exclude>wildfly*/**</exclude>
</excludes>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<executions>
<execution>
<id>read-runtime-properties</id>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${project.basedir}/runtime.example.properties</file>
<file>${project.basedir}/runtime.properties</file>
</files>
<quiet>true</quiet>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<skip>false</skip>
<propertiesFile>${project.basedir}/wildfly.properties</propertiesFile>
<java-opts>
<java-opt>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787</java-opt>
</java-opts>
</configuration>
</plugin>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-jar-maven-plugin</artifactId>
<configuration>
<jvmArguments>
<arg>-agentlib:jdwp=transport=dt_socket,server=y,suspend=${libreccm.debug.suspend},address=${libreccm.debug.port}</arg>
</jvmArguments>
<arguments>
-Dorg.wildfly.datasources.postgresql.database=${libreccm.database.name}
-Dorg.wildfly.datasources.postgresql.host=${libreccm.database.host}
-Dorg.wildfly.datasources.postgresql.jndi-name=java:/comp/env/jdbc/libreccm/db
-Dorg.wildfly.datasources.postgresql.password=${libreccm.database.password}
-Dorg.wildfly.datasources.postgresql.port=${libreccm.database.port}
-Dorg.wildfly.datasources.postgresql.user-name=${libreccm.database.user}
</arguments>
<feature-packs>
<feature-pack>
<location>wildfly@maven(org.jboss.universe:community-universe)#24.0.1.Final</location>
</feature-pack>
<feature-pack>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-datasources-galleon-pack</artifactId>
<version>2.0.2.Final</version>
</feature-pack>
</feature-packs>
<layers>
<layer>cdi</layer>
<layer>datasources</layer>
<layer>ejb</layer>
<layer>jaxrs</layer>
<layer>jpa</layer>
<layer>jsf</layer>
<layer>jsonp</layer>
<layer>logging</layer>
<layer>mail</layer>
<layer>management</layer>
<layer>postgresql-datasource</layer>
</layers>
<!-- <excluded-layers>
<layer>deployment-scanner</layer>
</excluded-layers>-->
<skip>false</skip>
</configuration>
<executions>
<execution>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!-- Profiles for running the bundle in a development environment -->
<profiles>
<!-- Profile which uses a H2 database. The DB file is put into the
project build directory and therefore deleted when the clean phase
runs.
-->
<profile>
<id>setup-runtime</id>
<dependencies>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
</dependencies>
<id>h2</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<executions>
<execution>
<id>read-datasource-properties</id>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${project.basedir}/datasource.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<skip>false</skip>
<propertiesFile>${project.basedir}/wildfly.properties</propertiesFile>
</configuration>
<executions>
<execution>
<id>start-for-prepare</id>
<goals>
<goal>start</goal>
</goals>
<phase>package</phase>
<configuration>
<stdout>System.out</stdout>
</configuration>
</execution>
<execution>
<id>deploy-jdbc-driver</id>
<configuration>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<name>postgresql.jar</name>
<force>true</force>
</configuration>
<phase>package</phase>
<goals>
<goal>deploy-artifact</goal>
</goals>
</execution>
<execution>
<id>add-datasource</id>
<configuration>
<address>subsystem=datasources,data-source=ccm-devel</address>
<force>true</force>
<resources>
<resource>
<properties>
<connection-url>${libreccm.datasource.connectionUrl}</connection-url>
<jndi-name>java:/comp/env/jdbc/libreccm/db</jndi-name>
<enabled>true</enabled>
<user-name>${libreccm.datasource.username}</user-name>
<password>${libreccm.datasource.password}</password>
<use-ccm>false</use-ccm>
<driver-name>postgresql.jar</driver-name>
</properties>
</resource>
</resources>
</configuration>
<phase>package</phase>
<goals>
<goal>add-resource</goal>
</goals>
</execution>
<execution>
<id>deploy-libreccm-bundle-devel</id>
<configuration>
<force>true</force>
</configuration>
<phase>package</phase>
<goals>
<goal>deploy-only</goal>
</goals>
</execution>
<execution>
<id>shutdown-after-deploy</id>
<phase>package</phase>
<goals>
<goal>shutdown</goal>
</goals>
</execution>
</executions>
<configuration>
<version>${wildfly.version}</version>
<skip>false</skip>
<add-user>
<users>
<user>
<username>admin</username>
<password>admin123</password>
</user>
</users>
</add-user>
<beforeDeployment>
<commands>
<command>data-source add --jndi-name=java:/comp/env/jdbc/libreccm/db --name=ccm-devel --connection-url=jdbc:h2:${project.build.directory}/libreccm-db;DB_CLOSE_ON_EXIT=FALSE --driver-name=h2 --driver-class=org.h2.Driver --user-name=sa --password=sa</command>
</commands>
</beforeDeployment>
<java-opts>
<java-opt>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787</java-opt>
</java-opts>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!--
Profile which uses a PostgreSQL datasource with a generic
configuration. When using this profile PostgreSQL must run on the
local system and a database with the name "libreccm-devel" which
is accessible by the user "ccm" with the password "ccm47web" must
exist.
-->
<profile>
<id>pgsql</id>
<dependencies>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4.1208</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<version>${wildfly.version}</version>
<skip>false</skip>
<add-user>
<users>
<user>
<username>admin</username>
<password>admin1234</password>
</user>
</users>
</add-user>
<beforeDeployment>
<commands>
<!--jdbc-drivers/postgresql-9.4.1208.jar-->
<command>module add --name=org.postgres --resources=${project.build.directory}/${project.build.finalName}/lib/postgresql.jar --dependencies=javax.api,javax.transaction.api</command>
<command>/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)</command>
<command>data-source add --jndi-name=java:/comp/env/jdbc/libreccm/db --name=libreccm-devel --connection-url=jdbc:postgresql://localhost:5432/libreccm-devel --driver-name=postgres --driver-class=org.postgresql.Driver --user-name=ccm --password=ccm47web</command>
</commands>
</beforeDeployment>
<java-opts>
<java-opt>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787</java-opt>
</java-opts>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!--
Generic profile for using an existing Wildfly installation.
The datasource for CCM must be configured in the Wildfly instance.
Also the plugin must know where the wildfly installation is. This
can either be done by setting the JBOSS_HOME environment variable or
by providing the location using -Djboss-as.home=/path/to/wildfly
on the command line.
-->
<profile>
<id>generic</id>
<build>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<version>${wildfly.version}</version>
<skip>false</skip>
<startupTimeout>120</startupTimeout>
<java-opts>
<java-opt>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787</java-opt>
</java-opts>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@ -6,102 +6,200 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<wildfly.version>10.0.0.Final</wildfly.version>
</properties>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel</artifactId>
<relativePath>../ccm-bundle-devel</relativePath>
<artifactId>libreccm-parent</artifactId>
<version>7.0.0-SNAPSHOT</version>
</parent>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel-wildfly-web</artifactId>
<artifactId>ccm-bundle-devel-wildfly</artifactId>
<!--<version>7.0.0-SNAPSHOT</version>-->
<packaging>war</packaging>
<packaging>ear</packaging>
<name>LibreCCM Devel Bundle Web for Wildfly</name>
<url>http://www.libreccm.org/modules/web/wildfly</url>
<name>LibreCCM Devel Bundle for Wildfly</name>
<url>http://www.libreccm.org/bundles/devel/wildfly</url>
<dependencies>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>font-awesome</artifactId>
<version>4.7.0</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs</artifactId>
<version>2.3.5</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs-domready</artifactId>
<version>2.0.1-2</version>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel-wildfly-web</artifactId>
<version>${project.parent.version}</version>
<type>war</type>
</dependency>
</dependencies>
<build>
<finalName>libreccm-web-wildfly</finalName>
<finalName>libreccm-devel-${project.version}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<artifactId>maven-ear-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<optimize>true</optimize>
<debug>true</debug>
<encoding>${project.build.sourceEncoding}</encoding>
<!-- Tell Maven we are using Java EE 7 -->
<version>7</version>
<!-- Use Java EE ear libraries as needed. Java EE ear libraries
are an easy way to package any libraries needed in the ear,
and automatically
have any modules (EJB-JARs and WARs) use them -->
<defaultLibBundleDir>lib</defaultLibBundleDir>
<fileNameMapping>no-version</fileNameMapping>
<modules>
<webModule>
<groupId>org.libreccm</groupId>
<artifactId>ccm-bundle-devel-wildfly-web</artifactId>
<contextRoot>/libreccm</contextRoot>
</webModule>
</modules>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<overlays>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-editor</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-theme-foundry</artifactId>
<type>jar</type>
</overlay>
<overlay>
<groupId>org.libreccm</groupId>
<artifactId>ccm-core</artifactId>
<type>jar</type>
<includes>
<include>assets/</include>
<include>VAADIN/</include>
</includes>
</overlay>
<overlay>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms</artifactId>
<type>jar</type>
<includes>
<include>templates/</include>
</includes>
</overlay>
</overlays>
</configuration>
</plugin>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
<!-- Profiles for running the bundle in a development environment -->
<profiles>
<!-- Profile which uses a H2 database. The DB file is put into the
project build directory and therefore deleted when the clean phase
runs.
-->
<profile>
<id>h2</id>
<build>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<version>${wildfly.version}</version>
<skip>false</skip>
<add-user>
<users>
<user>
<username>admin</username>
<password>admin123</password>
</user>
</users>
</add-user>
<beforeDeployment>
<commands>
<command>data-source add --jndi-name=java:/comp/env/jdbc/libreccm/db --name=ccm-devel --connection-url=jdbc:h2:${project.build.directory}/libreccm-db;DB_CLOSE_ON_EXIT=FALSE --driver-name=h2 --driver-class=org.h2.Driver --user-name=sa --password=sa</command>
</commands>
</beforeDeployment>
<java-opts>
<java-opt>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787</java-opt>
</java-opts>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!--
Profile which uses a PostgreSQL datasource with a generic
configuration. When using this profile PostgreSQL must run on the
local system and a database with the name "libreccm-devel" which
is accessible by the user "ccm" with the password "ccm47web" must
exist.
-->
<profile>
<id>pgsql</id>
<dependencies>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4.1208</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<version>${wildfly.version}</version>
<skip>false</skip>
<add-user>
<users>
<user>
<username>admin</username>
<password>admin1234</password>
</user>
</users>
</add-user>
<beforeDeployment>
<commands>
<!--jdbc-drivers/postgresql-9.4.1208.jar-->
<command>module add --name=org.postgres --resources=${project.build.directory}/${project.build.finalName}/lib/postgresql.jar --dependencies=javax.api,javax.transaction.api</command>
<command>/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)</command>
<command>data-source add --jndi-name=java:/comp/env/jdbc/libreccm/db --name=libreccm-devel --connection-url=jdbc:postgresql://localhost:5432/libreccm-devel --driver-name=postgres --driver-class=org.postgresql.Driver --user-name=ccm --password=ccm47web</command>
</commands>
</beforeDeployment>
<java-opts>
<java-opt>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787</java-opt>
</java-opts>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!--
Generic profile for using an existing Wildfly installation.
The datasource for CCM must be configured in the Wildfly instance.
Also the plugin must know where the wildfly installation is. This
can either be done by setting the JBOSS_HOME environment variable or
by providing the location using -Djboss-as.home=/path/to/wildfly
on the command line.
-->
<profile>
<id>generic</id>
<build>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<version>${wildfly.version}</version>
<skip>false</skip>
<startupTimeout>120</startupTimeout>
<java-opts>
<java-opt>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787</java-opt>
</java-opts>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@ -1,7 +0,0 @@
libreccm.debug.suspend=n
libreccm.database.host=localhost
libreccm.database.port=5432
libreccm.database.name=ccm-devel
libreccm.database.user=ccm
libreccm.database.password=ccm47web

View File

@ -1,10 +0,0 @@
libreccm.http.port=8080
libreccm.https.port=8180
libreccm.debug.port=8787
libreccm.debug.suspend=n
libreccm.database.host=localhost
libreccm.database.port=5432
libreccm.database.name=libreccm-devel
libreccm.database.user=libreccm
libreccm.database.password=libreccm

View File

@ -1,114 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="warn">
<AppenderRef ref="Console"/>
</Root>
<!--<Logger name="org.hibernate"
level="info">
</Logger>
<Logger name="org.hibernate.SQL"
level="debug">
</Logger>
<Logger name="org.hibernate.type"
level="trace">
</Logger>
<Logger name="org.hibernate.type.descriptor.sql"
level="trace">
</Logger>-->
<!--<Logger name="com.arsdigita.bebop.util.Traversal"
level="debug">
</Logger>-->
<Logger name="com.arsdigita.cms.ui.assets.AssetFolderBrowserController"
level="debug">
</Logger>
<Logger name="com.arsdigita.cms.ui.folder.FolderBrowserTableModelBuilder"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.admin.AdminServlet"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.admin.configuration.ConfigurationTable"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.admin.usersgroupsroles.UsersTable"
level="debug">
</Logger>
<Logger name="com.arsdigita.cms.ui.assets.AssetPane"
level="debug">
</Logger>
<Logger name="com.arsdigita.ui.login.UserLoginForm"
level="debug">
</Logger>
<Logger name="com.arsdigita.packaging.Config"
level="debug">
</Logger>
<Logger name="com.arsdigita.templating.PatternStylesheetResolver"
level="info">
</Logger>
<Logger name="com.arsdigita.templating.SimpleURIResolver"
level="warn">
</Logger>
<Logger name="com.arsdigita.web.CCMDispatcherServlet"
level="debug">
</Logger>
<Logger name="org.libreccm.core.AbstractEntityRepository"
level="debug">
</Logger>
<Logger name="org.libreccm.modules.CcmIntegrator"
level="debug">
</Logger>
<Logger name="org.libreccm.pagemodel.PageModelManager"
level="debug">
</Logger>
<Logger name="org.libreccm.security.OneTimeAuthTokenCleaner"
level="debug">
</Logger>
<Logger name="org.libreccm.security.PermissionManager"
level="debug">
</Logger>
<Logger name="org.libreccm.security.Shiro"
level="debug">
</Logger>
<Logger name="org.libreccm.ui.admin.usersgroupsroles.RolesController"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.AssetRepository"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.ContentSectionSetup"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.ContentSectionServlet"
level="debug">
</Logger>
<Logger name="org.librecms.contentsection.rs.Images"
level="debug">
</Logger>
<Logger name="com.arsdigita.web.DefaultApplicationFileResolver"
level="debug">
</Logger>
<Logger name = "org.libreccm.ui.admin.AdminApplication"
level="debug">
</Logger>
<Logger name="org.libreccm.ui.admin.applications.ApplicationsPage"
level="debug">
</Logger>
<Logger name="org.librecms.ui.ContentSectionController"
level="debug">
</Logger>
<Logger name="org.libreccm.categorization.CategoryManager"
level="debug">
</Logger>
</Loggers>
</Configuration>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

View File

@ -1,2 +0,0 @@
example.setting=Properties from the Freemarker theme.

View File

@ -1,73 +0,0 @@
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
header {
padding: 1em 2em;
}
header img {
display: block;
margin-left: auto;
margin-right: auto;
width: 20vw;
max-width: 1020px;
max-height: 566px;
}
main {
max-width: 55em;
margin-left: auto;
margin-right: auto;
padding: 2em 1em;
}
main h1 {
text-align: center;
}
main form.login {
display: flex;
align-items: center;
flex-direction: column;
margin-top: 1em;
}
main form.login .form-row {
display: flex;
align-items: flex-start;
flex-direction: column;
margin-bottom: 0.5em;
}
main form.login button[type=submit] {
display: block;
margin-top: 0.75em;
margin-left: auto;
margin-right: auto;
padding: 0.25em;
}
footer {
background-color: #71ac52;
color: #fff;
padding: 3em 1em;
width: 100vw;
}
footer p {
text-align: center;
}

View File

@ -1,62 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>LibreCCM Devel Theme</title>
</head>
<body>
<h1>LibreCCM Devel</h1>
<h2>Site Info</h2>
<dl>
<dt>host</dt>
<dd>${CmsPagesSiteInfoModel.host}</dd>
<dt>domain</dt>
<dd>${CmsPagesSiteInfoModel.domain}</dd>
<dt>name</dt>
<dd>${CmsPagesSiteInfoModel.name}</dd>
<dt>Current category</dt>
<dd>${CmsPagesCategoryModel.category.name}</dd>
</dl>
<h2>Category Tree</h2>
<ul>
<!--<#list CmsPagesCategoryModel.categoryTree.subCategories as category>
<@categoryTreeNode category />
</#list>-->
<@categoryTreeNode CmsPagesCategoryModel.categoryTree />
</ul>
<h2>(Index) Item</h2>
<#if (CmsPagesCategoryModel.category.hasIndexItem)>
<dl>
<dt>Name</dt>
<dd>${CmsPagesCategorizedItemModel.name}</dd>
<dt>Title</dt>
<dd>${CmsPagesCategorizedItemModel.title}</dd>
<dt>Description</dt>
<dd>${CmsPagesCategorizedItemModel.description}</dd>
</dl>
<#else>
<p>No (Index) Item</p>
</#if>
<h2>Item List</h2>
<ul>
<#list CmsPagesItemListModel.items as item>
<li>
<b>${item.title} (${item.name})</b>
${item.description}
</li>
</#list>
</ul>
</body>
</html>
<#macro categoryTreeNode category>
<li>
${category.name}
<#if (category.subCategories?size > 0)>
<ul>
<#list category.subCategories as subCategory>
<@categoryTreeNode subCategory />
</#list>
</ul>
</#if>
</li>
</#macro>

View File

@ -1,19 +0,0 @@
<footer>
<ul>
<li>
<a href="/impressum">
<!--Impressum-->
${localize("footer.impressum")}
</a>
</li>
<li>
<a href="/privacy">
<!--Privacy-->
${localize("footer.privacy")}
</a>
</li>
<li>
<code>imported</code>
</li>
</ul>
</footer>

View File

@ -1,35 +0,0 @@
<#import "../main.html.ftl" as main>
<@main.ccm_main>
<h1>${LoginMessages['login.title']}</h1>
<#if (loginFailed)>
<div class="alert-error">
${LoginMessages['login.errors.failed']}
</div>
</#if>
<form action="${mvc.uri('LoginController#processLogin')}"
class="login"
method="post">
<div class="form-row">
<label for="login">${LoginMessages['login.screenname.label']}</label>
<input id="login" name="login" required="true" type="text" />
</div>
<div class="form-row">
<label for="password">
${LoginMessages['login.password.label']}
</label>
<input id="password"
name="password"
required="true"
type="password" />
</div>
<input type="hidden"
name="returnUrl"
value="${returnUrl}" />
<button type="submit">
${LoginMessages['login.submit']}
</button>
</form>
</@main.ccm_main>

View File

@ -1,15 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Category page</title>
<link rel="stylesheet" href="${getContextPath()}/theming/ccm/style.css" />
</head>
<body>
<main>
<h1>${LoginMessages['login.password_recovered.title']}</h1>
<p>${LoginMessages['login.password_recovered.message']}</p>
</main>
<#include "footer.html.ftl">
</body>
</html>

View File

@ -1,27 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Category page</title>
<link rel="stylesheet" href="${getContextPath()}/theming/ccm/style.css" />
</head>
<body>
<main>
<h1>${LoginMessages['login.recover_password.title']}</h1>
<# if (failedToSendRecoverMessage)>
<div class="alert-error">
${LoginMessages['login.errors.failedToSendRecoverMessage']}
</div>
</#if>
<form action="${mvc.url('LoginController#recoverPassword')}"
method="post">
<label for="email">${LoginMessages['login.email.label']}</label>
<input id="email" name="email" required="true" type="text" />
<button type="submit">
${LoginMessages['login.recover_password.submit']}
</button>
</form>
</main>
<#include "footer.html.ftl">
</body>
</html>

View File

@ -1,13 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Category page</title>
<link rel="stylesheet" href="${themeUrl}/style.css" />
</head>
<body>
<main>
<h1>Logout successful</h1>
<p>Logout successful</p>
</main>
</body>
</html>

View File

@ -1,25 +0,0 @@
<#macro ccm_main scripts=[]>
<html>
<head>
<title>Category page</title>
<link rel="stylesheet" href="${themeUrl}/styles/style.css" />
<#list scripts as script>
<script src="${themeUrl}/${script}" />
</#list>
</head>
<body>
<header>
<a href="https://www.libreccm.org">
<img alt="LibreCCM Logo"
src="${themeUrl}/images/libreccm.png" />
</a>
</header>
<main>
<#nested>
</main>
<footer>
<p>LibreCCM basic theme. The customize create your own theme.</p>
</footer>
</body>
</html>
</#macro>

View File

@ -1,5 +0,0 @@
label.critical=Critical
label.error=Error
label.ok=OK
label.warning=Warning

View File

@ -1,3 +0,0 @@
footer.impressum=Impressum
footer.privacy=Privacy

View File

@ -1,95 +0,0 @@
{
"files": [
{
"name": "images",
"isDirectory": true,
"files": [
{
"name": "libreccm.png",
"isDirectory": false,
"mimeType": "image/png"
}
]
},
{
"name": "settings.properties",
"isDirectory": false,
"mimeType": "text/plain"
},
{
"name": "styles",
"isDirectory": true,
"files": [
{
"name": "style.css",
"isDirectory": false,
"mimeType": "text/css"
}
]
},
{
"name": "templates",
"isDirectory": true,
"files": [
{
"name": "login",
"isDirectory": true,
"files": [
{
"name": "login-form.html.ftl",
"isDirectory": false,
"mimeType": "text/plain"
},
{
"name": "login-password-recovered.html.ftl",
"isDirectory": false,
"mimeType": "text/plain"
}, {
"name": "login-recover-password.html.ftl",
"isDirectory": false,
"mimeType": "text/plain"
}
]
},
{
"name": "logout",
"isDirectory": true,
"files": [
{
"name": "loggedout.html.ftl",
"isDirectory": false,
"mimeText": "text/plain"
}
]
}
]
},
{
"name": "texts",
"isDirectory": true,
"files": [
{
"name": "labels.properties",
"isDirectory": false,
"mimeType": "text/plain"
}
]
},
{
"name": "theme-bundle.properties",
"isDirectory": false,
"mimeType": "text/plain"
},
{
"name": "theme-index.json",
"isDirectory": false,
"mimeType": "application/json"
},
{
"name": "theme.json",
"isDirectory": false,
"mimeType": "application/json"
}
]
}

View File

@ -1,144 +0,0 @@
{
"name": "librecms-devel",
"type": "freemarker",
"default-template": "templates/default.html.ftl",
"mvc-templates": {
"default": {
"description": {
"values": {
"value": [
{
"lang": "en",
"value": "Default Template"
}
]
}
},
"name": "Default Template",
"path": "templates/default.html.ftl",
"title": {
"values": {
"value": [
{
"lang": "en",
"value": "Default Template"
}
]
}
}
},
"login-form": {
"description": {
"values": {
"value": [
{
"lang": "en",
"value": "Login Form"
}
]
}
},
"name": "Login Form",
"path": "templates/login/login-form.html.ftl",
"title": {
"values": {
"value": [
{
"lang": "en",
"value": "Login Form"
}
]
}
}
},
"login-recover-password": {
"description": {
"values": {
"value": [
{
"lang": "en",
"value": "Recover lost passwords"
}
]
}
},
"name": "login-recover-password",
"path": "templates/login/login-recover-password.html.ftl",
"title": {
"values": {
"value": [
{
"lang": "en",
"value": "Recover password"
}
]
}
}
},
"login-password-recovered": {
"description": {
"values": {
"value": [
{
"lang": "en",
"value": "Password recovered"
}
]
}
},
"name": "login-password-recovered",
"path": "templates/login/login-password-recovered.html.ftl",
"title": {
"values": {
"value": [
{
"lang": "en",
"value": "Password recovered"
}
]
}
}
},
"loggedout": {
"description": {
"values": {
"value": [
{
"lang": "en",
"value": "Logout successful"
}
]
}
},
"name": "loggedout",
"path": "templates/logout/loggedout.html.ftl",
"title": {
"values": {
"value": [
{
"lang": "en",
"value": "Logout succesful"
}
]
}
}
}
},
"views": {
"default": {
"default": "default",
"@default": "default"
},
"login": {
"loginForm": "login-form",
"passwordRecovered": "login-password-recovered",
"recoverPassword": "login-recover-password"
},
"logout": {
"loggedout": "loggedout"
}
}
}

View File

@ -1,51 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
author: Jens Pelzetter
-->
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">
<persistence-unit name="LibreCCM" transaction-type="JTA">
<!--
Enforce JPA provider
Not really necessary here because we don't use any Hibernate
specific features, but makes it easier to manage to database
creation scripts.
-->
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>java:/comp/env/jdbc/libreccm/db</jta-data-source>
<jar-file>lib/ccm-core-7.0.0-SNAPSHOT.jar</jar-file>
<jar-file>lib/ccm-cms-7.0.0-SNAPSHOT.jar</jar-file>
<jar-file>lib/ccm-shortcuts-7.0.0-SNAPSHOT.jar</jar-file>
<properties>
<!-- Properties for Hibernate -->
<property name="hibernate.hbm2ddl.auto" value="validate" />
<property name="hibernate.connection.autocommit" value="false" />
<property name="hibernate.id.new_generator_mappings" value="true" />
<property name="wildfly.jpa.hibernate.search.module"
value="org.hibernate.search.orm:main" />
<!-- <property name="hibernate.show_sql" value="true" />
<property name="format_sql" value="true" />
<property name="use_sql_comments" value="true" />-->
<!--
Properties for Hibernate Envers
We are using the ValidityAuditStrategy here because it is faster
when querying data than the DefaultStrategy
-->
<property name="org.hibernate.envers.audit_strategy"
value="org.hibernate.envers.strategy.ValidityAuditStrategy"/>
</properties>
</persistence-unit>
</persistence>

View File

@ -1,10 +0,0 @@
<?xml version="1.0"?>
<faces-config version="2.2"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
<application>
<resource-handler>org.libreccm.mvc.facelets.CcmViewResourceHandler</resource-handler>
</application>
</faces-config>

View File

@ -1,5 +0,0 @@
<?xml version="1.0" ?>
<jboss-web>
<context-root>/libreccm</context-root>
<default-encoding>UTF-8</default-encoding>
</jboss-web>

View File

@ -1,91 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>LibreCCM Devel Bundle for Wildfly</display-name>
<context-param>
<param-name>ccm.develmode</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>ccm.distribution</param-name>
<param-value>libreccm</param-value>
</context-param>
<context-param>
<param-name>resteasy.resources</param-name>
<param-value>org.jboss.resteasy.plugins.stats.RegistryStatsResource</param-value>
</context-param>
<!-- No JSESSIONID!!! -->
<session-config>
<tracking-mode>COOKIE</tracking-mode>
<!--<tracking-mode>URL</tracking-mode>-->
</session-config>
<filter>
<filter-name>ShiroFilter</filter-name>
<filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ShiroFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
</listener>
<!-- JAX-RS -->
<!--<servlet>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/content-sections/*</url-pattern>
</servlet-mapping>-->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<context-param>
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>PARAMETER_ENCODING</param-name>
<param-value>UTF-8</param-value>
</context-param>
<!-- <servlet>
<servlet-name>vaadin-servlet</servlet-name>
<servlet-class>com.vaadin.cdi.server.VaadinCDIServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>vaadin-servlet</servlet-name>
<url-pattern>/vaadin/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>vaadin-servlet</servlet-name>
<url-pattern>/VAADIN/*</url-pattern>
</servlet-mapping>-->
</web-app>

View File

@ -3,10 +3,61 @@
--------------
Jens Pelzetter
--------------
2016-03-18
2016-06-03
--------------
LibreCCM Bundle Web for Wildfly
LibreCCM Bundle for Wildfly
This module provides the web application part of the the LibreCCM devel
bundle for the Wildfly application server.
This module provides the LibreCCM development bundle for the Wildfly
application server.
This bundle is not meant for production use as its contains most of the
available modules.
Developers can run this LibreCCM directly from Maven. Three profiles are
provided:
[h2] Uses a H2 database located in the project build directory. This means
that the database is deleted every time <<<mvn clean>>>.
[pgsql] Uses an PostgresSQL database with a generic configuration. The
PostgreSQL server must run on localhost and the standard port and there
must be a database called with <<<libreccm-devel>>> which is accessible
for the user <<<ccm>>> using the password <<<ccm47web>>>.
[generic] Uses an existing Wildfly installation. The datasource for the
database which is used by LibreCCM has to be configured by the user for this
profile. Also, Maven or more exactly the wildfly-maven-plugin has to know
the location of the Wildfly instance to use. The location of the Wildfly
instance can either be provided on the command line when invoking Maven
or by setting the <<<JBOSS_HOME>>> environment variable.
When using the <<<h2>>> it is not necessary to install a Wildfly application
server first. The <wildfly-maven-plugin> will download the Wildfly
application server and extract the server into the <<<target>>> directory.
The <<<h2>>> and the <<<pgsql>>> profile add a user to the Wildfly server
with the username <<<admin>>> and the password <<<admin123>>> which allow
the developer to access the management web UI of the Wildfly server.
* Run examples
** Profile h2
To run the LibreCCM bundle using a H2 database:
mvn package wildfly:run -pl ccm-bundle-devel-wildfly -am -Ph2
** Profile pgsql
mvn package wildfly:run -pl ccm-bundle-devel-wildfly -am -Ppgsql
** Profile generic
mvn -Djboss-as.home=/home/mustermann/java-ee-servers/wildfly/wildfly-10.0.0.Final package wildfly:run -pl ccm-bundle-devel-wildfly -am -Pgeneric
** Additional options
The <<<wildfly:run>>> goal of the <wildfly-maven-plugin> provides several
other options. For a complete list please refer to the documentation of the
{{{https://docs.jboss.org/wildfly/plugins/maven/latest/run-mojo.html}run goal}}.

View File

@ -10,10 +10,11 @@
</menu>
<menu name="Overview">
<item name="The LibreCCM Devel Bundle Web module" href="index.html"/>
<item name="The LibreCCM Devel Bundle module" href="index.html"/>
</menu>
<menu ref="reports"/>
</body>
</project>

View File

@ -1,29 +0,0 @@
const path = require('path');
module.exports = {
devtool: "source-map",
entry: {
// "ccm-cms-pagemodelseditor": "./src/main/typescript/ccm-cms-pagemodelseditor.ts",
// "ccm-cms-tinymce-loader": "./src/main/typescript/tinymce/ccm-cms-tinymce-loader.ts",
},
mode: "development",
output: {
//path: path.resolve(__dirname, "src/main/resources/dist"),
path: path.resolve(__dirname, "target/generated-resources/scripts/dist"),
filename: "[name].js"
},
resolve: {
extensions: [".webpack.js", "web.js", ".ts", ".tsx", ".js"]
},
module: {
rules: [
{ test: /\.tsx?$/, loader: "ts-loader"}
]
}
};

View File

@ -1,12 +0,0 @@
# Configuration for Wildfly, primarly ports on which Wildfly will listen
# Ports for Undertow (Servlet Container). These are the ports which you are
# using the access your application
jboss.http.port=8080
jboss.https.port=8443
# Ports for Wildfly's Management Interface
jboss.management.http.port=9990
jboss.management.https.port=9993

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
@ -39,35 +38,38 @@
<artifactId>ccm-theme-foundry</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<dependency>
<groupId>org.librecms</groupId>
<artifactId>ccm-theme-ftllibs-devel</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms-default-theme</artifactId>
<version>${project.parent.version}</version>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
</dependency>
<!-- CCM modules -->
<!-- <dependency>
<dependency>
<groupId>org.libreccm</groupId>
<artifactId>ccm-shortcuts</artifactId>
<version>${project.parent.version}</version>
</dependency>-->
</dependency>
<dependency>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms</artifactId>
<version>${project.parent.version}</version>
</dependency>
<!-- CCM Modules end -->
<!-- CCM Modules end -->
<!-- Dependencies for log4j 2 including adapter for the log4j 1.2 API -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>

View File

@ -113,8 +113,8 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>11</source>
<target>11</target>
<source>1.7</source>
<target>1.7</target>
<optimize>true</optimize>
<debug>true</debug>
<encoding>${project.build.sourceEncoding}</encoding>
@ -191,8 +191,13 @@
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<configuration>
<detectLinks>false</detectLinks>
<detectJavaApiLinks>false</detectJavaApiLinks>
<detectLinks>true</detectLinks>
<detectJavaApiLinks>true</detectJavaApiLinks>
<links>
<link>http://docs.oracle.com/javase/7/docs/api/</link>
<link>http://docs.oracle.com/javaee/7/api/</link>
<link>http://docs.jboss.org/hibernate/orm/4.3/javadocs/</link>
</links>
<show>private</show>
<docfilessubdirs>true</docfilessubdirs>
<charset>UTF-8</charset>
@ -203,6 +208,16 @@
<author>true</author>
<keywords>true</keywords>
<failOnError>false</failOnError>
<doclet>org.jboss.apiviz.APIviz</doclet>
<docletArtifact>
<groupId>org.jboss.apiviz</groupId>
<artifactId>apiviz</artifactId>
<version>1.3.2.GA</version>
</docletArtifact>
<useStandardDocletOptions>true</useStandardDocletOptions>
<additionalparam>
-sourceclasspath ${project.build.outputDirectory}
</additionalparam>
</configuration>
</plugin>
@ -221,6 +236,11 @@
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.5.201505241946</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@ -229,7 +249,7 @@
<configuration>
<linkXref>true</linkXref>
<sourceEncoding>utf-8</sourceEncoding>
<targetJdk>11</targetJdk>
<targetJdk>1.8</targetJdk>
<rulesets>
<ruleset>/rulesets/java/basic.xml</ruleset>
<ruleset>/rulesets/java/braces.xml</ruleset>

File diff suppressed because it is too large Load Diff

View File

@ -1,30 +0,0 @@
{
"name": "@librecms/default-theme",
"version": "7.0.0",
"scripts": {
"build": "npm-run-all build:*",
"build:mkdir": "shx mkdir -p target/generated-resources/themes/librecms",
"build:theme": "shx cp -r src/main/resources/themes/librecms/* target/generated-resources/themes/librecms",
"build:icons": "shx cp node_modules/bootstrap-icons/bootstrap-icons.svg target/generated-resources/themes/librecms/images/",
"build:js": "webpack",
"build:css": "npm-run-all build:css:*",
"build:css:librecms": "sass src/main/scss/librecms.scss target/generated-resources/themes/librecms/styles/librecms.css",
"build:index": "theme-index-builder target/generated-resources/themes/librecms"
},
"author": "Jens Pelzetter",
"license": "LGPL-3.0-or-later",
"devDependencies": {
"@types/bootstrap": "^5.1.8",
"npm-run-all": "^4.1.5",
"sass": "^1.48.0",
"shx": "^0.3.4",
"ts-loader": "^9.2.6",
"typescript": "^4.5.4",
"webpack": "^5.66.0",
"webpack-cli": "^4.9.1"
},
"dependencies": {
"bootstrap": "^5.1.3",
"bootstrap-icons": "^1.7.2"
}
}

View File

@ -1,113 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'Z</maven.build.timestamp.format>
</properties>
<parent>
<groupId>org.libreccm</groupId>
<artifactId>libreccm-parent</artifactId>
<version>7.0.0-SNAPSHOT</version>
</parent>
<groupId>org.librecms</groupId>
<artifactId>ccm-cms-default-theme</artifactId>
<version>7.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>LibreCMS Default Theme</name>
<licenses>
<license>
<name>Lesser GPL 2.1</name>
<url>http://www.gnu.org/licenses/old-licenses/lgpl-2.1</url>
</license>
</licenses>
<dependencies>
<dependency>
<groupId>org.libreccm</groupId>
<artifactId>ccm-static-theme-index-builder</artifactId>
<version>7.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<finalName>ccm-cms-default-theme</finalName>
<resources>
<!-- <resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/typescript</directory>
</resource> -->
<resource>
<directory>${project.build.directory}/generated-resources</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<configuration>
<installDirectory>../node</installDirectory>
</configuration>
<executions>
<execution>
<id>Install node.js and NPM</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<configuration>
<nodeVersion>v16.14.2</nodeVersion>
</configuration>
</execution>
<execution>
<id>npm install</id>
<goals>
<goal>npm</goal>
</goals>
</execution>
<execution>
<id>npm link @libreccm/ccm-static-theme-index-builder</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>link @libreccm/ccm-static-theme-index-builder</arguments>
</configuration>
</execution>
<execution>
<id>build</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>run build</arguments>
</configuration>
</execution>
<execution>
<id>npm link</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>link</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@ -1 +0,0 @@
import "bootstrap";

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 175 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 180 KiB

View File

@ -1,63 +0,0 @@
<#macro "org.librecms.assets.AudioAsset" asset>
<figure>
<audio controls
src="/content-sections/${asset.contentSection}/audiomedia${asset.assetPath}"
width="240"></audio>
<figcaption>${asset.description}</figcaption>
</figure>
</#macro>
<#macro "org.librecms.assets.ExternalAudioAsset" asset>
<figure>
<audio controls src="${asset.url}" width="240"></audio>
<figcaption>${asset.description}</figcaption>
</figure>
</#macro>
<#macro "org.librecms.assets.ExternalVideoAsset" asset>
<figure>
<video controls src="${asset.url}" width="240"></video>
<figcaption>${asset.description}</figcaption>
</figure>
</#macro>
<#macro "org.librecms.assets.FileAsset" asset>
<h3><a href="/content-sections/${asset.contentSection}/files${asset.assetPath}">${asset.title}</a></h3>
<p>${asset.description}</p>
<small>${asset.mimeType} ${asset.size} Bytes</small>
</#macro>
<#macro "org.librecms.assets.Image" asset>
<figure>
<img src="/content-sections/${asset.contentSection}/images${asset.assetPath}"
width="240" />
<figcaption>${asset.description}</figcaption>
</figure>
</#macro>
<#macro "org.librecms.assets.RelatedLink" asset>
<#if asset.externalLink>
<div>
<a href="${asset.targetUrl}">${asset.title}</a>
<svg class="bi"
fill="current-color"
height="1em"
width="1em">
<use xlink:href="${themeUrl}/images/bootstrap-icons.svg#globe" />
</svg>
<span class="visually-hidden">External link</span>
</div>
<#else>
<a href="${asset.targetItemPath}">${asset.title}</a>
</#if>
</#macro>
<#macro "org.librecms.assets.VideoAsset" asset>
<figure>
<video controls
src="/content-sections/${asset.contentSection}/videos${asset.assetPath}"
width="240"></video>
<figcaption>${asset.description}</figcaption>
</figure>
</#macro>

View File

@ -1,51 +0,0 @@
<#import "./main.html.ftl" as main>
<#import "./assets.html.ftl" as assets>
<@main.librecms>
<div class="container">
<div class="row align-items-start justify-content-center">
<div class="col-lg-8">
<#if CmsPagesContentItemTypeModel.itemClass != "">
<#assign itemTemplate = .getOptionalTemplate("./contentitems/${CmsPagesContentItemTypeModel.itemClass}.html.ftl")>
<#if itemTemplate.exists>
<#import "./contentitems/${CmsPagesContentItemTypeModel.itemClass}.html.ftl" as contentitem>
<#else>
<#import "./contentitems/default.html.ftl" as contentitem>
</#if>
<@contentitem.details />
</#if>
</div>
<div class="col-lg-4">
<#list CmsPagesCategorizedItemModel.attachmentLists as attachmentList>
<h2>${attachmentList.title}</h2>
<p class="item-description">${attachmentList.description}</p>
<#list attachmentList.attachments>
<ul class="list-group">
<#items as attachment>
<li class="list-group-item">
<@.vars["assets"][attachment.asset.type] attachment.asset />
</li>
</#items>
</ul>
</#list>
</#list>
</div>
</div>
<#list CmsPagesItemListModel.getItems()>
<div class="row align-items-start">
<div class="col-12">
<ul class="list-group">
<#items as item>
<li class="list-group-item">
<h2>
<a href="/pages/${CmsPagesCategoryModel.category.path}${item.name}.${negotiatedLocale}.html${CmsPagesPageUrlModel.queryString}">${item.title}</a>
</h2>
<p class="item-description">${item.description}</p>
</li>
</#items>
</ul>
</div>
</div>
</div>
</#list>
</@main.librecms>

View File

@ -1,7 +0,0 @@
<#macro details>
<h1>${CmsPagesCategorizedItemModel.title}</h1>
<p class="item-description">${CmsPagesCategorizedItemModel.description}</p>
<div class="alert alert-warning">
No template for ${CmsPagesContentItemTypeModel.itemClass} available
</div>
</#macro>

View File

@ -1,17 +0,0 @@
<#import "../assets.html.ftl" as assets>
<#macro details>
<h1>${CmsPagesCategorizedItemModel.title}</h1>
<p class="item-description">${CmsPagesCategorizedItemModel.description}</p>
<div class="float-end">
<#list CmsPagesCategorizedItemModel.mediaLists as mediaList>
<#list mediaList.attachments as media>
<@.vars["assets"][media.asset.type] media.asset />
</#list>
</#list>
</div>
<div>
${CmsPagesArticleModel.text}
</div>
</#macro>

View File

@ -1,25 +0,0 @@
<#macro details>
<div class="d-flex">
<h1>
${CmsPagesCategorizedItemModel.title}
<span class="badge bg-secondary rounded-pill">
${CmsPagesEventModel.getStartDateTime('yyyy-MM-dd')}
<#if CmsPagesEventModel.getEndDateTime()??>
- ${CmsPagesEventModel.getEndDateTime('yyyy-MM-dd')}
</#if>
</span>
</h1>
</div>
<p class="item-description">${CmsPagesCategorizedItemModel.description}</p>
<div>
${CmsPagesEventModel.text}
</div>
<#if CmsPagesEventModel.location??>
<h2>Location</h2>
<div>
${CmsPagesEventModel.location}
</div>
</#if>
</#macro>

Some files were not shown because too many files have changed in this diff Show More