diff --git a/ccm-bundle-devel-swarm/pom.xml b/ccm-bundle-devel-swarm/pom.xml
new file mode 100644
index 000000000..7454bbeb2
--- /dev/null
+++ b/ccm-bundle-devel-swarm/pom.xml
@@ -0,0 +1,86 @@
+
+
+
+ 4.0.0
+
+
+ UTF-8
+ ${maven.build.timestamp}
+ yyyy-MM-dd'T'HH:mm:ss'Z'Z
+ 1.0.0.Alpha5
+
+
+
+ org.libreccm
+ libreccm-parent
+ 7.0.0-SNAPSHOT
+
+
+ org.libreccm
+ ccm-bundle-devel-swarm
+
+ LibreCCM Devel Bundle Wildfly Swarm
+
+
+
+ Lesser GPL 2.1
+ http://www.gnu.org/licenses/old-licenses/lgpl-2.1
+
+
+
+
+
+ org.libreccm
+ ccm-core
+ 7.0.0-SNAPSHOT
+
+
+
+ com.h2database
+ h2
+
+
+
+ org.wildfly.swarm
+ wildfly-swarm-undertow
+ ${wildfly.swarm.version}
+
+
+
+ org.wildfly.swarm
+ wildfly-swarm-jpa
+ ${wildfly.swarm.version}
+
+
+
+ org.wildfly.swarm
+ wildfly-swarm-datasources
+ ${wildfly.swarm.version}
+
+
+
+
+
+
+
+ org.wildfly.swarm
+ wildfly-swarm-plugin
+ ${wildfly.swarm.version}
+
+ org.libreccm.wildfly.swarm.Bundle
+
+
+
+
+ package
+
+
+
+
+
+
+
+
diff --git a/ccm-bundle-devel-swarm/src/main/java/org/libreccm/wildfly/swarm/Bundle.java b/ccm-bundle-devel-swarm/src/main/java/org/libreccm/wildfly/swarm/Bundle.java
new file mode 100644
index 000000000..c94e861f2
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/java/org/libreccm/wildfly/swarm/Bundle.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright (C) 2015 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package org.libreccm.wildfly.swarm;
+
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.ClassLoaderAsset;
+import org.wildfly.swarm.config.datasources.DataSource;
+import org.wildfly.swarm.config.datasources.DataSourceConfigurator;
+import org.wildfly.swarm.config.datasources.JDBCDriver;
+import org.wildfly.swarm.config.datasources.JDBCDriverConfigurator;
+import org.wildfly.swarm.container.Container;
+import org.wildfly.swarm.datasources.DatasourcesFraction;
+import org.wildfly.swarm.jpa.JPAFraction;
+import org.wildfly.swarm.undertow.WARArchive;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Properties;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+public class Bundle {
+
+ public static void main(final String[] args) throws Exception {
+
+ final Properties config = getConfiguration();
+
+ final Container container = new Container();
+
+ final JDBCDriverConfigurator configurator
+ = (driver) -> {
+ driver.driverDatasourceClassName(config.getProperty(
+ "db.driver.datasource.classname"));
+ driver.xaDatasourceClass(config.getProperty(
+ "db.xa.datasource.classname"));
+ driver.driverModuleName("db.driver.module.name");
+ };
+
+ final DataSourceConfigurator> dsConfigurator = (dataSource) -> {
+ dataSource.driverName("db-driver");
+ dataSource.connectionUrl(
+ config.getProperty("db.connection.url"));
+ dataSource.userName(config.getProperty("db.user.name"));
+ dataSource.password(config.getProperty("db.password"));
+ };
+
+ container.fraction(new DatasourcesFraction().jdbcDriver("db-driver",
+ configurator)
+ .dataSource("java:/comp/env/jdbc/ccm-core/db", dsConfigurator));
+
+ container.fraction(new JPAFraction().inhibitDefaultDatasource()
+ .defaultDatasource("java:/comp/env/jdbc/ccm-core/db"));
+
+ //Remove when CCM installer is available
+ setup(config);
+
+ container.start();
+
+ final WARArchive deployment = ShrinkWrap.create(WARArchive.class);
+ deployment.addAsWebInfResource(
+ new ClassLoaderAsset(
+ "META-INF/persistence.xml",
+ Bundle.class.getClassLoader()),
+ "classes/META-INF/persistence.xml");
+ deployment.addAllDependencies();
+ deployment.addAsResource("/themes");
+ container.deploy(deployment);
+ }
+
+ private static Properties getConfiguration() throws IOException {
+ final String defaultConfig = String.format(
+ "%s/configuration.properties", System.getProperty("user.dir"));
+ final String config = System.getProperty("ccm.config", defaultConfig);
+
+ final FileInputStream stream = new FileInputStream(config);
+ final Properties properties = new Properties();
+ properties.load(stream);
+
+ return properties;
+ }
+
+ private static Properties getSetupParameters() throws IOException {
+ final String defaultParameters = String.format(
+ "%s/setup.properties", System.getProperty("user.dir"));
+ final String parameters = System.getProperty("ccm.setup.parameters",
+ defaultParameters);
+
+ final FileInputStream stream = new FileInputStream(parameters);
+ final Properties properties = new Properties();
+ properties.load(stream);
+
+ return properties;
+
+ }
+
+ private static void setup(final Properties config) throws
+ ClassNotFoundException, SQLException, IOException {
+
+ final Properties setupParameters = getSetupParameters();
+
+ Class.forName("org.h2.Driver");
+ try (final Connection connection = DriverManager.getConnection(config
+ .getProperty("db.connection.url"));
+ final Statement statement = connection.createStatement()) {
+
+ final ResultSet result = statement.executeQuery(
+ "SELECT COUNT(*) FROM USERS WHERE NAME NOT LIKE 'public-user'");
+ result.next();
+ final int numberOfUsers = result.getInt(1);
+ result.close();
+
+ if (numberOfUsers <= 0) {
+ final String adminName = setupParameters.getProperty(
+ "admin.name");
+ final String adminEmail = setupParameters.getProperty(
+ "admin.email");
+ final String adminGivenName = setupParameters.getProperty(
+ "admin.givenname");
+ final String adminFamilyName = setupParameters.getProperty(
+ "admin.familyname");
+ final String adminPassword = setupParameters.getProperty(
+ "admin.password");
+
+ statement.executeUpdate(String.format(
+ "INSERT INTO PARTIES(PARTY_ID, NAME) "
+ + "VALUES(-10, '%s')",
+ adminName));
+ statement.executeUpdate(String.format(
+ "INSERT INTO USERS(PARTY_ID, GIVEN_NAME, FAMILY_NAME, EMAIL_ADDRESS, PASSWORD) "
+ + "VALUES (-10, '%s', '%s', '%s', '%s'),",
+ adminGivenName,
+ adminFamilyName,
+ adminEmail,
+ adminPassword
+ ));
+ statement.executeUpdate("INSERT INTO CCM_ROLES(roleId, name) "
+ + "VALUES(-10, 'admin'");
+ statement.executeUpdate("INSERT INTO ROLE_MEMBERSHIPS("
+ + "MEMBERSHIP_ID, MEMBER_ID, ROLE_ID) "
+ + "VALUES(-10, -10, 10)");
+
+ statement.close();
+ }
+
+ //} catch(SQLException ex) {
+ } finally {
+
+ }
+
+ }
+
+}
diff --git a/ccm-bundle-devel-swarm/src/main/resources/META-INF/persistence.xml b/ccm-bundle-devel-swarm/src/main/resources/META-INF/persistence.xml
new file mode 100644
index 000000000..e9f749299
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/META-INF/persistence.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+ org.hibernate.jpa.HibernatePersistenceProvider
+
+ java:/comp/env/jdbc/ccm-core/db
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/bebop-contextbar.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/bebop-contextbar.xml
new file mode 100644
index 000000000..a75579651
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/bebop-contextbar.xml
@@ -0,0 +1,4 @@
+
+
+ ->
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/bebop.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/bebop.xml
new file mode 100644
index 000000000..45eba49c9
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/bebop.xml
@@ -0,0 +1,4 @@
+
+
+ ⓘ
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/cms.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/cms.xml
new file mode 100644
index 000000000..33ff708eb
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/cms.xml
@@ -0,0 +1,10 @@
+
+
+
+ horizontal
+ false
+
+ yes
+ yes
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/css-files.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/css-files.xml
new file mode 100644
index 000000000..ac7d54777
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/css-files.xml
@@ -0,0 +1,26 @@
+
+
+
+ admin.css
+
+
+ admin.css
+
+
+ public.css
+
+
+ portal.css
+ public.css
+
+
+ admin.css
+
+
+ portal.css
+ public.css
+
+
+ public.css
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/global.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/global.xml
new file mode 100644
index 000000000..a60ecc9e5
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/global.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+ master
+
+
+
+ warn
+
+ images/scientificcms_logo.png
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/templates.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/templates.xml
new file mode 100644
index 000000000..02c15bc55
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/conf/templates.xml
@@ -0,0 +1,63 @@
+
+
+
+
+ admin-layout.xml
+ admin-layout.xml
+ portal-workspace.xml
+ portal-workspace-grid.xml
+ admin-layout.xml
+ portal-workspace.xml
+ default-layout.xml
+
+
+
+
+
+ content-items/article-detail.xml
+
+
+ content-items/bookmark-detail.xml
+
+
+ content-items/event-detail.xml
+
+
+ content-items/mpa-detail.xml
+
+
+ content-items/news-detail.xml
+
+ content-items/detail-default.xml
+
+
+ content-items/link-default.xml
+
+
+
+ content-items/article-list.xml
+
+
+ content-items/mpa-list.xml
+
+ content-items/list-default.xml
+
+
+
+
+
+ portlets/contentitem.xml
+
+
+ portlets/item-list.xml
+
+
+ portlets/freeform-html.xml
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Bold-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Bold-webfont.eot
new file mode 100644
index 000000000..d1fed796f
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Bold-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Bold-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Bold-webfont.svg
new file mode 100644
index 000000000..e40a17a8a
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Bold-webfont.svg
@@ -0,0 +1,691 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Bold-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Bold-webfont.ttf
new file mode 100644
index 000000000..37064f6b5
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Bold-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Bold-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Bold-webfont.woff
new file mode 100644
index 000000000..ca1aa788d
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Bold-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-BoldItalic-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-BoldItalic-webfont.eot
new file mode 100644
index 000000000..07ce438a1
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-BoldItalic-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-BoldItalic-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-BoldItalic-webfont.svg
new file mode 100644
index 000000000..94a93933a
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-BoldItalic-webfont.svg
@@ -0,0 +1,691 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-BoldItalic-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-BoldItalic-webfont.ttf
new file mode 100644
index 000000000..c435ef4d1
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-BoldItalic-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-BoldItalic-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-BoldItalic-webfont.woff
new file mode 100644
index 000000000..31ecb85fb
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-BoldItalic-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Italic-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Italic-webfont.eot
new file mode 100644
index 000000000..2c7adb7e5
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Italic-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Italic-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Italic-webfont.svg
new file mode 100644
index 000000000..1fc5cb43b
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Italic-webfont.svg
@@ -0,0 +1,691 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Italic-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Italic-webfont.ttf
new file mode 100644
index 000000000..82811ab13
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Italic-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Italic-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Italic-webfont.woff
new file mode 100644
index 000000000..eed2f66bd
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Italic-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Regular-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Regular-webfont.eot
new file mode 100644
index 000000000..5f981b4e5
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Regular-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Regular-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Regular-webfont.svg
new file mode 100644
index 000000000..77701532f
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Regular-webfont.svg
@@ -0,0 +1,691 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Regular-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Regular-webfont.ttf
new file mode 100644
index 000000000..58dd40df0
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Regular-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Regular-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Regular-webfont.woff
new file mode 100644
index 000000000..bd4120ea4
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationMono-Regular-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Bold-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Bold-webfont.eot
new file mode 100644
index 000000000..7435609c4
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Bold-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Bold-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Bold-webfont.svg
new file mode 100644
index 000000000..01166491e
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Bold-webfont.svg
@@ -0,0 +1,1604 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Bold-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Bold-webfont.ttf
new file mode 100644
index 000000000..d164c3f0c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Bold-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Bold-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Bold-webfont.woff
new file mode 100644
index 000000000..1cd0fd11c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Bold-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-BoldItalic-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-BoldItalic-webfont.eot
new file mode 100644
index 000000000..246a9b014
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-BoldItalic-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-BoldItalic-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-BoldItalic-webfont.svg
new file mode 100644
index 000000000..15e17ac06
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-BoldItalic-webfont.svg
@@ -0,0 +1,1516 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-BoldItalic-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-BoldItalic-webfont.ttf
new file mode 100644
index 000000000..5a6ef20d2
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-BoldItalic-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-BoldItalic-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-BoldItalic-webfont.woff
new file mode 100644
index 000000000..29e10370e
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-BoldItalic-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Italic-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Italic-webfont.eot
new file mode 100644
index 000000000..1d9fdef06
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Italic-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Italic-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Italic-webfont.svg
new file mode 100644
index 000000000..5f3bba255
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Italic-webfont.svg
@@ -0,0 +1,1553 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Italic-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Italic-webfont.ttf
new file mode 100644
index 000000000..49d1b4228
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Italic-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Italic-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Italic-webfont.woff
new file mode 100644
index 000000000..11c4315e5
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Italic-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Regular-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Regular-webfont.eot
new file mode 100644
index 000000000..d6a2ca0b9
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Regular-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Regular-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Regular-webfont.svg
new file mode 100644
index 000000000..2914ea5a0
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Regular-webfont.svg
@@ -0,0 +1,1605 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Regular-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Regular-webfont.ttf
new file mode 100644
index 000000000..e5ecedf68
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Regular-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Regular-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Regular-webfont.woff
new file mode 100644
index 000000000..003b2a97e
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSans-Regular-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Bold-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Bold-webfont.eot
new file mode 100644
index 000000000..0a6cef663
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Bold-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Bold-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Bold-webfont.svg
new file mode 100644
index 000000000..82615e5bf
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Bold-webfont.svg
@@ -0,0 +1,1553 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Bold-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Bold-webfont.ttf
new file mode 100644
index 000000000..f43adba7c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Bold-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Bold-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Bold-webfont.woff
new file mode 100644
index 000000000..5d91fde4d
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Bold-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-BoldItalic-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-BoldItalic-webfont.eot
new file mode 100644
index 000000000..8eac883bd
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-BoldItalic-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-BoldItalic-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-BoldItalic-webfont.svg
new file mode 100644
index 000000000..b5ed20f16
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-BoldItalic-webfont.svg
@@ -0,0 +1,1533 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-BoldItalic-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-BoldItalic-webfont.ttf
new file mode 100644
index 000000000..8fe831212
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-BoldItalic-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-BoldItalic-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-BoldItalic-webfont.woff
new file mode 100644
index 000000000..671b20ab7
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-BoldItalic-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Italic-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Italic-webfont.eot
new file mode 100644
index 000000000..e698f47c1
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Italic-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Italic-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Italic-webfont.svg
new file mode 100644
index 000000000..39c3a41b7
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Italic-webfont.svg
@@ -0,0 +1,1510 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Italic-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Italic-webfont.ttf
new file mode 100644
index 000000000..141864440
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Italic-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Italic-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Italic-webfont.woff
new file mode 100644
index 000000000..1cbb2e09a
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Italic-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Regular-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Regular-webfont.eot
new file mode 100644
index 000000000..15d1fa8a5
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Regular-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Regular-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Regular-webfont.svg
new file mode 100644
index 000000000..db730541d
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Regular-webfont.svg
@@ -0,0 +1,1556 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Regular-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Regular-webfont.ttf
new file mode 100644
index 000000000..c3e8a8d74
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Regular-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Regular-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Regular-webfont.woff
new file mode 100644
index 000000000..ec8cc444e
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/fonts/LiberationSerif-Regular-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/foundry-documentation.html b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/foundry-documentation.html
new file mode 100644
index 000000000..ceae9d855
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/foundry-documentation.html
@@ -0,0 +1,4481 @@
+
+
+
+
+
+
+ Foundry Documentation
+
+
+
+
+
+
+
+
+
+ The Foundry Theming Engine for LibreCCM
+
+
+
+
+
The Foundry Theme Engine for LibreCCM
+
+
+
+
+
Overview
+
+
About Foundry
+
+
+ Foundry is a theme engine for the LibreCCM family of Content Management systems, for
+ example ScientificCMS and APLAWS+. Some parts of based on the Mandalay theme engine
+ developed by Sören Bernstein for ScientificCMS.
+
+
+
+ With Foundry the designer has full control of the HTML created from the content managed
+ by CCM. The templates for defining the HTML are almost plain HTML (in XML syntax) with
+ some additional elements which provide the data to display.
+
+
+
+
+
+
This manual
+
+
+ This manual is separated into two parts. The first part is
+ for designers and administrators (called users in the context of this manual). It
+ describes the structure of the templates in Foundry, how CSS files are implemented
+ and how Frameworks like Bootstrap,
+ YAML or jQuery
+ can be integrated into a Foundry theme. The first part also contains a reference
+ part which describes all elements/tags which can be used in the templates.
+ If you are viewing this documentation using an URL like
+ /themes/foundry/doc/ this reference is created on the fly from the
+ XSL files.
+
+
+
+ The second part is for developers which want to
+ extend Foundry. It describes the
+ structure of Foundry, how support for content types (the most common task) can be
+ added, how the documentation system works and which XPath functions and XSL helper
+ templates are available. Developers should also read the first part because the
+ first part includes informations about the general structure of Foundry.
+
+
+
+ In the manual the following terms a used quite often:
+
+
+
+
context prefix
+
+ The context in which CCM is installed in the Servlet container. If CCM is
+ installed in the root context the context prefix is empty.
+
+
+
theme prefix
+
+ The URL part of accessing resources inside the theme. For example for theme
+ called foo the theme prefix is
+ /themes/published-themedir/foo is published theme is used an if
+ CCM is installed in the root context.
+
+
+
dispatcher prefix
+
+ The URL for creating links to other CCM resources like content items. Depends
+ on the context in which CCM is installed and if development theme or the
+ published theme is used.
+
+
+
data tree
+
The XML created by CCM containing all data of the current page.
+
Layout tree
+
The XML of layout template in processing.
+
+
+
+
+
+
User Manual
+
+
General structure
+
+
+ There some options for using Foundry. The easiest way is to use a version/package of
+ LibreCCM which includes Foundry. In this case Foundry is installed in the
+ /themes/foundry folder. There should also be a second folder named
+ /themes/foundry-base which includes a basic child theme.
+
+
+
+ Foundry supports a an parent/child theme approach. This means that the logic
+ part of Foundry (the XSL part) is only installed in /themes/foundry and
+ is updated together with the normal upgrades of CCM. A child only contains
+ the templates, CSS files, static texts and configurations files for a theme. Custom
+ extensions are not supported yet.
+
+
+
+ A complete Foundry theme consists of the following top level folders and files:
+
+
+
+
conf
+
Contains configuration files for the theme
+
doc
+
Static parts of the documentation of Foundry, for example this text
+
fonts
+
Web fonts for the theme
+
foundry
+
+ This folder contains the logic parts (the XSL) of Foundry. The internal
+ structure is described in the Developer Manual.
+
+
+
images
+
Static images for the theme
+
libs
+
+ Additional JavaScript libraries. jQuery and some other JavaScript libraries are
+ provided by CCM itself, and can be
+ included using special elements like the
+ load-jquery element.
+
+
+
scripts
+
JavaScripts needed in the theme.
+
styles
+
+ The CSS styles for the theme. More information about them can be found in the
+ CSS files section.
+
+
+
templates
+
+ The layout templates for the theme. A detailed description can be found in the
+ Layout templates section.
+
+
+
texts
+
Static texts for the theme
+
user
+
Custom extensions (XSL) for theme. Not supported yet.
+
+
+ Foundry also supports a parent – child – grandchild structure. This is
+ maybe useful
+ when you have themes which only differ in details like logos but use the same
+ general structure. Most tags which are used to include resources like images,
+ CSS files etc. support the attribute origin which can have three
+ values:
+
+
+
+
Not set
+
The resource is loaded from the current theme
+
master
+
+ If the current theme is a master/parent theme the resource is loaded from the
+ current theme. If the current theme is a child theme the resource is loaded
+ from the master theme.
+
+
+
internal
+
+ The file is loaded from the foundry. If the theme is a child
+ theme is file is loaded from the Foundry master in /themes/foundry.
+
+
+
+
+ The recommend way for creating a team using Foundry is to create a new child theme:
+
+
+
+
To do so create a new theme using the CCM Theme director.
+
+ Copy the contents of the themes/foundry-base folder to the folder
+ created by the new theme
+ in themes/devel-themedir/.
+
+
+
+ Customise the theme
+
+
+
+
+
+
+
Layout templates
+
+
+ The layout templates are used by the web designer to create the HTML of the web
+ page. With Foundry the designer has almost complete control over the HTML. Despite
+ the elements which correspond to HTML 5 elements most other elements which can
+ be used in the templates do not create HTML. A complete list of the elements which
+ can be used in the layout templates can be found in the
+ Template Tags Reference.
+
+
+
+ Which template is used is decided by Foundry using the definitions in the
+ conf/templates file. The top layer of templates which are parsed first
+ are the application layouts. Which layout is used for a application is decided by
+ Foundry using the application and class attributes of
+ of bebop:page element in the data tree. The values of these attributes
+ a set in the Java code or in the JSP templates used.
+
+
+
+
Application layout templates
+
How Foundry determines which application layout template to use
+
+ Which template is used for which application is determined using the
+ applications section in the conf/templates.xml file.
+ The applications element may contain any number of
+ application elements. Each application element can have three
+ attributes:
+
+
+
+
name (mandatatory)
+
+
+ The name of the application which is the value of the application
+ attribute from the data tree. To associate applications which do not set the
+ application attribute in the data tree the value none
+ can be used.
+
+
+
class (optional)
+
+
+ The class of the application page shown. This is the value of the
+ class attribute from the data tree.
+
+
+
origin (optional)
+
+
+ The origin of the template. In the default theme this is used to associate
+ the backend applications which like the content center with the
+ internal admin-layout.xml template provided by Foundry. It can also
+ be used to associate an application with an layout template from the parent
+ theme.
+
+
+
+
+ The applications element in the conf/templates.xml file
+ should also contain a single single default element which defines which
+ layout template should be used when no other matches.
+
+
+
+ Foundry tries to find the layout template to use as follows:
+
+
+
+
+ If there an application element where both name and
+ class match the values from the data tree this template is used.
+
+
+
+ Otherwise Foundry checks if there is an application element
+ without a class attribute where value of the name
+ attribute matches the value from the data tree.
+
+
+
+ If this also fails and there is a default element the template
+ from the default element is used.
+
+
+
+ If there is no default element the internal default layout template
+ is used.
+
+
+
+
The structure of a application layout template
+
+ An layout template is a normal XML file. The root element is the
+ page-layout element.
+ The first child should be a head element. The head
+ element is equivalent of the HTML head element. Inside the head
+ element the title of (the string shown as title of the browser window) can
+ be determined using the title element. Also
+ the head is the place to load the CSS and JavaScript files and where
+ to put meta informations.
+
+
+
+ After the head there should be a body
+ element. Inside the body element the HTML structure is defined.
+ At some point you may want to insert the content of a content item or of a Portlet.
+ This is done using elements like content-item element
+ or
+ portal-grid-workspace-column-portlets.
+ The layout of the individual content item or Portlet is defined in separate
+ templates.
+
+
+
Content Item layout templates
+
+ The content layout templates which are found in the
+ templates/content-items folder are used to create the HTML for
+ content items in the list, link and detail views. Which template is used for which
+ content item is determined using the content-items section in the
+ conf/templates.xml file.
+
+
+
Selecting the Content Item layout template to use
+
+ The content-items element in the conf/templates.xml file
+ has three sub elements: detail, link and
+ list. The content-item elements in these elements are
+ determining which template is used for which content type. There are several
+ attributes for selecting the template. For a description of the available attributes
+ please refer to the documentation of the
+ content-item tag.
+
+
+
Structure of a Content Item layout template
+
+ Like the application layout templates a content item layout template is a XML file.
+ The root element is the content-item-layout element. Inside this
+ element all HTML producing elements can be used. For some content types there are
+ special elements for outputting special properties. For example the for news item
+ there is an elements news-date which outputs
+ the date of a news. This element also provides an interface for designer to
+ customise the format in which the date is shown. There is is also an general tag
+ show-property which can be used to
+ create a basic template for an unsupported content type.
+
+
+
Portlet templates
+
+ For Portlets the system is similar to the system for content items. Which template
+ is used for a specific Portlet is determined using the child elements of the
+ portlets element in the conf/templates.xml file. The
+ portlet elements which contain the path of the template to use can have
+ two child elements:
+
+
+
+
class
+
+ The class name of the Portlet.
+
+
+
workspace
+
+ The name of the workspace in which the Portlet is shown.
+
+
+
+
+ Foundry first tries to find a match for both class and
+ workspace. If there is no matching portlet element in
+ conf/templates.xml Foundry tries to find a match for the class name
+ only. If this also fails it used the templates defined in
+ portlets/default in the conf/templates.xml file.
+
+
+
+ The root element of a Portlet layout template is the portlet-layout
+ element. Inside this element all HTML elements can be used. For each Portlet type
+ there will be least on specific element which outputs the content of the Portlet.
+
+
+
+
+
+
CSS files
+
+
+ The system for loading CSS files is similar to the system for finding layout
+ templates. Which CSS files are loaded for a page is determined by the
+ conf/css-files.xml. The root element of this file is an
+ css-files element. This element has multiple application
+ child elements. Each application has an mandatory attribute
+ name which contains the name of the application for which the CSS files
+ named in the element are loaded. To further distinguish between pages provided by the
+ same application the optional attribute class can be used.
+ There should be also an default
+ element which determines the CSS files to load when no matching
+ application element is found.
+
+
+
+ Some pages have no application name in the data tree XML. In this cases to name of
+ the application is set to none.
+
+
+
+ Each application element and the default element
+ in css-files.xml can contain multiple css-file element.
+ Each of the css-file elements defines a single XML to load.
+
+
+
+ The css-file element has two optional attributes:
+
+
+
+
media
+
+ The media type, for example screen or print for
+ which the CSS file is used. The value of this attribute will appear in the
+ media attribute of the link element which is generated in the HTML
+ to load the CSS file.
+
+
+
origin
+
+ The origin of the CSS file. If not set the file is loaded from the current
+ theme. If set to master the file is loaded from the master theme
+ if the current theme is a child theme. If set to internal the
+ file is loaded from the internal directory for CSS files, either from the
+ current theme (if the current theme is a master theme) or from the Foundry
+ master theme installed at /themes/foundry.
+
+
+
+
+
+
+
Templates Tags Reference
+
+
Root template tags
+
+ These tags are the root elements of a layout template.
+
+
+
+
fragment-layout
+
+
+ Root element for generating a HTML fragment instead of a complete HTML document.
+
+
+
+
+
+
include
+
+
+ This element allows it to include template fragments into a template. The element
+ has two attributes. The file attribute is mandatory and contains
+ the path the fragment to include, relative to the template directory.
+ The internal attribute is optional. If set to true the
+ fragment is loaded from the internal template directory.
+
+
+
+ For example <include file="fragments/footer.xml"< will include
+ the file templates/fragments/footer.xml. If the internal
+ attribute is set to true the file
+ foundry/templates/fragments/footer.xml would be included.
+
+
+
+ An fragment template file included using this element using this element must
+ contain a fragment-layout element as root.
+
+
+
+
+
Attributes
+
+
file
+
+
+ Path of the file to include, relative to the templates directory.
+
+
+
+
internal
+
+
+ If set to true the template fragment file is loaded from the
+ internal template directory.
+
+
+
+
+
+
+
+
insert-block
+
+
+ The element is used in a master layout to insert a block
+ from an extending template.
+
+
+
+
+
+
page-layout[./@extends]
+
+
+ Root element of an extending template. The extends
+ attribute is required and points to the template which is
+ extended by the layout. Only the block elements
+ in the layout are processed. The master layout must contain
+ matching insert-block elements.
+
+
+
+ Technically the master template is processed first and the
+ extending layout is passed as parameter. The master layout
+
+
+
+
+
See also
+
+
+
+
+
page-layout[not(./@extends)]
+
+
+ Root element of a template. Generates the
+ <html> root element.
+
+
+
+
+
+
+
Tags for displaying Content Items
+
+ These tags are common tags for displaying Content Items. For most Content Types
+ there are special tags provided by other files.
+
+
+
+
Tags for ccm-cms-types-article
+
+ The tags in these file are used to display the content
+ elements of ccm-cms-types-article.
+
+
+
+
/content-item-layout//lead-text
+
+
+ Outputs the lead text of a article.
+
+
+
+
+
+
/content-item-layout//main-text
+
+
+ Outputs the main text of a article.
+
+
+
+
+
+
+
+
+
related-link//internal//target-item-title
+
+
+ Outputs the title of the target item of an internal related
+ link.
+
+
+
+
+
+
related-link//related-link-desc
+
+
+ Outputs the description of a related link.
+
+
+
+
+
+
related-link//related-link-title
+
+
+ Outputs the title of a related link.
+
+
+
+
+
+
related-links
+
+
+ Root element to create the list of related links assigned to an
+ content item
+
+
+
+
+
+
related-links//related-link
+
+
+ This tag wraps the HTML to display a single related link. The
+ tag also adds the parameters required to create the link into
+ the environment, for example the URL (href) of the related link.
+
+
+
+
+
+
+
Tags for displaying a Decisiontree item
+
+ The tags are used to configure the output of the decisiontree item. For technical
+ reasons it is not yet possible to customise the HTML for the decisiontree
+ completely.
+
+
+
+ For title and description of the decisiontree the standard tags can be used.
+
+
+ Root element for outputting the current section of a decisiontree.
+
+
+
+
+ Outputs the options for the current section of a decisiontree. This tag outputs
+ a complete HTML form because the current implementation of the decisiontree does not
+ provide enough information in the XML to support a fully customisable HTML.
+
+ Nevertheless this it is possible to customise the classes set on various of the HTML
+ in the created form using subelements:
+ class-form
+ Classes for the form itself.
+ class-formgroup
+ Classes to set on the div surrouding each pair of a label and an
+ input element.
+ class-label
+ Classes to set on each label.
+ class-input
+ Classes to set on each input element.
+ class-buttons
+ Classes to set on the div surrounding the submit and cancel button.
+ class-cancel
+ Classes to set on the cancel button.
+ class-submit
+ Classes to set on the submit button.
+
+
+
+ Output the name a section of MPA in the list of sections.
+
+
+
+
+
+
/content-item-layout//mpa-summary
+
+
+ Outputs the summary of the multi part article.
+
+
+
+
+
+
+
+
+
/content-item-layout//news-date
+
+
+ Outputs the the date of a news. The news-date must contain at least
+ one format element. The format element encloses the
+ format definition for the specific language or the default format. The language
+ for which a format is used is provided using the lang attribute at the
+ format element. The default format has a default attribute
+ with the value true. An example:
+
+
+ In this example a visitor with a browser using German as default locale
+ will see the news date in the date format that common in Germany
+ (dd.mm.yyyy). For all other languages, the default format is used.
+ In this case the iso-format is used.
+
+
+
+
+
+
+
+
+
/content-item-layout//siteproxy-content
+
+
+ Processes the proxied XML of a SiteProxy using xsl:apply-templates.
+ Your theme must provide XSL to transform the proxied XML into HTML.
+
+
+
+
+
+
+
content-item-layout//content-item-link
+
+
+ Provides a link to content item itself. Useful if a content item is shown using a
+ portlet and you want to create a link to the normal detail view of the item.
+
+
+ Provides the href for creating a link to edit the current item in the
+ content centre if the current user is logged in and has the permission to edit the
+ item.
+
+
+
+ To use this feature put the following snippet like the following into the
+ templates for the content items in your theme:
+
+
+ The example uses an UTF-8 character from the Dingbats block (a pencil).
+ You can of course use another character, text or an image. To
+ reduce the amount of code needed you may add a fragment template and include this
+ template using the include tag.
+
+
+
+ You also have to include styles for the edit link into your theme.
+ The foundry-base theme, for example, puts the edit link the top right
+ corner of the area which shows the content item. This is done by the following
+ styles:
+
+
+ /* Sets the reference point for position: absolute
+ to the main element block */
+ main {
+ position: relative;
+ }
+
+ /* Don't show the edit link on a first glance */
+ main .edit-link {
+ display: none;
+ }
+
+ /* Display the edit link in the top right corner
+ of the content item area if the cursor is in
+ the content item area */
+ main:hover .edit-link {
+ display: block;
+ position: absolute;
+ right: 0;
+ top: 0;
+ font-size: 30px;
+ color: #0776a0;
+ /* Blue border around the link */
+ border: 1px solid #0776a0;
+ /* Make the link 32px in width and height */
+ width: 32px;
+ height: 32px;
+ text-align: center;
+ }
+
+ /* Remove default decoration for links */
+ main:hover .edit-link a:link,
+ main:hover .edit-link a:hover,
+ main:hover .edit-link a:active,
+ main:hover .edit-link a:visited {
+ color: #0776a0;
+ text-decoration: none;
+ }
+
+
+
+
+
content-item[@mode = 'detail' or not(@mode)]
+
+
+ The content-item element with the attribute mode set to
+ detail or without the attribute inserts the HTML representation of the
+ detail view of the current content item. The content item can either be the greeting
+ item or normal item.
+
+
+
+ The HTML representation of a content item is defined using special templates
+ with the contentitem-layout element as root. Usually these templates
+ are located in the templates/content-items folder. Which template is
+ used for a particular content item is defined by the conf/templates.xml
+ file. In this file there is a content-items element below the
+ templates element. The association between templates and
+ content items is described by the content-item elements in the
+ content-items element. The content-item has four
+ optional attributes (at least on must be present) which are used to limit the
+ content items for which a template is used. The four attributes are:
+
+
+
+
oid
+
+ Limit the use of the template to a specific content item, identified by its
+ OID (the OID of the master version). Can't be used in combination with the other
+ attributes.
+
+
+
content-section
+
+ The name of the content section to which the item belongs. Can be used
+ in combination with the category and content-type
+ attributes.
+
+
+
category
+
+ The template is only used for the content item if the item is viewed as
+ item of the category. The category is set as a path containing the names
+ the categories.
+
+
+ The content-item with the mode attribute set to
+ link insert the HTML representation of a content item. In this case
+ the content item to show is provided using by a XSL parameter which has to be
+ provided by a surrounding tag like related-link.
+
+
+
+
+
+
content-item[@mode = 'list']
+
+
+ The content-item element with the mode attribute set to
+ list inserts the HTML representation of the the list view of a content
+ item. The list view is primarily used in object lists.
+
+
+
+ As for the detail view, the HTML representation of the list view of a conten item is
+ defined using special templates with the contentitem-layout element as
+ root. Usually these templates are located in the
+ templates/content-items folder. Which is used for a particular content
+ item is defined in the conf/templates.xml file. In this file there is
+ a content-items element below the templates element.
+
+
+
+ There three attributes which can be used to define in which cases a specific
+ template is used:
+
+
+
+
style
+
+ Used to select a specific style for the list view of the item. To select a style
+ add a style attribute to the content-item attribute
+ in the application layout file.
+
+
+
content-type
+
The content-type of the item.
+
category
+
+ The template is only used for the content item if the item is viewed as item of
+ the category. The category is set as a path contains the names the categories.
+
+
+ The module (file) from the text is retrieved. The name of the file should be
+ provided without file extension.
+
+
+
+
with-colorset
+
+
+ Add the classes for using the Colorset feature to the span element
+ the text is wrapped in.
+
+
+
+
+
+
+
+
+
HTML tags
+
+ These tags are generating the equivalent HTML tags. In most cases the tags have
+ the same name and same attributes as their HTML counterparts, but some work
+ in a slightly different way, for example by using values provided by other
+ surrounding tags which are passed to them as XSL parameters.
+
+
+
+
a
+
+
+ Generates a HTML a element. There are some differences to the
+ a element in HTML. First, there two attribute for the URL:
+
+
+
+
href-property
+
+ The name of a property of the current object which contains the URL for the
+ link.
+
+
+
+
href-static
+
+ A static URL.
+
+
+
+
+
+ The third variant for providing an URL is to call the template with a href
+ parameter in the XSL.
+
+
+
+ Values for some other attributes can also be passed to the this template as XSL
+ parameters:
+
+
+
+
hreflang
+
Language of the resource the link is pointing to.
+
title
+
+ Value for the title attribute of the link. Usally this should
+ a very brief description of the target of the link
+
+
+
type
+
The media type of the link target.
+
+
+
+
Attributes
+
+
download
+
+
+ Value for the HTML5 download attribute.
+
+
+
+
href-property
+
+
+ The name of a property (aka the name of an XML element in the data-tree)
+ containing the URL of the link.
+
+
+
+
href
+
+
+ A static URL for the link.
+
+
+
+
rel
+
+
+ The relationship of the linking document with the target document.
+
+
+
+
title-static
+
+
+ A key which identifies the translated title in lang/global.xml.
+
+
+ Generates a address element in the HTML output.
+ The address elements represents the contact information of the
+ responsible author of article or body it appears in.
+
+
+ Generates a HTML5 audio element. The source URL of the audio file can
+ be provided by a surrounding element, statically in the theme or by an property in
+ the data tree.
+
+
+
+
+
Attributes
+
+
src-static
+
+
+ A static URL for the source of the audio file
+
+
+
+
src-property
+
+
+ Name of property in the data tree containing the source URL.
+
+
+ Generates a HTML b element. Use this element only with semantics
+ defined in the HTML5 specification. Originally, in the early incarnations of HTML,
+ this element marked text as bold. In HTML5 the semantics of this element as been
+ redefined. For more information please refer to the HTML5 specification.
+
+
+ Generates a input element. A preset value can be provided using a
+ XSL parameter by a surrounding element. The HTML5 placeholder attribute
+ has been split into two attributes. The placeholder-module attribute
+ contains the name of module parameter (the name of the file in the
+ texts directory) in which the text for the placeholder is stored. If
+ omitted the global.xml file is used. The placeholder attribute itself
+ contains the ID of the text to show as placeholder.
+
+
+
+
+
Attributes
+
+
placeholder-module
+
+
+ The name of the file in the texts directory which contains the
+ text to use as placeholder. If omitted the global.xml file is used.
+
+
+ Generates a option element for use in select box. Several
+ values for attributes have to be provided by a surrounding element using XSL
+ parameters, for example the value of the value attribute.
+
+
+ Used to include a script (usally a JavaScript). The script is either provided
+ a content of the element or as an external file. Embedded scripts should only be used
+ for small parts of code, like the code for activating jQuery plugins for some elements.
+ Everything which is longer than five or six lines should be put into a external file
+ in the scripts directory of the theme.
+
+
+
+
+
Attributes
+
+
origin
+
+
+ As usual origin attribute determines the how the path provided in
+ the src attribute is interpreted. The following values are
+ interpreted. In addition to the common values internal,
+ master and the default value the script element also
+ support the value absolute. If origin is set to
+ absolute the provided source path is processed by Foundry and is used as it is
+ provided.
+
+
+
+
src
+
+
+ The path of the script to include. If the origin attribute is not
+ set (or not set to absolute the path is interpreted relative to the
+ theme directory. For example the path of a script included using
+
+
+ in the a theme named my-theme at the server
+ http://www.example.org is altered to the absolute path
+ http://www.example.org/themes/published-themedir/itb/scripts/example.js.
+ If the absolute attribute is set to true the path is not
+ altered. One usecase for an absolute path is to load an script from a content delivery
+ network.
+
+
+
+
type
+
+
+ The type of the script. Usally this is text/javascript. If the
+ attribute is not set in the layout template, it is automatically set to
+ text/javascript.
+
+
+ Generates a select box in a form. The name of the select box and
+ the status for the disabled attribute can be provided by a surrounding
+ element via XSL parameters.
+
+
+ Generates a source element for use in audio and
+ video elements. The source URL (value of the src
+ attribute) can either provided by a surrounding element as XSL parameter or
+ via the src-static or src-property attribute.
+
+
+
+
+
Attributes
+
+
src-static
+
+
+ An URL to an static resource.
+
+
+
+
src-property
+
+
+ Name of an XML node in the data-tree providing the URL of the
+ resource.
+
+
+ Generates a HTML5 video element. The source URL and the URL of preview
+ image (poster) can be provided by a surrounding element, statically in
+ the theme or by an property in the data tree.
+
+
+
+
+
Attributes
+
+
src-static
+
+
+ A static URL for the source of the video file
+
+
+
+
src-property
+
+
+ Name of property in the data tree containing the source URL.
+
+
+
+
poster-static
+
+
+ A static URL for the source of the preview image
+
+
+
+
poster-property
+
+
+ Name of property in the data tree containing the poster URL.
+
+
+ Loads the html5shiv JavaScript
+ library which fixes a bug of old Internet Explorers
+ (up to version 8) with elements unknown by the Internet Explorer. You need this
+ library if you want to use HTML 5 elements like article or
+ nav in your templates. All other browser thread unknown elements
+ like div or span. The Internet Explorer to version 8
+ however adds a closing elements to the DOM tree directly after the unknown opening
+ element, effectively removing the element from the DOM. The html5shiv
+ library fixes the DOM tree using JavaScript.
+
+
+
+ This tag adds a
+ conditional comment
+ to load the html5shiv library only for old Internet Explorers
+
+
+
+
+
+
load-jquery
+
+
+ Loads the jQuery JavaScript library provided by CCM.
+
+
+
+
+
+
load-jquery-ui
+
+
+ Loads the jQuery UI JavaScript library provided
+ by CCM.
+
+
+
+
+
+
load-mathjax
+
+
+ Loads the MathJAX JavaScript library which can
+ render mathematical formulas written in MathML or LaTeX syntax.
+
+
+
+
+
+
+
Tags for ccm-navigation
+
+ These tags are used to output data provided by the ccm-navigation module.
+ More exactly the navigation menu(s) and the breadcrumbs on a site are generated
+ using these tags.
+
+
+
+
breadcrumbs
+
+
+ Show the breadcrumbs for the current page. The separator between each breadcrumb is
+ provided by the child element breakcrumb-separator. The contents
+ of this element is used a separator between the breadcrumbs. This allows it to
+ use simple characters of more complex HTML.
+
+
+
+
+
Attributes
+
+
omit-root
+
+
+ If set the yes, the breadcrumb for the root level is omitted.
+
+
+
+
omit-last
+
+
+ If set the yes, the breadcrumb for last entry (the current
+ category) is omitted.
+
+
+
+
+
+
+
+
navigation
+
+
+ Root element for rendering a navigation menu. This element has several attributes
+ which control some aspects of the rendering.
+
+
+
+
+
Attributes
+
+
navigation-id
+
+
+ The ID of the navigation/category system to use for the menu. If not set
+ the default value categoryMenu is used which should be sufficent
+ in most use cases.
+
+
+
+
with-colorset
+
+
+ Decides if the navigation elements gets colorset classes. Default value is
+ false
+
+
min-level
+
+
+ The minimum level to render. If set to a value higher than 1 all
+ levels below this value will be skipped. Use this if you want to split your
+ navigation menu. For example: First level as horizontal menu at the top,
+ other levels as horizontal menu on the left. Default value is 1.
+
+
+
+
max-level
+
+
+ The maximum level to render. Only levels below and including this level will
+ be used for the menu.. Use this if you want to split your
+ navigation menu. For example: First level as horizontal menu at the top,
+ other levels as horizontal menu on the left. Default value is 999.
+
+
+
+
show-description-text
+
+
+ Decides if the description of each category is passed to the link
+ (a element) for the title attribute. Default value
+ is true.
+
+
+
+
+
+
+
+
navigation-home-link//navigation-title
+
+
+ Outputs the title of the current navigation inside a
+ navigation-home-link.
+
+
+
+
+
+
+
+
+
object-list//paginator
+
+
+ Root element for creating the paginator for an object list. Provides the paginator
+ data for the elements enclosed by this element via XSL parameters. The content is
+ of this element is only processed if the number of pages is greater than one or
+ if the show attribute is set to always.
+
+
+
+
+
Attributes
+
+
show
+
+
+ If set to always the paginator is shown even if there is only one
+ page.
+
+
+
+
+
+
+
+
object-list//paginator//current-page
+
+
+ Outputs the number of the current page.
+
+
+
+
+
+
object-list//paginator//first-page-link
+
+
+ Provides the URL to the first page of the list for an enclosed a
+ element.
+
+
+
+
+
+
object-list//paginator//last-page-link
+
+
+ Provides the URL to the last page of the list for an enclosed a
+ element.
+
+
+
+
+
+
object-list//paginator//next-page-link
+
+
+ Provides the URL to the next page of the list for an enclosed a
+ element.
+
+
+
+
+
+
object-list//paginator//object-begin
+
+
+ Outputs the index of the first object shown on the current page. The value is
+ provided by the surrounding paginator element via a XSL parameter.
+
+
+
+
+
+
object-list//paginator//object-count
+
+
+ Outputs the number of elements in list.
+
+
+
+
+
+
object-list//paginator//object-end
+
+
+ Outputs the index of the last object shown on the current page. The value is
+ provided by the surrounding paginator element via a XSL parameter.
+
+
+
+
+
+
object-list//paginator//page-count
+
+
+ Outputs the number of pages.
+
+
+
+
+
+
object-list//paginator//page-size
+
+
+ Outputs the size of page (the number of items on each page).
+
+
+
+
+
+
object-list//paginator//prev-page-link
+
+
+ Provides the URL to the previous page of the list for an enclosed a
+ element.
+
+
+
+
+
+
+
+
+
Developer Manual
+
+
The structure of Foundry
+
+
Top level structure
+
+ Foundry supports two kinds of themes: Parent themes and child themes. Parent themes
+ are also called master themes.
+ Normally there
+ should be only one parent theme in a CCM installation at /themes/foundry.
+ All other themes should be child themes. An example for a child theme should also be
+ installed at /themes/foundry-base.
+
+
+
+ A complete Foundry theme (a parent theme) contains of the following directories:
+
+
+
+
conf
+
+ Configuration files for the theme.
+
+
+
doc
+
+ The documentation of Foundry. The document you reading at the moment is
+ generated using these files.
+
+
+
fonts
+
+ Webfonts used in the theme.
+
+
+
foundry
+
+ The directory contains the XSL files which contain the logic part of Foundry.
+
+
+
images
+
+ Static images for the theme.
+
+
+
libs
+
+ Additional JavaScript libraries, for example jQuery plugins.
+
+
+
scripts
+
+ Custom JavaScripts
+
+
+
styles
+
+ CSS files
+
+
+
templates
+
+ The layout templates
+
+
+
texts
+
+ Static texts for the theme
+
+
+
user
+
+ Custom extensions. Not supported yet.
+
+
+
+
+ A child theme has only the directories which contain files which the designer needs
+ to change. These are:
+
+
+
+
conf
+
fonts
+
images
+
libs
+
scripts
+
styles
+
templates
+
texts
+
+
+ The foundry directory contains the following files and directories:
+
+
+
+
fonts
+
Webfonts used internally, for example for the Content Center.
+
images
+
Images used internally.
+
lib
+
The XSL files from Foundry.
+
scripts
+
Java Scripts used internally.
+
styles
+
CSS files for internal templates like the Content Center
+
templates
+
Internal templates for example for the Content Center.
+
texts
+
Internal texts
+
main.xsl
+
+ Entry point. The start.xsl in the base directory acts only as
+ entry point for the XSL processor and delegates all work to the
+ main.xsl.
+
+
+
lib.xsl
+
+ A simple import file which imports the XSL files from the lib directory.
+
+
+
+
+ The main.xsl file contains the xsl:output element
+ which tells the XSL processor that we want to create HTML. There is only two
+ XSL templates in the main.xsl file along with some helper functions.
+ This first template is the entry point for CCM and
+ matches the bebop:page element which is the root element of the
+ data tree XML created by CCM. The template processes the
+ conf/templates.xsl file calls the XSL templates for parsing the
+ layout templates.
+
+
+
+ The second templates is the entry point for the documentation system Foundry.
+
+
+
The lib directory
+
+ The lib is the core part of Foundry and contains the following
+ sub directories and files:
+
+
+
+
bebop
+
+ XSL files for creating the backend UI. The XSL files were taken from Mandalay
+ and have only been adapted to work inside Foundry.
+
+
+
search
+
XSL files for the various search applications.
+
template-tags
+
+ XSL files implementing the tags which can be used in the templates.
+
+
+
template-tags
+
+ This directory contains the XSL files which implement the tags which can be used
+ in the layout templates.
+
+
+
bebop.xsl
+
+ Imports the files from the bebop directory.
+
+
+
global-vars.xsl
+
+ These file is very important. It defines various global variables like the
+ theme-prefix or the context-prefix variables. A
+ complete list can be found in the
+ reference part.
+
+
+
search.xsl
+
Import file for the XSL files in the search directory.
+
+
template-parser.xsl
+
+ This file contains the XSL templates for parsing the layout templates.
+
+
+
template-tags.xsl
+
+ Import file for the XSL files in the template-tags directory.
+
+
+
utils.xsl
+
+ Helper functions. A complete list is available in the
+ reference part.
+
+
+
+
Template tags
+
+ The template-tags directory contains the XSL file which are
+ implementing the tags which can be used in the layout templates. For a complete
+ list please refer to the
+ Template Tags Reference in the user manual.
+
+
+
+
+
+
Coding style
+
+
+ This document describes the coding conventions for the Foundry theming engine.
+
+
+
Naming
+
+ The naming rules described here apply to all names: Names of layout elements,
+ XSL template names, XSL functions, files, ids and classes (in the
+ class attribute).
+
+
+
+ Use the dash "-" to separate parts of a name instead of camel case or the
+ underscore. For example: get-setting instead of getSetting or
+ set_setting.
+
+
+
+ Names should be lowercase.
+
+
+
Namespace declarations
+
+ In the XSL files, XML namespaces are only defined at the
+ <xsl:stylesheet> element. The XSL namespace is the first one is
+ declared first. The other namespace follow in alphabetic order (ordered by their
+ prefix).
+
+
+
Indention, line length and formating
+
+ Indention is done using spaces. Indention depth is four (4) spaces per level.
+
+
+
+ Try to keep the line length below 100 characters per line. Because of some restrictions
+ of XML this will be possible in every case.
+
+
+
+ Insert a line break after each attribute of an XML element. The first attribute
+ is on the same line as the element. For example write
+
+
+ To enable Foundry to output a Content Item of specific content type two things must be
+ available: One or more layout template associated with the content type and appropriate
+ template tags to display to informations of the content item from the data tree.
+
+
+
+ Foundry provides a general tag show-property
+ which can be used to output properties of a content type. For simple types this maybe
+ sufficent. The name of the property can
+ be found out from the XML output which can be viewed by adding the parameter
+ output=xml to an URL.
+
+
+
+ For more complex types or if the value of the property should be formatted in a special
+ way it is maybe necessary to implement some new template tags. Tags which part of the
+ official distribution of Foundry are found in the
+ foundry/lib/template-tags/content-items directory. Custom extensions can
+ be put into the user directory (not supported yet).
+
+
+
+ For each content type there should be a separate file named after the content type.
+ A relatively simple example is the NewsItem type. In this case the
+ date of the news needs some formatting. The news.xsl file provides the tag
+ news-date which allows the template author to choose the format of the
+ date.
+
+
+
+ A more complex example is the MultiPartArticle type. The type needs some
+ templates for creating the menu with the sections etc. The tags for are evaluating the
+ data tree and creating the menu.
+
+
+
+ One important rule is that the template tags should not create any HTML. They should
+ only provided the necessary informations and output the values of properties. HTML is
+ only generated by the HTML tags provided by Foundry. A template tag for a content type
+ may enclose several HTML elements which are used to define the HTML output.
+
+
+
+
+
+
The documentation system of Foundry
+
+
Overview
+
+ Foundry comes with a documentation system which creates the reference documentations
+ for template tags and helper functions on the fly. The documentation system –
+ which you using at the moment by the way – consists of three parts:
+
+
+
+
+ An index.jsp file in the doc directory which invokes the
+ XSL transformer. Using an JSP here has the advantage that the behaviour is similar
+ to an index.html.
+
+
+
+ Some XSL templates.
+
+
+
+ And the documentation itself which consists of some XML files, some static texts
+ and the documentation in the other templates.
+
+
+
+
+ The general structure of the documentation is defined by the
+ doc/foundry-documentation.xml file. This file is the entry point for the
+ XSL processor. The chapters of the documentation are defined by the
+ foundry:doc-chapter elements. The sections of the chapters are defined using
+ foundry:doc-section elements. The section which use static texts have
+ a static. The value of the static attribute is the name of the
+ file to include from the doc/static-texts directory. These files are normal
+ HTML files in XML syntax. They must have a main element. Only the content
+ of the main element is included into the documentation.
+
+
+
+ Sections which are generated on the fly from the XSL files of Foundry have a
+ generate attribute. The generate attribute controls which
+ documentations appear in the section.
+
+
+
Documentation inside XSL templates
+
+ Templates, functions and global variables are documented using the
+ foundry:doc element which is placed in the XSL directly before the element
+ to document. The foundry:doc element has two mandatory attributes. The
+ section elements is used to control in which section the documentation
+ appears. The second attribute is the type attribute. This attribute is
+ used to format the documentation. The possible values are:
+
+
+
+
template-tag
+
+ The following XSL template is a tag which can be used in the layout templates.
+
+
+
env-var
+
+ The following xsl:variable or xsl:param defines
+ a global variable.
+
+
+
function
+
+ The following xsl:function is a helper function which can be used
+ in the implementation of template tags.
+
+
+
function-template
+
+ The following xsl:template is a helper template.
+
+
+
+
+ A foundry:doc element can have to following child elements:
+
+
+
+
foundry:doc-desc
+
+ A text describing the template, function or variable. The must be structured
+ using HTML elements like p, even it is only a single paragraph.
+ Otherwise the text is not copied into the documentation. Look at one of the
+ XSL files of Foundry for an example.
+
+
+
foundry:doc-attributes
+
+ Surrounds the documentation for attributes which can be used on a template tag.
+ The individual attributes are documented by foundry:doc-attribute
+ elements. The foundry:doc-attribute has a mandatory attribute
+ name which contains the name of the attribute. The documentation of
+ the attribute must be enclosed in HTML elements. Look at one of the
+ XSL files of Foundry for an example.
+
+
+
foundry:doc-parameters
+
+ Surrounds the documentation for parameters which can be used on a function.
+ The individual parameters are documented by foundry:doc-parameter
+ elements. The foundry:doc-parameter has a mandatory parameter
+ name which contains the name of the parameter. The documentation of
+ the parameter must be enclosed in HTML elements. Look at one of the
+ XSL files of Foundry for an example.
+
+
+
foundry:doc-see-also
+
+ Contains links to other parts of the documentation or the external resources.
+ The links are defined using foundry:doc-link attributes. Each
+ foundry:doc-link has a href attribute which the link.
+ The description of the link is the content of the element.
+
+
+
+
+
+
+
XSL Templates and Function references
+
+
Global/environment variables
+
+ Global variables either provided by the calling CCM instance or by Foundry itself.
+
+
+
+
foundry-version
+
+
+ The version of Foundry. Kept in sync with the version of CCM, so the first version
+ was be 2.2.3.
+
+
+
+
+
+
theme-mode
+
+
+ The mode of the theme. If the theme is standalone theme, the value is
+ master. If the theme is a child theme the value is child.
+
+
+
+
+
+
master-theme
+
+
+ The master theme of the current if the theme is a child theme. if theme is direct
+ child of the Foundry base theme the value is foundry. Otherwise it is
+ the name of master theme.
+
+
+
+
+
+
theme-prefix
+
+
+ The path the to theme file. This path is used at several points to load files which are
+ part of the theme, like CSS files, images and fonts.
+
+
+
+
+
+
context-prefix
+
+
+ The context prefix in which CCM is installed. If CCM is installed into the ROOT context
+ of the servlet container, this variable will be empty.
+
+
+
+
+
+
dispatcher-prefix
+
+
+ The path on which the CCM dispatcher Servlet is mounted. Usually this is
+ CCM.
+
+
+
+
+
+
username
+
+
+ The name of user currently login in CCM.
+
+
+
+
+
+
data-tree
+
+
+ This variable stores the XML created by CCM for later access.
+
+
+
+
+ This variables stores the XML definition of the Foundry documentation.
+
+ Activate double click protection on buttons?
+
+ Activate double click protection on links?
+
+
+
+
+
+ The language negotiated between CCM and the user agent.
+
+
+
+
+ The language to use as negotiated by CCM.
+
+
+
supported-languages
+
+
+ The languages supported by this theme. They are configured in
+ conf/global.xml using the <supported-languages>
+ element. Example for german and english:
+
+ The language to use by theme engine for static texts etc. The language is determined
+ as follows:
+
+
+
+
If the negotiated language is also in the supported-languages
+
If not the language which set by the default attribute of the
+ <supported-languages> is used, but only if this language
+ is in the supported languages.
+
+
Otherwise the first of the supported languages is used.
+
+
+
+
+
+
Root template tags
+
+ These tags are the root elements of a layout template.
+
+
+
+
+ Function foundry:gen-src-url
+
+
+ Variant of foundry:gen-src-url without the parameters string
+ parameter.
+
+
+
+
+
Result
+
Result type
+
any
+
Description
+
+
+
+
+
+ Function foundry:gen-src-url
+
+
+ Processes a given URL for use in the src attribute of an
+ audio, img or video element. The function
+ distigushes between this cases:
+
+
+
+
The URL starts with http:// or https://
+
+ In this case the URL is threated as an absolute URL pointing to a resource
+ outside of CCM. If any parameters are passed to the function they are appended
+ to the URL.
+
+
+
The URL starts with a slash (/)
+
+
+ In this case the URL points to a resource managed by the CCM which also
+ manages the theme. In this case the URL is prefixed with the
+ dispatcher-prefix and the parameters, if any, are appended.
+
+
+
Other cases
+
+ If none of the two other cases match the URL points to a URL in the theme. In
+ this case the URL is processed by the
+ gen-path function. The parameters, if any
+ are appended.
+
+
+
+
+ If parameters are passed to this function they are appended to the URL. The
+ parameters are passed as string formatted as URL parameters, for example
+ foo=hello&bar=world. A leading ? or &
+ is removed before adding the string the URL. If the URL already contains parameters
+ (if the URL contains a ?) the paramters string is added with a leading
+ ampersand (&). If not the parameters are appended using a
+ ? character.
+
+
+
+
Parameters
+
+
+
+
Name
+
Mandatory
+
Type
+
Description
+
+
+
+
+
src-raw
+
yes
+
string
+
+
+ The raw URL to process.
+
+
+
+
+
+
parameters
+
yes
+
string
+
+
+ Parameters to append to the URL.
+
+
+
+
+
+
+
+
Result
+
Result type
+
string
+
Description
+
+
+ The processed URL.
+
+
+
+
+
+
+
+
Loaders
+
+ This tags are used to load resources required by the generated HTML documents,
+ for example CSS files and JavaScript files.
+
+
+ A helper template for generating the
+ <link rel="stylesheet" href="..."/> elements for loading the CSS
+ files.
+
+ The name of the CSS file to load. If the filename contains slashes the filename
+ is used as it is provided. If there are not slashes in the filename the filename
+ is prefixed with styles/.
+
+ The media for which the file should be loaded. If no set, the CSS file is used for all
+ media types.
+
+ The origin of the CSS file. If not set or the parameter is empty, the CSS file
+ is loaded from current theme. There also some values with
+ a special meaning:
+ master
+ File is loaded from the master/parent theme.
+ Please read the section about parent and child themes for more details.
+ internal
+ The file is loaded from the internal directories
+ If the current theme is a child theme, the file is loaded
+ from the internal directories of the parent theme.
+
+ Some examples:
+ <css-file>public.css</css-file>
+ The CSS file public.css is loaded from styles
+ directory in the current theme.
+ <css-file>bootstrap/css/bootstrap.min.css</css-file>
+ The CSS file bootstrap.min.css is loaded from the directory
+ bootstrap/css in the current theme.
+ <css-file origin="internal">admin.css</code>
+ If the current theme is a master theme, the CSS file admin.css is
+ loaded from the directory foundry/styles in the current theme. If
+ the current theme is child theme the CSS file admin.css is loaded
+ from the directory foundry/styles of the Foundry theme installed
+ at /themes/foundry.
+
+
+
+
Utility functions
+
+ This file provides several utility functions and templates.
+
+
+
+
+ Function foundry:boolean
+
+
+ A helper function for evaluating certain string values to boolean. This function has
+ two purposes. First it simplifies some expressions. for example if you have a
+ template tag with a attribute containing a (pseudo) boolean value (attribute values
+ are always treated as strings) you would have to write something like:
+
+
+ The more important purpose is to make the usage of boolean values more user
+ friendly, especially in the templates. Using foundry:boolean no only
+ true is evaluated to boolean true. A number of other
+ strings is also evaluated to true:
+
+
+
+
true
+
TRUE
+
yes
+
YES
+
t
+
T
+
y
+
Y
+
+
+ All other values are evaluated to false.
+
+
+
+
Parameters
+
+
+
+
Name
+
Mandatory
+
Type
+
Description
+
+
+
+
+
value
+
yes
+
string
+
+
+ The value to evaluate.
+
+
+
+
+
+
+
+
Result
+
Result type
+
boolean
+
Description
+
+
+ The evaluated boolean value.
+
+
+
+
+
+
+
+ Function foundry:gen-path
+
+
+ Helper function for generating paths to theme resources like CSS files etc. Use this
+ function instead of concatenating paths yourself. For example, instead of
+
+
path/to/resource/file is meant as a placeholder here. A real world
+ example is a settings file, for example conf/global.xml. For this file
+ a usage of the foundry:gen-path function would look like this
+
+
+ document(foundry:gen-path('conf/global.xml')
+
+ The advantage of this function is the encapsulation of the path generation process.
+ foundry:gen-path.
+
+
+
+
+
Result
+
Result type
+
string
+
Description
+
+
+ The absolute path for the file.
+
+
+
+
+
+
+
+ Function foundry:gen-path
+
+
+ Variant of gen-path with an additional origin
+ parameter. This parameter can have three values:
+ If set to true the file is loaded from the
+ foundry directory.
+
+
+
+
empty string ('')
+
+
+ The path points to a resource in the theme directory. The return value is the
+ concatenation of the theme-prefix, a slash and the path provided as first
+ parameter. In XPath Syntax: concat($theme-prefix, '/', $path.
+
+
+
master
+
+ If the theme mode (which is set in conf/global.xml) is set to
+ master the result is the same as for the empty string. If the
+ the theme mode is set to child the generated path points to
+ the parent/master theme. More exactly the result is the concatenation of the
+ context-prefix environment variable, the string /themes/, the
+ name of the master theme (set in conf/global.xml,
+ usally foundry), a slash the the path provided as first parameter.
+ Or in XPath syntax:
+ concat($content-prefix, '/themes/', $master-theme, '/', $path.).
+
+
+
internal
+
+ The path points to an internal resource which is provided by Foundry. If the
+ theme mode is master the generated path is the concatenation of
+ the theme prefix, the string /foundry/ and the path provided as
+ first parameter (XPath: concat($theme-prefix, '/foundry/', $path).
+ If the theme mode is child the generated path
+ is the concatenation of the context prefix, the string
+ /themes/foundry/foundry/ and the path provided as first parameter
+ (XPath: concat($context-prefix, '/themes/foundry/foundry/', $path)).
+
+
+
+
+
+
Result
+
Result type
+
any
+
Description
+
+
+
+
+
+ Function foundry:log-level
+
+
+ Helper function to generate an info message. This function be used together with
+ <xsl:message> to output a message in the CCM log warning
+ the administrator about some things in the theme, for example a missing
+ configuration file. Example:
+
+
+ A message string of the form [Foundry WARNING] $message with
+ $message replaced by the value of the parameter.
+
+
+
+
+
+
+
+ Function foundry:log-level
+
+
+ Helper function to generate an info message. This function be used together with
+ <xsl:message> to output a message in the CCM log when
+ something goes wrong in the theme, for example when a layout file has a wrong
+ structure. Example:
+
+
+ A message string of the form [Foundry ERROR] $message with
+ $message replaced by the value of the parameter.
+
+
+
+
+
+
+
+ Function foundry:get-attribute-value
+
+
+ A helper function for retrieving an attribute value from an element. If the
+ attribute is set on the current element the value of the attribute is used as
+ result. If the attribute is not set the default-value is used. This
+ method is used by several layout tags with optional attributes. A common use pattern
+ looks like this:
+
+
+ In this example, the element example has two optional attributes:
+ with and height. If the attribute is set in processed XML,
+ the value set there is used. Otherwise the default value (640
+ respectively 480) is used. Without this function a code block like the
+ one in the xsl:choose block of this function would be necessary for
+ each of the variables.
+
+
+
+
Parameters
+
+
+
+
Name
+
Mandatory
+
Type
+
Description
+
+
+
+
+
node
+
+
any
+
+
+
+
attribute-name
+
+
any
+
+
+
+
default-value
+
+
any
+
+
+
+
+
+
Result
+
Result type
+
any
+
Description
+
+
+ The value of the attribute if it is set on the current element, the
+ default-value otherwise.
+
+
+
+
+
+
+
+ Function foundry:get-setting
+
+
+ Convenient function for calling foundry:get-setting with only the
+ module name and setting name.
+
+
+
+
Parameters
+
+
+
+
Name
+
Mandatory
+
Type
+
Description
+
+
+
+
+
module
+
yes
+
string
+
+
+ The module of the settings. May be an empty string ('').
+
+
+
+
+
+
setting
+
yes
+
string
+
+
+ The name of the setting to retrieve.
+
+
+
+
+
+
+
+
Result
+
Result type
+
string
+
Description
+
+
+ The value of the setting.
+
+
+
+
+
+
+
+ Function foundry:get-setting
+
+
+ Convenient function for calling foundry:get-setting with only the
+ module name, the setting name and an default value.
+
+
+
+
Parameters
+
+
+
+
Name
+
Mandatory
+
Type
+
Description
+
+
+
+
+
module
+
yes
+
string
+
+
+ The module of the settings. May be an empty string ('').
+
+
+
+
+
+
setting
+
yes
+
string
+
+
+ The name of the setting to retrieve.
+
+
+
+
+
+
default
+
yes
+
string
+
+
+ A default value which is used when the setting is not configured.
+
+
+
+
+
+
+
+
Result
+
Result type
+
string
+
Description
+
+
+ The value of the setting or the default value if the setting is not configured.
+
+
+
+
+
+ The module of the settings. At the moment this corresponds to the name of the file
+ in the conf directory. The empty string as value corresponds to the
+ global.xml file.
+
+ The name of the setting to retrieve.
+
+ The value to use if there is no entry for the setting in the settings file.
+
+ A node from the layout template which overrides the value from the configuration.
+
+ The value of the requested setting or if no value has been set the provided default
+ value. If no default value has been provided the result is an empty string.
+
+ This function retrieves the value of a setting from the theme configuration. For
+ more informations about the configuration system of Foundry please refer to the
+ configuration section of the Foundry documentation.
+
+
+
+ Function foundry:get-static-text
+
+
+ Retrieves at static text. For more informations about static texts in Foundry please
+ refer to the static texts section in the Foundry documentation.
+
+
+
+
Parameters
+
+
+
+
Name
+
Mandatory
+
Type
+
Description
+
+
+
+
+
module
+
yes
+
string
+
+
+ The module of the settings. At the moment this corresponds to the name of the file
+ in the texts directory. The empty string as value corresponds to the
+ global.xml file.
+
+
+
+
+
+
id
+
yes
+
string
+
+
+ The name of the text to retrieve.
+
+
+
+
+
+
lang
+
no
+
string
+
+
+ The language to retrieve. Normally there is no need to set this parameter because
+ it is determined automatically.
+
+
+
+
+
+
+
+
Result
+
Result type
+
string
+
Description
+
+
+ The requested static text. If there is no value for the requested static text in the
+ module provided by the module parameter the value depends if the debug mode is
+ enabled or not. If the debug mode is not not enabled the result is an empty
+ string. If the debug mode is enabled, a identifier of the text (the value of the
+ id parameter) is displayed. If you point the mouse pointer of the
+ placeholder, the complete path of the text is shown as hovering box.
+
+
+
+
+
+
+
+ Function foundry:debug-enabled
+
+
+ A helper function to determine if the debug mode should be enabled. The debug mode
+ of foundry is automatically enabled if the theme is viewed as development theme.
+
+
+
+
+
Result
+
Result type
+
any
+
Description
+
+
true if the debug mode if active, false otherwise.
+
+
+
+
+
+
+
+ Function foundry:parse-link
+
+
+ Helper template to adjust links. (Copied from Mandalay)
+
+
+ This document describes the coding conventions for the Foundry theming engine.
+
+
Naming
+
+ The naming rules described here apply to all names: Names of layout elements,
+ XSL template names, XSL functions, files, ids and classes (in the
+ class attribute).
+
+
+ Use the dash "-" to separate parts of a name instead of camel case or the
+ underscore. For example: get-setting instead of getSetting or
+ set_setting.
+
+
+ Names should be lowercase.
+
+
+
Namespace declarations
+
+ In the XSL files, XML namespaces are only defined at the
+ <xsl:stylesheet> element. The XSL namespace is the first one is
+ declared first. The other namespace follow in alphabetic order (ordered by their
+ prefix).
+
+
+
Indention, line length and formating
+
+ Indention is done using spaces. Indention depth is four (4) spaces per level.
+
+
+ Try to keep the line length below 100 characters per line. Because of some restrictions
+ of XML this will be possible in every case.
+
+
+ Insert a line break after each attribute of an XML element. The first attribute
+ is on the same line as the element. For example write
+
+
+
+
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/devel/foundry-doc-system.html b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/devel/foundry-doc-system.html
new file mode 100644
index 000000000..785953733
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/devel/foundry-doc-system.html
@@ -0,0 +1,118 @@
+
+
+
+ ]>
+
+
+ The documentation system of Foundry
+
+
+
+
The documentation system of Foundry
+
+
Overview
+
+ Foundry comes with a documentation system which creates the reference documentations
+ for template tags and helper functions on the fly. The documentation system –
+ which you using at the moment by the way – consists of three parts:
+
+
+
+ An index.jsp file in the doc directory which invokes the
+ XSL transformer. Using an JSP here has the advantage that the behaviour is similar
+ to an index.html.
+
+
+ Some XSL templates.
+
+
+ And the documentation itself which consists of some XML files, some static texts
+ and the documentation in the other templates.
+
+
+
+ The general structure of the documentation is defined by the
+ doc/foundry-documentation.xml file. This file is the entry point for the
+ XSL processor. The chapters of the documentation are defined by the
+ foundry:doc-chapter elements. The sections of the chapters are defined using
+ foundry:doc-section elements. The section which use static texts have
+ a static. The value of the static attribute is the name of the
+ file to include from the doc/static-texts directory. These files are normal
+ HTML files in XML syntax. They must have a main element. Only the content
+ of the main element is included into the documentation.
+
+
+ Sections which are generated on the fly from the XSL files of Foundry have a
+ generate attribute. The generate attribute controls which
+ documentations appear in the section.
+
+
+
Documentation inside XSL templates
+
+ Templates, functions and global variables are documented using the
+ foundry:doc element which is placed in the XSL directly before the element
+ to document. The foundry:doc element has two mandatory attributes. The
+ section elements is used to control in which section the documentation
+ appears. The second attribute is the type attribute. This attribute is
+ used to format the documentation. The possible values are:
+
+
+
template-tag
+
+ The following XSL template is a tag which can be used in the layout templates.
+
+
env-var
+
+ The following xsl:variable or xsl:param defines
+ a global variable.
+
+
function
+
+ The following xsl:function is a helper function which can be used
+ in the implementation of template tags.
+
+
function-template
+
+ The following xsl:template is a helper template.
+
+
+
+ A foundry:doc element can have to following child elements:
+
+
+
foundry:doc-desc
+
+ A text describing the template, function or variable. The must be structured
+ using HTML elements like p, even it is only a single paragraph.
+ Otherwise the text is not copied into the documentation. Look at one of the
+ XSL files of Foundry for an example.
+
+
foundry:doc-attributes
+
+ Surrounds the documentation for attributes which can be used on a template tag.
+ The individual attributes are documented by foundry:doc-attribute
+ elements. The foundry:doc-attribute has a mandatory attribute
+ name which contains the name of the attribute. The documentation of
+ the attribute must be enclosed in HTML elements. Look at one of the
+ XSL files of Foundry for an example.
+
+
foundry:doc-parameters
+
+ Surrounds the documentation for parameters which can be used on a function.
+ The individual parameters are documented by foundry:doc-parameter
+ elements. The foundry:doc-parameter has a mandatory parameter
+ name which contains the name of the parameter. The documentation of
+ the parameter must be enclosed in HTML elements. Look at one of the
+ XSL files of Foundry for an example.
+
+
foundry:doc-see-also
+
+ Contains links to other parts of the documentation or the external resources.
+ The links are defined using foundry:doc-link attributes. Each
+ foundry:doc-link has a href attribute which the link.
+ The description of the link is the content of the element.
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/devel/foundry-structure.html b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/devel/foundry-structure.html
new file mode 100644
index 000000000..b61d2e38d
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/devel/foundry-structure.html
@@ -0,0 +1,185 @@
+
+
+
+ The overall structure of foundry
+
+
+
+
The overall structure of foundry
+
+
Top level structure
+
+ Foundry supports two kinds of themes: Parent themes and child themes. Parent themes
+ are also called master themes.
+ Normally there
+ should be only one parent theme in a CCM installation at /themes/foundry.
+ All other themes should be child themes. An example for a child theme should also be
+ installed at /themes/foundry-base.
+
+
+ A complete Foundry theme (a parent theme) contains of the following directories:
+
+
+
conf
+
+ Configuration files for the theme.
+
+
doc
+
+ The documentation of Foundry. The document you reading at the moment is
+ generated using these files.
+
+
fonts
+
+ Webfonts used in the theme.
+
+
foundry
+
+ The directory contains the XSL files which contain the logic part of Foundry.
+
+
images
+
+ Static images for the theme.
+
+
libs
+
+ Additional JavaScript libraries, for example jQuery plugins.
+
+
scripts
+
+ Custom JavaScripts
+
+
styles
+
+ CSS files
+
+
templates
+
+ The layout templates
+
+
texts
+
+ Static texts for the theme
+
+
user
+
+ Custom extensions. Not supported yet.
+
+
+
+ A child theme has only the directories which contain files which the designer needs
+ to change. These are:
+
+
+
conf
+
fonts
+
images
+
libs
+
scripts
+
styles
+
templates
+
texts
+
+
+ The foundry directory contains the following files and directories:
+
+
+
fonts
+
Webfonts used internally, for example for the Content Center.
+
images
+
Images used internally.
+
lib
+
The XSL files from Foundry.
+
scripts
+
Java Scripts used internally.
+
styles
+
CSS files for internal templates like the Content Center
+
templates
+
Internal templates for example for the Content Center.
+
texts
+
Internal texts
+
main.xsl
+
+ Entry point. The start.xsl in the base directory acts only as
+ entry point for the XSL processor and delegates all work to the
+ main.xsl.
+
+
lib.xsl
+
+ A simple import file which imports the XSL files from the lib directory.
+
+
+
+ The main.xsl file contains the xsl:output element
+ which tells the XSL processor that we want to create HTML. There is only two
+ XSL templates in the main.xsl file along with some helper functions.
+ This first template is the entry point for CCM and
+ matches the bebop:page element which is the root element of the
+ data tree XML created by CCM. The template processes the
+ conf/templates.xsl file calls the XSL templates for parsing the
+ layout templates.
+
+
+ The second templates is the entry point for the documentation system Foundry.
+
+
+
The lib directory
+
+ The lib is the core part of Foundry and contains the following
+ sub directories and files:
+
+
+
bebop
+
+ XSL files for creating the backend UI. The XSL files were taken from Mandalay
+ and have only been adapted to work inside Foundry.
+
+
search
+
XSL files for the various search applications.
+
template-tags
+
+ XSL files implementing the tags which can be used in the templates.
+
+
template-tags
+
+ This directory contains the XSL files which implement the tags which can be used
+ in the layout templates.
+
+
bebop.xsl
+
+ Imports the files from the bebop directory.
+
+
global-vars.xsl
+
+ These file is very important. It defines various global variables like the
+ theme-prefix or the context-prefix variables. A
+ complete list can be found in the
+ reference part.
+
+
search.xsl
+
Import file for the XSL files in the search directory.
+
template-parser.xsl
+
+ This file contains the XSL templates for parsing the layout templates.
+
+
template-tags.xsl
+
+ Import file for the XSL files in the template-tags directory.
+
+
utils.xsl
+
+ Helper functions. A complete list is available in the
+ reference part.
+
+
+
+
Template tags
+
+ The template-tags directory contains the XSL file which are
+ implementing the tags which can be used in the layout templates. For a complete
+ list please refer to the
+ Template Tags Reference in the user manual.
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/devel/tutorial-content-types.html b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/devel/tutorial-content-types.html
new file mode 100644
index 000000000..ba05f42bc
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/devel/tutorial-content-types.html
@@ -0,0 +1,49 @@
+
+
+
+ The documentation system of Foundry
+
+
+
+
Adding support for Content types
+
+
+ To enable Foundry to output a Content Item of specific content type two things must be
+ available: One or more layout template associated with the content type and appropriate
+ template tags to display to informations of the content item from the data tree.
+
+
+ Foundry provides a general tag show-property
+ which can be used to output properties of a content type. For simple types this maybe
+ sufficent. The name of the property can
+ be found out from the XML output which can be viewed by adding the parameter
+ output=xml to an URL.
+
+
+ For more complex types or if the value of the property should be formatted in a special
+ way it is maybe necessary to implement some new template tags. Tags which part of the
+ official distribution of Foundry are found in the
+ foundry/lib/template-tags/content-items directory. Custom extensions can
+ be put into the user directory (not supported yet).
+
+
+ For each content type there should be a separate file named after the content type.
+ A relatively simple example is the NewsItem type. In this case the
+ date of the news needs some formatting. The news.xsl file provides the tag
+ news-date which allows the template author to choose the format of the
+ date.
+
+
+ A more complex example is the MultiPartArticle type. The type needs some
+ templates for creating the menu with the sections etc. The tags for are evaluating the
+ data tree and creating the menu.
+
+
+ One important rule is that the template tags should not create any HTML. They should
+ only provided the necessary informations and output the values of properties. HTML is
+ only generated by the HTML tags provided by Foundry. A template tag for a content type
+ may enclose several HTML elements which are used to define the HTML output.
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/overview-foundry.html b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/overview-foundry.html
new file mode 100644
index 000000000..3e7d2f590
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/overview-foundry.html
@@ -0,0 +1,22 @@
+
+
+
+ Foundry Documentation - CSS files
+
+
+
+
About Foundry
+
+
+ Foundry is a theme engine for the LibreCCM family of Content Management systems, for
+ example ScientificCMS and APLAWS+. Some parts of based on the Mandalay theme engine
+ developed by Sören Bernstein for ScientificCMS.
+
+
+ With Foundry the designer has full control of the HTML created from the content managed
+ by CCM. The templates for defining the HTML are almost plain HTML (in XML syntax) with
+ some additional elements which provide the data to display.
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/overview.html b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/overview.html
new file mode 100644
index 000000000..1f97f6217
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/overview.html
@@ -0,0 +1,26 @@
+
+
+
+ Foundry Documentation - Overview
+
+
+
+
About Foundry
+
+
+ Foundry is a theme engine for the LibreCCM family of Content Management systems, for
+ example ScientificCMS and APLAWS+. Some parts of based on the Mandalay theme engine
+ developed by Sören Bernstein for ScientificCMS.
+
+
+ With Foundry the designer has full control of the HTML created from the content managed
+ by CCM. The templates for defining the HTML are almost plain HTML (in XML syntax) with
+ some additional elements which provide the data to display.
+
+
+ Please note that Foundry requires an XSL 2 processor. The only one available in CCM
+ is Saxon HE. To use Foundry you must configure CCM to use Saxon HE as XSL processor.
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/this-manual.html b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/this-manual.html
new file mode 100644
index 000000000..70f21ca9f
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/this-manual.html
@@ -0,0 +1,59 @@
+
+
+
+ Foundry Documentation - CSS files
+
+
+
+
About this manual
+
+
+ This manual is separated into two parts. The first part is
+ for designers and administrators (called users in the context of this manual). It
+ describes the structure of the templates in Foundry, how CSS files are implemented
+ and how Frameworks like Bootstrap,
+ YAML or jQuery
+ can be integrated into a Foundry theme. The first part also contains a reference
+ part which describes all elements/tags which can be used in the templates.
+ If you are viewing this documentation using an URL like
+ /themes/foundry/doc/ this reference is created on the fly from the
+ XSL files.
+
+
+ The second part is for developers which want to
+ extend Foundry. It describes the
+ structure of Foundry, how support for content types (the most common task) can be
+ added, how the documentation system works and which XPath functions and XSL helper
+ templates are available. Developers should also read the first part because the
+ first part includes informations about the general structure of Foundry.
+
+
+ In the manual the following terms a used quite often:
+
+
+
context prefix
+
+ The context in which CCM is installed in the Servlet container. If CCM is
+ installed in the root context the context prefix is empty.
+
+
theme prefix
+
+ The URL part of accessing resources inside the theme. For example for theme
+ called foo the theme prefix is
+ /themes/published-themedir/foo is published theme is used an if
+ CCM is installed in the root context.
+
+
dispatcher prefix
+
+ The URL for creating links to other CCM resources like content items. Depends
+ on the context in which CCM is installed and if development theme or the
+ published theme is used.
+
+
data tree
+
The XML created by CCM containing all data of the current page.
+
Layout tree
+
The XML of layout template in processing.
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/user/css-files.html b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/user/css-files.html
new file mode 100644
index 000000000..266d3e15b
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/user/css-files.html
@@ -0,0 +1,55 @@
+
+
+
+ Foundry Documentation - CSS files
+
+
+
+
CSS files
+
+
+ The system for loading CSS files is similar to the system for finding layout
+ templates. Which CSS files are loaded for a page is determined by the
+ conf/css-files.xml. The root element of this file is an
+ css-files element. This element has multiple application
+ child elements. Each application has an mandatory attribute
+ name which contains the name of the application for which the CSS files
+ named in the element are loaded. To further distinguish between pages provided by the
+ same application the optional attribute class can be used.
+ There should be also an default
+ element which determines the CSS files to load when no matching
+ application element is found.
+
+
+ Some pages have no application name in the data tree XML. In this cases to name of
+ the application is set to none.
+
+
+ Each application element and the default element
+ in css-files.xml can contain multiple css-file element.
+ Each of the css-file elements defines a single XML to load.
+
+
+ The css-file element has two optional attributes:
+
+
+
media
+
+ The media type, for example screen or print for
+ which the CSS file is used. The value of this attribute will appear in the
+ media attribute of the link element which is generated in the HTML
+ to load the CSS file.
+
+
origin
+
+ The origin of the CSS file. If not set the file is loaded from the current
+ theme. If set to master the file is loaded from the master theme
+ if the current theme is a child theme. If set to internal the
+ file is loaded from the internal directory for CSS files, either from the
+ current theme (if the current theme is a master theme) or from the Foundry
+ master theme installed at /themes/foundry.
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/user/foundry-structure.html b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/user/foundry-structure.html
new file mode 100644
index 000000000..716a77d64
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/user/foundry-structure.html
@@ -0,0 +1,106 @@
+
+
+
+ ]>
+
+
+ General structure
+
+
+
+
General structure
+
+
+ There some options for using Foundry. The easiest way is to use a version/package of
+ LibreCCM which includes Foundry. In this case Foundry is installed in the
+ /themes/foundry folder. There should also be a second folder named
+ /themes/foundry-base which includes a basic child theme.
+
+
+ Foundry supports a an parent/child theme approach. This means that the logic
+ part of Foundry (the XSL part) is only installed in /themes/foundry and
+ is updated together with the normal upgrades of CCM. A child only contains
+ the templates, CSS files, static texts and configurations files for a theme. Custom
+ extensions are not supported yet.
+
+
+ A complete Foundry theme consists of the following top level folders and files:
+
+
+
conf
+
Contains configuration files for the theme
+
doc
+
Static parts of the documentation of Foundry, for example this text
+
fonts
+
Web fonts for the theme
+
foundry
+
+ This folder contains the logic parts (the XSL) of Foundry. The internal
+ structure is described in the Developer Manual.
+
+
images
+
Static images for the theme
+
libs
+
+ Additional JavaScript libraries. jQuery and some other JavaScript libraries are
+ provided by CCM itself, and can be
+ included using special elements like the
+ load-jquery element.
+
+
scripts
+
JavaScripts needed in the theme.
+
styles
+
+ The CSS styles for the theme. More information about them can be found in the
+ CSS files section.
+
+
templates
+
+ The layout templates for the theme. A detailed description can be found in the
+ Layout templates section.
+
+
texts
+
Static texts for the theme
+
user
+
Custom extensions (XSL) for theme. Not supported yet.
+
+
+ Foundry also supports a parent – child – grandchild structure. This is
+ maybe useful
+ when you have themes which only differ in details like logos but use the same
+ general structure. Most tags which are used to include resources like images,
+ CSS files etc. support the attribute origin which can have three
+ values:
+
+
+
Not set
+
The resource is loaded from the current theme
+
master
+
+ If the current theme is a master/parent theme the resource is loaded from the
+ current theme. If the current theme is a child theme the resource is loaded
+ from the master theme.
+
+
internal
+
+ The file is loaded from the foundry. If the theme is a child
+ theme is file is loaded from the Foundry master in /themes/foundry.
+
+
+
+ The recommend way for creating a team using Foundry is to create a new child theme:
+
+
+
To do so create a new theme using the CCM Theme director.
+
+ Copy the contents of the themes/foundry-base folder to the folder
+ created by the new theme
+ in themes/devel-themedir/.
+
+
+ Customise the theme
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/user/layout-templates.html b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/user/layout-templates.html
new file mode 100644
index 000000000..d548163c9
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/static-texts/user/layout-templates.html
@@ -0,0 +1,171 @@
+
+
+
+ Foundry Documentation - Layout templates
+
+
+
+
Layout templates
+
+
+ The layout templates are used by the web designer to create the HTML of the web
+ page. With Foundry the designer has almost complete control over the HTML. Despite
+ the elements which correspond to HTML 5 elements most other elements which can
+ be used in the templates do not create HTML. A complete list of the elements which
+ can be used in the layout templates can be found in the
+ Template Tags Reference.
+
+
+ Which template is used is decided by Foundry using the definitions in the
+ conf/templates file. The top layer of templates which are parsed first
+ are the application layouts. Which layout is used for a application is decided by
+ Foundry using the application and class attributes of
+ of bebop:page element in the data tree. The values of these attributes
+ a set in the Java code or in the JSP templates used.
+
+
+
+
Application layout templates
+
How Foundry determines which application layout template to use
+
+ Which template is used for which application is determined using the
+ applications section in the conf/templates.xml file.
+ The applications element may contain any number of
+ application elements. Each application element can have three
+ attributes:
+
+
+
name (mandatatory)
+
+ The name of the application which is the value of the application
+ attribute from the data tree. To associate applications which do not set the
+ application attribute in the data tree the value none
+ can be used.
+
+
class (optional)
+
+ The class of the application page shown. This is the value of the
+ class attribute from the data tree.
+
+
origin (optional)
+
+ The origin of the template. In the default theme this is used to associate
+ the backend applications which like the content center with the
+ internal admin-layout.xml template provided by Foundry. It can also
+ be used to associate an application with an layout template from the parent
+ theme.
+
+
+
+ The applications element in the conf/templates.xml file
+ should also contain a single single default element which defines which
+ layout template should be used when no other matches.
+
+
+ Foundry tries to find the layout template to use as follows:
+
+
+
+ If there an application element where both name and
+ class match the values from the data tree this template is used.
+
+
+ Otherwise Foundry checks if there is an application element
+ without a class attribute where value of the name
+ attribute matches the value from the data tree.
+
+
+ If this also fails and there is a default element the template
+ from the default element is used.
+
+
+ If there is no default element the internal default layout template
+ is used.
+
+
+
The structure of a application layout template
+
+ An layout template is a normal XML file. The root element is the
+ page-layout element.
+ The first child should be a head element. The head
+ element is equivalent of the HTML head element. Inside the head
+ element the title of (the string shown as title of the browser window) can
+ be determined using the title element. Also
+ the head is the place to load the CSS and JavaScript files and where
+ to put meta informations.
+
+
+ After the head there should be a body
+ element. Inside the body element the HTML structure is defined.
+ At some point you may want to insert the content of a content item or of a Portlet.
+ This is done using elements like content-item element
+ or
+ portal-grid-workspace-column-portlets.
+ The layout of the individual content item or Portlet is defined in separate
+ templates.
+
+
+
Content Item layout templates
+
+ The content layout templates which are found in the
+ templates/content-items folder are used to create the HTML for
+ content items in the list, link and detail views. Which template is used for which
+ content item is determined using the content-items section in the
+ conf/templates.xml file.
+
+
Selecting the Content Item layout template to use
+
+ The content-items element in the conf/templates.xml file
+ has three sub elements: detail, link and
+ list. The content-item elements in these elements are
+ determining which template is used for which content type. There are several
+ attributes for selecting the template. For a description of the available attributes
+ please refer to the documentation of the
+ content-item tag.
+
+
Structure of a Content Item layout template
+
+ Like the application layout templates a content item layout template is a XML file.
+ The root element is the content-item-layout element. Inside this
+ element all HTML producing elements can be used. For some content types there are
+ special elements for outputting special properties. For example the for news item
+ there is an elements news-date which outputs
+ the date of a news. This element also provides an interface for designer to
+ customise the format in which the date is shown. There is is also an general tag
+ show-property which can be used to
+ create a basic template for an unsupported content type.
+
+
+
Portlet templates
+
+ For Portlets the system is similar to the system for content items. Which template
+ is used for a specific Portlet is determined using the child elements of the
+ portlets element in the conf/templates.xml file. The
+ portlet elements which contain the path of the template to use can have
+ two child elements:
+
+
+
class
+
+ The class name of the Portlet.
+
+
workspace
+
+ The name of the workspace in which the Portlet is shown.
+
+
+
+ Foundry first tries to find a match for both class and
+ workspace. If there is no matching portlet element in
+ conf/templates.xml Foundry tries to find a match for the class name
+ only. If this also fails it used the templates defined in
+ portlets/default in the conf/templates.xml file.
+
+
+ The root element of a Portlet layout template is the portlet-layout
+ element. Inside this element all HTML elements can be used. For each Portlet type
+ there will be least on specific element which outputs the content of the Portlet.
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/styles/foundry-doc.css b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/styles/foundry-doc.css
new file mode 100644
index 000000000..ec5fa7892
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/doc/styles/foundry-doc.css
@@ -0,0 +1,282 @@
+/*
+ CSS file for the Foundry Documentation
+ (c) Jens Pelzetter
+*/
+
+@font-face {
+ font-family: 'liberation_sans';
+ src: url('../fonts/LiberationSans-Bold-webfont.eot');
+ src: url('../fonts/LiberationSans-Bold-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/LiberationSans-Bold-webfont.woff') format('woff'),
+ url('../fonts/LiberationSans-Bold-webfont.ttf') format('truetype'),
+ url('../fonts/LiberationSans-Bold-webfont.svg#liberation_sansbold') format('svg');
+ font-weight: bold;
+ font-style: normal;
+
+}
+
+@font-face {
+ font-family: 'liberation_sans';
+ src: url('../fonts/LiberationSans-BoldItalic-webfont.eot');
+ src: url('../fonts/LiberationSans-BoldItalic-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/LiberationSans-BoldItalic-webfont.woff') format('woff'),
+ url('../fonts/LiberationSans-BoldItalic-webfont.ttf') format('truetype'),
+ url('../fonts/LiberationSans-BoldItalic-webfont.svg#liberation_sansbold_italic') format('svg');
+ font-weight: bold;
+ font-style: italic;
+
+}
+
+@font-face {
+ font-family: 'liberation_sans';
+ src: url('../fonts/LiberationSans-Italic-webfont.eot');
+ src: url('../fonts/LiberationSans-Italic-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/LiberationSans-Italic-webfont.woff') format('woff'),
+ url('../fonts/LiberationSans-Italic-webfont.ttf') format('truetype'),
+ url('../fonts/LiberationSans-Italic-webfont.svg#liberation_sansitalic') format('svg');
+ font-weight: normal;
+ font-style: italic;
+
+}
+
+@font-face {
+ font-family: 'liberation_sans';
+ src: url('../fonts/LiberationSans-Regular-webfont.eot');
+ src: url('../fonts/LiberationSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/LiberationSans-Regular-webfont.woff') format('woff'),
+ url('../fonts/LiberationSans-Regular-webfont.ttf') format('truetype'),
+ url('../fonts/LiberationSans-Regular-webfont.svg#liberation_sansregular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'liberation_serif';
+ src: url('../fonts/LiberationSerif-Bold-webfont.eot');
+ src: url('../fonts/LiberationSerif-Bold-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/LiberationSerif-Bold-webfont.woff') format('woff'),
+ url('../fonts/LiberationSerif-Bold-webfont.ttf') format('truetype'),
+ url('../fonts/LiberationSerif-Bold-webfont.svg#liberation_serifbold') format('svg');
+ font-weight: bold;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'liberation_serif';
+ src: url('../fonts/LiberationSerif-BoldItalic-webfont.eot');
+ src: url('../fonts/LiberationSerif-BoldItalic-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/LiberationSerif-BoldItalic-webfont.woff') format('woff'),
+ url('../fonts/LiberationSerif-BoldItalic-webfont.ttf') format('truetype'),
+ url('../fonts/LiberationSerif-BoldItalic-webfont.svg#liberation_serifbold_italic') format('svg');
+ font-weight: bold;
+ font-style: italic;
+
+}
+
+@font-face {
+ font-family: 'liberation_serif';
+ src: url('../fonts/LiberationSerif-Italic-webfont.eot');
+ src: url('../fonts/LiberationSerif-Italic-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/LiberationSerif-Italic-webfont.woff') format('woff'),
+ url('../fonts/LiberationSerif-Italic-webfont.ttf') format('truetype'),
+ url('../fonts/LiberationSerif-Italic-webfont.svg#liberation_serifitalic') format('svg');
+ font-weight: normal;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: 'liberation_serif';
+ src: url('../fonts/LiberationSerif-Regular-webfont.eot');
+ src: url('../fonts/LiberationSerif-Regular-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/LiberationSerif-Regular-webfont.woff') format('woff'),
+ url('../fonts/LiberationSerif-Regular-webfont.ttf') format('truetype'),
+ url('../fonts/LiberationSerif-Regular-webfont.svg#liberation_serifregular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
+
+@font-face {
+ font-family: 'liberation_mono';
+ src: url('../fonts/LiberationMono-Bold-webfont.eot');
+ src: url('../fonts/LiberationMono-Bold-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/LiberationMono-Bold-webfont.woff') format('woff'),
+ url('../fonts/LiberationMono-Bold-webfont.ttf') format('truetype'),
+ url('../fonts/LiberationMono-Bold-webfont.svg#liberation_monobold') format('svg');
+ font-weight: bold;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'liberation_mono';
+ src: url('../fonts/LiberationMono-BoldItalic-webfont.eot');
+ src: url('../fonts/LiberationMono-BoldItalic-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/LiberationMono-BoldItalic-webfont.woff') format('woff'),
+ url('../fonts/LiberationMono-BoldItalic-webfont.ttf') format('truetype'),
+ url('../fonts/LiberationMono-BoldItalic-webfont.svg#liberation_monobold_italic') format('svg');
+ font-weight: bold;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: 'liberation_mono';
+ src: url('../fonts/LiberationMono-Italic-webfont.eot');
+ src: url('../fonts/LiberationMono-Italic-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/LiberationMono-Italic-webfont.woff') format('woff'),
+ url('../fonts/LiberationMono-Italic-webfont.ttf') format('truetype'),
+ url('../fonts/LiberationMono-Italic-webfont.svg#liberation_monoitalic') format('svg');
+ font-weight: normal;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: 'liberation_mono';
+ src: url('../fonts/LiberationMono-Regular-webfont.eot');
+ src: url('../fonts/LiberationMono-Regular-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/LiberationMono-Regular-webfont.woff') format('woff'),
+ url('../fonts/LiberationMono-Regular-webfont.ttf') format('truetype'),
+ url('../fonts/LiberationMono-Regular-webfont.svg#liberation_monoregular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+}
+
+body {
+ font-family: liberation_sans;
+ position: relative;
+ width: 40em;
+ margin-top: 3em;
+ margin-bottom: 3em;
+ margin-left: auto;
+ margin-right: auto;
+
+ font-size: 1em;
+}
+
+.nav-hide {
+ display: none;
+}
+
+main {
+
+}
+
+header, footer {
+ position: fixed;
+ width: 40em;
+ height: 2em;
+ left: 50%;
+ margin-top: 0;
+ margin-bottom: 0;
+ margin-left: -20em;
+ margin-right: auto;
+ padding: 0.5em 0;
+ background-color: #fff;
+}
+
+header {
+ top: 0;
+}
+
+footer {
+ bottom: 0;
+}
+
+header .border-wrapper {
+ padding-left: 2em;
+ padding-right: 2em;
+ border-bottom: 1px solid #000;
+}
+
+footer .border-wrapper {
+ padding-left: 2em;
+ padding-right: 2em;
+ border-top: 1px solid #000;
+}
+
+@media screen {
+ nav {
+ position: fixed;
+ /*right: 2em;*/
+ left: 50%;
+ top: 10em;
+ margin-left: 22em;
+ width: 16em;
+ }
+}
+
+article:before,
+section:before {
+ content: ".";
+ display: block;
+ margin-top: -3em;
+ height: 3em;
+ visibility: hidden;
+}
+
+pre, code {
+ font-family: liberation_mono;
+}
+
+div#title-page h1 {
+ text-align: center;
+ font-size: 2.5em;
+ font-weight: bold;
+}
+
+main article h1 {
+ font-size: 2.2em;
+ font-weight: bold;
+}
+
+main article section h1 {
+ font-size: 2em;
+ font-weight: bold;
+}
+
+main article section section h1 {
+ font-size: 1.8em;
+ font-weight: bold;
+}
+
+main article section section section h1 {
+ font-size: 1.6em;
+ font-weight: bold;
+ margin-top: 0.7em;
+ margin-bottom: 0.7em;
+}
+
+main article section section section section h1 {
+ font-size: 1.4em;
+ font-weight: bold;
+ margin-bottom: 0.4em;
+ margin-top: 0.4em;
+}
+
+main article section section section section.template-tag h1 {
+ font-family: liberation_mono;
+ font-size: 1.2em;
+}
+
+main article section section section section.template-tag h2{
+ font-size: 1.2em;
+ font-weight: bold;
+ color: #444;
+}
+
+dl#foundry-structure-folders dt {
+ font-family: liberation_mono;
+ float: left;
+ width: 8em;
+ margin: 0.2em 0;
+}
+
+dl#foundry-structure-folders dd {
+ margin: 0.2em 0 0.2em 8.5em;
+}
+
+dl#foundry-structure-folders dd:after {
+ content: ".";
+ display: block;
+ visibility: hidden;
+ clear: both;
+}
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/fonts/_README_ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/fonts/_README_
new file mode 100644
index 000000000..a590cd675
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/fonts/_README_
@@ -0,0 +1 @@
+This directory contains fonts used by the theme
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/_README_ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/_README_
new file mode 100644
index 000000000..dc32ce161
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/_README_
@@ -0,0 +1,5 @@
+This directory contains the internal logic of Foundry.
+
+DO NOT EDIT THE FILES IN THIS DIRECTORY
+UNLESS YOU WANT TO WRITE A PATCH FOR
+FOUNDRY
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabBol-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabBol-webfont.eot
new file mode 100644
index 000000000..34c1490af
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabBol-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabBol-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabBol-webfont.svg
new file mode 100644
index 000000000..247cca437
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabBol-webfont.svg
@@ -0,0 +1,925 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabBol-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabBol-webfont.ttf
new file mode 100644
index 000000000..dfabcd95f
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabBol-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabBol-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabBol-webfont.woff
new file mode 100644
index 000000000..5aa5f2a84
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabBol-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabMed-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabMed-webfont.eot
new file mode 100644
index 000000000..f33976f33
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabMed-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabMed-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabMed-webfont.svg
new file mode 100644
index 000000000..36210bed5
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabMed-webfont.svg
@@ -0,0 +1,925 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabMed-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabMed-webfont.ttf
new file mode 100644
index 000000000..31ae513fc
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabMed-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabMed-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabMed-webfont.woff
new file mode 100644
index 000000000..d701f8355
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabMed-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabReg-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabReg-webfont.eot
new file mode 100644
index 000000000..587447326
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabReg-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabReg-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabReg-webfont.svg
new file mode 100644
index 000000000..06eee59b6
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabReg-webfont.svg
@@ -0,0 +1,925 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabReg-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabReg-webfont.ttf
new file mode 100644
index 000000000..0dba6e55c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabReg-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabReg-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabReg-webfont.woff
new file mode 100644
index 000000000..de5a60215
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/ColabReg-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Bold-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Bold-webfont.eot
new file mode 100644
index 000000000..36cc1723e
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Bold-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Bold-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Bold-webfont.svg
new file mode 100644
index 000000000..aad89d29e
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Bold-webfont.svg
@@ -0,0 +1,2982 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Bold-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Bold-webfont.ttf
new file mode 100644
index 000000000..b70f02dfd
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Bold-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Bold-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Bold-webfont.woff
new file mode 100644
index 000000000..fb9266269
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Bold-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-BoldOblique-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-BoldOblique-webfont.eot
new file mode 100644
index 000000000..e6afcce5e
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-BoldOblique-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-BoldOblique-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-BoldOblique-webfont.svg
new file mode 100644
index 000000000..bc742a59f
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-BoldOblique-webfont.svg
@@ -0,0 +1,2377 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-BoldOblique-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-BoldOblique-webfont.ttf
new file mode 100644
index 000000000..1e33effd4
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-BoldOblique-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-BoldOblique-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-BoldOblique-webfont.woff
new file mode 100644
index 000000000..8a67563bf
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-BoldOblique-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Oblique-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Oblique-webfont.eot
new file mode 100644
index 000000000..f70aaf515
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Oblique-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Oblique-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Oblique-webfont.svg
new file mode 100644
index 000000000..6dfb12528
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Oblique-webfont.svg
@@ -0,0 +1,2504 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Oblique-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Oblique-webfont.ttf
new file mode 100644
index 000000000..44a47e764
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Oblique-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Oblique-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Oblique-webfont.woff
new file mode 100644
index 000000000..96247734c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-Oblique-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-webfont.eot b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-webfont.eot
new file mode 100644
index 000000000..34443480f
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-webfont.eot differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-webfont.svg b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-webfont.svg
new file mode 100644
index 000000000..7a0db7bfc
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-webfont.svg
@@ -0,0 +1,3171 @@
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-webfont.ttf b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-webfont.ttf
new file mode 100644
index 000000000..aca46cbd6
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-webfont.ttf differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-webfont.woff b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-webfont.woff
new file mode 100644
index 000000000..011204356
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/fonts/DejaVuSansMono-webfont.woff differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/action-add.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/action-add.png
new file mode 100644
index 000000000..0d423a37e
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/action-add.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/action-delete.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/action-delete.png
new file mode 100644
index 000000000..fc710bbff
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/action-delete.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/action-edit.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/action-edit.png
new file mode 100644
index 000000000..9bbd4dcf5
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/action-edit.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/action-return.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/action-return.png
new file mode 100644
index 000000000..1a06e0eed
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/action-return.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/action.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/action.png
new file mode 100644
index 000000000..e7aa040a2
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/action.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/checkbox-checked.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/checkbox-checked.gif
new file mode 100644
index 000000000..abfe86602
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/checkbox-checked.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/checkbox-grey-checked.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/checkbox-grey-checked.gif
new file mode 100644
index 000000000..16fcc90ca
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/checkbox-grey-checked.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/checkbox-grey-unchecked.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/checkbox-grey-unchecked.gif
new file mode 100644
index 000000000..c5175af82
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/checkbox-grey-unchecked.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/checkbox-unchecked.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/checkbox-unchecked.gif
new file mode 100644
index 000000000..2ef997f1c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/checkbox-unchecked.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/collapse.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/collapse.png
new file mode 100644
index 000000000..f0a5460e4
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/collapse.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/expand.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/expand.png
new file mode 100644
index 000000000..6148bb215
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/expand.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/gray-triangle-down.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/gray-triangle-down.gif
new file mode 100644
index 000000000..3ee21b373
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/gray-triangle-down.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/gray-triangle-up.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/gray-triangle-up.gif
new file mode 100644
index 000000000..3adf5bc33
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/gray-triangle-up.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/treeNode.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/treeNode.png
new file mode 100644
index 000000000..302370b5c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/bebop/treeNode.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/activeTab.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/activeTab.png
new file mode 100644
index 000000000..dcb30e88c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/activeTab.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/admin-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/admin-current.png
new file mode 100755
index 000000000..cd09908a2
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/admin-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/admin.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/admin.png
new file mode 100755
index 000000000..0b549220f
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/admin.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/arrowDown.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/arrowDown.gif
new file mode 100644
index 000000000..c2f77671b
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/arrowDown.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/arrowUp.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/arrowUp.gif
new file mode 100644
index 000000000..abfcb41ea
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/arrowUp.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/benutzerprofile.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/benutzerprofile.png
new file mode 100755
index 000000000..217c0469b
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/benutzerprofile.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/browse-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/browse-current.png
new file mode 100755
index 000000000..2f574af71
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/browse-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/browse.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/browse.png
new file mode 100755
index 000000000..182aad484
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/browse.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categories-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categories-current.png
new file mode 100755
index 000000000..d99136c03
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categories-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categories.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categories.png
new file mode 100755
index 000000000..fa7a84c6d
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categories.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryAbstract.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryAbstract.gif
new file mode 100644
index 000000000..c5175af82
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryAbstract.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryCollapse.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryCollapse.png
new file mode 100755
index 000000000..b145022f6
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryCollapse.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryDelete.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryDelete.png
new file mode 100644
index 000000000..722b8976a
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryDelete.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryExpand.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryExpand.png
new file mode 100644
index 000000000..8be4f1dfd
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryExpand.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryNode.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryNode.png
new file mode 100644
index 000000000..59d7592b0
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryNode.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categorySelected.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categorySelected.gif
new file mode 100644
index 000000000..abfe86602
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categorySelected.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categorySelectedDisabled.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categorySelectedDisabled.gif
new file mode 100644
index 000000000..16fcc90ca
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categorySelectedDisabled.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryUnselected.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryUnselected.gif
new file mode 100644
index 000000000..2ef997f1c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/categoryUnselected.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/contentcenter-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/contentcenter-over.png
new file mode 100755
index 000000000..28472be8e
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/contentcenter-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/contentcenter.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/contentcenter.png
new file mode 100644
index 000000000..32eb8c5a5
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/contentcenter.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/contenttypes-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/contenttypes-current.png
new file mode 100755
index 000000000..788d5bd9e
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/contenttypes-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/contenttypes.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/contenttypes.png
new file mode 100755
index 000000000..86c857348
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/contenttypes.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/cse-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/cse-current.png
new file mode 100755
index 000000000..7f9fcd693
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/cse-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/cse.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/cse.png
new file mode 100755
index 000000000..e14fb7f82
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/cse.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/delete-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/delete-over.png
new file mode 100755
index 000000000..9e47d74b1
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/delete-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/delete.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/delete.png
new file mode 100755
index 000000000..43f3004d7
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/delete.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/dokumente.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/dokumente.png
new file mode 100755
index 000000000..2f574af71
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/dokumente.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/dokumenttype.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/dokumenttype.png
new file mode 100755
index 000000000..685dead3a
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/dokumenttype.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/gesperrt-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/gesperrt-over.png
new file mode 100755
index 000000000..64de4b1a0
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/gesperrt-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/gesperrt.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/gesperrt.png
new file mode 100755
index 000000000..ddf6cc04d
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/gesperrt.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/headerBackground.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/headerBackground.png
new file mode 100644
index 000000000..7357847e9
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/headerBackground.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/help-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/help-over.png
new file mode 100755
index 000000000..28b211f2d
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/help-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/help.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/help.png
new file mode 100644
index 000000000..211775441
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/help.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/home-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/home-over.png
new file mode 100755
index 000000000..b801b8568
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/home-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/home.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/home.png
new file mode 100644
index 000000000..0feaf3912
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/home.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/images-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/images-current.png
new file mode 100755
index 000000000..944e951c9
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/images-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/images.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/images.png
new file mode 100755
index 000000000..e062d0c73
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/images.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/infos-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/infos-over.png
new file mode 100755
index 000000000..73cd449a2
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/infos-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/infos.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/infos.png
new file mode 100755
index 000000000..abab53da7
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/infos.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/lifecycles-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/lifecycles-current.png
new file mode 100755
index 000000000..a2b37ec27
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/lifecycles-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/lifecycles.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/lifecycles.png
new file mode 100755
index 000000000..62327c651
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/lifecycles.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/lock.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/lock.png
new file mode 100644
index 000000000..d87e6a319
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/lock.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/nichtGesperrt-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/nichtGesperrt-over.png
new file mode 100755
index 000000000..1accd1a90
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/nichtGesperrt-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/nichtGesperrt.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/nichtGesperrt.png
new file mode 100755
index 000000000..a91a9faf9
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/nichtGesperrt.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/preview.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/preview.png
new file mode 100644
index 000000000..adefe3386
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/preview.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/reports-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/reports-current.png
new file mode 100755
index 000000000..8e10e4013
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/reports-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/reports.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/reports.png
new file mode 100755
index 000000000..752c6b138
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/reports.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/roles-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/roles-current.png
new file mode 100755
index 000000000..05f7d51d9
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/roles-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/roles.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/roles.png
new file mode 100755
index 000000000..b1e30d47c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/roles.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/search-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/search-current.png
new file mode 100755
index 000000000..8fc0260c1
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/search-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/search.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/search.png
new file mode 100755
index 000000000..4f70d2eaa
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/search.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/taskssections-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/taskssections-current.png
new file mode 100755
index 000000000..0b10fae8b
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/taskssections-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/taskssections.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/taskssections.png
new file mode 100755
index 000000000..f1fe8534f
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/taskssections.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/validate-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/validate-over.png
new file mode 100755
index 000000000..ef015c1e1
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/validate-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/validate.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/validate.png
new file mode 100755
index 000000000..5c21f1722
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/validate.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/weiter.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/weiter.png
new file mode 100755
index 000000000..218415b57
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/weiter.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/workflows-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/workflows-current.png
new file mode 100755
index 000000000..182c09c76
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/workflows-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/workflows.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/workflows.png
new file mode 100755
index 000000000..0cde6ae5f
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/cms/workflows.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/scientificcms_logo.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/scientificcms_logo.png
new file mode 100644
index 000000000..e3acc9efb
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/scientificcms_logo.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/scrumb.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/scrumb.png
new file mode 100755
index 000000000..c4ceca67c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/scrumb.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/search/action.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/search/action.png
new file mode 100644
index 000000000..85d843485
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/search/action.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/search/score-empty.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/search/score-empty.gif
new file mode 100755
index 000000000..27230c8fe
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/search/score-empty.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/search/score-full.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/search/score-full.gif
new file mode 100755
index 000000000..0da007416
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/images/search/score-full.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib.xsl
new file mode 100644
index 000000000..aa0101da8
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib.xsl
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/bebop.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/bebop.xsl
new file mode 100644
index 000000000..896b4a340
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/bebop.xsl
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/bebop/action-group.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/bebop/action-group.xsl
new file mode 100644
index 000000000..c7fc233ba
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/bebop/action-group.xsl
@@ -0,0 +1,77 @@
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Global variables either provided by the calling CCM instance or by Foundry itself.
+
+
+
+
+
+
+
+
+ The version of Foundry. Kept in sync with the version of CCM, so the first version
+ was be 2.2.3.
+
+
+
+
+
+
+
+
+ The mode of the theme. If the theme is standalone theme, the value is
+ master. If the theme is a child theme the value is child.
+
+
+
+
+
+
+
+
+
+ The master theme of the current if the theme is a child theme. if theme is direct
+ child of the Foundry base theme the value is foundry. Otherwise it is
+ the name of master theme.
+
+
+
+
+
+
+
+
+
+
+
+ The path the to theme file. This path is used at several points to load files which are
+ part of the theme, like CSS files, images and fonts.
+
+
+
+
+
+
+
+
+ The context prefix in which CCM is installed. If CCM is installed into the ROOT context
+ of the servlet container, this variable will be empty.
+
+
+
+
+
+
+
+
+ The path on which the CCM dispatcher Servlet is mounted. Usually this is
+ CCM.
+
+
+
+
+
+
+
+
+ The name of user currently login in CCM.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This variable stores the XML created by CCM for later access.
+
+
+
+
+
+
+
+
+ This variables stores the XML definition of the Foundry documentation.
+
+
+
+
+
+
+
+
+
+
+
+ Activate double click protection on buttons?
+
+
+
+
+
+
+
+
+ Activate double click protection on links?
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The language negotiated between CCM and the user agent.
+
+
+
+
+
+ The language to use as negotiated by CCM.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The languages supported by this theme. They are configured in
+ conf/global.xml using the <supported-languages>
+ element. Example for german and english:
+
+ The language to use by theme engine for static texts etc. The language is determined
+ as follows:
+
+
+
If the negotiated language is also in the supported-languages
+
If not the language which set by the default attribute of the
+ <supported-languages> is used, but only if this language
+ is in the supported languages.
+
Otherwise the first of the supported languages is used.
+ Root element of an extending template. The extends
+ attribute is required and points to the template which is
+ extended by the layout. Only the block elements
+ in the layout are processed. The master layout must contain
+ matching insert-block elements.
+
+
+ Technically the master template is processed first and the
+ extending layout is passed as parameter. The master layout
+
+
+ #block
+ #insert-block
+
+
+
+
+
+
+
+
+
+
+
+ The element is used in a master layout to insert a block
+ from an extending template.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Root element for generating a HTML fragment instead of a complete HTML document.
+
+
+
+
+
+
+
+
+
+
+
+
+ This element allows it to include template fragments into a template. The element
+ has two attributes. The file attribute is mandatory and contains
+ the path the fragment to include, relative to the template directory.
+ The internal attribute is optional. If set to true the
+ fragment is loaded from the internal template directory.
+
+
+ For example <include file="fragments/footer.xml"< will include
+ the file templates/fragments/footer.xml. If the internal
+ attribute is set to true the file
+ foundry/templates/fragments/footer.xml would be included.
+
+
+ An fragment template file included using this element using this element must
+ contain a fragment-layout element as root.
+
+
+
+
+
+ Path of the file to include, relative to the templates directory.
+
+
+
+
+ If set to true the template fragment file is loaded from the
+ internal template directory.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The layout node to use. Defaults the the current node.
+
+
+
+
+ The attributes to copy separated by an empty space. For example:
+ autofocus disabled form formaction formenctype formmethod formnovalidate formtarget name type value.
+
+
+
+
+ A helper template for copying attributes from the layout tree to the result tree.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The layout node to use. Defaults the the current node.
+
+
+
+
+ Helper template for copying data- attributes from the the layout XML
+ to the HTML result tree.
+
+ Variant of foundry:gen-src-url without the parameters string
+ parameter.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The raw URL to process.
+
+
+
+
+ Parameters to append to the URL.
+
+
+
+
+
+ The processed URL.
+
+
+
+
+ Processes a given URL for use in the src attribute of an
+ audio, img or video element. The function
+ distigushes between this cases:
+
+
+
The URL starts with http:// or https://
+
+ In this case the URL is threated as an absolute URL pointing to a resource
+ outside of CCM. If any parameters are passed to the function they are appended
+ to the URL.
+
+
The URL starts with a slash (/)
+
+ In this case the URL points to a resource managed by the CCM which also
+ manages the theme. In this case the URL is prefixed with the
+ dispatcher-prefix and the parameters, if any, are appended.
+
+
Other cases
+
+ If none of the two other cases match the URL points to a URL in the theme. In
+ this case the URL is processed by the
+
+ gen-path
+ function. The parameters, if any
+ are appended.
+
+
+
+ If parameters are passed to this function they are appended to the URL. The
+ parameters are passed as string formatted as URL parameters, for example
+ foo=hello&bar=world. A leading ? or &
+ is removed before adding the string the URL. If the URL already contains parameters
+ (if the URL contains a ?) the paramters string is added with a leading
+ ampersand (&). If not the parameters are appended using a
+ ? character.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Helper functions for generating the name of the colorset class.
+
+
+
+
+
+
+
+
+
+
+
+
+ Helper functions for retrieving the name of the content type of the current content item
+ from the result tree XML.
+
+
+
+
+
+
+
+
+ Helper template for processing arrows/links for sorting items.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Helper template for processing additional attributes in the data tree XML. They copied
+ literally from the XML the HTML.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The layout node to process. Default the the current node.
+
+
+
+
+ Additional attributes to copy from the layout tree. data attributes
+ (e.g.data-toggle) are
+ copied automatically. Also id and class are already
+ processed by this template.
+
+
+
+
+ A convenient helper template which calls three other helper templates:
+
+ These tags are common tags for displaying Content Items.
+ For most Content Types there are special tags provided by other
+ files.
+
+
+
+
+
+
+
+ The content-item element with the attribute
+ mode set to detail or without the
+ attribute inserts the HTML representation of the detail view of
+ the current content item. The content item can either be the
+ greeting item or normal item.
+
+
+ The HTML representation of a content item is defined using
+ special templates with the contentitem-layout
+ element as root. Usually these templates are located in the
+ templates/content-items folder. Which template is
+ used for a particular content item is defined by the
+ conf/templates.xml file. In this file there is a
+ content-items element below the
+ templates element. The association between
+ templates and content items is described by the
+ content-item elements in the
+ content-items element. The
+ content-item has four optional attributes
+ (at least on must be present) which are used to limit the
+ content items for which a template is used. The four attributes
+ are:
+
+
+
+ oid
+
+
+ Limit the use of the template to a specific content item,
+ identified by its OID (the OID of the master version). Can't
+ be used in combination with the other attributes.
+
+
+ content-section
+
+
+ The name of the content section to which the item belongs.
+ Can be used in combination with the category
+ and content-type attributes.
+
+
+ category
+
+
+ The template is only used for the content item if the item
+ is viewed as item of the category. The category is set as
+ a path containing the names the categories.
+
+ The content-item with the mode
+ attribute set to link insert the HTML
+ representation of a content item. In this case the content item
+ to show is provided using by a XSL parameter which has to be
+ provided by a surrounding tag like related-link.
+
+ The content-item element with the mode
+ attribute set to list inserts the HTML
+ representation of the the list view of a content item. The list
+ view is primarily used in object lists.
+
+
+ As for the detail view, the HTML representation of the list view
+ of a conten item is defined using special templates with the
+ contentitem-layout element as root. Usually these
+ templates are located in the
+ templates/content-items folder. Which is used for a
+ particular content item is defined in the
+ conf/templates.xml file. In this file there is a
+ content-items element below the
+ templates element.
+
+
+ There three attributes which can be used to define in which
+ cases a specific template is used:
+
+
+
style
+
+ Used to select a specific style for the list view of the
+ item. To select a style add a style attribute
+ to the content-item attribute in the
+ application layout file.
+
+
content-type
+
The content-type of the item.
+
+ category
+
+
+ The template is only used for the content item if the item
+ is viewed as item of the category. The category is set as a
+ path contains the names the categories.
+
+ Root element for the layout templates describing a content item
+ layout.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Show the title of the current content item.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Provides a link to content item itself. Useful if a content item
+ is shown using a portlet and you want to create a link to the
+ normal detail view of the item.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generic tag to test if a content item has a specific property.
+ The tags enclosed by if-property are only
+ processed if the content item has a property with the provided
+ name.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generic tag to show the value of the property with the
+ specified name. This tag can be used if there are no special
+ tags for a content type.
+
+ Generic tag for showing date properties. The format of the
+ date is configured using one or more date-element
+ inside this tag.
+
+
+
+
+ Generic tag for showing properties.
+
+
+
+
+ How to format date values in Foundry.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Provides the href for creating a link to edit the current item in the
+ content centre if the current user is logged in and has the permission to edit the
+ item.
+
+
+ To use this feature put the following snippet like the following into the
+ templates for the content items in your theme:
+
+ The example uses an UTF-8 character from the Dingbats block (a pencil).
+ You can of course use another character, text or an image. To
+ reduce the amount of code needed you may add a fragment template and include this
+ template using the include tag.
+
+
+ You also have to include styles for the edit link into your theme.
+ The foundry-base theme, for example, puts the edit link the top right
+ corner of the area which shows the content item. This is done by the following
+ styles:
+
+
+ /* Sets the reference point for position: absolute
+ to the main element block */
+ main {
+ position: relative;
+ }
+
+ /* Don't show the edit link on a first glance */
+ main .edit-link {
+ display: none;
+ }
+
+ /* Display the edit link in the top right corner
+ of the content item area if the cursor is in
+ the content item area */
+ main:hover .edit-link {
+ display: block;
+ position: absolute;
+ right: 0;
+ top: 0;
+ font-size: 30px;
+ color: #0776a0;
+ /* Blue border around the link */
+ border: 1px solid #0776a0;
+ /* Make the link 32px in width and height */
+ width: 32px;
+ height: 32px;
+ text-align: center;
+ }
+
+ /* Remove default decoration for links */
+ main:hover .edit-link a:link,
+ main:hover .edit-link a:hover,
+ main:hover .edit-link a:active,
+ main:hover .edit-link a:visited {
+ color: #0776a0;
+ text-decoration: none;
+ }
+
+
+ Root element to create the list of related links assigned to an
+ content item
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This tag wraps the HTML to display a single related link. The
+ tag also adds the parameters required to create the link into
+ the environment, for example the URL (href) of the related link.
+
+ Outputs the title of the target item of an internal related
+ link.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/bookmark.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/bookmark.xsl
new file mode 100644
index 000000000..12a397bbf
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/bookmark.xsl
@@ -0,0 +1,107 @@
+
+
+
+
+
+ Tags for ccm-cms-types-bookmark
+
+
+ Tags for outputting data from the
+ ccm-cms-types-bookmark content type.
+
+
+
+
+
+
+
+ Outputs the description of a bookmark.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Extracts the URL of the bookmark and passes the URL to the child
+ tags.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the URL of the bookmark as text.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/contact.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/contact.xsl
new file mode 100644
index 000000000..64b7b3fb6
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/contact.xsl
@@ -0,0 +1,308 @@
+
+
+
+
+
+
+ Tags for ccm-cms-types-contact
+
+
+
+ These tags are used to output the information of a contact
+ content item.
+
+
+
+
+
+
+
+ Root tag for displaying data from the person item which is
+ assigned to a contact item.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Root tag for outputting the contact entries of a contact.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This tag is used to output a specific contact entry.
+
+
+
+
+
+ The key of the contact entry to show. The tag itself does
+ not generate any output. It only extracts the informations
+ for the contact entry and passes them to its child tags.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the label of the contact entry as provided in data tree.
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the data of the contact entry. If the value starts
+ with
+
+
+
+ http://
+
+
+ https://
+
+
+ www
+
+
+
+ and the autolink attribute is not set to
+ false the entry rendered as link, otherwise
+ as text.
+
+
+ Likewise if the value contains and @ character
+ and the autolink attribute is not set to
+ false the entry rendered as E-Mail link.
+
+
+
+
+
+ If set to true or if not present URLs
+ are automatically converted to HTML links. If set to
+ false URLs are displayed as text.
+
+ Outputs the value of a contact entry as link. This used if the
+ automatic link detection of the contact-entry-value
+ tag does not work.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Root tag for outputting the address assigned to contact item.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the address text property of an address assigned to
+ a contact item.
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the postal code property of an address assigned to
+ a contact item.
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the city property of an address assigned to
+ a contact item.
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the state property of an address assigned to
+ a contact item.
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the country property of an address assigned to
+ a contact item.
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the iso country code property of an address assigned to
+ a contact item.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/decisiontree.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/decisiontree.xsl
new file mode 100644
index 000000000..0582c19c7
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/decisiontree.xsl
@@ -0,0 +1,247 @@
+
+
+
+
+
+ Tags for displaying a Decisiontree item
+
+
+ The tags are used to configure the output of the decisiontree item. For technical
+ reasons it is not yet possible to customise the HTML for the decisiontree
+ completely.
+
+
+ For title and description of the decisiontree the standard tags can be used.
+
+
+
+
+
+
+
+ Root element for outputting the current section of a decisiontree.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the title of the current section of a decisiontree.
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the instructions for the current section of a decisiontree.
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the options for the current section of a decisiontree. This tag outputs
+ a complete HTML form because the current implementation of the decisiontree does not
+ provide enough information in the XML to support a fully customisable HTML.
+
+
+ Nevertheless this it is possible to customise the classes set on various of the HTML
+ in the created form using subelements:
+
+
+
+ class-form
+
+
+ Classes for the form itself.
+
+
+ class-formgroup
+
+
+ Classes to set on the div surrouding each pair of a label and an
+ input element.
+
+
+ class-label
+
+
+ Classes to set on each label.
+
+
+ class-input
+
+
+ Classes to set on each input element.
+
+
+ class-buttons
+
+
+ Classes to set on the div surrounding the submit and cancel button.
+
+
+ class-cancel
+
+
+ Classes to set on the cancel button.
+
+
+ class-submit
+
+
+ Classes to set on the submit button.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/event.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/event.xsl
new file mode 100644
index 000000000..c04ec8f4c
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/event.xsl
@@ -0,0 +1,313 @@
+
+
+
+
+
+
+ Tags for ccm-cms-types-event
+
+
+
+ This tags are used to output the values of special properties
+ of the Event type provided by the ccm-cms-types-event module.
+
+ Tags for displaying the special properties of a ExternalLink
+
+
+
+
+
+
+
+ Checks if the external link has a description and applies the
+ enclosed tags if there is one.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Output the description of an ExternalLink.
+
+
+
+
+
+
+
+
+
+
+
+
+ Checks if the showComment property of the
+ ExternalLink is true and if there is a comment
+ text. If both conditions are true the enclosed tags
+ are applied.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the comment text.
+
+
+
+
+
+
+
+
+
+
+
+
+ Checks if the targetNewWindow property of the
+ ExternalLink is set to true indicating that the
+ link should be opened in a new windows. This can be used to
+ integrate an JavaScript into the HTML for opening the new
+ window.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Puts the URL of the ExternalLink into the environment.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/formitem.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/formitem.xsl
new file mode 100644
index 000000000..f414cfa6b
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/formitem.xsl
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+ Tags for ccm-cms-types-formitem and ccm-cms-types-formsectionitem
+
+
+
+ The tags in these file are used to create the HTML
+ representation of the FormItem (and the FormSectionItems used
+ by the FormItem).
+
+
+
+
+
+
+
+
+ Outputs the description of a FormItem.
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the components (the controls) of a form. Unfortunately
+ is not yet possible to customise the HTML of the form
+ components.
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/fsi.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/fsi.xsl
new file mode 100644
index 000000000..5eb1afed7
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/fsi.xsl
@@ -0,0 +1,124 @@
+
+
+
+
+
+ Tags for ccm-cms-types-filestorageitem
+
+
+ The tags in these file can be used to output the special
+ properties of the file storage item.
+
+
+
+
+
+
+
+ Outputs the description of a file storage item.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the link to download the file associated with the
+ file storage item. The tag has an optional attribute to decide
+ if the link should force a download or not.
+
+
+
+
+
+ If set to stream the file will be opened
+ in the approbriate program or browser plugin if available.
+ If not set or set to download the link
+ should cause a downlaod.
+
+
+ The real behaviour depends on the configuration of the
+ browser used to to view the site.
+
+
+
+
+ If set to true the name of the file associated
+ with the file storage item is included into the link.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/generic-orgaunit.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/generic-orgaunit.xsl
new file mode 100644
index 000000000..adf23d2a0
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/generic-orgaunit.xsl
@@ -0,0 +1,419 @@
+
+
+
+
+
+ Common tags for content types derived from GenericOrganizationalUnit
+
+
+ The tags in these file are used to create the HTML representation
+ of types derived from GenericOrganzationalUnit, for example
+ SciProject, SciDepartment or SciInstitute.
+
+
+ The informations about a organizational unit are provided
+ in several sections (tabs).
+
+
+
+
+
+
+
+ Root element for outputting the available tabs of organizational
+ unit.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This tag encloses the HTML for a individual tab. It also
+ passes the URL for viewing the tab to the enclosed elements.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the name of the avilable tab.
+
+
+
+
+ Alternative tag for labeling a tab.
+
+
+
+
+
+
+
+
+
+
+
+
+ This tag is alternative for tab-name. It uses
+ the tab name and the type name of the orga unit to lookup
+ the label in the localisable texts of the theme. More
+ specifially it looks for a text in in
+ texts/$orgaunit-type-name.xml with the name of
+ the tab as id.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enclosing tag for several other tags for displaying informations
+ about a organisational unit. The tag passes several informations
+ to the enclosed tags.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Encloses the tags for displaying the informations from the
+ current tag. The immediate sub elements of this tag can only
+ be tab. The name attribute of the
+ tab elements defines for which tab the layout
+ enclosed by a tab element is used.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generic tag to output a property in a tab of a orga unit.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the content of the current tab as text. If the
+ disable-output-escaping attribute is set
+ to true the content is shown as it is. Otherwise
+ some characters are escaped.
+
+
+
+
+
+ Disable output escaping?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the value of the addendum property
+ of an orga unit.
+
+
+
+
+
+
+
+
+
+
+
+
+ Root tag for showing the list of members of an orga unit.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Encloses the layout for an individual member entry.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the status of the current member. The text itself
+ is retrieved from texts/$orgaunit-type-name.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the role of the current member. The text itself
+ is retrieved from texts/$orgaunit-type-name.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Shows the contact entries associated with a member.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Root tag for outputting the contact associated with an orga unit.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the person associated with orga unit contact.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the contact entries of the orga unit contact.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/image.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/image.xsl
new file mode 100644
index 000000000..299056bb1
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/image.xsl
@@ -0,0 +1,421 @@
+
+
+
+
+
+
+ Tags for displaying the properties of ccm-cms-types-image
+
+
+
+ The file provides tags for displaying the special properties
+ of ccm-cms-types-image.
+
+
+
+
+
+
+
+ Outputs the value of the artist property.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the value of the copyright property.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the value of the description property.
+ This is equivalent to the lead text of an article.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the value of the license property.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the value of the material property.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the value of the publishdate property.
+ The date can be formatted using the date format tags.
+
+ Output the name a section of MPA in the list of sections.
+
+
+
+
+
+
+
+
+
+
+
+
+ Root element for outputting the current sections of a MPA.
+
+
+
+
+
+
+
+
+
+
+
+
+ Root element for outputting a current section of a MPA.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the title of a current section of a MPA.
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the content of a current section of a MPA.
+
+
+
+
+
+
+
+
+
+
+
+
+ Provides the parameters (URL via the href parameter) for the link
+ to the previous page of a MPA if there is a previous page.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Provides the parameters (URL via the href parameter) for the link
+ to the next page of a MPA if there is a next page.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Provides the parameters (URL via the href parameter) for the link
+ to show all section of a MPA on one page.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/news.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/news.xsl
new file mode 100644
index 000000000..644debeaf
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/news.xsl
@@ -0,0 +1,87 @@
+
+
+
+
+
+ Tags for ccm-cms-types-newsitem
+
+
+ Tags for displaying the special properties of a NewsItem.
+
+
+
+
+
+
+
+ Outputs the the date of a news. The news-date must contain at least
+ one format element. The format element encloses the
+ format definition for the specific language or the default format. The language
+ for which a format is used is provided using the lang attribute at the
+ format element. The default format has a default attribute
+ with the value true. An example:
+
+ In this example a visitor with a browser using German as default locale
+ will see the news date in the date format that common in Germany
+ (dd.mm.yyyy). For all other languages, the default format is used.
+ In this case the iso-format is used.
+
+ The tags provided by this file can be used to display the
+ properties types derived from GenericPerson, for
+ example ccm-cms-types-member or the SciAuthor type from
+ ccm-sci-publications.
+
+
+
+
+
+
+
+ Root tag enclosing all other tags for persons. Extracts the
+ person data from the data tree and passed it to the enclosed
+ tags.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Displays the surname of a person.
+
+
+
+
+
+
+
+
+
+
+
+
+ Displays the given name of person.
+
+
+
+
+
+
+
+
+
+
+
+
+ Displays the titlepre property of person (used for example for
+ titles like Prof. or Dr..
+
+
+
+
+
+
+
+
+
+
+
+
+ Displays the titlepost property of person (used for example for
+ titles like PhD.
+
+
+
+
+
+
+
+
+
+
+
+
+ Apply the enclosed tags only if the person has a surname.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Apply the enclosed tags only if the person has a given name.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Apply the enclosed tags only if the person has a titlepre
+ property.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Apply the enclosed tags only if the person has a title post
+ property.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Extracts the URL of the personal homepage of the person (if
+ provided) and passed the URL to the enclosed tags.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Root tag for showing the contact entries of a person.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Show the address associated with contact dataset of a person.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/scidepartment.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/scidepartment.xsl
new file mode 100644
index 000000000..3da288473
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/content-items/scidepartment.xsl
@@ -0,0 +1,416 @@
+
+
+
+
+
+ Tags for ccm-cms-types-scidepartment
+
+
+ Tags for displaying the special properties for SciDepartment.
+
+
+
+
+
+
+
+ Displays the description of a SciDepartment.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Displays the short description of a SciDepartment.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Root tag for rendering a list of the heads of the department
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Renders a department head entry. To display the data from the
+ person item use a content-item tag with the mode
+ attribute set to the view mode you want to use (usually
+ list). If you want a different look than for
+ normal object lists you can use the style
+ attribute.
+
+ Root tag for rendering a list of the vice heads of the department
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Renders a department vice head entry. To display the data from the
+ person item use a content-item tag with the mode
+ attribute set to the view mode you want to use (usually
+ list). If you want a different look than for
+ normal object lists you can use the style
+ attribute.
+
+ Root tag for rendering a list of the secretaries of the department
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Renders a department secretariat entry. To display the data from the
+ person item use a content-item tag with the mode
+ attribute set to the view mode you want to use (usually
+ list). If you want a different look than for
+ normal object lists you can use the style
+ attribute.
+
+ Root tag for the list of sponsors of the project.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This tag encloses a entry in the list of sponsor.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the name of a sponsor.
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the funding code associated with a sponsor.
+
+
+
+
+
+
+
+
+
+
+
+
+ The tags enclosed by this tag are only processed if there
+ is a funding code.
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the funding text of the project.
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the funding volume of the project.
+
+
+
+
+
+
+
+
+
+
+
+
+ The tags enclosed by this tag are only processed if there is
+ a funding text.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The tags enclosed by this tag are only processed if a
+ funding volume is provided.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Root tag for the list of members of project.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Encloses an entry in the member list. The show the member item
+ you either use the special tags defined here or you insert
+ a list view of the member item by using the
+ content-item tag.
+
+ Tags for displaying the content of a SiteProxy.
+
+
+
+
+
+
+
+ Processes the proxied XML of a SiteProxy using xsl:apply-templates.
+ Your theme must provide XSL to transform the proxied XML into HTML.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/data-tags.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/data-tags.xsl
new file mode 100644
index 000000000..65e6e1951
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/data-tags.xsl
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+ Data tags
+
+
+ These tags can be used to display several informations from the
+ XML provided by CCM.
+
+
+
+
+
+
+ Outputs the title of the current page. For a content item, this is
+ the title of the content item. For more details please refer to
+ the documentation of the foundry:title function.
+
+
+
+ foundry:title
+
+
+
+
+
+
+
+
+
+ Outputs a static text which is retrieved from a file in the
+ texts directory. If the module attribute
+ is not present, the texts/global.xml file is used.
+ Otherwise the file provided by the module element ist used. The key
+ is the content of the element. If at least one of the attributes
+ id, class or with-colorset is
+ present at the attribute, the text is wrapped in a
+ span element.
+
+
+
+
An unique id for the text.
+
+
+
One or more classes to format the text per CSS.
+
+
+
+ The module (file) from the text is retrieved. The name of the file should be
+ provided without file extension.
+
+
+
+
+ Add the classes for using the Colorset feature to the span element
+ the text is wrapped in.
+
+ These tags are generating the equivalent HTML tags. In most cases the tags have
+ the same name and same attributes as their HTML counterparts, but some work
+ in a slightly different way, for example by using values provided by other
+ surrounding tags which are passed to them as XSL parameters.
+
+
+
+
+
+
+
+ Generates a HTML a element. There are some differences to the
+ a element in HTML. First, there two attribute for the URL:
+
+
+
+ href-property
+
+
+ The name of a property of the current object which contains the URL for the
+ link.
+
+
+
+ href-static
+
+
+ A static URL.
+
+
+
+
+ The third variant for providing an URL is to call the template with a href
+ parameter in the XSL.
+
+
+ Values for some other attributes can also be passed to the this template as XSL
+ parameters:
+
+
+
+ hreflang
+
+
Language of the resource the link is pointing to.
+
+ title
+
+
+ Value for the title attribute of the link. Usally this should
+ a very brief description of the target of the link
+
+
+ type
+
+
The media type of the link target.
+
+ target
+
+
+ The target window/frame for the link.
+
+
+
+
+
+
+ Value for the HTML5 download attribute.
+
+
+
+
+ The name of a property (aka the name of an XML element in the data-tree)
+ containing the URL of the link.
+
+
+
+
+ A static URL for the link.
+
+
+
+
+ The relationship of the linking document with the target document.
+
+
+
+
+ A key which identifies the translated title in lang/global.xml.
+
+ Generates a HTML abbr element used to tag abbreviations.
+
+
+
+
+ Description of the abbr element in the HTML 5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a address element in the HTML output.
+ The address elements represents the contact information of the
+ responsible author of article or body it appears in.
+
+
+
+
+ Description of the address element in the HTML5 specification
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates the HTML5 article element.
+
+
+
+
+ Description of the article element in the HTML5 specification
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a HTML5 aside element.
+
+
+
+
+ Description of the aside element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a HTML5 audio element. The source URL of the audio file can
+ be provided by a surrounding element, statically in the theme or by an property in
+ the data tree.
+
+
+
+
+
+ A static URL for the source of the audio file
+
+
+
+
+ Name of property in the data tree containing the source URL.
+
+
+
+
+
+ Description of the audio element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a HTML b element. Use this element only with semantics
+ defined in the HTML5 specification. Originally, in the early incarnations of HTML,
+ this element marked text as bold. In HTML5 the semantics of this element as been
+ redefined. For more information please refer to the HTML5 specification.
+
+
+
+
+ Description of the b element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a blockquote element.
+
+
+
+
+ Description of the blockquote element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates the HTML body element.
+
+
+
+
+ Description of the body element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
Foundry Debug Panel
+
+
Foundry system information
+
+
Version
+
+
+
+
Theme mode
+
+
+
+
+
+
+
+
+
Layout Template
+
+
Basic layout template
+
+
+
+ default-layout.xml
+
+
+
+
+
+
+
Internal?
+
+
+
+ true
+
+
+ false
+
+
+
+
+
+
+
Server related environment variables
+
+
theme-prefix
+
+
+
+
context-prefix
+
+
+
+
dispatcher-prefix
+
+
+
+
language
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a br element.
+
+
+
+
+ Description of the br element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+ Generates a button element.
+
+
+
+
+ Description of the button element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a canvas element.
+
+
+
+
+ Description of the canvas element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a caption element representing the caption of a table.
+
+
+
+
+ Description of the caption element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a cite element.
+
+
+
+
+ Description of the cite element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a code element.
+
+
+
+
+ Description of the code element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A definition of term in a definition list.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a del element.
+
+
+
+
+ Description of the del element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a dfn element.
+
+
+
+
+ Description of the dfn element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a HTML div element.
+
+
+
+ Description of the div element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a HTML div element, but only if the content is not empty.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description of the h1, h2, h3,
+ h4, h5 and h6 elements in the HTML5
+ specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a h2 element.
+
+
+
+
+ Description of the h1, h2, h3,
+ h4, h5 and h6 elements in the HTML5
+ specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a h3 element.
+
+
+
+
+ Description of the h1, h2, h3,
+ h4, h5 and h6 elements in the HTML5
+ specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a h4 element.
+
+
+
+
+ Description of the h1, h2, h3,
+ h4, h5 and h6 elements in the HTML5
+ specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a h5 element.
+
+
+
+
+ Description of the h1, h2, h3,
+ h4, h5 and h6 elements in the HTML5
+ specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a h6 element.
+
+
+
+
+ Description of the h1, h2, h3,
+ h4, h5 and h6 elements in the HTML5
+ specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates the HTML head element which may contain meta data and stylesheets
+ etc. It also generates some meta data like the generator meta information or the
+ language meta information.
+
+
+
+ Description of the head element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a HTML5 header element.
+
+
+
+ Description of the header element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a hr element. This element has no content.
+
+
+
+
+ Description of the hr element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates an i element.
+
+
+
+
+ Description of the i element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The img tag produces an HTML img in the HTML output.
+ The source URL of the image can either be provided using the attributes
+ src-static or src-property or by a surrounding tag
+ like image-attachment. If the image URL is provided by an surrouding
+ tag these tag usally provides values with the orginal width and height of the image.
+
+
+ Depending of the format for URL, the URL is modified. There are three possible
+ cases:
+
+
+
+ The URL starts with http:// or https://.
+ In this case the URL is used literally.
+
+
+ The URL starts with a slash (/). In this case the URL points to
+ an image provided by CCM (from the database). In this case, the
+ dispatcher-prefix is appended before the URL. Also width and
+ height parameters are appended to the URL for CCM server side resizing
+ function.
+
+
+ Otherwise is is assumed that the image is provided by the theme. In this
+ cases the theme-prefix is added before the image URL.
+
+
+
+
+
+
+ An URL to an static image resource.
+
+
+
+
+ Name of an XML node in the data-tree providing the URL of the
+ image.
+
+ Generates a input element. A preset value can be provided using a
+ XSL parameter by a surrounding element. The HTML5 placeholder attribute
+ has been split into two attributes. The placeholder-module attribute
+ contains the name of module parameter (the name of the file in the
+ texts directory) in which the text for the placeholder is stored. If
+ omitted the global.xml file is used. The placeholder attribute itself
+ contains the ID of the text to show as placeholder.
+
+
+
+
+
+ The value of the input field.
+
+
+
+
+
+
+ The name of the file in the texts directory which contains the
+ text to use as placeholder. If omitted the global.xml file is used.
+
+
+
+
+ The ID of the text to use as placeholder.
+
+
+
+
+
+ Description of the input element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a ins element
+
+
+
+
+ Description of the ins element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a kbd element
+
+
+
+
+ Description of the kbd element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a label element.
+
+
+
+
+ Description of the label element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a legend element inside a form element.
+
+
+
+
+ Description of the legend element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a li element inside an ul or ol.
+
+
+
+
+ Description of the li element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a HTML5 main element.
+
+
+
+ Description of the main element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a meta data field in in the head element.
+
+
+
+
+ Description of the meta element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Generates a HTML5 nav element.
+
+
+
+ Description of the nav element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
Generates a noscript element
+
+
+
+ Description of the noscript element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates an ol element.
+
+
+
+
+ Description of the ol element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates an optgroup element. The label for the option group must be
+ provided by a surrounding element as XSL parameter.
+
+
+
+
+
+ Is the option group enclosed by the element disabled?
+
+
+
+
+ The label of the option group.
+
+
+
+
+
+ Description oft the optgroup element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a option element for use in select box. Several
+ values for attributes have to be provided by a surrounding element using XSL
+ parameters, for example the value of the value attribute.
+
+
+
+
+
+ Is the option group enclosed by the element disabled?
+
+
+
+
+ The label of the option.
+
+
+
+
+ Is the option selected?
+
+
+
+
+ The value of the option. This is value that is send to the server.
+
+
+
+
+
+ Description of the option element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a p element.
+
+
+
+
+ Description of the p element in the HTML5 specification
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a pre element.
+
+
+
+
+ Description of the pre in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a q element.
+
+
+
+
+ Description of the q element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a s element.
+
+
+
+
+ Description of the s element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a samp element.
+
+
+
+
+ Description of the samp element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ As usual origin attribute determines the how the path provided in
+ the src attribute is interpreted. The following values are
+ interpreted. In addition to the common values internal,
+ master and the default value the script element also
+ support the value absolute. If origin is set to
+ absolute the provided source path is processed by Foundry and is used as it is
+ provided.
+
+
+
+
+ The path of the script to include. If the origin attribute is not
+ set (or not set to absolute the path is interpreted relative to the
+ theme directory. For example the path of a script included using
+
+ in the a theme named my-theme at the server
+ http://www.example.org is altered to the absolute path
+ http://www.example.org/themes/published-themedir/itb/scripts/example.js.
+ If the absolute attribute is set to true the path is not
+ altered. One usecase for an absolute path is to load an script from a content delivery
+ network.
+
+
+
+
+ The type of the script. Usally this is text/javascript. If the
+ attribute is not set in the layout template, it is automatically set to
+ text/javascript.
+
+
+
+
+
+ Used to include a script (usally a JavaScript). The script is either provided
+ a content of the element or as an external file. Embedded scripts should only be used
+ for small parts of code, like the code for activating jQuery plugins for some elements.
+ Everything which is longer than five or six lines should be put into a external file
+ in the scripts directory of the theme.
+
+ Generates a select box in a form. The name of the select box and
+ the status for the disabled attribute can be provided by a surrounding
+ element via XSL parameters.
+
+
+
+
+
+ The name of the select box control.
+
+
+
+
+ If set to true the select box is disabled.
+
+
+
+
+
+ Description of the select element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a small element.
+
+
+
+
+ Description of the small element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a source element for use in audio and
+ video elements. The source URL (value of the src
+ attribute) can either provided by a surrounding element as XSL parameter or
+ via the src-static or src-property attribute.
+
+
+
+
+
+ Source URL provided by a surrounding element.
+
+
+
+
+ Value of the type attribute.
+
+
+
+
+
+
+ An URL to an static resource.
+
+
+
+
+ Name of an XML node in the data-tree providing the URL of the
+ resource.
+
+
+
+
+ Description of the tr element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a track element.
+
+
+
+
+ Description of the track element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a u element.
+
+
+
+
+ Description of the u element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates an ul element.
+
+
+
+
+ Description of the ul element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates an var element.
+
+
+
+
+ Description of the var element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a HTML5 video element. The source URL and the URL of preview
+ image (poster) can be provided by a surrounding element, statically in
+ the theme or by an property in the data tree.
+
+
+
+
+
+ A static URL for the source of the video file
+
+
+
+
+ Name of property in the data tree containing the source URL.
+
+
+
+
+ A static URL for the source of the preview image
+
+
+
+
+ Name of property in the data tree containing the poster URL.
+
+
+
+
+
+ Description of the video element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Generates a wbr element.
+
+
+
+
+ Description of the wbr element in the HTML5 specification.
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/language.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/language.xsl
new file mode 100644
index 000000000..20825bb05
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/language.xsl
@@ -0,0 +1,125 @@
+
+
+ ]>
+
+
+
+
+
+ Language selector
+
+
+ The tags provided by this file can be used to create a language
+ selector control which allow the visitor of a site to switch
+ the language of the site manually. As usual, the tags itself
+ to not generate much HTML. Instead they only extract several
+ parameters from the data tree XML from CCM and pass it to their
+ child tags. The HTML for the language selector is completly
+ definied by the designer.
+
+ In the example above all available languages are put into a
+ <ul>. The URL/value for the href
+ of the <a> element in provided by the
+ surrounding <language> tag, therefore the
+ <a> element in the example has no
+ href attribute. The name of the language is put
+ into a <span> to make formatting easier.
+
+
+
+
+
+
+
+ Root tag for a language selector control.
+
+
+
+
+
+
+
+
+
+
+ Encloses the HTML for one specific language entry in a language
+ selector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the name of the current language.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/loaders.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/loaders.xsl
new file mode 100644
index 000000000..e2aea5d17
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/loaders.xsl
@@ -0,0 +1,528 @@
+
+
+
+ ]>
+
+
+
+
+
+ Loaders
+
+
+ This tags are used to load resources required by the generated
+ HTML documents, for example CSS files and JavaScript files.
+
+
+
+
+
+
+
+ Invokes the foundry CSS loader. The CSS loader will parse the file
+ conf/css-files.xml to determine for which CSS an
+ <link> element should be added to the HTML output. For a full
+ explanation please refer to the CSS files section.
+
+
+ If you are using LESS for
+ your stylesheets you can include the LESS JavaScript compiler to
+ compile your LESS stylesheets on the fly to CSS. To do that
+ you must first set the less-onthefly setting
+ in conf/global.xml to true.
+ In the conf/css-files.xml each CSS file entry
+ which is created from a LESS file must have a less
+ attribute with its value set to true. Also for
+ these files the file extension (.css) should be
+ omitted.
+
+ The name of the CSS file to load. If the filename contains slashes the filename
+ is used as it is provided. If there are not slashes in the filename the filename
+ is prefixed with styles/.
+
+
+
+
+ The media for which the file should be loaded. If no set, the CSS file is used for all
+ media types.
+
+
+
+
+ The origin of the CSS file. If not set or the parameter is empty, the CSS file
+ is loaded from current theme. There also some values with
+ a special meaning:
+
+
+
+ master
+
+
+ File is loaded from the master/parent theme.
+ Please read the section about parent and child themes for more details.
+
+
+ internal
+
+
+ The file is loaded from the internal directories
+ If the current theme is a child theme, the file is loaded
+ from the internal directories of the parent theme.
+
+
+
+ Some examples:
+
+
+
+ <css-file>public.css</css-file>
+
+
+ The CSS file public.css is loaded from styles
+ directory in the current theme.
+
+ The CSS file bootstrap.min.css is loaded from the directory
+ bootstrap/css in the current theme.
+
+
+ <css-file origin="internal">admin.css</code>
+
+
+ If the current theme is a master theme, the CSS file admin.css is
+ loaded from the directory foundry/styles in the current theme. If
+ the current theme is child theme the CSS file admin.css is loaded
+ from the directory foundry/styles of the Foundry theme installed
+ at /themes/foundry.
+
+ This tag is used to include a Favicon. It is stricly recommended
+ to use this tag to include a Favicon instead of doing it
+ manually because this tag generates the correct path
+ automatically, based on the path of the theme.
+
+
+
+
+
+ The name of the Favicon file relative to the theme
+ directory.
+
+
+
+
+
+
+
+
+
+
+
+ Loads the jQuery JavaScript library provided by CCM.
+
+
+
+
+
+
+
+
+
+
+ Loads the jQuery UI JavaScript library provided
+ by CCM.
+
+
+
+
+
+
+
+
+
+
+ Loads the MathJAX JavaScript library which can
+ render mathematical formulas written in MathML or LaTeX syntax.
+
+
+
+
+
+
+
+
+
+
+ Loads the html5shiv JavaScript
+ library which fixes a bug of old Internet Explorers
+ (up to version 8) with elements unknown by the Internet Explorer. You need this
+ library if you want to use HTML 5 elements like article or
+ nav in your templates. All other browser thread unknown elements
+ like div or span. The Internet Explorer to version 8
+ however adds a closing elements to the DOM tree directly after the unknown opening
+ element, effectively removing the element from the DOM. The html5shiv
+ library fixes the DOM tree using JavaScript.
+
+
+ This tag adds a
+ conditional comment
+ to load the html5shiv library only for old Internet Explorers
+
+ These tags are used to output data provided by the ccm-navigation module.
+ More exactly the navigation menu(s) and the breadcrumbs on a site are generated
+ using these tags.
+
+
+
+
+
+
+
+ Show the breadcrumbs for the current page. The separator between each breadcrumb is
+ provided by the child element breakcrumb-separator. The contents
+ of this element is used a separator between the breadcrumbs. This allows it to
+ use simple characters of more complex HTML.
+
+
+
+
+
+ If set the yes, the breadcrumb for the root level is omitted.
+
+
+
+
+ If set the yes, the breadcrumb for last entry (the current
+ category) is omitted.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The id of the navigation/category system from which URL should be retrieved. Default
+ value is categoryMenu, which is suitable in most cases.
+
+
+ If set to true (true) the description text for the category system from the
+ data tree XML will be used as value of the title attribute.
+ If set to false, the translated name of the category system will be used.
+
+
+ if set the to true (default) Foundry will try to translate the title of the
+ navigation/category system using the language file lang/navigation.xml.
+ If set to false the title is retrieved from the data tree XML.
+
+
+ Environment for outputting the home link for a navigation/category system. This tag
+ only initialises the context. The link itself has to be rendered using the a
+ HTML tag. The title of the navigation is printed using the navigation-title
+ tag.
+
+ #a
+ #navigation-title
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Outputs the title of the current navigation inside a
+ navigation-home-link.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Root element for rendering a navigation menu. This element has several attributes
+ which control some aspects of the rendering.
+
+
+
+
+
+ The ID of the navigation/category system to use for the menu. If not set
+ the default value categoryMenu is used which should be sufficent
+ in most use cases.
+
+
+
+
+ Decides if the navigation elements gets colorset classes. Default value is
+ false
+
+
+
+
+ The minimum level to render. If set to a value higher than 1 all
+ levels below this value will be skipped. Use this if you want to split your
+ navigation menu. For example: First level as horizontal menu at the top,
+ other levels as horizontal menu on the left. Default value is 1.
+
+
+
+
+ The maximum level to render. Only levels below and including this level will
+ be used for the menu.. Use this if you want to split your
+ navigation menu. For example: First level as horizontal menu at the top,
+ other levels as horizontal menu on the left. Default value is 999.
+
+
+
+
+ Decides if the description of each category is passed to the link
+ (a element) for the title attribute. Default value
+ is true.
+
+ Root element for creating the paginator for an object list. Provides the paginator
+ data for the elements enclosed by this element via XSL parameters. The content is
+ of this element is only processed if the number of pages is greater than one or
+ if the show attribute is set to always.
+
+
+
+
+
+ If set to always the paginator is shown even if there is only one
+ page.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/portlets.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/portlets.xsl
new file mode 100644
index 000000000..05d575640
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/portlets.xsl
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/portlets/contentitem.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/portlets/contentitem.xsl
new file mode 100644
index 000000000..cb2d776db
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/portlets/contentitem.xsl
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/portlets/freeform-html.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/portlets/freeform-html.xsl
new file mode 100644
index 000000000..5d107d8ad
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/portlets/freeform-html.xsl
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/portlets/item-list.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/portlets/item-list.xsl
new file mode 100644
index 000000000..d0bfbcf61
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/portlets/item-list.xsl
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/portlets/simple-portlet.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/portlets/simple-portlet.xsl
new file mode 100644
index 000000000..ac1c5804c
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/portlets/simple-portlet.xsl
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/subsite.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/subsite.xsl
new file mode 100644
index 000000000..ab3c25f6a
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/subsite.xsl
@@ -0,0 +1,64 @@
+
+]>
+
+
+
+
+ Subsite tags
+
+
+ These tags can be used to show informations about the current subsite in
+ the generated HTML document.
+
+
+
+
+
+
+
+ Outputs the name of the current subsite. The text shown
+ can be customised using the texts/subsite-banner.xml
+ file. The key is the sitename provided in the data tree XML.
+
+
+ Using the conf/subsite-banner.xml file it is also
+ possible to hide the name of specific subsites. To this add a
+ setting of the form $sitename/exclude to the
+ conf/subsite-banner.xml file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/user-banner.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/user-banner.xsl
new file mode 100644
index 000000000..fbf4c753c
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/lib/template-tags/user-banner.xsl
@@ -0,0 +1,176 @@
+
+
+
+
+
+ User banner tags
+
+
+ These tags can be used to extract the data provided by the
+ <userBanner> element in the data tree XML.
+
+
+
+
+
+
+
+ Shows the greeting text from the user banner.
+
+
+
+
+
+
+
+
+
+
+ Render the enclosed tags only if the current user is logged in.
+
+
+
+
+
+
+
+
+
+
+
+
+ Render the enclosed tags only if the current user is
+ notlogged in.
+
+
+
+
+
+
+
+
+
+
+
+
+ Displays the link for changing the password. Uses the label
+ provided by the <userBanner> element in the
+ data tree XML as label for the link if there is no
+ label attribute present. If there is
+ label attribute than the value of the attribute
+ is used to lookup the label for the link in the
+ texts/user-banner.xml file.
+
+ Displays the login link. Unfortuntly the data tree XML does not
+ provide a label for this link. Therefore if there is no
+ label attribute present at this tag we will use the key
+ login to lookup the label in the
+ texts/user-banner.xml file. If there is label
+ attribute present the value of the label attribute will be used
+ to lookup the label in the texts/user-banner.xml.
+
+ Displays the logout link. Uses the label
+ provided by the <userBanner> element in the
+ data tree XML as label for the link if there is no
+ label attribute present. If there is
+ label attribute than the value of the attribute
+ is used to lookup the label for the link in the
+ texts/user-banner.xml file.
+
+ This file provides several utility functions and templates.
+
+
+
+
+
+
+
+
+ The value to evaluate.
+
+
+
+
+
+ The evaluated boolean value.
+
+
+
+
+ A helper function for evaluating certain string values to boolean. This function has
+ two purposes. First it simplifies some expressions. for example if you have a
+ template tag with a attribute containing a (pseudo) boolean value (attribute values
+ are always treated as strings) you would have to write something like:
+
+ The more important purpose is to make the usage of boolean values more user
+ friendly, especially in the templates. Using foundry:boolean no only
+ true is evaluated to boolean true. A number of other
+ strings is also evaluated to true:
+
+
+
+ true
+
+
+ TRUE
+
+
+ yes
+
+
+ YES
+
+
+ t
+
+
+ T
+
+
+ y
+
+
+ Y
+
+
+
+ All other values are evaluated to false.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Helper function for generating paths to theme resources like CSS files etc. Use this
+ function instead of concatenating paths yourself. For example, instead of
+
+ path/to/resource/file is meant as a placeholder here. A real world
+ example is a settings file, for example conf/global.xml. For this file
+ a usage of the foundry:gen-path function would look like this
+
+
+ document(foundry:gen-path('conf/global.xml')
+
+
+ The advantage of this function is the encapsulation of the path generation process.
+ foundry:gen-path.
+
+
+
+
+ The path of the file to generate to path to, relative to the theme directory.
+
+
+
+
+ The absolute path for the file.
+
+
+
+
+
+
+
+
+
+
+
+
+ Variant of gen-path with an additional origin
+ parameter. This parameter can have three values:
+ If set to true the file is loaded from the
+ foundry directory.
+
+
+
empty string ('')
+
+ The path points to a resource in the theme directory. The return value is the
+ concatenation of the theme-prefix, a slash and the path provided as first
+ parameter. In XPath Syntax: concat($theme-prefix, '/', $path.
+
+
master
+
+ If the theme mode (which is set in conf/global.xml) is set to
+ master the result is the same as for the empty string. If the
+ the theme mode is set to child the generated path points to
+ the parent/master theme. More exactly the result is the concatenation of the
+ context-prefix environment variable, the string /themes/, the
+ name of the master theme (set in conf/global.xml,
+ usally foundry), a slash the the path provided as first parameter.
+ Or in XPath syntax:
+ concat($content-prefix, '/themes/', $master-theme, '/', $path.).
+
+
internal
+
+ The path points to an internal resource which is provided by Foundry. If the
+ theme mode is master the generated path is the concatenation of
+ the theme prefix, the string /foundry/ and the path provided as
+ first parameter (XPath: concat($theme-prefix, '/foundry/', $path).
+ If the theme mode is child the generated path
+ is the concatenation of the context prefix, the string
+ /themes/foundry/foundry/ and the path provided as first parameter
+ (XPath: concat($context-prefix, '/themes/foundry/foundry/', $path)).
+
+ A message string of the form [Foundry $level] $message with
+ $level and $message replaced by the values of the
+ parameters.
+
+
+
+
+ A helper template used by the other message templates like
+ foundry:message-warn. Outputs a message (for example in the
+ application servers log using xsl:message.
+ Concatenates the message level with the message.
+
+
+ This template should not be used directly. Use the other message templates instead.
+
+ A message string of the form [Foundry INFO] $message with
+ $message replaced by the value of the parameter.
+
+
+
+
+ Helper function to generate an info message. This template generates a
+ <xsl:message> element which causes the XSL processor to output
+ a message in the application server log. The message will on shown if the log level
+ in the global configuration is set to info or error.
+
+ A message string of the form [Foundry WARNING] $message with
+ $message replaced by the value of the parameter.
+
+
+
+
+ Helper function to generate an info message. This function be used together with
+ <xsl:message> to output a message in the CCM log warning
+ the administrator about some things in the theme, for example a missing
+ configuration file. Example:
+
+ A message string of the form [Foundry ERROR] $message with
+ $message replaced by the value of the parameter.
+
+
+
+
+ Helper function to generate an info message. This function be used together with
+ <xsl:message> to output a message in the CCM log when
+ something goes wrong in the theme, for example when a layout file has a wrong
+ structure. Example:
+
+
+
+ #foundry-message-info
+
+
+ #foundry-message-warn
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The node from which the value of the attribute is read.
+
+
+ The attribute to check for.
+
+
+ The default value if the attribute is not set.
+
+
+
+
+ The value of the attribute if it is set on the current element, the
+ default-value otherwise.
+
+
+
+
+ A helper function for retrieving an attribute value from an element. If the
+ attribute is set on the current element the value of the attribute is used as
+ result. If the attribute is not set the default-value is used. This
+ method is used by several layout tags with optional attributes. A common use pattern
+ looks like this:
+
+ In this example, the element example has two optional attributes:
+ with and height. If the attribute is set in processed XML,
+ the value set there is used. Otherwise the default value (640
+ respectively 480) is used. Without this function a code block like the
+ one in the xsl:choose block of this function would be necessary for
+ each of the variables.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Convenient function for calling foundry:get-setting with only the
+ module name and setting name.
+
+
+
+
+
+ The module of the settings. May be an empty string ('').
+
+
+
+
+ The name of the setting to retrieve.
+
+
+
+
+
+ The value of the setting.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Convenient function for calling foundry:get-setting with only the
+ module name, the setting name and an default value.
+
+
+
+
+
+ The module of the settings. May be an empty string ('').
+
+
+
+
+ The name of the setting to retrieve.
+
+
+
+
+ A default value which is used when the setting is not configured.
+
+
+
+
+
+ The value of the setting or the default value if the setting is not configured.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The module of the settings. At the moment this corresponds to the name of the file
+ in the conf directory. The empty string as value corresponds to the
+ global.xml file.
+
+
+
+
+ The name of the setting to retrieve.
+
+
+
+
+ The value to use if there is no entry for the setting in the settings file.
+
+
+
+
+ A node from the layout template which overrides the value from the configuration.
+
+
+
+
+
+ The value of the requested setting or if no value has been set the provided default
+ value. If no default value has been provided the result is an empty string.
+
+
+
+ This function retrieves the value of a setting from the theme configuration. For
+ more informations about the configuration system of Foundry please refer to the
+ configuration section of the Foundry documentation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The module of the settings. At the moment this corresponds to the name of the file
+ in the texts directory. The empty string as value corresponds to the
+ global.xml file.
+
+
+
+
+ The name of the text to retrieve.
+
+
+
+
+ The language to retrieve. Normally there is no need to set this parameter because
+ it is determined automatically.
+
+
+
+
+
+ The requested static text. If there is no value for the requested static text in the
+ module provided by the module parameter the value depends if the debug mode is
+ enabled or not. If the debug mode is not not enabled the result is an empty
+ string. If the debug mode is enabled, a identifier of the text (the value of the
+ id parameter) is displayed. If you point the mouse pointer of the
+ placeholder, the complete path of the text is shown as hovering box.
+
+
+
+
+ Retrieves at static text. For more informations about static texts in Foundry please
+ refer to the static texts section in the Foundry documentation.
+
+ true if the debug mode if active, false otherwise.
+
+
+
+
+ A helper function to determine if the debug mode should be enabled. The debug mode
+ of foundry is automatically enabled if the theme is viewed as development theme.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Helper template to adjust links. (Copied from Mandalay)
+
+
+
+
The link to parse.
+
+
+
+ The prefix to use for the link. Default is the dispatcher prefix.
+
+ A helper function for reading the current category from the datatree. The
+ function joins the titles of all categories in nav:categoryPath to a
+ string. The tokens a separated by a slash (/).
+
+
+
+
+ The path of the current category.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/main.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/main.xsl
new file mode 100644
index 000000000..a16d674b0
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/main.xsl
@@ -0,0 +1,168 @@
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/scripts/category-step.js b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/scripts/category-step.js
new file mode 100644
index 000000000..169aced6e
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/scripts/category-step.js
@@ -0,0 +1,175 @@
+/*
+ Copyright: 2006, 2007, 2008 Sören Bernstein
+
+ This file is part of Mandalay.
+
+ Mandalay is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ Mandalay is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Mandalay. If not, see .
+ */
+
+/* DE
+ Diese Funktionen sind Teil der AJAX-Seite zum Zuweisen der Kategorien.
+ */
+
+/* EN
+ These functions are part of the ajax-pages to assign categories.
+ */
+
+function colorAncestors() {
+ var ancestorCategories =
+ document.category.selectedAncestorCategories.value.split(",");
+
+ for (var i = 0; i < ancestorCategories.length; ++i) {
+ //alert("trying to find catSelf" + ancestorCategories[i]);
+ console.log("trying to find catSelf" + ancestorCategories[i]);
+ var elem = document.getElementById("catSelf" + ancestorCategories[i]);
+ if (elem !== null) {
+ //alert("found catSelf" + ancestorCategories[i]);
+ console.log("found catSelf" + ancestorCategories[i]);
+ var oldClasses = elem.className.split(" ");
+ var classes = "";
+ for (var j = 0; j < oldClasses.length; ++j) {
+ if (oldClasses[j] !== "selectedAncestorCategory"
+ && oldClasses[j] !== "notSelectedAncestorCategory") {
+ classes = classes + " " + oldClasses[j];
+ }
+ }
+ classes = classes + " selectedAncestorCategory";
+
+ //alert("setting class for catSelf" + ancestorCategories[i] + " to " + classes);
+ elem.className = classes;
+// if (oldClassName.indexOf("selectedAncestorCategory") === -1) {
+// elem.className = elem.className + "selectedAncestorCategory";
+// }
+ }
+ }
+}
+
+// DE Lade einen Kategorienzweig nach, wenn dieser aufgeklappt wird
+// EN Loading a branch of categories when it is expanded
+function catBranchToggle(id, selCats) {
+ var elToggleTreeImage = document.getElementById("catTreeToggleImage" + id);
+ var elBranch = document.getElementById("catBranch" + id);
+
+ if (elBranch.style.display == "" || elBranch.style.display == "none") {
+ if (elBranch.innerHTML == "" || elBranch.innerHTML == "...") {
+ elBranch.innerHTML = "...";
+ elBranch.style.display = "block";
+ $(elBranch).load("load-cat.jsp", "nodeID=" + id + "&selectedCats=" + selCats, function () {
+ colorAncestors()
+ });
+ } else {
+ elBranch.style.display = "block";
+ }
+ elToggleTreeImage.src = elToggleTreeImage.src.replace("Expand", "Collapse");
+ elToggleTreeImage.alt = "[-]";
+ } else {
+ elBranch.style.display = "none";
+ elToggleTreeImage.src = elToggleTreeImage.src.replace("Collapse", "Expand");
+ elToggleTreeImage.alt = "[+]";
+ }
+
+ colorAncestors();
+
+ return false;
+}
+
+// DE Wechselt die Ansicht eines Kategorienzweiges
+// EN Toggles display of a branch of categories
+function catToggle(id, selCats) {
+ var elToggleTreeImage = document.getElementById("catTreeToggleImage" + id);
+ var elBranch = document.getElementById("catBranch" + id);
+
+ if (elBranch.style.display == "" || elBranch.style.display == "none") {
+ elBranch.style.display = "block";
+ elToggleTreeImage.src = elToggleTreeImage.src.replace("Expand", "Collapse");
+ elToggleTreeImage.alt = "[-]";
+ } else {
+ elBranch.style.display = "none";
+ elToggleTreeImage.src = elToggleTreeImage.src.replace("Collapse", "Expand");
+ elToggleTreeImage.alt = "[+]";
+ }
+
+ colorAncestors();
+
+ return false;
+}
+
+// DE Wählt eine Kategorie aus
+// EN Select a category
+function catSelect(id) {
+ var elWidgetHidden = document.getElementById("catWdHd");
+
+ var found = 0;
+
+ for (var i = 0; i < elWidgetHidden.options.length && found == 0; i++) {
+ if (elWidgetHidden.options[i].value == id) {
+ found = 1;
+ }
+ }
+
+ if (!found) {
+ var optHidden = new Option('add ' + id, id, false, true);
+ elWidgetHidden.options[elWidgetHidden.options.length] = optHidden;
+ }
+
+ // DE Ändere den Link
+ // EN Change link
+ var elToggleLink = document.getElementById("catToggleLink" + id);
+ elToggleLink.removeAttribute("onclick");
+ elToggleLink.setAttribute("onclick", "catDeselect('" + id + "');");
+
+ // DE Ändere das Icon
+ // EN Change image
+ var elToggleImage = document.images["catToggleImage" + id];
+ elToggleImage.src = elToggleImage.src.replace("Unselected", "Selected");
+ elToggleImage.alt = "[X]";
+
+ return false;
+}
+
+// DE Macht eine Auswahl rückgängig
+// EN Deselect a category
+function catDeselect(id) {
+ var elWidgetHidden = document.getElementById("catWdHd");
+
+ var found = 0;
+
+ for (var i = 0; i < elWidgetHidden.options.length; i++) {
+ if (elWidgetHidden.options[i].value == id) {
+ if (elWidgetHidden.options[i].text == id) {
+ found = 1;
+ }
+ elWidgetHidden.removeChild(elWidgetHidden.options[i]);
+ }
+ }
+
+ if (found) {
+ var optHidden = new Option('del ' + id, id, false, true);
+ elWidgetHidden.options[elWidgetHidden.options.length] = optHidden;
+ }
+
+// DE Ändert den Link
+ // EN Change link
+ var elToggleLink = document.getElementById("catToggleLink" + id);
+ elToggleLink.removeAttribute("onclick");
+ elToggleLink.setAttribute("onclick", "catSelect('" + id + "');");
+
+ // DE Ändert das Icon
+ // EN Change image
+ var elToggleImage = document.images["catToggleImage" + id];
+ elToggleImage.src = elToggleImage.src.replace("Selected", "Unselected");
+ elToggleImage.alt = "[ ]";
+
+ return false;
+}
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/scripts/dcp.js b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/scripts/dcp.js
new file mode 100644
index 000000000..dbe667bc1
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/scripts/dcp.js
@@ -0,0 +1,31 @@
+function doubleClickProtect(element) {
+
+ if (element.nodeName == "INPUT") {
+
+ // change button label
+ elementClone = element.cloneNode(true);
+ elementClone.value = "Bitte warten...";
+
+ // set cloned button and hide the original one
+ element.parentNode.insertBefore(elementClone, element);
+ element.style.display = "none";
+
+ // disable all submit buttons in this form
+ formElements = element.form.elements;
+ for (i = 0; i < formElements.length; i++) {
+ if (formElements[i].tagName == "INPUT" &&
+ formElements[i].type == "submit" &&
+ formElements[i] != element)
+ formElements[i].setAttribute("disabled", "disabled");
+ }
+
+ } else {
+
+ // disable link
+ link = element.getAttribute("href");
+ element.text = "Bitte warten...";
+ element.removeAttribute("href");
+ location.href = link;
+ }
+
+}
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/scripts/less.min.js b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/scripts/less.min.js
new file mode 100644
index 000000000..5436289ff
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/scripts/less.min.js
@@ -0,0 +1,19 @@
+/*!
+ * Less - Leaner CSS v2.5.0
+ * http://lesscss.org
+ *
+ * Copyright (c) 2009-2015, Alexis Sellier
+ * Licensed under the Apache v2 License.
+ *
+ */
+
+ /** * @license Apache v2
+ */
+
+!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.less=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(a,b){var c=a("./utils").addDataAttr,d=a("./browser");b.exports=function(a,b){c(b,d.currentScript(a)),void 0===b.isFileProtocol&&(b.isFileProtocol=/^(file|(chrome|safari)(-extension)?|resource|qrc|app):/.test(a.location.protocol)),b.async=b.async||!1,b.fileAsync=b.fileAsync||!1,b.poll=b.poll||(b.isFileProtocol?1e3:1500),b.env=b.env||("127.0.0.1"==a.location.hostname||"0.0.0.0"==a.location.hostname||"localhost"==a.location.hostname||a.location.port&&a.location.port.length>0||b.isFileProtocol?"development":"production");var e=/!dumpLineNumbers:(comments|mediaquery|all)/.exec(a.location.hash);e&&(b.dumpLineNumbers=e[1]),void 0===b.useFileCache&&(b.useFileCache=!0),void 0===b.onReady&&(b.onReady=!0)}},{"./browser":3,"./utils":9}],2:[function(a,b){a("promise/polyfill.js");var c=window.less||{};a("./add-default-options")(window,c);var d=b.exports=a("./index")(window,c);c.onReady&&(/!watch/.test(window.location.hash)&&d.watch(),d.pageLoadFinished=d.registerStylesheets().then(function(){return d.refresh("development"===d.env)}))},{"./add-default-options":1,"./index":7,"promise/polyfill.js":94}],3:[function(a,b){var c=a("./utils");b.exports={createCSS:function(a,b,d){var e=d.href||"",f="less:"+(d.title||c.extractId(e)),g=a.getElementById(f),h=!1,i=a.createElement("style");i.setAttribute("type","text/css"),d.media&&i.setAttribute("media",d.media),i.id=f,i.styleSheet||(i.appendChild(a.createTextNode(b)),h=null!==g&&g.childNodes.length>0&&i.childNodes.length>0&&g.firstChild.nodeValue===i.firstChild.nodeValue);var j=a.getElementsByTagName("head")[0];if(null===g||h===!1){var k=d&&d.nextSibling||null;k?k.parentNode.insertBefore(i,k):j.appendChild(i)}if(g&&h===!1&&g.parentNode.removeChild(g),i.styleSheet)try{i.styleSheet.cssText=b}catch(l){throw new Error("Couldn't reassign styleSheet.cssText.")}},currentScript:function(a){var b=a.document;return b.currentScript||function(){var a=b.getElementsByTagName("script");return a[a.length-1]}()}}},{"./utils":9}],4:[function(a,b){b.exports=function(a,b,c){var d=null;if("development"!==b.env)try{d="undefined"==typeof a.localStorage?null:a.localStorage}catch(e){}return{setCSS:function(a,b,e){if(d){c.info("saving "+a+" to cache.");try{d.setItem(a,e),d.setItem(a+":timestamp",b)}catch(f){c.error('failed to save "'+a+'" to local storage for caching.')}}},getCSS:function(a,b){var c=d&&d.getItem(a),e=d&&d.getItem(a+":timestamp");return e&&b.lastModified&&new Date(b.lastModified).valueOf()===new Date(e).valueOf()?c:void 0}}}},{}],5:[function(a,b){var c=a("./utils"),d=a("./browser");b.exports=function(a,b,e){function f(b,f){var g,h,i="less-error-message:"+c.extractId(f||""),j='
"+(b.type||"Syntax")+"Error: "+(b.message||"There is an error in your .less file")+'
in '+n+" ";var o=function(a,b,c){void 0!==a.extract[b]&&l.push(j.replace(/\{line\}/,(parseInt(a.line,10)||0)+(b-1)).replace(/\{class\}/,c).replace(/\{content\}/,a.extract[b]))};b.extract&&(o(b,0,""),o(b,1,"line"),o(b,2,""),h+="on line "+b.line+", column "+(b.column+1)+":
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/templates/contentitem-default-list.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/templates/contentitem-default-list.xml
new file mode 100644
index 000000000..d619470a7
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/templates/contentitem-default-list.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/templates/contentitem-detail-default.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/templates/contentitem-detail-default.xml
new file mode 100644
index 000000000..a3e1a5e4c
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/templates/contentitem-detail-default.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/templates/contentitem-link-default.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/templates/contentitem-link-default.xml
new file mode 100644
index 000000000..85758cdf1
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/templates/contentitem-link-default.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/templates/default-layout.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/templates/default-layout.xml
new file mode 100644
index 000000000..bff122332
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/templates/default-layout.xml
@@ -0,0 +1,10 @@
+
+
+
+
+ :
+ layout/page/head/title
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/templates/doc/env-var-layout.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/templates/doc/env-var-layout.xml
new file mode 100644
index 000000000..490e455d0
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/templates/doc/env-var-layout.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/bebop.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/bebop.xml
new file mode 100644
index 000000000..536a1f3a1
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/bebop.xml
@@ -0,0 +1,7 @@
+
+
+
+ Bitte warten...
+ Please wait...
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/cms.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/cms.xml
new file mode 100644
index 000000000..6f14e9b2e
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/cms.xml
@@ -0,0 +1,135 @@
+
+
+
+
+ Willkommen
+ Welcome
+
+
+
+ Zugewiesene Kategorien bearbeiten
+ Edit assigned categories
+
+
+
+ Kategoriezuweisung ändern
+ Change associated categories
+
+
+ Es sind keine Kategorien dieses Kontextes zugewiesen
+ There are no categories assigned in this context.
+
+
+ Zuweisung aufheben
+ Remove assignment
+
+
+
+ Item Summary
+ Zusammenfassung
+
+
+ Content type:
+ Dokumenttyp
+
+
+ Name:
+ Name:
+
+
+ Title:
+ Titel:
+
+
+ Description:
+ Beschreibung:
+
+
+ Subject categories:
+ Schlagwörter:
+
+
+
+ Categories
+ Kategorien
+
+
+ Stable Link
+ Permalink
+
+
+
+ Lifecyle
+ Lebenszyklus
+
+
+ No lifecycle
+ Kein Lebenszyklus definiert
+
+
+ This item is scheduled to be published on
+ Dieser Dokument wird am
+
+
+ and will
+ veröffentlicht und
+
+
+ .
+ entfernt werden.
+
+
+ This item was published on
+ Dieser Dokument wurde am
+
+
+ and expired on
+ veröffentlicht und
+
+
+ .
+ wieder entfernt.
+
+
+ This item was published on
+ Dieser Dokument wurde am
+
+
+ and will
+ veröffentlicht und wird
+
+
+ .
+ entfernt.
+
+
+
+ Workflow
+ Arbeitsablauf
+
+
+ Restart editing
+ Erneut bearbeiten
+
+
+ No Comment
+ Kein Kommentar
+
+
+
+ Revisions
+ Revisionen
+
+
+ Current Revision
+ Aktuelle Revision
+
+
+ Initial Revision
+ Ursprüngliche Revision
+
+
+ View Revision
+ Revision ansehen
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/filter-controls.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/filter-controls.xml
new file mode 100644
index 000000000..08cbfd6a3
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/filter-controls.xml
@@ -0,0 +1,401 @@
+
+
+
+ Anwenden
+
+
+
+ Liste filtern und sortieren
+
+
+
+ Liste filtern
+
+
+
+
+ Schlagworte
+
+
+
+
+ Mitgliederliste filtern
+
+
+
+ Mitgliederliste filtern
+
+
+
+ Fitern
+
+
+
+ Familienname
+
+
+
+
+ Publikationen filtern und sortieren
+ Publikationen filtern und sortieren
+
+
+ Publikationen filtern
+ Filter publications
+
+
+ Publikationen sortieren
+ Sort publications
+
+
+ Publikationen filtern
+ Filter publications
+
+
+ Publikationen sortieren
+ Sort publications
+
+
+ Nach Titel filtern
+ Filter by title
+
+
+ Nach Autor filtern
+ Filter by author
+
+
+ Erscheinungsjahr
+ Year
+
+
+ Alle
+ All
+
+
+ Sortieren nach
+ Sort by
+
+
+ Titel
+ Title
+
+
+ Jahr (aufsteigend)
+ Year (ascending)
+
+
+ Jahr (absteigend)
+ Year (descending)
+
+
+ Autoren
+ Authors
+
+
+ Schlagwörter
+ Keywords
+
+
+
+ Projekte filtern und sortieren
+ Filter and sort projects
+
+
+ Projekte filtern
+ Filter projects
+
+
+ Projekte sortieren
+ Sort projects
+
+
+ Projekte filtern
+ Filter projects
+
+
+ Projekte sortieren
+ Sort projects
+
+
+ Nach Titel filtern
+ Filter by title
+
+
+ Nach Status filtern
+ Filter by status
+
+
+ Laufende Projekte
+ Current projects
+
+
+ Abgeschlossene Projekte
+ Finished projects
+
+
+ Alle Projekte
+ All projects
+
+
+ Titel
+ Title
+
+
+
+ Projekt filtern
+
+
+
+
+
+
+
+ Titel des Projektes
+
+
+
+ Forschungsfeld
+
+
+
+ Filter anwenden
+
+
+
+
+
+
+
+
+ Publikationen filtern
+
+
+
+ Publikationen sortieren
+
+
+
+ Publikationen filtern
+
+
+
+ Nach Titel filtern
+
+
+
+ Nach Autor filtern
+
+
+
+ Nach Erscheinungjahr filtern
+
+
+
+ Alle
+
+
+
+ Sortieren nach
+
+
+
+ Titel
+
+
+
+ Jahr (aufsteigend)
+
+
+
+ Jahr (absteigend)
+
+
+
+ Publikationen sortieren
+
+
+
+
+ Projekte filtern und sortieren
+
+
+
+ Projekte filtern
+
+
+
+ Projekte sortieren
+
+
+
+ Projekte filtern
+
+
+
+ Projekte sortieren
+
+
+
+ Nach Titel filtern
+
+
+
+ Nach Status filtern
+
+
+
+ Laufende Projekte
+
+
+
+ Abgeschlossene Projekte
+
+
+
+ Alle Projekte
+
+
+
+ Titel
+
+
+
+ Alle
+
+
+ Sammelband
+
+
+
+ Sonstiges
+
+
+
+ Monographie
+
+
+
+ Arbeitspapier
+
+
+
+
+ Zeitschriftenbeitrag
+
+
+
+ Sammelband
+
+
+
+ Sonstiges
+
+
+
+ Monographie
+
+
+
+ Arbeitspapier
+
+
+
+
+
+
+
+
+ Publikationen filtern
+
+
+
+ Publikationen sortieren
+
+
+
+ Publikationen filtern
+
+
+
+ Nach Titel filtern
+
+
+
+ Nach Autor filtern
+
+
+
+ Nach Erscheinungjahr filtern
+
+
+
+ Alle
+
+
+
+ Sortieren nach
+
+
+
+ Titel
+
+
+
+ Jahr (aufsteigend)
+
+
+
+ Jahr (absteigend)
+
+
+
+ Publikationen sortieren
+
+
+
+
+ Projekte filtern und sortieren
+
+
+
+ Projekte filtern
+
+
+
+ Projekte sortieren
+
+
+
+ Projekte filtern
+
+
+
+ Projekte sortieren
+
+
+
+ Nach Titel filtern
+
+
+
+ Nach Status filtern
+
+
+
+ Laufende Projekte
+
+
+
+ Abgeschlossene Projekte
+
+
+
+ Alle Projekte
+
+
+
+ Titel
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/navigation.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/navigation.xml
new file mode 100644
index 000000000..691177687
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/navigation.xml
@@ -0,0 +1,54 @@
+
+
+
+
+ Quick Links
+ Quick Links
+
+
+
+ Titel
+ Title
+
+
+
+ URL
+ URL
+
+
+
+ Vererben?
+ Cascade?
+
+
+
+ Beschreibung
+ Description
+
+
+
+ Aktionen
+ Actions
+
+
+
+ Ja
+ Yes
+
+
+
+ Nein
+ No
+
+
+
+ Bearbeiten
+ Edit
+
+
+
+ Löschen
+ Delete
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/search-paginator.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/search-paginator.xml
new file mode 100644
index 000000000..e79890546
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/search-paginator.xml
@@ -0,0 +1,63 @@
+
+
+
+
+ Zurück
+ Back
+
+
+ Zurück
+ Back
+
+
+ <
+ <
+
+
+ Weiter
+ Continue
+
+
+ Weiter
+ Continue
+
+
+ >
+ >
+
+
+ Seite
+ Page
+
+
+ von
+ from
+
+
+
+ Zeige Ergebnisse
+ Show results
+
+
+ bis
+ to
+
+
+ von
+ from
+
+
+ .
+ .
+
+
+
+ Zeige
+ Showing
+
+
+ Ergebnisse pro Seite
+ results per page.
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/search.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/search.xml
new file mode 100644
index 000000000..3611528af
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/foundry/texts/search.xml
@@ -0,0 +1,119 @@
+
+
+
+
+ Suche:
+ Search:
+
+
+
+ Zusätzliche Kriterien:
+ Additional Filters:
+
+
+
+ Wertung
+ Evaluation
+
+
+
+ Titel
+ Title
+
+
+
+ Zusammenfassung
+ Abstract
+
+
+
+
+
+
+
+
+ Suchergebnis
+ Search result
+
+
+
+ Auswählen
+ Choose
+
+
+
+ Typ:
+ Type:
+
+
+
+ Server:
+ Server:
+
+
+
+ Kategorien:
+ Categories:
+
+
+
+ Unterkategorien durchsuchen
+ Search subcategories
+
+
+
+ Erstellt am:
+ Created:
+
+
+
+ Erstellt von:
+ Created by:
+
+
+
+ Geändert von:
+ Edited by:
+
+
+
+ Publiziert am:
+ Published at:
+
+
+
+ Geändert am:
+ Edited at:
+
+
+
+ Erstellt am:
+ Created at
+
+
+
+ Tag
+ Day
+
+
+
+ Monat
+ Month
+
+
+
+ Jahr
+ Year
+
+
+
+ Von:
+ From:
+
+
+
+ Bis:
+ To:
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/generate-doc.sh b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/generate-doc.sh
new file mode 100755
index 000000000..530bb0fb5
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/generate-doc.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+saxon9-transform -s:doc/foundry-documentation.xml -xsl:start.xsl -o:doc/foundry-documentation.html theme-prefix=`pwd`
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/_README_ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/_README_
new file mode 100644
index 000000000..50bf9ad9c
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/_README_
@@ -0,0 +1,2 @@
+Decorating images for the theme. All other images should be managed using
+the CMS
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/action-add.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/action-add.png
new file mode 100644
index 000000000..0d423a37e
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/action-add.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/action-delete.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/action-delete.png
new file mode 100644
index 000000000..fc710bbff
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/action-delete.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/action-edit.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/action-edit.png
new file mode 100644
index 000000000..9bbd4dcf5
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/action-edit.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/action-return.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/action-return.png
new file mode 100644
index 000000000..1a06e0eed
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/action-return.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/action.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/action.png
new file mode 100644
index 000000000..e7aa040a2
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/action.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/checkBoxChecked.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/checkBoxChecked.gif
new file mode 100644
index 000000000..abfe86602
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/checkBoxChecked.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/checkBoxGreyChecked.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/checkBoxGreyChecked.gif
new file mode 100644
index 000000000..16fcc90ca
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/checkBoxGreyChecked.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/checkBoxGreyUnchecked.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/checkBoxGreyUnchecked.gif
new file mode 100644
index 000000000..c5175af82
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/checkBoxGreyUnchecked.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/checkBoxUnchecked.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/checkBoxUnchecked.gif
new file mode 100644
index 000000000..2ef997f1c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/checkBoxUnchecked.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/collapse.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/collapse.png
new file mode 100644
index 000000000..f0a5460e4
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/collapse.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/expand.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/expand.png
new file mode 100644
index 000000000..6148bb215
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/expand.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/gray-triangle-down.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/gray-triangle-down.gif
new file mode 100644
index 000000000..3ee21b373
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/gray-triangle-down.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/gray-triangle-up.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/gray-triangle-up.gif
new file mode 100644
index 000000000..3adf5bc33
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/gray-triangle-up.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/treeNode.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/treeNode.png
new file mode 100644
index 000000000..302370b5c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/bebop/treeNode.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/activeTab.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/activeTab.png
new file mode 100644
index 000000000..dcb30e88c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/activeTab.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/admin-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/admin-current.png
new file mode 100755
index 000000000..cd09908a2
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/admin-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/admin.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/admin.png
new file mode 100755
index 000000000..0b549220f
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/admin.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/arrowDown.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/arrowDown.gif
new file mode 100644
index 000000000..c2f77671b
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/arrowDown.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/arrowUp.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/arrowUp.gif
new file mode 100644
index 000000000..abfcb41ea
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/arrowUp.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/benutzerprofile.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/benutzerprofile.png
new file mode 100755
index 000000000..217c0469b
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/benutzerprofile.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/browse-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/browse-current.png
new file mode 100755
index 000000000..2f574af71
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/browse-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/browse.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/browse.png
new file mode 100755
index 000000000..182aad484
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/browse.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categories-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categories-current.png
new file mode 100755
index 000000000..d99136c03
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categories-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categories.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categories.png
new file mode 100755
index 000000000..fa7a84c6d
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categories.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryAbstract.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryAbstract.gif
new file mode 100644
index 000000000..c5175af82
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryAbstract.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryCollapse.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryCollapse.png
new file mode 100755
index 000000000..b145022f6
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryCollapse.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryDelete.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryDelete.png
new file mode 100644
index 000000000..722b8976a
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryDelete.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryExpand.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryExpand.png
new file mode 100644
index 000000000..8be4f1dfd
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryExpand.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryNode.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryNode.png
new file mode 100644
index 000000000..59d7592b0
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryNode.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categorySelected.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categorySelected.gif
new file mode 100644
index 000000000..abfe86602
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categorySelected.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categorySelectedDisabled.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categorySelectedDisabled.gif
new file mode 100644
index 000000000..16fcc90ca
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categorySelectedDisabled.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryUnselected.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryUnselected.gif
new file mode 100644
index 000000000..2ef997f1c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/categoryUnselected.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/contentcenter-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/contentcenter-over.png
new file mode 100755
index 000000000..28472be8e
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/contentcenter-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/contentcenter.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/contentcenter.png
new file mode 100644
index 000000000..32eb8c5a5
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/contentcenter.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/contenttypes-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/contenttypes-current.png
new file mode 100755
index 000000000..788d5bd9e
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/contenttypes-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/contenttypes.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/contenttypes.png
new file mode 100755
index 000000000..86c857348
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/contenttypes.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/cse-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/cse-current.png
new file mode 100755
index 000000000..7f9fcd693
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/cse-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/cse.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/cse.png
new file mode 100755
index 000000000..e14fb7f82
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/cse.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/delete-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/delete-over.png
new file mode 100755
index 000000000..9e47d74b1
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/delete-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/delete.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/delete.png
new file mode 100755
index 000000000..43f3004d7
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/delete.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/dokumente.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/dokumente.png
new file mode 100755
index 000000000..2f574af71
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/dokumente.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/dokumenttype.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/dokumenttype.png
new file mode 100755
index 000000000..685dead3a
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/dokumenttype.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/gesperrt-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/gesperrt-over.png
new file mode 100755
index 000000000..64de4b1a0
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/gesperrt-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/gesperrt.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/gesperrt.png
new file mode 100755
index 000000000..ddf6cc04d
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/gesperrt.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/headerBackground.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/headerBackground.png
new file mode 100644
index 000000000..7357847e9
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/headerBackground.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/help-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/help-over.png
new file mode 100755
index 000000000..28b211f2d
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/help-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/help.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/help.png
new file mode 100644
index 000000000..211775441
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/help.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/home-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/home-over.png
new file mode 100755
index 000000000..b801b8568
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/home-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/home.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/home.png
new file mode 100644
index 000000000..0feaf3912
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/home.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/images-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/images-current.png
new file mode 100755
index 000000000..944e951c9
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/images-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/images.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/images.png
new file mode 100755
index 000000000..e062d0c73
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/images.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/infos-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/infos-over.png
new file mode 100755
index 000000000..73cd449a2
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/infos-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/infos.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/infos.png
new file mode 100755
index 000000000..abab53da7
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/infos.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/lifecycles-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/lifecycles-current.png
new file mode 100755
index 000000000..a2b37ec27
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/lifecycles-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/lifecycles.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/lifecycles.png
new file mode 100755
index 000000000..62327c651
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/lifecycles.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/lock.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/lock.png
new file mode 100644
index 000000000..d87e6a319
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/lock.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/nichtGesperrt-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/nichtGesperrt-over.png
new file mode 100755
index 000000000..1accd1a90
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/nichtGesperrt-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/nichtGesperrt.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/nichtGesperrt.png
new file mode 100755
index 000000000..a91a9faf9
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/nichtGesperrt.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/preview.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/preview.png
new file mode 100644
index 000000000..adefe3386
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/preview.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/reports-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/reports-current.png
new file mode 100755
index 000000000..8e10e4013
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/reports-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/reports.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/reports.png
new file mode 100755
index 000000000..752c6b138
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/reports.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/roles-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/roles-current.png
new file mode 100755
index 000000000..05f7d51d9
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/roles-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/roles.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/roles.png
new file mode 100755
index 000000000..b1e30d47c
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/roles.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/search-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/search-current.png
new file mode 100755
index 000000000..8fc0260c1
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/search-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/search.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/search.png
new file mode 100755
index 000000000..4f70d2eaa
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/search.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/taskssections-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/taskssections-current.png
new file mode 100755
index 000000000..0b10fae8b
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/taskssections-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/taskssections.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/taskssections.png
new file mode 100755
index 000000000..f1fe8534f
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/taskssections.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/validate-over.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/validate-over.png
new file mode 100755
index 000000000..ef015c1e1
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/validate-over.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/validate.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/validate.png
new file mode 100755
index 000000000..5c21f1722
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/validate.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/weiter.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/weiter.png
new file mode 100755
index 000000000..218415b57
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/weiter.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/workflows-current.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/workflows-current.png
new file mode 100755
index 000000000..182c09c76
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/workflows-current.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/workflows.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/workflows.png
new file mode 100755
index 000000000..0cde6ae5f
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/cms/workflows.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/scientificcms_logo.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/scientificcms_logo.png
new file mode 100644
index 000000000..e3acc9efb
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/scientificcms_logo.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/search/action.png b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/search/action.png
new file mode 100644
index 000000000..85d843485
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/search/action.png differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/search/scoreEmpty.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/search/scoreEmpty.gif
new file mode 100755
index 000000000..27230c8fe
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/search/scoreEmpty.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/search/scoreFull.gif b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/search/scoreFull.gif
new file mode 100755
index 000000000..0da007416
Binary files /dev/null and b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/images/search/scoreFull.gif differ
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/scripts/apply-fancybox.js b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/scripts/apply-fancybox.js
new file mode 100644
index 000000000..bce21eaeb
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/scripts/apply-fancybox.js
@@ -0,0 +1,14 @@
+$(document).ready(function() {
+ $("a.imageZoom").fancybox({'type': 'image'});
+ $("a.imageGallery").fancybox({
+ type: 'image',
+ helpers: {
+ title: {
+ type: 'inside',
+ },
+ buttons: {
+ position: 'bottom',
+ }
+ }
+ });
+});
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/start.xsl b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/start.xsl
new file mode 100644
index 000000000..727a5eff2
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/start.xsl
@@ -0,0 +1,38 @@
+
+]>
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/styles/_README_ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/styles/_README_
new file mode 100644
index 000000000..508dc7f1d
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/styles/_README_
@@ -0,0 +1 @@
+This directory contains the CSS files for the theme.
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/styles/portal.css b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/styles/portal.css
new file mode 100644
index 000000000..080d1095a
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/styles/portal.css
@@ -0,0 +1,57 @@
+
+div.portal-workspace-columns {
+ position: relative;
+}
+
+div.portal-workspace-columns div.portal-col,
+div.portal-grid-row div.portal-col {
+ float: left;
+ overflow: scroll;
+}
+
+div.portal-workspace-columns div.portal-col-16,
+div.portal-grid-row div.portal-col-16 {
+ width: 16.66%;
+}
+
+div.portal-workspace-columns div.portal-col-20,
+div.portal-grid-row div.portal-col-20 {
+ width: 20%;
+}
+
+div.portal-workspace-columns div.portal-col-25,
+div.portal-grid-row div.portal-col-25 {
+ width: 25%;
+}
+
+div.portal-workspace-columns div.portal-col-30,
+div.portal-grid-row div.portal-col-30 {
+ width: 30%;
+}
+
+
+div.portal-workspace-columns div.portal-col-33,
+div.portal-grid-row div.portal-col-33 {
+ width: 33.33%;
+}
+
+div.portal-workspace-columns div.portal-col-40,
+div.portal-grid-row div.portal-col-40 {
+ width: 40%;
+}
+
+div.portal-workspace-columns div.portal-col-50,
+div.portal-grid-row div.portal-col-50 {
+ width: 50%;
+}
+
+div.portal-workspace-columns div.portal-col-75,
+div.portal-grid-row div.portal-col-75 {
+ width: 75%;
+}
+
+div.portal-workspace-columns div.portal-col-100,
+div.portal-grid-row div.portal-col-100 {
+ width: 100%;
+}
+
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/styles/public.css b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/styles/public.css
new file mode 100644
index 000000000..cb60c5497
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/styles/public.css
@@ -0,0 +1,5 @@
+/*
+
+Public CSS file
+
+*/
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/article-detail.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/article-detail.xml
new file mode 100644
index 000000000..1f928aa12
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/article-detail.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/article-list.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/article-list.xml
new file mode 100644
index 000000000..3d82092e3
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/article-list.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/bookmark-detail.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/bookmark-detail.xml
new file mode 100644
index 000000000..af813c9ae
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/bookmark-detail.xml
@@ -0,0 +1,13 @@
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/detail-default.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/detail-default.xml
new file mode 100644
index 000000000..3d4f29220
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/detail-default.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/event-detail.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/event-detail.xml
new file mode 100644
index 000000000..7aa67d210
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/event-detail.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ start-date
+
+
+
+
+
+
+
+ T
+
+
+
+
+
+
+
+ end-date
+
+
+
+
+
+
+
+ T
+
+
+
+
+
+
+
+ location
+
+
+
+
+
+
+ event-type
+
+
+
+
+
+
+ main-contributor
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/link-default.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/link-default.xml
new file mode 100644
index 000000000..85758cdf1
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/link-default.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/list-default.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/list-default.xml
new file mode 100644
index 000000000..d619470a7
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/list-default.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/mpa-detail.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/mpa-detail.xml
new file mode 100644
index 000000000..5150115a0
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/mpa-detail.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/mpa-list.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/mpa-list.xml
new file mode 100644
index 000000000..49794fa5d
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/mpa-list.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/news-detail.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/news-detail.xml
new file mode 100644
index 000000000..cec385d38
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/content-items/news-detail.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ..
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/default-layout.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/default-layout.xml
new file mode 100644
index 000000000..a53d7fc69
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/default-layout.xml
@@ -0,0 +1,132 @@
+
+
+
+
+ :
+ layout/page/head/title
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
news-item
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/fragments/footer.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/fragments/footer.xml
new file mode 100644
index 000000000..ca641df97
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/fragments/footer.xml
@@ -0,0 +1,6 @@
+
+
+
+ included from fragments/footer.xml
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/portal-workspace-grid.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/portal-workspace-grid.xml
new file mode 100644
index 000000000..5bcb82a80
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/portal-workspace-grid.xml
@@ -0,0 +1,119 @@
+
+
+
+
+ :
+ layout/page/head/title
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/portal-workspace.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/portal-workspace.xml
new file mode 100644
index 000000000..c0594992b
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/foundry/templates/portal-workspace.xml
@@ -0,0 +1,143 @@
+
+
+
+
+ :
+ layout/page/head/title
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/libreccm-default/templates/readme.txt b/ccm-bundle-devel-swarm/src/main/resources/themes/libreccm-default/templates/readme.txt
new file mode 100644
index 000000000..287f6bbd5
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/libreccm-default/templates/readme.txt
@@ -0,0 +1,11 @@
+This directory contains the layout templates which define the HTML output.
+For complete description please refer to the documentation of Foundry. In
+addition the files in this themes have some information as comments.
+
+The layout templates directly in this folder are defining the basic layout.
+The files in the content-items directory contains the layout templates for
+individual content types.
+
+The fragments directory includes several fragment templates which can be
+included by the tag in the layout templates. The
+fragments/assets directory contains templates for the assets.
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/libreccm-default/templates/sitemap.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/libreccm-default/templates/sitemap.xml
new file mode 100644
index 000000000..514dfac5d
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/libreccm-default/templates/sitemap.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ccm-bundle-devel-swarm/src/main/resources/themes/libreccm-default/templates/welcome.xml b/ccm-bundle-devel-swarm/src/main/resources/themes/libreccm-default/templates/welcome.xml
new file mode 100644
index 000000000..4234dd052
--- /dev/null
+++ b/ccm-bundle-devel-swarm/src/main/resources/themes/libreccm-default/templates/welcome.xml
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+