You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by an...@apache.org on 2020/09/01 18:31:02 UTC

[sling-org-apache-sling-kickstart] branch master updated: Added the latest Sling features from the Starter and moved the final FM / FAR file into a default folder

This is an automated email from the ASF dual-hosted git repository.

andysch pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-kickstart.git


The following commit(s) were added to refs/heads/master by this push:
     new 9b80e36  Added the latest Sling features from the Starter and moved the final FM / FAR file into a default folder
9b80e36 is described below

commit 9b80e36fdb09b0f6db60b6a003f2162cb5c62af0
Author: Andreas Schaefer <sc...@iMac.local>
AuthorDate: Tue Sep 1 11:30:45 2020 -0700

    Added the latest Sling features from the Starter and moved the final FM / FAR file into a default folder
---
 pom.xml                                            | 142 ++++++++++---
 .../sling/kickstart/app/KickstartStarter.java      |   5 +-
 src/main/resources/default/.keep.folder.alive      |   1 +
 .../app/composum.json}                             |  16 +-
 .../app/slingshot.json}                            |   1 -
 src/main/resources/features/app/starter.json       |   8 +
 .../sling_sling.json => features/base.json}        | 231 ++++++++-------------
 .../boot.json}                                     | 130 +++++++++++-
 .../caconfig.json}                                 |   1 -
 .../discovery.json}                                |   1 -
 .../event.json}                                    |   1 -
 .../healthcheck.json}                              |  11 +-
 .../models-jacksonexporter.json}                   |  10 +-
 src/main/resources/features/oak/oak_base.json      | 212 +++++++++++++++++++
 .../oak/persistence/oak_persistence_mongods.json   |  18 ++
 .../oak/persistence/oak_persistence_sns.json       |  13 ++
 .../scripting.json}                                |  21 +-
 .../validation.json}                               |   1 -
 src/main/resources/features/webconsole.json        |  66 ++++++
 src/main/resources/standalone/boot_boot.json       | 134 ------------
 src/main/resources/standalone/oak_oak.json         | 124 -----------
 .../resources/standalone/repoinit_repoinit.json    |  74 -------
 .../standalone/standalone_standalone.json          |  16 --
 src/main/resources/standalone/webapp_webapp.json   |   4 -
 24 files changed, 658 insertions(+), 583 deletions(-)

diff --git a/pom.xml b/pom.xml
index 5b6af84..916ff36 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,7 +40,7 @@
         <sling.java.version>8</sling.java.version>
 
         <sling-kickstart-maven-plugin.version>0.0.6</sling-kickstart-maven-plugin.version>
-        <slingfeature-maven-plugin.version>1.3.4</slingfeature-maven-plugin.version>
+        <slingfeature-maven-plugin.version>1.3.14</slingfeature-maven-plugin.version>
 
         <picocli.version>3.9.6</picocli.version>
         <org.apache.sling.feature.launcher.version>1.1.4</org.apache.sling.feature.launcher.version>
@@ -55,6 +55,13 @@
 
         <IT.expected.bundles.count>126</IT.expected.bundles.count>
         <block.sling.at.the.end>false</block.sling.at.the.end>
+
+        <!-- versions to be replaced in the feature files -->
+        <jackrabbit.version>2.20.0</jackrabbit.version>
+        <oak.version>1.32.0</oak.version>
+        <slf4j.version>1.7.25</slf4j.version>
+        <composum.nodes.version>1.12.0</composum.nodes.version>
+        <jackson.version>2.11.1</jackson.version>
     </properties>
 
     <build>
@@ -121,48 +128,107 @@
                 <version>${slingfeature-maven-plugin.version}</version>
                 <extensions>true</extensions>
                 <configuration>
-                    <features>src/main/resources/standalone</features>
+                    <features>src/main/resources/features</features>
+                    <replacePropertyVariables>jackrabbit.version,oak.version,slf4j.version,composum.nodes.version,jackson.version</replacePropertyVariables>
+                    <framework>
+                        <groupId>org.apache.felix</groupId>
+                        <artifactId>org.apache.felix.framework</artifactId>
+                        <version>6.0.3</version>
+                    </framework>
+                    <aggregates>
+                        <aggregate>
+                            <classifier>oak_tar</classifier>
+                            <filesInclude>*.json</filesInclude>
+                            <filesInclude>oak/*.json</filesInclude>
+                            <filesInclude>oak/persistence/oak_persistence_sns.json</filesInclude>
+                            <filesInclude>app/*.json</filesInclude>
+                            <title>Sling With Oak Segment NS Persistence</title>
+                        </aggregate>
+                        <aggregate>
+                            <classifier>oak_mongo</classifier>
+                            <filesInclude>*.json</filesInclude>
+                            <filesInclude>oak/*.json</filesInclude>
+                            <filesInclude>oak/persistence/oak_persistence_mongods.json</filesInclude>
+                            <filesInclude>app/*.json</filesInclude>
+                            <title>Sling With Oak Document NS Mongo Persistence</title>
+                        </aggregate>
+                        <aggregate>
+                            <classifier>nosample_base</classifier>
+                            <filesInclude>*.json</filesInclude>
+                            <filesInclude>oak/*.json</filesInclude>
+                            <title>Sling With No Samples and No Persistence</title>
+                        </aggregate>
+                    </aggregates>
+                    <scans>
+                        <scan>
+                            <includeClassifier>oak_tar</includeClassifier>
+                            <includeClassifier>oak_mongo</includeClassifier>
+                            <includeClassifier>nosample_base</includeClassifier>
+                        </scan>
+                    </scans>
+                    <archives>
+                        <archive>
+                            <classifier>oak_tar_far</classifier>
+                            <includeClassifier>oak_tar</includeClassifier>
+                        </archive>
+                        <archive>
+                            <classifier>oak_mongo_far</classifier>
+                            <includeClassifier>oak_mongo</includeClassifier>
+                        </archive>
+                    </archives>
                 </configuration>
                 <executions>
                     <execution>
-                        <id>aggregate-base-sling-feature</id>
+                        <id>aggregate-features</id>
                         <phase>compile</phase>
                         <goals>
                             <goal>aggregate-features</goal>
-                        </goals>
-                        <configuration>
-                            <aggregates>
-                                <aggregate>
-                                    <classifier>sling12</classifier>
-                                    <filesInclude>**/*.json</filesInclude>
-                                    <title>Sling 12 Feature Model</title>
-                                </aggregate>
-                            </aggregates>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>install-feature</id>
-                        <phase>compile</phase>
-                        <goals>
+                            <goal>analyse-features</goal>
                             <goal>attach-features</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>create-sling-feature-archives</id>
-                        <phase>compile</phase>
-                        <goals>
                             <goal>attach-featurearchives</goal>
                         </goals>
