You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by ss...@apache.org on 2013/02/19 18:04:23 UTC

[10/51] [abbrv] reorganized repository

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-module/src/main/resources/archetype-resources/src/test/java/services/MyServiceTest.java
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-module/src/main/resources/archetype-resources/src/test/java/services/MyServiceTest.java b/build/archetypes/marmotta-archetype-module/src/main/resources/archetype-resources/src/test/java/services/MyServiceTest.java
new file mode 100644
index 0000000..d93d4b6
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-module/src/main/resources/archetype-resources/src/test/java/services/MyServiceTest.java
@@ -0,0 +1,46 @@
+package ${package}.services;
+
+import junit.framework.Assert;
+import kiwi.core.test.base.EmbeddedLMF;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import ${package}.api.MyService;
+
+public class MyServiceTest {
+
+    private static EmbeddedLMF lmf;
+    private static MyService myService;
+
+    @BeforeClass
+    public static void setUp() {
+        lmf = new EmbeddedLMF();
+        myService = lmf.getService(MyService.class);
+    }
+
+    @Test
+    public void testDoThis() {
+
+    }
+
+    @Test
+    public void testDoThat() {
+
+    }
+
+    @Test
+    public void testHelloWorld() {
+        Assert.assertEquals("Hello You", myService.helloWorld("You"));
+        Assert.assertEquals("Hello Steve", myService.helloWorld("Steve"));
+        Assert.assertEquals("Hello Tom", myService.helloWorld("Tom"));
+        Assert.assertEquals("Hello Ron", myService.helloWorld("Ron"));
+        Assert.assertEquals("Hello Wüterich", myService.helloWorld("Wüterich"));
+    }
+
+    @AfterClass
+    public static void tearDown() {
+        lmf.shutdown();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-module/src/main/resources/archetype-resources/src/test/java/webservices/MyWebServiceTest.java
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-module/src/main/resources/archetype-resources/src/test/java/webservices/MyWebServiceTest.java b/build/archetypes/marmotta-archetype-module/src/main/resources/archetype-resources/src/test/java/webservices/MyWebServiceTest.java
new file mode 100644
index 0000000..5fd7b51
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-module/src/main/resources/archetype-resources/src/test/java/webservices/MyWebServiceTest.java
@@ -0,0 +1,85 @@
+package ${package}.webservices;
+
+import static com.jayway.restassured.RestAssured.expect;
+import static com.jayway.restassured.RestAssured.given;
+import static org.hamcrest.Matchers.containsString;
+
+import com.jayway.restassured.RestAssured;
+import com.jayway.restassured.config.DecoderConfig;
+import com.jayway.restassured.config.RestAssuredConfig;
+import com.jayway.restassured.http.ContentType;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import kiwi.core.test.base.JettyLMF;
+
+public class MyWebServiceTest {
+    private static JettyLMF lmf;
+
+    @BeforeClass
+    public static void beforeClass() {
+        lmf = new JettyLMF("/${moduleKey}-test", 9090, MyWebService.class);
+
+        RestAssured.baseURI = "http://localhost";
+        RestAssured.port = 9090;
+        RestAssured.basePath = "/${moduleKey}-test";
+        RestAssured.config = RestAssuredConfig.newConfig().decoderConfig(DecoderConfig.decoderConfig().defaultContentCharset("UTF-8"));
+    }
+
+    @AfterClass
+    public static void afterClass() {
+        if (lmf != null) {
+            lmf.shutdown();
+        }
+    }
+
+    @Test
+    public void testHello() {
+        /*
+         * GET ?name=<xxx>
+         */
+        given()
+        .param("name", "Steve")
+        .expect()
+        .content(containsString("Hello Steve"))
+        .when()
+        .get("/${moduleKey}");
+
+        given()
+        .contentType(ContentType.HTML)
+        .param("name", "Jürgen")
+        .expect()
+        .content(containsString("Hello Jürgen"))
+        .when()
+        .get("/${moduleKey}");
+
+        expect()
+        .statusCode(400)
+        .when()
+        .get("/${moduleKey}");
+    }
+
+    @Test
+    public void testDoThis() {
+        /*
+         * POST ?turns=i default 2
+         */
+        given()
+        .param("turns", 1)
+        .expect().statusCode(200)
+        .when()
+        .post("/${moduleKey}");
+
+        given()
+        .param("turns", 10)
+        .expect().statusCode(200)
+        .when()
+        .post("/${moduleKey}");
+
+        expect().statusCode(200)
+        .when()
+        .post("/${moduleKey}");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-module/src/test/resources/projects/basic/archetype.properties
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-module/src/test/resources/projects/basic/archetype.properties b/build/archetypes/marmotta-archetype-module/src/test/resources/projects/basic/archetype.properties
new file mode 100644
index 0000000..0cecd4d
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-module/src/test/resources/projects/basic/archetype.properties
@@ -0,0 +1,7 @@
+#Wed Oct 17 14:53:58 CEST 2012
+package=it.pkg
+version=0.1-SNAPSHOT
+groupId=archetype.it
+artifactId=basic
+moduleKey=mymodule
+moduleName=My Module

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-module/src/test/resources/projects/basic/goal.txt
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-module/src/test/resources/projects/basic/goal.txt b/build/archetypes/marmotta-archetype-module/src/test/resources/projects/basic/goal.txt
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/pom.xml
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/pom.xml b/build/archetypes/marmotta-archetype-webapp/pom.xml
new file mode 100644
index 0000000..7a20a84
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/pom.xml
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (c) 2013 Salzburg Research.
+  ~
+  ~  Licensed under the Apache License, Version 2.0 (the "License");
+  ~  you may not use this file except in compliance with the License.
+  ~  You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~  Unless required by applicable law or agreed to in writing, software
+  ~  distributed under the License is distributed on an "AS IS" BASIS,
+  ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~  See the License for the specific language governing permissions and
+  ~  limitations under the License.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.marmotta</groupId>
+        <artifactId>lmf-archetypes</artifactId>
+        <version>3.0.0-SNAPSHOT</version>
+        <relativePath>../</relativePath>
+    </parent>
+
+
+    <artifactId>lmf-archetype-webapp</artifactId>
+    <packaging>maven-archetype</packaging>
+
+    <name>LMF Archetype: Web Application</name>
+
+    <build>
+        <extensions>
+            <extension>
+                <groupId>org.apache.maven.wagon</groupId>
+                <artifactId>wagon-ssh-external</artifactId>
+                <version>1.0-beta-6</version>
+            </extension>
+            <extension>
+                <groupId>org.apache.maven.archetype</groupId>
+                <artifactId>archetype-packaging</artifactId>
+                <version>2.2</version>
+            </extension>
+        </extensions>
+
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <artifactId>maven-archetype-plugin</artifactId>
+                    <version>2.2</version>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-site-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                    <skipDeploy>true</skipDeploy>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <description>Web Application bundle (WAR file) containing the complete Linked Media Framework</description>
+
+    <url>https://code.google.com/p/lmf/lmf-webapp/</url>
+
+    <developers>
+        <developer>
+            <name>Sebastian Schaffert</name>
+            <email>sebastian.schaffert@salzburgresearch.at</email>
+            <organization>Salzburg Research</organization>
+        </developer>
+        <developer>
+            <name>Thomas Kurz</name>
+            <email>thomas.kurz@salzburgresearch.at</email>
+            <organization>Salzburg Research</organization>
+        </developer>
+        <developer>
+            <name>Jakob Frank</name>
+            <email>jakob.frank@salzburgresearch.at</email>
+            <organization>Salzburg Research</organization>
+        </developer>
+        <developer>
+            <name>Sergio Fernández</name>
+            <email>sergio.fernandez@salzburgresearch.at</email>
+            <organization>Salzburg Research</organization>
+        </developer>
+        <developer>
+            <name>Dietmar Glachs</name>
+            <email>dietmar.glachs@salzburgresearch.at</email>
+            <organization>Salzburg Research</organization>
+        </developer>
+    </developers>
+
+    <licenses>
+        <license>
+            <name>Apache Software License, Version 2.0</name>
+            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+            <distribution>repo</distribution>
+            <comments>A business-friendly OSS license</comments>
+        </license>
+    </licenses>
+
+    <scm>
+        <connection>scm:hg:https://code.google.com/p/lmf/lmf-webapp/</connection>
+        <developerConnection>scm:hg:https://code.google.com/p/lmf/lmf-webapp/</developerConnection>
+        <url>https://code.google.com/p/lmf/lmf-webapp/</url>
+      <tag>HEAD</tag>
+  </scm>
+
+    <distributionManagement>
+        <repository>
+            <id>snml.releases</id>
+            <name>Salzburg NewMediaLab Repository</name>
+            <url>http://devel.kiwi-project.eu:8080/nexus/content/repositories/releases/</url>
+        </repository>
+        <snapshotRepository>
+            <id>snml.snapshots</id>
+            <name>Salzburg NewMediaLab Repository</name>
+            <url>http://devel.kiwi-project.eu:8080/nexus/content/repositories/snapshots/</url>
+        </snapshotRepository>
+    </distributionManagement>
+
+    <profiles>
+        <profile>
+            <id>sign</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-gpg-plugin</artifactId>
+                        <version>1.4</version>
+                        <executions>
+                            <execution>
+                                <id>sign-artifacts</id>
+                                <phase>verify</phase>
+                                <goals>
+                                    <goal>sign</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/src/main/resources/META-INF/maven/archetype-metadata.xml
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/src/main/resources/META-INF/maven/archetype-metadata.xml b/build/archetypes/marmotta-archetype-webapp/src/main/resources/META-INF/maven/archetype-metadata.xml
new file mode 100644
index 0000000..de2e4cd
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (C) 2013 Salzburg Research.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<archetype-descriptor xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" name="lmf-webapp"
+    xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <fileSets>
+    <fileSet filtered="true" encoding="UTF-8">
+      <directory>src/main/webapp</directory>
+      <includes>
+        <include>**/*.jsp</include>
+        <include>**/*.html</include>
+        <include>**/*.xml</include>
+        <include>**/*.properties</include>
+      </includes>
+    </fileSet>
+    <fileSet filtered="true" encoding="UTF-8">
+      <directory>src/main/resources</directory>
+      <includes>
+        <include>**/*.xml</include>
+        <include>**/*.properties</include>
+      </includes>
+    </fileSet>
+    <fileSet encoding="UTF-8">
+      <directory>src/main/webapp</directory>
+      <includes>
+        <include>**/*.xsl</include>
+        <include>**/*.png</include>
+        <include>**/*.js</include>
+        <include>**/*.ftl</include>
+        <include>**/*.ico</include>
+        <include>**/*.css</include>
+      </includes>
+    </fileSet>
+    <fileSet filtered="true" encoding="UTF-8">
+      <directory>src/test/resources</directory>
+      <includes>
+        <include>**/*.xml</include>
+        <include>**/*.properties</include>
+      </includes>
+    </fileSet>
+    <fileSet filtered="true" encoding="UTF-8">
+      <directory>src/test</directory>
+      <includes>
+        <include>**/*.groovy</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+</archetype-descriptor>

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/pom.xml
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/pom.xml b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/pom.xml
new file mode 100644
index 0000000..c6d66a4
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/pom.xml
@@ -0,0 +1,289 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.marmotta</groupId>
+        <artifactId>lmf-parent</artifactId>
+        <version>2.6.0-SNAPSHOT</version>
+    </parent>
+
+    <groupId>${groupId}</groupId>
+    <artifactId>${artifactId}</artifactId>
+    <packaging>war</packaging>
+
+    <name>LMF Web Application</name>
+    <description>Web Application bundle (WAR file) containing the complete Linked Media Framework</description>
+    <version>${version}</version>
+
+    <repositories>
+        <repository>
+            <id>snml</id>
+            <name>Salzburg NewMediaLab Repository</name>
+            <url>http://devel.kiwi-project.eu:8080/nexus/content/groups/public/</url>
+        </repository>
+    </repositories>
+    <pluginRepositories>
+        <pluginRepository>
+            <id>snml</id>
+            <name>Salzburg NewMediaLab Repository</name>
+            <url>http://devel.kiwi-project.eu:8080/nexus/content/groups/public/</url>
+        </pluginRepository>
+    </pluginRepositories>
+
+    <properties>
+        <!-- these are used for the goals tomcat6/7:run or jetty:run -->
+        <lmf.home>/tmp/lmf</lmf.home>
+        <lmf.context>/</lmf.context>
+        <lmf.port>8080</lmf.port>
+        <lmf.version>2.6.0</lmf.version>
+    </properties>
+
+    <build>
+        <finalName>LMF</finalName>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <artifactId>maven-war-plugin</artifactId>
+                    <version>2.3</version>
+                    <configuration>
+                        <archive>
+                            <manifest>
+                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+                            </manifest>
+                        </archive>
+                        <archiveClasses>false</archiveClasses>
+                    </configuration>
+                </plugin>
+                <plugin> <!-- generate JRebel Configuration -->
+                    <groupId>org.zeroturnaround</groupId>
+                    <artifactId>jrebel-maven-plugin</artifactId>
+                    <configuration>
+                        <relativePath>../</relativePath>
+                        <rootPath>${rebel.root}</rootPath>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-deploy-plugin</artifactId>
+                    <version>2.7</version>
+                    <configuration>
+                        <skip>true</skip>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.tomcat.maven</groupId>
+                    <artifactId>tomcat6-maven-plugin</artifactId>
+                    <version>2.0</version>
+                    <configuration>
+                        <path>${lmf.context}</path>
+                        <port>${lmf.port}</port>
+                        <systemProperties>
+                            <kiwi.home>${lmf.home}</kiwi.home>
+                        </systemProperties>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.tomcat.maven</groupId>
+                    <artifactId>tomcat7-maven-plugin</artifactId>
+                    <version>2.0</version>
+                    <configuration>
+                        <path>${lmf.context}</path>
+                        <port>${lmf.port}</port>
+                        <systemProperties>
+                            <kiwi.home>${lmf.home}</kiwi.home>
+                        </systemProperties>
+                        <!--                         <contextReloadable>true</contextReloadable> -->
+                        <!--                         <backgroundProcessorDelay>10</backgroundProcessorDelay> -->
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.mortbay.jetty</groupId>
+                    <artifactId>maven-jetty-plugin</artifactId>
+                    <version>6.1.10</version>
+                    <configuration>
+                        <contextPath>${lmf.context}</contextPath>
+                        <connectors>
+                            <connector
+                                    implementation="org.mortbay.jetty.nio.SelectChannelConnector">
+                                <port>${lmf.port}</port>
+                            </connector>
+                        </connectors>
+                        <systemProperties>
+                            <systemProperty>
+                                <name>kiwi.home</name>
+                                <value>${lmf.home}</value>
+                            </systemProperty>
+                        </systemProperties>
+                        <stopKey>foo</stopKey>
+                        <stopPort>9999</stopPort>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>true</filtering>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.tomcat.maven</groupId>
+                <artifactId>tomcat6-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.tomcat.maven</groupId>
+                <artifactId>tomcat7-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.mortbay.jetty</groupId>
+                <artifactId>maven-jetty-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <artifactId>maven-dependency-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>cleanall</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-clean-plugin</artifactId>
+                        <version>2.5</version>
+                        <configuration>
+                            <filesets>
+                                <fileset>
+                                    <directory>${lmf.home}</directory>
+                                    <followSymlinks>true</followSymlinks>
+                                </fileset>
+                            </filesets>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
+    <dependencies>
+        <!-- LMF Modules, include the ones needed by the application -->
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-core</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-ldpath</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-ldcache</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-reasoner</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-sparql</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-skos</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-search</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-security</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-scheduler</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-versioning</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-stanbol</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-enhancer</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-geo</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        <!--
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-templating</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        -->
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-user</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-social</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>lmf-demo-books</artifactId>
+            <version>${lmf.version}</version>
+        </dependency>
+
+        <!-- Servlet / CDI Environment -->
+        <dependency>
+            <groupId>javax.el</groupId>
+            <artifactId>el-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.weld.servlet</groupId>
+            <artifactId>weld-servlet-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.weld</groupId>
+            <artifactId>weld-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.h2database</groupId>
+            <artifactId>h2</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+    </dependencies>
+    
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/META-INF/beans.xml
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/META-INF/beans.xml b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/META-INF/beans.xml
new file mode 100644
index 0000000..e75d400
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/META-INF/beans.xml
@@ -0,0 +1,29 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (C) 2013 Salzburg Research.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<beans
+   xmlns="http://java.sun.com/xml/ns/javaee"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="
+      http://java.sun.com/xml/ns/javaee
+      http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
+
+</beans>

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/config-defaults.properties
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/config-defaults.properties b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/config-defaults.properties
new file mode 100644
index 0000000..d85b91c
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/config-defaults.properties
@@ -0,0 +1,22 @@
+#
+# Copyright (C) 2013 Salzburg Research.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound} configure module configuration options and default values here and add descriptions to config-descriptions.properties
+
+${moduleKey}.enabled = true

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/config-descriptions.properties
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/config-descriptions.properties b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/config-descriptions.properties
new file mode 100644
index 0000000..0403af9
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/config-descriptions.properties
@@ -0,0 +1,25 @@
+#
+# Copyright (C) 2013 Salzburg Research.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+${symbol_pound} describe module configuration options here (textual description and type)
+
+${moduleKey}.enabled.description = this is a demo property of ${moduleName}
+${moduleKey}.enabled.type = java.lang.Boolean
+
+

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/ehcache-lmf.xml
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/ehcache-lmf.xml b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/ehcache-lmf.xml
new file mode 100644
index 0000000..03091fd
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/ehcache-lmf.xml
@@ -0,0 +1,420 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (C) 2013 Salzburg Research.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<!--
+CacheManager Configuration
+==========================
+An ehcache-lmf.xml corresponds to a single CacheManager.
+
+See instructions below or the ehcache schema (ehcache.xsd) on how to configure.
+
+System property tokens can be specified in this file which are replaced when the configuration
+is loaded. For example multicastGroupPort=${symbol_dollar}{multicastGroupPort} can be replaced with the
+System property either from an environment variable or a system property specified with a
+command line switch such as -DmulticastGroupPort=4446.
+
+The attributes of <ehcache> are:
+* name - an optional name for the CacheManager.  The name is optional and primarily used 
+for documentation or to distinguish Terracotta clustered cache state.  With Terracotta 
+clustered caches, a combination of CacheManager name and cache name uniquely identify a 
+particular cache store in the Terracotta clustered memory.
+* updateCheck - an optional boolean flag specifying whether this CacheManager should check
+for new versions of Ehcache over the Internet.  If not specified, updateCheck="true".
+* monitoring - an optional setting that determines whether the CacheManager should 
+automatically register the SampledCacheMBean with the system MBean server.  Currently,
+this monitoring is only useful when using Terracotta and thus the "autodetect" value 
+will detect the presence of Terracotta and register the MBean.  Other allowed values 
+are "on" and "off".  The default is "autodetect".
+-->    
+<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" name="lmf">
+
+    <!-- 
+    DiskStore configuration
+    =======================
+
+    The diskStore element is optional. To turn off disk store path creation, comment out the diskStore
+    element below.
+
+    Configure it if you have overflowToDisk or diskPersistent enabled for any cache.
+
+    If it is not configured, and a cache is created which requires a disk store, a warning will be
+     issued and java.io.tmpdir will automatically be used.
+
+    diskStore has only one attribute - "path". It is the path to the directory where
+    .data and .index files will be created.
+
+    If the path is one of the following Java System Property it is replaced by its value in the
+    running VM. For backward compatibility these are not specified without being enclosed in the ${symbol_dollar}{token}
+    replacement syntax.
+
+    The following properties are translated:
+    * user.home - KiWiUser's home directory
+    * user.dir - KiWiUser's current working directory
+    * java.io.tmpdir - Default temp file path
+    * ehcache.disk.store.dir - A system property you would normally specify on the command line
+      e.g. java -Dehcache.disk.store.dir=/u01/myapp/diskdir ...
+
+    Subdirectories can be specified below the property e.g. java.io.tmpdir/one
+
+    -->
+    <diskStore path="java.io.tmpdir/lmf-cache/lmf"/>
+
+   <!--
+    Cachemanagereventlistener
+    =========================
+    Specifies a CacheManagerEventListenerFactory which is notified when Caches are added
+    or removed from the CacheManager.
+
+    The attributes of CacheManagerEventListenerFactory are:
+    * class - a fully qualified factory class name
+    * properties - comma separated properties having meaning only to the factory.
+
+    Sets the fully qualified class name to be registered as the CacheManager event listener.
+
+    The events include:
+    * adding a Cache
+    * removing a Cache
+
+    Callbacks to listener methods are synchronous and unsynchronized. It is the responsibility
+    of the implementer to safely handle the potential performance and thread safety issues
+    depending on what their listener is doing.
+
+    If no class is specified, no listener is created. There is no default.
+    -->
+    <cacheManagerEventListenerFactory class="" properties=""/>
+
+
+    <!--
+    CacheManagerPeerProvider
+    ========================
+    (For distributed operation)
+
+    Specifies a CacheManagerPeerProviderFactory which will be used to create a
+    CacheManagerPeerProvider, which discovers other CacheManagers in the cluster.
+
+    One or more providers can be configured. The first one in the ehcache-lmf.xml is the default, which is used
+    for replication and bootstrapping.
+
+    The attributes of cacheManagerPeerProviderFactory are:
+    * class - a fully qualified factory class name
+    * properties - comma separated properties having meaning only to the factory.
+
+    Providers are available for RMI, JGroups and JMS as shown following.
+
+    RMICacheManagerPeerProvider
+    +++++++++++++++++++++++++++
+
+    Ehcache comes with a built-in RMI-based distribution system with two means of discovery of
+    CacheManager peers participating in the cluster:
+    * automatic, using a multicast group. This one automatically discovers peers and detects
+      changes such as peers entering and leaving the group
+    * manual, using manual rmiURL configuration. A hardcoded list of peers is provided at
+      configuration time.
+
+    Configuring Automatic Discovery:
+    Automatic discovery is configured as per the following example:
+    <cacheManagerPeerProviderFactory
+                        class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
+                        properties="hostName=fully_qualified_hostname_or_ip,
+                                    peerDiscovery=automatic, multicastGroupAddress=230.0.0.1,
+                                    multicastGroupPort=4446, timeToLive=32"/>
+
+    Valid properties are:
+    * peerDiscovery (mandatory) - specify "automatic"
+    * multicastGroupAddress (mandatory) - specify a valid multicast group address
+    * multicastGroupPort (mandatory) - specify a dedicated port for the multicast heartbeat
+      traffic
+    * timeToLive - specify a value between 0 and 255 which determines how far the packets will
+      propagate.
+
+      By convention, the restrictions are:
+      0   - the same host
+      1   - the same subnet
+      32  - the same site
+      64  - the same region
+      128 - the same continent
+      255 - unrestricted
+
+     * hostName - the hostname or IP of the interface to be used for sending and receiving multicast packets
+       (relevant to mulithomed hosts only)
+
+    Configuring Manual Discovery:
+    Manual discovery requires a unique configuration per host. It is contains a list of rmiURLs for the peers, other
+    than itself. So, if we have server1, server2 and server3 the configuration will be:
+
+    In server1's configuration:
+    <cacheManagerPeerProviderFactory class=
+                          "net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
+                          properties="peerDiscovery=manual,
+                          rmiUrls=//server2:40000/sampleCache1|//server3:40000/sampleCache1
+                          | //server2:40000/sampleCache2|//server3:40000/sampleCache2"
+                          propertySeparator="," />
+
+    In server2's configuration:
+    <cacheManagerPeerProviderFactory class=
+                          "net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
+                          properties="peerDiscovery=manual,
+                          rmiUrls=//server1:40000/sampleCache1|//server3:40000/sampleCache1
+                          | //server1:40000/sampleCache2|//server3:40000/sampleCache2"
+                          propertySeparator="," />
+
+    In server3's configuration:
+    <cacheManagerPeerProviderFactory class=
+                          "net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
+                          properties="peerDiscovery=manual,
+                          rmiUrls=//server1:40000/sampleCache1|//server2:40000/sampleCache1
+                          | //server1:40000/sampleCache2|//server2:40000/sampleCache2"
+                          propertySeparator="," />
+
+
+    Valid properties are:
+    * peerDiscovery (mandatory) - specify "manual"
+    * rmiUrls (mandatory) - specify a pipe separated list of rmiUrls, in the form
+                            //hostname:port
+    * hostname (optional) - the hostname is the hostname of the remote CacheManager peer. The port is the listening
+      port of the RMICacheManagerPeerListener of the remote CacheManager peer.
+    
+    JGroupsCacheManagerPeerProvider
+    +++++++++++++++++++++++++++++++
+    <cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory"
+                                     properties="connect=UDP(mcast_addr=231.12.21.132;mcast_port=45566;ip_ttl=32;
+                                     mcast_send_buf_size=150000;mcast_recv_buf_size=80000):
+                                     PING(timeout=2000;num_initial_members=6):
+                                     MERGE2(min_interval=5000;max_interval=10000):
+                                     FD_SOCK:VERIFY_SUSPECT(timeout=1500):
+                                     pbcast.NAKACK(gc_lag=10;retransmit_timeout=3000):
+                                     UNICAST(timeout=5000):
+                                     pbcast.STABLE(desired_avg_gossip=20000):
+                                     FRAG:
+                                     pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;shun=false;print_local_addr=false)"
+                                     propertySeparator="::"
+            />
+     The only property necessary is the connect String used by jgroups to configure itself. Refer to the Jgroups documentation for explanation
+     of all the protocols. The example above uses UDP multicast. If the connect property is not specified the default JGroups connection will be
+     used.       
+
+
+    JMSCacheManagerPeerProviderFactory
+    ++++++++++++++++++++++++++++++++++
+    <cacheManagerPeerProviderFactory
+            class="net.sf.ehcache.distribution.jms.JMSCacheManagerPeerProviderFactory"
+            properties="..."
+            propertySeparator=","
+            />
+
+    The JMS PeerProviderFactory uses JNDI to maintain message queue independence. Refer to the manual for full configuration
+    examples using ActiveMQ and Open Message Queue.
+
+    Valid properties are:
+    * initialContextFactoryName (mandatory) - the name of the factory used to create the message queue initial context.
+    * providerURL (mandatory) - the JNDI configuration information for the service provider to use.
+    * topicConnectionFactoryBindingName (mandatory) - the JNDI binding name for the TopicConnectionFactory
+    * topicBindingName (mandatory) - the JNDI binding name for the topic name
+    * getQueueBindingName (mandatory only if using jmsCacheLoader) - the JNDI binding name for the queue name
+    * securityPrincipalName - the JNDI java.naming.security.principal
+    * securityCredentials - the JNDI java.naming.security.credentials
+    * urlPkgPrefixes - the JNDI java.naming.factory.url.pkgs
+    * userName - the user name to use when creating the TopicConnection to the Message Queue
+    * password - the password to use when creating the TopicConnection to the Message Queue
+    * acknowledgementMode - the JMS Acknowledgement mode for both publisher and subscriber. The available choices are
+                            AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE and SESSION_TRANSACTED. The default is AUTO_ACKNOWLEDGE.
+    -->
+<!--    <cacheManagerPeerProviderFactory-->
+<!--            class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"-->
+<!--            properties="peerDiscovery=automatic,-->
+<!--                        multicastGroupAddress=230.0.0.1,-->
+<!--                        multicastGroupPort=4446, timeToLive=1"-->
+<!--            propertySeparator=","-->
+<!--            />-->
+
+
+    <!--
+    CacheManagerPeerListener
+    ========================
+    (Enable for distributed operation)
+
+    Specifies a CacheManagerPeerListenerFactory which will be used to create a
+    CacheManagerPeerListener, which listens for messages from cache replicators participating in the cluster.
+
+    The attributes of cacheManagerPeerListenerFactory are:
+    class - a fully qualified factory class name
+    properties - comma separated properties having meaning only to the factory.
+
+    Ehcache comes with a built-in RMI-based distribution system. The listener component is
+    RMICacheManagerPeerListener which is configured using
+    RMICacheManagerPeerListenerFactory. It is configured as per the following example:
+
+    <cacheManagerPeerListenerFactory
+        class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
+        properties="hostName=fully_qualified_hostname_or_ip,
+                    port=40001,
+                    remoteObjectPort=40002,
+                    socketTimeoutMillis=120000"
+                    propertySeparator="," />
+
+    All properties are optional. They are:
+    * hostName - the hostName of the host the listener is running on. Specify
+      where the host is multihomed and you want to control the interface over which cluster
+      messages are received. Defaults to the host name of the default interface if not
+      specified.
+    * port - the port the RMI Registry listener listens on. This defaults to a free port if not specified.
+    * remoteObjectPort - the port number on which the remote objects bound in the registry receive calls.
+                         This defaults to a free port if not specified.
+    * socketTimeoutMillis - the number of ms client sockets will stay open when sending
+      messages to the listener. This should be long enough for the slowest message.
+      If not specified it defaults to 120000ms.
+
+    -->
+<!--    <cacheManagerPeerListenerFactory-->
+<!--            class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"/>-->
+
+    <!-- Cache configuration.
+
+    The following attributes are required.
+
+    name:
+    Sets the name of the cache. This is used to identify the cache. It must be unique.
+
+    maxElementsInMemory:
+    Sets the maximum number of objects that will be created in memory
+
+        maxElementsOnDisk:
+    Sets the maximum number of objects that will be maintained in the DiskStore
+        The default value is zero, meaning unlimited.
+
+    eternal:
+    Sets whether elements are eternal. If eternal,  timeouts are ignored and the
+    element is never expired.
+
+    overflowToDisk:
+    Sets whether elements can overflow to disk when the memory store
+    has reached the maxInMemory limit.
+
+    The following attributes are optional.
+
+    timeToIdleSeconds:
+    Sets the time to idle for an element before it expires.
+    i.e. The maximum amount of time between accesses before an element expires
+    Is only used if the element is not eternal.
+    Optional attribute. A value of 0 means that an Element can idle for infinity.
+    The default value is 0.
+
+    timeToLiveSeconds:
+    Sets the time to live for an element before it expires.
+    i.e. The maximum time between creation time and when an element expires.
+    Is only used if the element is not eternal.
+    Optional attribute. A value of 0 means that and Element can live for infinity.
+    The default value is 0.
+
+    diskPersistent:
+    Whether the disk store persists between restarts of the Virtual Machine.
+    The default value is false.
+
+    diskExpiryThreadIntervalSeconds:
+    The number of seconds between runs of the disk expiry thread. The default value
+    is 120 seconds.
+
+    memoryStoreEvictionPolicy:
+    Policy would be enforced upon reaching the maxElementsInMemory limit. Default
+    policy is Least Recently Used (specified as LRU). Other policies available -
+    First In First Out (specified as FIFO) and Less Frequently Used
+    (specified as LFU)
+
+    -->
+
+    <!--
+    Mandatory Default Cache configuration. These settings will be applied to caches
+    created programmtically using CacheManager.add(String cacheName)
+    -->
+    <defaultCache
+            maxElementsInMemory="20000"
+            overflowToDisk="false"
+            memoryStoreEvictionPolicy="LRU"
+            />
+
+
+    <!-- the cache used for triple queries by KiWi -->
+    <cache name="uri-node-cache"
+           statistics="true"
+           maxElementsInMemory="100000"
+           timeToIdleSeconds="3600"
+           overflowToDisk="false"/>
+    <cache name="anon-node-cache"
+           statistics="true"
+           maxElementsInMemory="10000"
+           timeToIdleSeconds="3600"
+           overflowToDisk="false"/>
+    <cache name="literal-cache"
+           statistics="true"
+           maxElementsInMemory="10000"
+           timeToIdleSeconds="3600"
+           overflowToDisk="false"/>
+
+    <cache name="namespace-prefix-cache"
+           statistics="true"
+           maxElementsInMemory="100"
+           overflowToDisk="true"/>
+
+    <cache name="namespace-uri-cache"
+           statistics="true"
+           maxElementsInMemory="100"
+           overflowToDisk="true"/>
+
+    <!-- the cache used for triple queries by KiWi -->
+    <cache name="query-cache"
+           statistics="true"
+           maxElementsInMemory="200000"
+           timeToIdleSeconds="3600"
+           overflowToDisk="false"/>
+
+    <!-- the cache used for resource lookups from module jar files -->
+    <cache name="resource-cache"
+           statistics="true"
+           maxElementsInMemory="10000"
+           timeToIdleSeconds="3600"
+           timeToLiveSeconds="3600"
+           overflowToDisk="false"
+           memoryStoreEvictionPolicy="LRU"/>
+
+    <!-- the cache used for triple queries by KiWi -->
+    <cache name="page-cache"
+           statistics="true"
+           maxElementsInMemory="500"
+           timeToIdleSeconds="3600"
+           memoryStoreEvictionPolicy="LRU"
+           overflowToDisk="true"/>
+
+    <cache name="http-content-cache"
+           statistics="true"
+           maxElementsInMemory="500"
+           timeToIdleSeconds="3600"
+           memoryStoreEvictionPolicy="LRU"
+           overflowToDisk="true"/>
+
+
+    <!--  uncomment to enable cache debugging -->
+<!-- 
+	<cacheManagerPeerListenerFactory
+	    class="org.terracotta.ehcachedx.monitor.probe.ProbePeerListenerFactory"
+	    properties="monitorAddress=localhost, monitorPort=9889" />
+-->
+
+</ehcache>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/logback.xml
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/logback.xml b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/logback.xml
new file mode 100644
index 0000000..6b3235e
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/resources/logback.xml
@@ -0,0 +1,70 @@
+<!--
+
+    Copyright (C) 2013 Salzburg Research.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<!--
+  ~ Copyright (c) 2008-2012 Salzburg Research.
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<configuration>
+
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <!-- encoders are assigned the type
+     ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
+        <encoder>
+<!--            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>  -->
+            <pattern>%d{HH:mm:ss.SSS} %-5level - %msg%n</pattern>
+<!--            <pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n</pattern> -->
+        </encoder>
+    </appender>
+
+    <logger name="kiwi.core" level="INFO" />
+
+    <logger name="kiwi.reasoner" level="INFO" />
+
+	<logger name="at.newmedialab.sn" level="TRACE" />
+    
+    <logger name="kiwi.social" level="TRACE" />
+
+    <logger name="org.hibernate" level="WARN" />
+    <!--
+    <logger name="org.hibernate.SQL" level="DEBUG" />
+    <logger name="org.hibernate.pretty" level="DEBUG" />
+    -->
+
+    <logger name="org.apache.solr" level="WARN" />
+
+    <logger name="org.quartz" level="WARN" />
+
+    <root level="info">
+        <appender-ref ref="STDOUT" />
+    </root>
+</configuration>

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/META-INF/jetty-web.xml
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/META-INF/jetty-web.xml b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/META-INF/jetty-web.xml
new file mode 100644
index 0000000..9f224a7
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/META-INF/jetty-web.xml
@@ -0,0 +1,28 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (C) 2013 Salzburg Research.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
+
+<Configure id="webAppCtx" class="org.mortbay.jetty.webapp.WebAppContext">
+   <Call class="org.jboss.weld.environment.jetty.WeldServletHandler" name="process">
+      <Arg><Ref id="webAppCtx"/></Arg>
+   </Call>
+</Configure>

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/jetty-web.xml
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/jetty-web.xml b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/jetty-web.xml
new file mode 100644
index 0000000..97940d8
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/jetty-web.xml
@@ -0,0 +1,53 @@
+<!--
+
+    Copyright (C) 2013 Salzburg Research.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<!--
+  ~ Copyright (c) 2012 Salzburg Research.
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN"
+   "http://jetty.mortbay.org/configure.dtd">
+
+<Configure id="webAppCtx" class="org.mortbay.jetty.webapp.WebAppContext">
+
+    <Array id="annotationConfig" type="java.lang.String">
+      <Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item>
+      <Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item>
+      <Item>org.mortbay.jetty.annotations.Configuration</Item> <!-- Enables annotation support -->
+      <Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item>
+      <Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item>
+    </Array>
+
+   <Call class="org.jboss.weld.environment.jetty.MortbayWeldServletHandler" name="process">
+      <Arg><Ref id="webAppCtx"/></Arg>
+   </Call>
+</Configure>

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/templates/404.ftl
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/templates/404.ftl b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/templates/404.ftl
new file mode 100644
index 0000000..0b70b47
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/templates/404.ftl
@@ -0,0 +1,88 @@
+<#--
+
+    Copyright (C) 2013 Salzburg Research.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+  <title>404 Not Found - LMF Linked Data Explorer</title>
+  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+  <script type="text/javascript" src="${baseUri}core/public/js/lib/jquery-1.7.2.js"></script>
+  <script type="text/javascript" src="${baseUri}core/public/js/lib/jquery-ui-1.8.21.js"></script>
+  <link href="${baseUri}core/public/style/style1.css" title="screen" rel="stylesheet" type="text/css" />
+  <link href="${baseUri}core/public/style/center.css" title="screen" rel="stylesheet" type="text/css" />  
+  <style type="text/css">
+    div#center {
+      float: none; 
+      width: auto; 
+      vertical-align: middle; 
+      min-height: 400px; 
+      margin: 0; 
+      padding: 2em 30% 5em 30%;
+    }
+    div#center > * {
+      margin-top: 2em;
+      font-size: 1.6em;
+    }
+    div#center > p > a > img {
+      vertical-align: text-top;
+      margin-left: 0.15em;
+    }
+  </style>  
+</head>
+
+<body>
+
+<div id="header">
+  <div id="logo">
+    <a href="${baseUri}">
+      <img src="${baseUri}core/public/img/lmf-white.png" alt="LMF" />
+    </a>
+  </div>
+  <h1>LMF Linked Data Explorer</h1>
+</div>
+
+<div id="center">
+
+  <h2>404 Not Found</h2>
+
+  <p>
+    <strong><a href="${baseUri}resource?uri=${encoded_uri}">${uri}</a></strong><a href="${uri}"><img src="${baseUri}core/public/img/link.png" alt="${uri}" title="go to ${uri} directly" /></a>
+  </p>
+  
+  <p>
+    Sorry, but the requested resource could not be found in LMF right now,
+    but may be available again in the future.
+  </p>  
+
+</div>
+
+<div id="footer" class="clear">
+    <span><abbr title="Linked Media Framework">LMF</abbr> is a project of <a href="http://www.newmedialab.at/">SNML-TNG</a></span>
+</div>
+
+<script type="text/javascript"> 
+
+  $(document).ready(function() {
+
+  });
+
+</script> 
+
+</body>
+
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/templates/admin.ftl
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/templates/admin.ftl b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/templates/admin.ftl
new file mode 100644
index 0000000..ac61f0b
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/templates/admin.ftl
@@ -0,0 +1,79 @@
+<#--
+
+    Copyright (C) 2013 Salzburg Research.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<!DOCTYPE html>
+<html>
+    <head>
+	    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+        <meta http-equiv="Default-Style" content="${DEFAULT_STYLE}">
+        <link href="${SERVER_URL}core/public/style/javadoc.css" rel="stylesheet" type="text/css" />
+	    <link href="${SERVER_URL}core/public/style/style1.css" title="screen" rel="stylesheet" type="text/css" />
+        <link href="${SERVER_URL}core/public/style/style2.css" title="beamer" rel="alternate stylesheet" type="text/css" />
+        <link href="${SERVER_URL}core/public/img/icon-small.ico" rel="SHORTCUT ICON">
+        <script type="text/javascript">
+            var _BASIC_URL = "${BASIC_URL}";
+            //use _SERVER_URL for webservice calls
+            var _SERVER_URL = "${SERVER_URL}";
+        </script>
+        <script type="text/javascript" src="${SERVER_URL}core/public/js/lib/jquery-1.7.2.js"></script>
+        <script type="text/javascript" src="${SERVER_URL}core/public/js/widgets/current-user.js"></script>
+        <script type="text/javascript">
+            $(function() {
+        	  new LMF.currentUserWidget(_SERVER_URL, document.getElementById("login_logout")).init();
+        	});
+        </script>
+        ${HEAD}
+        <title>LMF - The Linked Media Server</title>
+        <style type="text/css">
+        	#login_logout {
+				float: right;
+				margin: 5px;
+        	}
+        </style>
+    </head>
+    <body>
+        <a id="top-link" href="${SERVER_URL}">TOPLINK</a>
+        <div id="wrapper">
+            <div id="header">
+                <div id="logo">
+                    <a href="${SERVER_URL}"><img src="${SERVER_URL}core/public/img/lmf-white.png" /></a>
+                </div>
+                <div id="header_text">
+                	<h1>${CURRENT_TITLE}</h1>
+                	<div id="topnav">
+    	            	<div id="login_logout"></div>
+    	            </div>
+                </div>
+            </div>
+            <div class="clear"></div>
+            <div id="left">
+                ${MODULE_MENU}
+            </div>
+            <div id="center">
+                ${CONTENT}
+            </div>
+            <div class="clear"></div>
+            <div id="footer">
+                <span>
+                    <a href="http://lmf.googlecode.com">LMF</a> 
+                    is a project of 
+                    <a href="http://www.newmedialab.at/">SNML-TNG</a>
+                </span>
+            </div>
+        </div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/templates/rdfhtml.ftl
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/templates/rdfhtml.ftl b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/templates/rdfhtml.ftl
new file mode 100644
index 0000000..a874823
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/templates/rdfhtml.ftl
@@ -0,0 +1,295 @@
+<#--
+
+    Copyright (C) 2013 Salzburg Research.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<!DOCTYPE html>
+<html lang="en" prefix="${prefixMappings}">
+
+<head>
+  <title>Resource/s in HTML</title>
+  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+  <script type="text/javascript" src="${baseUri}core/public/js/lib/jquery-1.7.2.js"></script>
+  <script type="text/javascript" src="${baseUri}core/public/js/lib/jquery-ui-1.8.21.js"></script>
+  <link href="${baseUri}core/public/style/style1.css" title="screen" rel="stylesheet" type="text/css" />
+  <link href="${baseUri}core/public/style/rdfhtml.css" title="screen" rel="stylesheet" type="text/css" />
+  <link href="${baseUri}core/public/style/smoothness/jquery-ui-1.8.21.custom.css" title="screen" rel="stylesheet" type="text/css" />
+</head>
+
+<body>
+
+<div id="header">
+  <div id="logo">
+    <a href="${baseUri}">
+      <img src="${baseUri}core/public/img/lmf-white.png" alt="LMF" />
+    </a>
+  </div>
+  <h1>LMF Linked Data Explorer</h1>
+</div>
+
+<#function zebra index>
+  <#if (index % 2) == 0>
+    <#return "even" />
+  <#else>
+    <#return "odd" />
+  </#if>
+</#function>
+
+<#function cacheClass object>
+  <#if object.cache?has_content>
+    <#return "ldcache" />
+  <#else>
+    <#return "" />
+  </#if>
+</#function>
+
+<#function rdfaAttributes object>
+  <#return "${rdfaDatatype(object)} ${rdfaLanguage(object)}" />
+</#function>
+
+<#function rdfaDatatype object>
+  <#if object.datatype?has_content>
+    <#return "datatype=\"${object.datatype}\"" />
+  <#else>
+    <#return "" />
+  </#if>
+</#function>
+
+<#function rdfaLanguage object>
+  <#if object.lang?has_content>
+    <#return "lang=\"${object.lang}\"" />
+  <#else>
+    <#return "" />
+  </#if>
+</#function>
+
+<div id="tabs">
+
+    <ul>
+    
+        <li><a href="#tab-raw-triples">raw triples</a></li>
+        
+        <#if resources?size = 1>
+        <li><a href="#tab-inspection">inspection</a></li>
+        </#if>  
+        
+    </ul>
+    
+    <div id="tab-raw-triples">
+   
+        <#if resources?has_content>
+          <#list resources as resource>
+            <div class="subheader">
+              <h3>Local description of <a href="${resource.uri}" class="ldcache">${resource.uri}</a>:</h3>
+            </div>
+            <table>
+              <tr class="trClassHeader">
+                <th>property</th>
+                <th>has value</th>
+                <th>context</th>
+                <th id="info">info</th>
+              </tr>
+              <#list resource.triples as triple>
+              <tr class="${zebra(triple_index)}">
+                <td><a href="${triple.predicate.uri}" class="ldcache">${triple.predicate.curie}</a></td>
+                <td about="${resource.uri}">
+                <#if triple.object.uri?has_content>
+                <a rel="${triple.predicate.curie}" href="${triple.object.uri}" class="${cacheClass(triple.object)}">${triple.object.curie}</a>
+                <#else> 
+                <span property="${triple.predicate.curie}" ${rdfaAttributes(triple.object)}>${triple.object.value}</span>
+                </#if>
+                </td>
+                <td><a href="${triple.context.curie}">${triple.context.curie}</a></td>
+                <td>${triple.info}</td>
+              </tr>
+              </#list>
+            </table>
+            <p id="rawrdf">
+              Get this resource in raw RDF: 
+              <a href="${baseUri}resource?uri=${resource.encoded_uri}&amp;format=application/rdf%2Bxml">RDF/XML</a>, 
+              <a href="${baseUri}resource?uri=${resource.encoded_uri}&amp;format=text/rdf%2Bn3">N3</a>, 
+              <a href="${baseUri}resource?uri=${resource.encoded_uri}&amp;format=text/turtle">Turtle</a>, 
+              <a href="${baseUri}resource?uri=${resource.encoded_uri}&amp;format=application/rdf%2Bjson">RDF/JSON</a>, 
+              <a href="${baseUri}resource?uri=${resource.encoded_uri}&amp;format=application/json">JSON-LD</a>
+            </p>
+          </#list>
+        <#else> 
+          <div class='subheader'>
+            <h3>No local triples to display!</h3>
+          </div>
+        </#if>   
+        
+    </div>
+    
+    <#if resources?size = 1>
+    <div id="tab-inspection">
+        <div class="subheader">
+            <h3>Inspection of <a href="${resources[0].uri}" class="ldcache">${resources[0].uri}</a>:</h3>
+        </div>
+        <div class="introspectionDetails">
+            <h4><a href="${resources[0].uri}" class="ldcache">${resources[0].uri}</a> as Subject</h4>
+            <button id="s0">|&lt;</button>
+            <button id="s1">&lt;</button>
+        	<button id="s2">&gt;</button>
+        	<button id="s3">+</button>
+        	<button id="s4">-</button>
+        	<table id="inspect_subject">
+        	  <tr class="trClassHeader">
+        	    <th>Subject</th>
+        	    <th>Property</th>
+        	    <th>Object</th>
+        	    <th>Context<th>
+        	  </tr>
+        	</table>
+        </div>
+        <div class="introspectionDetails">
+            <h4><a href="${resources[0].uri}" class="ldcache">${resources[0].uri}</a> as Property</h4>
+        	<table id="inspect_property">
+              <tr class="trClassHeader">
+                <th>Subject</th>
+                <th>Property</th>
+                <th>Object</th>
+                <th>Context<th>
+              </tr>
+        	</table>
+        </div>
+        <div class="introspectionDetails">
+            <h4><a href="${resources[0].uri}" class="ldcache">${resources[0].uri}</a> as Object</h4>
+        	<table id="inspect_object">
+              <tr class="trClassHeader">
+                <th>Subject</th>
+                <th>Property</th>
+                <th>Object</th>
+                <th>Context<th>
+              </tr>
+        	</table>
+        </div>
+        <!--
+        <div class="introspectionDetails">
+            <h4><a href="${resources[0].uri}" class="ldcache">${resources[0].uri}</a> as Context</h4>
+        	<table id="inspect_context">
+              <tr class="trClassHeader">
+                <th>Subject</th>
+                <th>Property</th>
+                <th>Object</th>
+                <th>Context<th>
+              </tr>
+        	</table>
+        </div>
+        -->
+    </div>
+    </#if>   
+    
+</div>
+
+<div id="footer" class="clear">
+    <span><abbr title="Linked Media Framework">LMF</abbr> is a project of <a href="http://www.newmedialab.at/">SNML-TNG</a></span>
+</div>
+
+<script type="text/javascript"> 
+
+  $(document).ready(function() {
+
+    $("div#tabs").tabs();
+    
+    $("a.ldcache").each(function(index) { 
+      $(this).click(function() { 
+        window.location.href = "${baseUri}resource?uri=" + encodeURIComponent($(this).attr("href")); 
+        return false; 
+      }); 
+    });    
+    
+    function loader(uri, type, target) {
+        function linkify(text) {
+            var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
+            return text.replace(exp,"<a href='$1' class='ldcache'>$1</a>"); 
+        }
+        function zebra(index) {
+             return ( index % 2 ? "even": "odd" );
+        }                
+        function createRow(data, cssClass) {
+            return $("<tr>", {})
+                .append($("<td>", {html: linkify(data.s)}))
+                .append($("<td>", {html: linkify(data.p)}))
+                .append($("<td>", {html: linkify(data.o)}))
+                .append($("<td>", {html: linkify(data.c)}))
+                .addClass(cssClass);
+        }
+        return {
+            resource: uri,
+            target: $(target),
+            offset: 0,
+            limit: 10,
+            fetch: function() {
+                var self = this;
+                $.getJSON("${baseUri}inspect/" + type, {uri: self.resource, start: self.offset, limit: self.limit}, function(data) {
+                    //self.target.empty();
+                    for( var i in data) {
+                        var t = data[i];
+                        self.target.append(createRow(t, zebra(i)));                                     
+                    }
+                });
+            },
+            next: function(step) {
+                step = step || this.limit;
+                this.offset += step;
+                this.fetch();
+            },
+            prev: function(step) {
+                step = step || this.limit
+                this.offset = Math.max(this.offset - step, 0);
+                this.fetch();
+            },
+            more: function() {
+                this.limit += 5;
+                this.fetch();
+            },
+            less: function() {
+                this.limit = Math.max(this.limit - 5, 5);
+                this.fetch();
+            },
+            first: function() {
+                this.offset = 0;
+                this.fetch();
+            }
+        };
+    }    
+    
+    <#if resources?size = 1>
+    var subj = $("table#inspect_subject tbody");
+    var subjLoader = new loader("${resources[0].uri}", "subject", subj);
+    subjLoader.fetch();
+    $("#s0").click(function() {subjLoader.first();});
+    $("#s1").click(function() {subjLoader.prev();});
+    $("#s2").click(function() {subjLoader.next();});
+    $("#s3").click(function() {subjLoader.more();});
+    $("#s4").click(function() {subjLoader.less();});
+
+    var prop = $("table#inspect_property tbody");
+    var propLoader = new loader("${resources[0].uri}", "predicate", prop);
+    propLoader.fetch();
+
+    var obj = $("table#inspect_object tbody");
+    var objLoader = new loader("${resources[0].uri}", "object", obj);
+    objLoader.fetch();    
+    </#if> 
+
+  });
+
+</script> 
+
+</body>
+
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..fd0d24b
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,186 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright (C) 2013 Salzburg Research.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<web-app version="2.5"
+         xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+
+
+    <!-- enable LMF custom JNDI implementation -->
+    <listener>
+        <listener-class>kiwi.core.jndi.LMFJndiListener</listener-class>
+    </listener>
+
+
+    <!-- enable CDI / Weld for dependency injection -->
+    <listener>
+       <listener-class>org.jboss.weld.environment.servlet.Listener</listener-class>
+    </listener>
+
+
+    <!-- Initialise the KiWi system -->
+    <listener>
+        <listener-class>kiwi.core.servlet.KiWiPreStartupListener</listener-class>
+    </listener>
+
+
+    <!-- RESTeasy Webservices -->
+    <listener>
+      <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
+    </listener>
+
+    <!--
+        specifies the LMF home directory; overridden by environment variable LMF_HOME or system property kiwi.home
+    -->
+    <context-param>
+        <param-name>kiwi.home</param-name>
+        <param-value>/tmp/lmf</param-value>
+    </context-param>
+
+    <!--
+        this filter performs startup configurations for first installation
+    -->
+    <filter>
+        <filter-name>KiWiPreStartupFilter</filter-name>
+        <filter-class>kiwi.core.servlet.KiWiPreStartupFilter</filter-class>
+    </filter>
+    <filter-mapping>
+        <filter-name>KiWiPreStartupFilter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+
+
+    <!-- handle OPTIONS requests -->
+    <filter>
+      <filter-name>LMFOptionsFilter</filter-name>
+      <filter-class>kiwi.core.servlet.LMFOptionsFilter</filter-class>
+    </filter>
+    <filter-mapping>
+        <filter-name>LMFOptionsFilter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+
+
+    <!-- Serve static resources from file system and from .jar files of the respective modules -->
+    <filter>
+        <filter-name>KiWiResourceFilter</filter-name>
+        <filter-class>kiwi.core.servlet.KiWiResourceFilter</filter-class>
+        <init-param>
+            <!-- cache resources loaded from module jar files? -->
+            <param-name>kiwi.resourceCaching</param-name>
+            <param-value>true</param-value>
+        </init-param>
+    </filter>
+    <filter-mapping>
+        <filter-name>KiWiResourceFilter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+
+    <filter>
+      <filter-name>KiWiTransactionFilter</filter-name>
+      <filter-class>kiwi.core.servlet.KiWiTransactionFilter</filter-class>
+    </filter>
+    <filter-mapping>
+        <filter-name>KiWiTransactionFilter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+
+
+
+    <!-- H2 Configuration -->
+    <filter>
+      <filter-name>KiWiH2ConsoleFilter</filter-name>
+      <filter-class>kiwi.core.servlet.KiWiH2ConsoleFilter</filter-class>
+    </filter>
+    <filter-mapping>
+        <filter-name>KiWiH2ConsoleFilter</filter-name>
+        <url-pattern>/database/*</url-pattern>
+    </filter-mapping>
+	<servlet>
+		<servlet-name>H2Console</servlet-name>
+		<servlet-class>org.h2.server.web.WebServlet</servlet-class>
+		<init-param> <param-name>webAllowOthers</param-name> <param-value>true</param-value> </init-param>
+		<!--	<init-param> <param-name>trace</param-name> <param-value></param-value> </init-param> -->
+		<load-on-startup>1</load-on-startup>
+	</servlet>
+	<servlet-mapping>
+		<servlet-name>H2Console</servlet-name>
+		<url-pattern>/database/*</url-pattern>
+	</servlet-mapping>
+	
+
+     <mime-mapping>
+       <extension>.xsl</extension>
+       <!-- per http://www.w3.org/TR/2006/PR-xslt20-20061121/ -->
+       <mime-type>application/xslt+xml</mime-type>
+     </mime-mapping>
+
+
+    <servlet>
+        <servlet-name>ViewStatusMessages</servlet-name>
+        <servlet-class>ch.qos.logback.classic.ViewStatusMessagesServlet</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>ViewStatusMessages</servlet-name>
+        <url-pattern>/logging/status</url-pattern>
+    </servlet-mapping>
+
+
+    <filter>
+        <filter-name>KiWi Webservices</filter-name>
+        <filter-class>
+            org.jboss.resteasy.plugins.server.servlet.FilterDispatcher
+        </filter-class>
+        <init-param>
+            <param-name>javax.ws.rs.Application</param-name>
+            <param-value>kiwi.core.webservices.CoreApplication</param-value>
+        </init-param>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>KiWi Webservices</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+    
+    <context-param>
+        <param-name>resteasy.injector.factory</param-name>
+        <param-value>org.jboss.resteasy.cdi.CdiInjectorFactory</param-value>
+    </context-param>
+
+    <filter>
+        <filter-name>KiWiPostStartupFilter</filter-name>
+        <filter-class>
+            kiwi.core.servlet.KiWiPostStartupFilter
+        </filter-class>
+    </filter>
+    <filter-mapping>
+        <filter-name>KiWiPostStartupFilter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+
+</web-app>

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/index.jsp
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/index.jsp b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/index.jsp
new file mode 100644
index 0000000..c9f0e9c
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/index.jsp
@@ -0,0 +1,41 @@
+<%--
+
+    Copyright (C) 2013 Salzburg Research.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+--%>
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<%@ page import="kiwi.core.api.config.ConfigurationService" %>
+<%@ page import="kiwi.core.util.KiWiContext" %>
+<%--
+  ~ Copyright (c) 2012 Salzburg Research.
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  --%>
+<%
+    ConfigurationService configurationService = KiWiContext.getInstance(ConfigurationService.class);
+    response.sendRedirect(configurationService.getBaseUri()+configurationService.getStringConfiguration("kiwi.pages.startup"));
+%>

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/75439f3a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/search/test_luke.html
----------------------------------------------------------------------
diff --git a/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/search/test_luke.html b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/search/test_luke.html
new file mode 100644
index 0000000..9dd6d2d
--- /dev/null
+++ b/build/archetypes/marmotta-archetype-webapp/src/main/resources/archetype-resources/src/main/webapp/search/test_luke.html
@@ -0,0 +1,42 @@
+<!--
+
+    Copyright (C) 2013 Salzburg Research.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+        "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <script type="text/javascript" src="javascripts/jquery.min.js"></script>
+    <title></title>
+    <script type="text/javascript">
+          ${symbol_dollar}(document).ready(function(){
+              ${symbol_dollar}.getJSON("../solr/skos/admin/luke?show=schema&wt=json",function(data){
+                   var fields = [];
+                  for(var property in data.schema.fields) {
+                     fields.push(property);
+                  }
+                  console.log(fields);
+              })
+          })
+    </script>
+</head>
+<body>
+
+</body>
+</html>
\ No newline at end of file