-                        <configuration>
-                            <archives>
-                                <archive>
-                                    <classifier>sling12far</classifier>
-                                    <includeClassifier>sling12</includeClassifier>
-                                </archive>
-                            </archives>
-                        </configuration>
                     </execution>
                 </executions>
+<!--                <executions>-->
+<!--                    <execution>-->
+<!--                        <id>aggregate-base-sling-feature</id>-->
+<!--                        <phase>compile</phase>-->
+<!--                        <goals>-->
+<!--                            <goal>aggregate-features</goal>-->
+<!--                        </goals>-->
+<!--                        <configuration>-->
+<!--                            <aggregates>-->
+<!--                                <aggregate>-->
+<!--                                    <classifier>sling12</classifier>-->
+<!--                                    <filesInclude>**/*.json</filesInclude>-->
+<!--                                    <title>Sling 12 Feature Model</title>-->
+<!--                                </aggregate>-->
+<!--                            </aggregates>-->
+<!--                        </configuration>-->
+<!--                    </execution>-->
+<!--                    <execution>-->
+<!--                        <id>install-feature</id>-->
+<!--                        <phase>compile</phase>-->
+<!--                        <goals>-->
+<!--                            <goal>attach-features</goal>-->
+<!--                        </goals>-->
+<!--                    </execution>-->
+<!--                    <execution>-->
+<!--                        <id>create-sling-feature-archives</id>-->
+<!--                        <phase>compile</phase>-->
+<!--                        <goals>-->
+<!--                            <goal>attach-featurearchives</goal>-->
+<!--                        </goals>-->
+<!--                        <configuration>-->
+<!--                            <archives>-->
+<!--                                <archive>-->
+<!--                                    <classifier>sling12far</classifier>-->
+<!--                                    <includeClassifier>sling12</includeClassifier>-->
+<!--                                </archive>-->
+<!--                            </archives>-->
+<!--                        </configuration>-->
+<!--                    </execution>-->
+<!--                </executions>-->
             </plugin>
             <!-- Take out the version to avoid having to update that in the code -->
             <plugin>
@@ -177,8 +243,16 @@
                             <goal>copy</goal>
                         </goals>
                         <configuration>
-                            <sourceFile>${project.build.directory}/${project.artifactId}-${project.version}-sling12far.far</sourceFile>
-                            <destinationFile>${project.build.outputDirectory}/org.apache.sling.kickstart.far</destinationFile>
+                            <fileSets>
+                                <fileSet>
+                                    <sourceFile>${project.build.directory}/${project.artifactId}-${project.version}-oak_tar_far.far</sourceFile>
+                                    <destinationFile>${project.build.outputDirectory}/default/org.apache.sling.kickstart.far</destinationFile>
+                                </fileSet>
+                                <fileSet>
+                                    <sourceFile>${project.build.directory}/slingfeature-tmp/feature-oak_tar.json</sourceFile>
+                                    <destinationFile>${project.build.outputDirectory}/default/org.apache.sling-12.json</destinationFile>
+                                </fileSet>
+                            </fileSets>
                         </configuration>
                     </execution>
                 </executions>
diff --git a/src/main/java/org/apache/sling/kickstart/app/KickstartStarter.java b/src/main/java/org/apache/sling/kickstart/app/KickstartStarter.java
index a58488f..44c8197 100644
--- a/src/main/java/org/apache/sling/kickstart/app/KickstartStarter.java
+++ b/src/main/java/org/apache/sling/kickstart/app/KickstartStarter.java
@@ -18,7 +18,6 @@ package org.apache.sling.kickstart.app;
 
 import java.io.File;
 import java.io.FileWriter;
-import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URISyntaxException;
 import java.net.URL;
@@ -125,10 +124,10 @@ public class KickstartStarter implements Runnable, ControlTarget {
     private static final String PROP_HOST = "org.apache.felix.http.host";
 
     /** Path to default Sling Feature Model file **/
-    private static final String DEFAULT_SLING_FEATURE_MODEL_FILE_PATH = "/standalone/feature-sling12.json";
+    private static final String DEFAULT_SLING_FEATURE_MODEL_FILE_PATH = "/default/org.apache.sling-12.json";
 
     /** Path to default Sling Feature Model feature archive **/
-    private static final String DEFAULT_SLING_FEATURE_ARCHIVE_PATH = "/org.apache.sling.kickstart.far";
+    private static final String DEFAULT_SLING_FEATURE_ARCHIVE_PATH = "/default/org.apache.sling.kickstart.far";
 
     private boolean started = false;
 
diff --git a/src/main/resources/default/.keep.folder.alive b/src/main/resources/default/.keep.folder.alive
new file mode 100644
index 0000000..fe7db52
--- /dev/null
+++ b/src/main/resources/default/.keep.folder.alive
@@ -0,0 +1 @@
+This file is here to make sure Maven is copying it to the target
\ No newline at end of file
diff --git a/src/main/resources/standalone/composum_composum-nodes.json b/src/main/resources/features/app/composum.json
similarity index 78%
rename from src/main/resources/standalone/composum_composum-nodes.json
rename to src/main/resources/features/app/composum.json
index 207cef0..d0ae8b5 100644
--- a/src/main/resources/standalone/composum_composum-nodes.json
+++ b/src/main/resources/features/app/composum.json
@@ -1,28 +1,24 @@
 
 {
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:composum_composum-nodes:${project.version}",
-    "variables":{
-        "composum.nodes.version":"1.11.5"
-    },
     "bundles":[
         {
-            "id":"com.composum.sling.core:composum-sling-core-commons:1.11.5",
+            "id":"com.composum.sling.core:composum-sling-core-commons:${composum.nodes.version}",
             "start-order":"20"
         },
         {
-            "id":"com.composum.sling.core:composum-sling-core-console:1.11.5",
+            "id":"com.composum.sling.core:composum-sling-core-console:${composum.nodes.version}",
             "start-order":"20"
         },
         {
-            "id":"com.composum.sling.core:composum-sling-core-jslibs:1.11.5",
+            "id":"com.composum.sling.core:composum-sling-core-jslibs:${composum.nodes.version}",
             "start-order":"20"
         },
         {
-            "id":"com.composum.sling.core:composum-sling-package-manager:1.11.5",
+            "id":"com.composum.sling.core:composum-sling-package-manager:${composum.nodes.version}",
             "start-order":"20"
         },
         {
-            "id":"com.composum.sling.core:composum-sling-user-management:1.11.5",
+            "id":"com.composum.sling.core:composum-sling-user-management:${composum.nodes.version}",
             "start-order":"20"
         }
     ],
@@ -36,4 +32,4 @@
             "whitelist.name":"composum"
         }
     }
-}
\ No newline at end of file
+}
diff --git a/src/main/resources/standalone/sling_slingshot.json b/src/main/resources/features/app/slingshot.json
similarity index 92%
rename from src/main/resources/standalone/sling_slingshot.json
rename to src/main/resources/features/app/slingshot.json
index 4ae7cb7..62350eb 100644
--- a/src/main/resources/standalone/sling_slingshot.json
+++ b/src/main/resources/features/app/slingshot.json
@@ -1,6 +1,5 @@
 
 {
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:sling_slingshot:${project.version}",
     "bundles":[
         {
             "id":"org.apache.sling:org.apache.sling.sample.slingshot:0.9.0",
diff --git a/src/main/resources/features/app/starter.json b/src/main/resources/features/app/starter.json
new file mode 100644
index 0000000..89de216
--- /dev/null
+++ b/src/main/resources/features/app/starter.json
@@ -0,0 +1,8 @@
+{
+    "bundles": [
+        {
+            "id":"org.apache.sling:org.apache.sling.starter.content:1.0.8",
+            "start-order":"20"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/src/main/resources/standalone/sling_sling.json b/src/main/resources/features/base.json
similarity index 71%
rename from src/main/resources/standalone/sling_sling.json
rename to src/main/resources/features/base.json
index 7a69e5f..eb88b40 100644
--- a/src/main/resources/standalone/sling_sling.json
+++ b/src/main/resources/features/base.json
@@ -1,17 +1,13 @@
 
 {
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:sling:${project.version}",
-    "variables":{
-        "jackrabbit.version":"2.20.0"
-    },
     "bundles":[
         {
             "id":"commons-codec:commons-codec:1.14",
-            "start-order":"20"
+            "start-order":"5"
         },
         {
             "id":"commons-collections:commons-collections:3.2.2",
-            "start-order":"20"
+            "start-order":"15"
         },
         {
             "id":"javax.mail:mail:1.5.0-b01",
@@ -19,7 +15,7 @@
         },
         {
             "id":"org.apache.commons:commons-collections4:4.4",
-            "start-order":"20"
+            "start-order":"15"
         },
         {
             "id":"org.apache.commons:commons-math:2.2",
@@ -31,15 +27,11 @@
         },
         {
             "id":"org.apache.httpcomponents:httpclient-osgi:4.5.10",
-            "start-order":"20"
+            "start-order":"15"
         },
         {
             "id":"org.apache.httpcomponents:httpcore-osgi:4.4.12",
-            "start-order":"20"
-        },
-        {
-            "id":"org.apache.jackrabbit.vault:org.apache.jackrabbit.vault:3.4.4",
-            "start-order":"20"
+            "start-order":"15"
         },
         {
             "id":"org.apache.sling:org.apache.sling.adapter:2.1.10",
@@ -58,16 +50,16 @@
             "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.commons.compiler:2.3.6",
+            "id":"org.apache.sling:org.apache.sling.commons.compiler:2.4.0",
             "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.commons.fsclassloader:1.0.12",
+            "id":"org.apache.sling:org.apache.sling.commons.fsclassloader:1.0.14",
             "start-order":"20"
         },
         {
             "id":"org.apache.sling:org.apache.sling.commons.mime:2.2.2",
-            "start-order":"20"
+            "start-order":"15"
         },
         {
             "id":"org.apache.sling:org.apache.sling.commons.scheduler:2.7.6",
@@ -75,7 +67,7 @@
         },
         {
             "id":"org.apache.sling:org.apache.sling.commons.threads:3.2.20",
-            "start-order":"20"
+            "start-order":"15"
         },
         {
             "id":"org.apache.sling:org.apache.sling.engine:2.7.2",
@@ -90,10 +82,6 @@
             "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.installer.console:1.1.0",
-            "start-order":"20"
-        },
-        {
             "id":"org.apache.sling:org.apache.sling.installer.factory.packages:1.0.4",
             "start-order":"20"
         },
@@ -102,18 +90,6 @@
             "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.installer.provider.jcr:3.2.2",
-            "start-order":"20"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.jcr.contentloader:2.3.0",
-            "start-order":"20"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.jcr.resource:3.0.20",
-            "start-order":"20"
-        },
-        {
             "id":"org.apache.sling:org.apache.sling.models.api:1.3.8",
             "start-order":"20"
         },
@@ -126,12 +102,8 @@
             "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.serviceuser.webconsole:1.0.2",
-            "start-order":"20"
-        },
-        {
             "id":"org.apache.sling:org.apache.sling.serviceusermapper:1.4.4",
-            "start-order":"20"
+            "start-order":"15"
         },
         {
             "id":"org.apache.sling:org.apache.sling.servlets.get:2.1.40",
@@ -142,15 +114,11 @@
             "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.servlets.resolver:2.6.4",
+            "id":"org.apache.sling:org.apache.sling.servlets.resolver:2.7.8",
             "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.starter.content:1.0.8",
-            "start-order":"20"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.xss:2.2.2",
+            "id":"org.apache.sling:org.apache.sling.xss:2.2.6",
             "start-order":"20"
         },
         {
@@ -158,10 +126,6 @@
             "start-order":"4"
         },
         {
-            "id":"org.apache.felix:org.apache.felix.scr:2.1.20",
-            "start-order":"4"
-        },
-        {
             "id":"commons-fileupload:commons-fileupload:1.4",
             "start-order":"5"
         },
@@ -186,39 +150,23 @@
             "start-order":"5"
         },
         {
-            "id":"org.apache.felix:org.apache.felix.http.whiteboard:4.0.0",
+            "id":"org.apache.felix:org.apache.felix.http.jetty:4.0.18",
             "start-order":"5"
         },
         {
-            "id":"org.apache.felix:org.apache.felix.inventory:1.0.6",
+            "id":"org.apache.felix:org.apache.felix.http.servlet-api:1.1.2",
             "start-order":"5"
         },
         {
-            "id":"org.apache.felix:org.apache.felix.prefs:1.1.0",
-            "start-order":"5"
-        },
-        {
-            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.ds:2.1.0",
-            "start-order":"5"
-        },
-        {
-            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.event:1.1.8",
-            "start-order":"5"
-        },
-        {
-            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.memoryusage:1.0.10",
-            "start-order":"5"
-        },
-        {
-            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.obr:1.0.4",
+            "id":"org.apache.felix:org.apache.felix.http.whiteboard:4.0.0",
             "start-order":"5"
         },
         {
-            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.packageadmin:1.0.4",
+            "id":"org.apache.felix:org.apache.felix.inventory:1.0.6",
             "start-order":"5"
         },
         {
-            "id":"org.apache.felix:org.apache.felix.webconsole:4.5.0",
+            "id":"org.apache.felix:org.apache.felix.prefs:1.1.0",
             "start-order":"5"
         },
         {
@@ -226,11 +174,7 @@
             "start-order":"5"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.auth.core:1.4.6",
-            "start-order":"5"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.commons.log.webconsole:1.0.0",
+            "id":"org.apache.sling:org.apache.sling.auth.core:1.4.8",
             "start-order":"5"
         },
         {
@@ -238,14 +182,6 @@
             "start-order":"5"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.extensions.webconsolebranding:1.0.2",
-            "start-order":"5"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.extensions.webconsolesecurityprovider:1.2.4",
-            "start-order":"5"
-        },
-        {
             "id":"org.apache.felix:org.apache.felix.http.sslfilter:1.2.6",
             "start-order":"10"
         },
@@ -270,80 +206,28 @@
             "start-order":"10"
         },
         {
-            "id":"com.google.guava:guava:15.0",
-            "start-order":"15"
-        },
-        {
             "id":"io.dropwizard.metrics:metrics-core:3.2.6",
             "start-order":"15"
         },
         {
-            "id":"org.apache.jackrabbit:jackrabbit-data:2.20.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:jackrabbit-jcr-commons:2.20.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:jackrabbit-jcr-rmi:2.20.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:jackrabbit-spi-commons:2.20.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:jackrabbit-spi:2.20.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:jackrabbit-webdav:2.20.0",
-            "start-order":"15"
-        },
-        {
             "id":"org.apache.sling:org.apache.sling.commons.metrics:1.2.8",
             "start-order":"15"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.jcr.api:2.4.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.jcr.base:3.1.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.jcr.davex:1.3.10",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.accessmanager:3.0.4",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.usermanager:2.2.8",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.jcr.jcr-wrapper:2.0.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.jcr.registration:1.0.6",
+            "id":"org.apache.sling:org.apache.sling.resource.filter:1.0.0",
             "start-order":"15"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.jcr.webconsole:1.0.2",
-            "start-order":"15"
+            "id":"org.apache.sling:org.apache.sling.provisioning.model:1.8.6",
+            "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.jcr.webdav:2.3.8",
-            "start-order":"15"
+            "id":"org.apache.sling:org.apache.sling.repoinit.parser:1.6.2",
+            "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.resource.filter:1.0.0",
-            "start-order":"15"
+            "id":"org.apache.sling:org.apache.sling.jcr.repoinit:1.1.24",
+            "start-order":"20"
         }
     ],
     "configurations":{
@@ -390,16 +274,13 @@
                 "org.apache.sling.discovery.commons",
                 "org.apache.sling.discovery.base",
                 "org.apache.sling.discovery.oak",
-                "org.apache.sling.extensions.webconsolesecurityprovider",
                 "org.apache.sling.i18n",
                 "org.apache.sling.jcr.base",
                 "org.apache.sling.jcr.contentloader",
                 "org.apache.sling.jcr.jackrabbit.usermanager",
                 "org.apache.sling.jcr.oak.server",
                 "org.apache.sling.jcr.repoinit",
-                "org.apache.sling.jcr.webconsole",
-                "org.apache.sling.servlets.post",
-                "org.apache.sling.serviceuser.webconsole"
+                "org.apache.sling.servlets.post"
             ],
             "whitelist.name":"sling"
         },
@@ -447,5 +328,61 @@
                 "org.apache.sling.xss=sling-xss"
             ]
         }
-    }
-}
\ No newline at end of file
+    },
+    "repoinit:TEXT|true":[
+        "# general",
+        "create path (sling:OrderedFolder) /content",
+        "set ACL for everyone",
+        "allow   jcr:read   on /content",
+        "end",
+        "",
+        "# sling-mapping",
+        "create service user sling-mapping",
+        "",
+        "set ACL for sling-mapping",
+        "allow   jcr:read    on /",
+        "end",
+        "",
+        "# sling-readall",
+        "create service user sling-readall",
+        "",
+        "set ACL for sling-readall",
+        "allow   jcr:read    on /",
+        "end",
+        "",
+        "# sling-xss",
+        "create service user sling-xss",
+        "",
+        "create path (sling:Folder) /apps/sling/xss",
+        "",
+        "set ACL for sling-xss",
+        "allow   jcr:read    on /apps/sling/xss",
+        "end",
+        "",
+        "# sling-i18n",
+        "create service user sling-i18n",
+        "",
+        "set ACL for sling-i18n",
+        "allow   jcr:read    on /",
+        "end",
+        "",
+        "# sling-jcr-install",
+        "create service user sling-jcr-install",
+        "",
+        "# used for config OSGi writeback",
+        "create path (sling:Folder) /apps/sling/install",
+        "",
+        "set ACL for sling-jcr-install",
+        "allow    jcr:read    on    /",
+        "allow    rep:write    on /apps/sling/install",
+        "end",
+        "",
+        "# content-package installer",
+        "create service user sling-package-install",
+        "",
+        "set ACL for sling-package-install",
+        "allow    jcr:all     on    /",
+        "allow   jcr:namespaceManagement,jcr:nodeTypeDefinitionManagement on :repository",
+        "end"
+    ]
+}
diff --git a/src/main/resources/standalone/launchpad_launchpad.json b/src/main/resources/features/boot.json
similarity index 83%
rename from src/main/resources/standalone/launchpad_launchpad.json
rename to src/main/resources/features/boot.json
index e2f50d0..ab52b1a 100644
--- a/src/main/resources/standalone/launchpad_launchpad.json
+++ b/src/main/resources/features/boot.json
@@ -1,13 +1,135 @@
 
 {
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:launchpad:${project.version}",
     "bundles":[
         {
-            "id":"org.apache.sling:org.apache.sling.launchpad.base:6.0.2-2.6.36",
-            "start-order":"20"
+            "id":"org.apache.aries:org.apache.aries.util:1.1.3",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.commons:commons-lang3:3.9",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.configadmin:1.9.16",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.converter:1.0.14",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.eventadmin:1.5.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.geronimo.specs:geronimo-annotation_1.3_spec:1.1",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.geronimo.specs:geronimo-atinject_1.0_spec:1.1",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:1.1.3",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.jaxb-impl:2.2.11_1",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.saaj-impl:1.3.23_2",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.2:2.9.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.2:2.9.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.saaj-api-1.3:2.8.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.johnzon:1.2.4",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.log:5.1.12",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.logservice:1.1.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.osgi:2.4.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.core:3.11.2",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.factory.configuration:1.3.2",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.provider.file:1.3.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.javax.activation:0.1.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.settings:1.4.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.jvnet.staxex:stax-ex:1.7.6",
+            "start-order":"1"
+        },
+        {
+            "id":"org.osgi:org.osgi.service.log:1.4.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.osgi:org.osgi.util.function:1.1.0",
+            "start-order":"1"
+        },
+        {
+            "id":"org.osgi:org.osgi.util.promise:1.1.1",
+            "start-order":"1"
+        },
+        {
+            "id":"org.osgi:org.osgi.util.pushstream:1.0.1",
+            "start-order":"1"
+        },
+        {
+            "id":"org.slf4j:jcl-over-slf4j:${slf4j.version}",
+            "start-order":"1"
+        },
+        {
+            "id":"org.slf4j:log4j-over-slf4j:${slf4j.version}",
+            "start-order":"1"
+        },
+        {
+            "id":"org.slf4j:slf4j-api:${slf4j.version}",
+            "start-order":"1"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.scr:2.1.20",
+            "start-order":"1"
         }
+
     ],
     "framework-properties":{
+        "localIndexDir":"${sling.home}/repository/index",
+        "repository.home":"${sling.home}/repository",
         "sling.jre.java.xml":",javax.xml;version=\"2.1.0\",javax.xml.datatype;uses:=\"javax.xml.namespace\";version=\"2.1.0\",javax.xml.namespace;version=\"2.1.0\",javax.xml.parsers;uses:=\"javax.xml.validation,org.w3c.dom,org.xml.sax,org.xml.sax.helpers\";version=\"2.1.0\",javax.xml.stream;uses:=\"javax.xml.namespace,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform\";version=\"1.0.0\",javax.xml.stream.events;uses:=\"javax.xml.namespace,javax.xml.stream\";version=\"1.0.0 [...]
         "felix.systempackages.calculate.uses":"true",
         "org.osgi.framework.system.packages":"org.osgi.framework;version=\"1.9\",org.osgi.framework.dto;version=\"1.8\";uses:=\"org.osgi.dto\",org.osgi.framework.hooks.bundle;version=\"1.1\";uses:=\"org.osgi.framework\",org.osgi.framework.hooks.resolver;version=\"1.0\";uses:=\"org.osgi.framework.wiring\",org.osgi.framework.hooks.service;version=\"1.1\";uses:=\"org.osgi.framework\",org.osgi.framework.hooks.weaving;version=\"1.1\";uses:=\"org.osgi.framework.wiring\",org.osgi.framework.laun [...]
@@ -16,4 +138,4 @@
         "sling.jpms.java.xml":"{dollar}{sling.jre.java.xml},javax.xml.catalog;uses:=\"javax.xml.namespace\";version=\"1.0.0\"",
         "sling.jre-1.8":",java.applet;version=\"{dollar}{felix.detect.java.version}\",java.awt;version=\"{dollar}{felix.detect.java.version}\",java.awt.color;version=\"{dollar}{felix.detect.java.version}\",java.awt.datatransfer;version=\"{dollar}{felix.detect.java.version}\",java.awt.dnd;version=\"{dollar}{felix.detect.java.version}\",java.awt.event;version=\"{dollar}{felix.detect.java.version}\",java.awt.font;version=\"{dollar}{felix.detect.java.version}\",java.awt.geom;version=\"{dolla [...]
     }
-}
\ No newline at end of file
+}
diff --git a/src/main/resources/standalone/sling-caconfig_sling-caconfig.json b/src/main/resources/features/caconfig.json
similarity index 87%
rename from src/main/resources/standalone/sling-caconfig_sling-caconfig.json
rename to src/main/resources/features/caconfig.json
index 4ba599a..36ac153 100644
--- a/src/main/resources/standalone/sling-caconfig_sling-caconfig.json
+++ b/src/main/resources/features/caconfig.json
@@ -1,6 +1,5 @@
 
 {
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:sling-caconfig:${project.version}",
     "bundles":[
         {
             "id":"org.apache.sling:org.apache.sling.caconfig.api:1.2.0",
diff --git a/src/main/resources/standalone/sling-discovery_sling-discovery.json b/src/main/resources/features/discovery.json
similarity index 93%
rename from src/main/resources/standalone/sling-discovery_sling-discovery.json
rename to src/main/resources/features/discovery.json
index 578264b..52bf85f 100644
--- a/src/main/resources/standalone/sling-discovery_sling-discovery.json
+++ b/src/main/resources/features/discovery.json
@@ -1,6 +1,5 @@
 
 {
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:sling-discovery:${project.version}",
     "bundles":[
         {
             "id":"org.apache.sling:org.apache.sling.discovery.api:1.0.4",
diff --git a/src/main/resources/standalone/sling-event_sling-event.json b/src/main/resources/features/event.json
similarity index 89%
rename from src/main/resources/standalone/sling-event_sling-event.json
rename to src/main/resources/features/event.json
index f77d97d..2d96d7d 100644
--- a/src/main/resources/standalone/sling-event_sling-event.json
+++ b/src/main/resources/features/event.json
@@ -1,6 +1,5 @@
 
 {
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:sling-event:${project.version}",
     "bundles":[
         {
             "id":"org.apache.sling:org.apache.sling.event.dea:1.1.4",
diff --git a/src/main/resources/standalone/healthcheck_healthcheck.json b/src/main/resources/features/healthcheck.json
similarity index 92%
rename from src/main/resources/standalone/healthcheck_healthcheck.json
rename to src/main/resources/features/healthcheck.json
index ea961fa..e4b9271 100644
--- a/src/main/resources/standalone/healthcheck_healthcheck.json
+++ b/src/main/resources/features/healthcheck.json
@@ -1,21 +1,16 @@
 
 {
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:healthcheck:${project.version}",
     "bundles":[
         {
-            "id":"org.apache.felix:org.apache.felix.healthcheck.api:2.0.2",
+            "id":"org.apache.felix:org.apache.felix.healthcheck.api:2.0.4",
             "start-order":"5"
         },
         {
-            "id":"org.apache.felix:org.apache.felix.healthcheck.core:2.0.6",
+            "id":"org.apache.felix:org.apache.felix.healthcheck.core:2.0.8",
             "start-order":"5"
         },
         {
-            "id":"org.apache.felix:org.apache.felix.healthcheck.generalchecks:2.0.4",
-            "start-order":"5"
-        },
-        {
-            "id":"org.apache.felix:org.apache.felix.healthcheck.webconsoleplugin:2.0.0",
+            "id":"org.apache.felix:org.apache.felix.healthcheck.generalchecks:2.0.6",
             "start-order":"5"
         },
         {
diff --git a/src/main/resources/standalone/sling-models-jacksonexporter_models-jacksonexporter.json b/src/main/resources/features/models-jacksonexporter.json
similarity index 52%
rename from src/main/resources/standalone/sling-models-jacksonexporter_models-jacksonexporter.json
rename to src/main/resources/features/models-jacksonexporter.json
index d8b0094..57ebae3 100644
--- a/src/main/resources/standalone/sling-models-jacksonexporter_models-jacksonexporter.json
+++ b/src/main/resources/features/models-jacksonexporter.json
@@ -1,20 +1,16 @@
 
 {
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:sling-models-jacksonexporter_models-jacksonexporter:${project.version}",
-    "variables":{
-        "jackson.version":"2.9.9"
-    },
     "bundles":[
         {
-            "id":"com.fasterxml.jackson.core:jackson-annotations:2.9.9",
+            "id":"com.fasterxml.jackson.core:jackson-annotations:${jackson.version}",
             "start-order":"20"
         },
         {
-            "id":"com.fasterxml.jackson.core:jackson-core:2.9.9",
+            "id":"com.fasterxml.jackson.core:jackson-core:${jackson.version}",
             "start-order":"20"
         },
         {
-            "id":"com.fasterxml.jackson.core:jackson-databind:2.9.9",
+            "id":"com.fasterxml.jackson.core:jackson-databind:${jackson.version}",
             "start-order":"20"
         },
         {
diff --git a/src/main/resources/features/oak/oak_base.json b/src/main/resources/features/oak/oak_base.json
new file mode 100644
index 0000000..307ef21
--- /dev/null
+++ b/src/main/resources/features/oak/oak_base.json
@@ -0,0 +1,212 @@
+
+{
+    "bundles":[
+        {
+            "id":"org.apache.felix:org.apache.felix.jaas:1.0.2",
+            "start-order":"10"
+        },
+        {
+            "id":"com.google.guava:guava:15.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-data:${jackrabbit.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-jcr-commons:${jackrabbit.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-jcr-rmi:${jackrabbit.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-spi-commons:${jackrabbit.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-spi:${jackrabbit.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:jackrabbit-webdav:${jackrabbit.version}",
+            "start-order":"15"
+        },        
+        {
+            "id":"org.apache.jackrabbit:oak-api:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-blob-plugins:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-blob:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-commons:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-core-spi:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-core:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-jackrabbit-api:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-jcr:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-lucene:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-query-spi:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-security-spi:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-store-composite:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-store-document:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-store-spi:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.jackrabbit:oak-authorization-principalbased:${oak.version}",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.api:2.4.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.base:3.1.4",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.davex:1.3.10",
+            "start-order":"15"
+        },        
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.jcr-wrapper:2.0.0",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.registration:1.0.6",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.webdav:2.3.8",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.oak.server:1.2.6",
+            "start-order":"16"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.resource:3.0.22",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.provider.jcr:3.3.0",
+            "start-order":"20"
+        },    
+        {
+            "id":"org.apache.jackrabbit.vault:org.apache.jackrabbit.vault:3.4.6",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.contentloader:2.3.0",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.accessmanager:3.0.6",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.usermanager:2.2.10",
+            "start-order":"20"
+        }
+    ],
+    "configurations":{
+        "org.apache.felix.jaas.ConfigurationSpi":{
+            "jaas.defaultRealmName":"jackrabbit.oak",
+            "jaas.configProviderName":"FelixJaasProvider"
+        },
+        "org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl":{
+            "org.apache.jackrabbit.oak.authentication.configSpiName":"FelixJaasProvider"
+        },
+        "org.apache.jackrabbit.oak.security.user.RandomAuthorizableNodeName":{
+            "length:Integer":"21"
+        },
+        "org.apache.jackrabbit.oak.security.user.UserConfigurationImpl":{
+            "groupsPath":"/home/groups",
+            "defaultDepth":"1",
+            "importBehavior":"besteffort",
+            "usersPath":"/home/users"
+        },
+        "org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl":{
+            "importBehavior":"besteffort"
+        },
+        "org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider":{
+            "userPrivilegeNames":[
+                "jcr:all"
+            ],
+            "groupPrivilegeNames":[
+                "jcr:read"
+            ],
+            "enabledActions":[
+                "org.apache.jackrabbit.oak.spi.security.user.action.AccessControlAction"
+            ]
+        },
+        "org.apache.felix.jaas.Configuration.factory~GuestLoginModule":{
+            "jaas.controlFlag":"optional",
+            "jaas.classname":"org.apache.jackrabbit.oak.spi.security.authentication.GuestLoginModule",
+            "jaas.ranking:Integer":"300"
+        },
+        "org.apache.felix.jaas.Configuration.factory~LoginModuleImpl":{
+            "jaas.controlFlag":"required",
+            "jaas.classname":"org.apache.jackrabbit.oak.security.authentication.user.LoginModuleImpl"
+        },
+        "org.apache.felix.jaas.Configuration.factory~TokenLoginModule":{
+            "jaas.controlFlag":"sufficient",
+            "jaas.classname":"org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule",
+            "jaas.ranking:Integer":"200"
+        },
+        "org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.PrincipalBasedAuthorizationConfiguration":{
+            "enableAggregationFilter":true
+        },
+        "org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.FilterProviderImpl":{
+            "path":"/home/users/system/sling"
+        },
+        "org.apache.jackrabbit.oak.security.internal.SecurityProviderRegistration":{
+            "requiredServicePids":[
+                "org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl",
+                "org.apache.jackrabbit.oak.security.principal.PrincipalConfigurationImpl",
+                "org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl",
+                "org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider",
+                "org.apache.jackrabbit.oak.security.authorization.restriction.RestrictionProviderImpl",
+                "org.apache.jackrabbit.oak.security.user.UserAuthenticationFactoryImpl",
+                "org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl.PrincipalBasedAuthorizationConfiguration"
+            ]
+         }
+    }
+}
diff --git a/src/main/resources/features/oak/persistence/oak_persistence_mongods.json b/src/main/resources/features/oak/persistence/oak_persistence_mongods.json
new file mode 100644
index 0000000..aef067c
--- /dev/null
+++ b/src/main/resources/features/oak/persistence/oak_persistence_mongods.json
@@ -0,0 +1,18 @@
+{
+    "bundles":[
+         {
+             "id":"com.h2database:h2-mvstore:1.4.194",
+             "start-order":"15"
+        },
+        {
+             "id":"org.mongodb:mongo-java-driver:3.8.2",
+             "start-order":"15"
+         }
+    ],
+    "configurations":{
+        "org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService":{
+            "db":"sling",
+            "mongouri":"mongodb://localhost:27017"
+         }
+    }
+}
\ No newline at end of file
diff --git a/src/main/resources/features/oak/persistence/oak_persistence_sns.json b/src/main/resources/features/oak/persistence/oak_persistence_sns.json
new file mode 100644
index 0000000..f852165
--- /dev/null
+++ b/src/main/resources/features/oak/persistence/oak_persistence_sns.json
@@ -0,0 +1,13 @@
+{
+    "bundles":[
+        {
+            "id":"org.apache.jackrabbit:oak-segment-tar:${oak.version}",
+            "start-order":"15"
+        }
+    ],
+    "configurations":{
+        "org.apache.jackrabbit.oak.segment.SegmentNodeStoreService":{
+            "name":"Default NodeStore"
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/main/resources/standalone/scripting_sling.json b/src/main/resources/features/scripting.json
similarity index 87%
rename from src/main/resources/standalone/scripting_sling.json
rename to src/main/resources/features/scripting.json
index 11a013b..45c4205 100644
--- a/src/main/resources/standalone/scripting_sling.json
+++ b/src/main/resources/features/scripting.json
@@ -1,6 +1,5 @@
 
 {
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:scripting_sling:${project.version}",
     "bundles":[
         {
             "id":"org.antlr:antlr4-runtime:4.7.2",
@@ -15,7 +14,7 @@
             "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.scripting.core:2.2.0",
+            "id":"org.apache.sling:org.apache.sling.scripting.core:2.3.2",
             "start-order":"20"
         },
         {
@@ -35,23 +34,19 @@
             "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.scripting.jsp:2.4.2",
+            "id":"org.apache.sling:org.apache.sling.scripting.jsp:2.5.0",
             "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler.java:1.1.4-1.4.0",
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler.java:1.2.0-1.4.0",
             "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler:1.2.4-1.4.0",
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler:1.2.6-1.4.0",
             "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.scripting.sightly.js.provider:1.1.0",
-            "start-order":"20"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.scripting.sightly.models.provider:1.0.10",
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly.js.provider:1.2.0",
             "start-order":"20"
         },
         {
@@ -59,11 +54,11 @@
             "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.scripting.sightly.runtime:1.2.0-1.4.0",
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly.runtime:1.2.2-1.4.0",
             "start-order":"20"
         },
         {
-            "id":"org.apache.sling:org.apache.sling.scripting.sightly:1.3.2-1.4.0",
+            "id":"org.apache.sling:org.apache.sling.scripting.sightly:1.4.2-1.4.0",
             "start-order":"20"
         }
     ],
@@ -93,4 +88,4 @@
         "end",
         "# SLING-5848 - Define service user and ACLs for Scripting >>>"
     ]
-}
\ No newline at end of file
+}
diff --git a/src/main/resources/standalone/sling-validation_sling-validation.json b/src/main/resources/features/validation.json
similarity index 90%
rename from src/main/resources/standalone/sling-validation_sling-validation.json
rename to src/main/resources/features/validation.json
index 5ba7e5f..4fac69a 100644
--- a/src/main/resources/standalone/sling-validation_sling-validation.json
+++ b/src/main/resources/features/validation.json
@@ -1,6 +1,5 @@
 
 {
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:sling-validation:${project.version}",
     "bundles":[
         {
             "id":"org.apache.sling:org.apache.sling.models.validation-impl:1.0.0",
diff --git a/src/main/resources/features/webconsole.json b/src/main/resources/features/webconsole.json
new file mode 100644
index 0000000..06156c5
--- /dev/null
+++ b/src/main/resources/features/webconsole.json
@@ -0,0 +1,66 @@
+{
+    "bundles": [
+        {
+            "id":"org.apache.felix:org.apache.felix.webconsole:4.5.0",
+            "start-order":"5"
+        },    
+        {
+            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.ds:2.1.0",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.event:1.1.8",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.memoryusage:1.0.10",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.obr:1.0.4",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.webconsole.plugins.packageadmin:1.0.4",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.commons.log.webconsole:1.0.0",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.extensions.webconsolebranding:1.0.2",
+            "start-order":"5"
+        },
+        {
+            "id":"org.apache.felix:org.apache.felix.healthcheck.webconsoleplugin:2.0.2",
+            "start-order":"5"
+        },       
+        {
+            "id":"org.apache.sling:org.apache.sling.extensions.webconsolesecurityprovider:1.2.4",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.jcr.webconsole:1.0.2",
+            "start-order":"15"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.serviceuser.webconsole:1.0.2",
+            "start-order":"20"
+        },
+        {
+            "id":"org.apache.sling:org.apache.sling.installer.console:1.1.0",
+            "start-order":"20"
+        }
+    ],
+    "configurations": {
+        "org.apache.sling.jcr.base.internal.LoginAdminWhitelist.fragment~webconsole":{
+            "whitelist.bundles":[
+                "org.apache.sling.extensions.webconsolesecurityprovider",
+                "org.apache.sling.jcr.webconsole",
+                "org.apache.sling.serviceuser.webconsole"
+            ],
+            "whitelist.name":"webconsole"
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/main/resources/standalone/boot_boot.json b/src/main/resources/standalone/boot_boot.json
deleted file mode 100644
index 7a92503..0000000
--- a/src/main/resources/standalone/boot_boot.json
+++ /dev/null
@@ -1,134 +0,0 @@
-
-{
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:boot:${project.version}",
-    "variables":{
-        "slf4j.version":"1.7.25"
-    },
-    "bundles":[
-        {
-            "id":"org.apache.aries:org.apache.aries.util:1.1.3",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.commons:commons-lang3:3.9",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.felix:org.apache.felix.configadmin:1.9.16",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.felix:org.apache.felix.converter:1.0.14",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.felix:org.apache.felix.eventadmin:1.5.0",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.geronimo.specs:geronimo-annotation_1.3_spec:1.1",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.geronimo.specs:geronimo-atinject_1.0_spec:1.1",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:1.1.3",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.jaxb-impl:2.2.11_1",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.saaj-impl:1.3.23_2",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.2:2.9.0",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.2:2.9.0",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.saaj-api-1.3:2.8.0",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.commons.johnzon:1.2.2",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.commons.log:5.1.10",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.commons.logservice:1.1.0",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.commons.osgi:2.4.0",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.installer.core:3.11.2",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.installer.factory.configuration:1.3.2",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.installer.provider.file:1.2.2",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.javax.activation:0.1.0",
-            "start-order":"1"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.settings:1.3.10",
-            "start-order":"1"
-        },
-        {
-            "id":"org.jvnet.staxex:stax-ex:1.7.6",
-            "start-order":"1"
-        },
-        {
-            "id":"org.osgi:org.osgi.service.log:1.4.0",
-            "start-order":"1"
-        },
-        {
-            "id":"org.osgi:org.osgi.util.function:1.1.0",
-            "start-order":"1"
-        },
-        {
-            "id":"org.osgi:org.osgi.util.promise:1.1.1",
-            "start-order":"1"
-        },
-        {
-            "id":"org.osgi:org.osgi.util.pushstream:1.0.1",
-            "start-order":"1"
-        },
-        {
-            "id":"org.slf4j:jcl-over-slf4j:1.7.25",
-            "start-order":"1"
-        },
-        {
-            "id":"org.slf4j:log4j-over-slf4j:1.7.25",
-            "start-order":"1"
-        },
-        {
-            "id":"org.slf4j:slf4j-api:1.7.25",
-            "start-order":"1"
-        }
-    ],
-    "framework-properties":{
-        "sling.run.mode.install.options":"oak_tar,oak_mongo",
-        "localIndexDir":"${sling.home}/repository/index",
-        "repository.home":"${sling.home}/repository"
-    }
-}
\ No newline at end of file
diff --git a/src/main/resources/standalone/oak_oak.json b/src/main/resources/standalone/oak_oak.json
deleted file mode 100644
index 29ae41e..0000000
--- a/src/main/resources/standalone/oak_oak.json
+++ /dev/null
@@ -1,124 +0,0 @@
-
-{
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:oak:${project.version}",
-    "variables":{
-        "oak.version":"1.26.0"
-    },
-    "bundles":[
-        {
-            "id":"org.apache.felix:org.apache.felix.jaas:1.0.2",
-            "start-order":"10"
-        },
-        {
-            "id":"org.apache.jackrabbit:oak-api:1.26.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:oak-blob-plugins:1.26.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:oak-blob:1.26.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:oak-commons:1.26.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:oak-core-spi:1.26.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:oak-core:1.26.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:oak-jackrabbit-api:1.26.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:oak-jcr:1.26.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:oak-lucene:1.26.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:oak-query-spi:1.26.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:oak-security-spi:1.26.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:oak-store-composite:1.26.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:oak-store-document:1.26.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.jackrabbit:oak-store-spi:1.26.0",
-            "start-order":"15"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.jcr.oak.server:1.2.4",
-            "start-order":"16"
-        },
-        {
-            "id":"org.apache.jackrabbit:oak-segment-tar:1.26.0",
-            "run-modes":"oak_tar",
-            "start-order":"15"
-        }
-    ],
-    "configurations":{
-        "org.apache.felix.jaas.ConfigurationSpi":{
-            "jaas.defaultRealmName":"jackrabbit.oak",
-            "jaas.configProviderName":"FelixJaasProvider"
-        },
-        "org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl":{
-            "org.apache.jackrabbit.oak.authentication.configSpiName":"FelixJaasProvider"
-        },
-        "org.apache.jackrabbit.oak.security.user.RandomAuthorizableNodeName":{
-            "length:Integer":"21"
-        },
-        "org.apache.jackrabbit.oak.security.user.UserConfigurationImpl":{
-            "groupsPath":"/home/groups",
-            "defaultDepth":"1",
-            "importBehavior":"besteffort",
-            "usersPath":"/home/users"
-        },
-        "org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider":{
-            "userPrivilegeNames":[
-                "jcr:all"
-            ],
-            "groupPrivilegeNames":[
-                "jcr:read"
-            ],
-            "enabledActions":[
-                "org.apache.jackrabbit.oak.spi.security.user.action.AccessControlAction"
-            ]
-        },
-        "org.apache.felix.jaas.Configuration.factory~GuestLoginModule":{
-            "jaas.controlFlag":"optional",
-            "jaas.classname":"org.apache.jackrabbit.oak.spi.security.authentication.GuestLoginModule",
-            "jaas.ranking:Integer":"300"
-        },
-        "org.apache.felix.jaas.Configuration.factory~LoginModuleImpl":{
-            "jaas.controlFlag":"required",
-            "jaas.classname":"org.apache.jackrabbit.oak.security.authentication.user.LoginModuleImpl"
-        },
-        "org.apache.felix.jaas.Configuration.factory~TokenLoginModule":{
-            "jaas.controlFlag":"sufficient",
-            "jaas.classname":"org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule",
-            "jaas.ranking:Integer":"200"
-        },
-        "org.apache.jackrabbit.oak.segment.SegmentNodeStoreService":{
-            "name":"Default NodeStore"
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/main/resources/standalone/repoinit_repoinit.json b/src/main/resources/standalone/repoinit_repoinit.json
deleted file mode 100644
index 7b06f85..0000000
--- a/src/main/resources/standalone/repoinit_repoinit.json
+++ /dev/null
@@ -1,74 +0,0 @@
-
-{
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:repoinit:${project.version}",
-    "bundles":[
-        {
-            "id":"org.apache.sling:org.apache.sling.jcr.repoinit:1.1.20",
-            "start-order":"20"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.provisioning.model:1.8.4",
-            "start-order":"20"
-        },
-        {
-            "id":"org.apache.sling:org.apache.sling.repoinit.parser:1.4.2",
-            "start-order":"20"
-        }
-    ],
-    "repoinit:TEXT|true":[
-        "# general",
-        "create path (sling:OrderedFolder) /content",
-        "set ACL for everyone",
-        "allow   jcr:read\ton /content",
-        "end",
-        "",
-        "# sling-mapping",
-        "create service user sling-mapping",
-        "",
-        "set ACL for sling-mapping",
-        "allow   jcr:read    on /",
-        "end",
-        "",
-        "# sling-readall",
-        "create service user sling-readall",
-        "",
-        "set ACL for sling-readall",
-        "allow   jcr:read    on /",
-        "end",
-        "",
-        "# sling-xss",
-        "create service user sling-xss",
-        "",
-        "create path (sling:Folder) /apps/sling/xss",
-        "",
-        "set ACL for sling-xss",
-        "allow   jcr:read    on /apps/sling/xss",
-        "end",
-        "",
-        "# sling-i18n",
-        "create service user sling-i18n",
-        "",
-        "set ACL for sling-i18n",
-        "allow   jcr:read    on /",
-        "end",
-        "",
-        "# sling-jcr-install",
-        "create service user sling-jcr-install",
-        "",
-        "# used for config OSGi writeback",
-        "create path (sling:Folder) /apps/sling/install",
-        "",
-        "set ACL for sling-jcr-install",
-        "allow\tjcr:read\ton\t/",
-        "allow\trep:write\ton /apps/sling/install",
-        "end",
-        "",
-        "# content-package installer",
-        "create service user sling-package-install",
-        "",
-        "set ACL for sling-package-install",
-        "allow\tjcr:all     on\t/",
-        "allow   jcr:namespaceManagement,jcr:nodeTypeDefinitionManagement on :repository",
-        "end"
-    ]
-}
\ No newline at end of file
diff --git a/src/main/resources/standalone/standalone_standalone.json b/src/main/resources/standalone/standalone_standalone.json
deleted file mode 100644
index 41ebaff..0000000
--- a/src/main/resources/standalone/standalone_standalone.json
+++ /dev/null
@@ -1,16 +0,0 @@
-
-{
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:standalone:${project.version}",
-    "bundles":[
-        {
-            "id":"org.apache.felix:org.apache.felix.http.jetty:4.0.18",
-            "run-modes":":standalone",
-            "start-order":"5"
-        },
-        {
-            "id":"org.apache.felix:org.apache.felix.http.servlet-api:1.1.2",
-            "run-modes":":standalone",
-            "start-order":"5"
-        }
-    ]
-}
\ No newline at end of file
diff --git a/src/main/resources/standalone/webapp_webapp.json b/src/main/resources/standalone/webapp_webapp.json
deleted file mode 100644
index 2a0970e..0000000
--- a/src/main/resources/standalone/webapp_webapp.json
+++ /dev/null
@@ -1,4 +0,0 @@
-
-{
-    "id":"${project.groupId}:${project.artifactId}:slingfeature:webapp:${project.version}"
-}
\ No newline at end of file