sling-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dk...@apache.org
Subject [sling-whiteboard] branch master updated: Revising to use CA Configs rather than custom configurations in /etc
Date Wed, 02 May 2018 20:16:37 GMT
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
     new 310b4d1  Revising to use CA Configs rather than custom configurations in /etc
310b4d1 is described below

commit 310b4d1e5d16c206969545cbe7af6857a2ee9c8e
Author: Dan Klco <daniel.klco@gmail.com>
AuthorDate: Wed May 2 16:16:30 2018 -0400

    Revising to use CA Configs rather than custom configurations in /etc
---
 cms/builder/src/main/provisioning/composum.txt     |   2 +-
 cms/builder/src/main/provisioning/oak.txt          |   4 +-
 cms/builder/src/main/provisioning/repoinit.txt     |   2 +-
 cms/builder/src/main/provisioning/scripting.txt    |   2 +-
 .../src/main/provisioning/sling-caconfig.txt       |   2 +-
 .../src/main/provisioning/sling-discovery.txt      |   6 +-
 cms/builder/src/main/provisioning/sling.txt        |  56 +++---
 cms/builder/src/main/provisioning/standalone.txt   |   2 +-
 .../components/general/breadcrumb/breadcrumb.jsp   |  16 +-
 .../components/general/breadcrumb}/edit.json       |  20 +--
 .../apps/reference/components/pages/base/body.jsp  |   2 +-
 cms/ui/pom.xml                                     |   2 +-
 .../resources/SLING-INF/nodetypes/nodetypes.cnd    |   4 +-
 .../src/main/resources/jcr_root/conf/global.json   | 199 +++++++++++++++++++++
 .../jcr_root/etc/fileeditors/general.json          |  59 ------
 .../jcr_root/etc/fileeditors/jcr%3Acontent.json    |   4 -
 .../components/cms/contentnav/contentnav.jsp       |   9 +-
 .../parameter.jsp => editconfig/editconfig.jsp}    |   7 +-
 .../libs/sling-cms/components/cms/fileeditor.json  |   5 -
 .../sling-cms/components/cms/fileeditorconfig.json |   5 +
 .../config/config.jsp}                             |   2 +-
 .../config}/edit.json                              |   8 +-
 .../cms/fileeditorconfig/fileeditorconfig.jsp      |   3 +-
 .../cms/fileeditorinclude/fileeditorinclude.jsp    |   9 +-
 .../components/cms/pagetemplate/pagetemplate.jsp   |   3 -
 .../sling-cms/components/cms/parameter/edit.json   |  23 ---
 .../libs/sling-cms/components/cms/siteconfig.json  |   5 +
 .../components/cms/siteconfig/siteconfig.jsp       |  13 +-
 .../cms/templateeditor/templateeditor.jsp          |   5 +
 .../sling-cms/components/editor/fields/select.json |   4 +-
 .../components/editor/fields/select/edit.json      |   7 +
 .../components/editor/fields/textarea.json         |   4 +-
 .../editor/scripts/configResourceTypeOptions.jsp}  |  23 +--
 .../editor/scripts/pageTemplateOptions.jsp         |  10 +-
 .../libs/sling-cms/content/config/create.json      |  21 +--
 .../libs/sling-cms/content/config/edit.json        | 100 +----------
 .../libs/sling-cms/content/config/list.json        |  79 +++++++-
 .../createeditor.json => config/metadata.json}     |  21 +--
 .../sling-cms/content/file/configureeditor.json    |  21 ---
 .../libs/sling-cms/content/file/editors.json       |  95 ----------
 .../libs/sling-cms/content/site/create.json        |  11 +-
 .../content/site/{create.json => creategroup.json} |  42 ++---
 .../jcr_root/libs/sling-cms/content/site/edit.json |  11 +-
 .../createeditor.json => site/editgroup.json}      |  28 ++-
 .../libs/sling-cms/content/site/sites.json         | 160 +++++++++++++++++
 .../libs/sling-cms/content/siteconfig/editor.json  |  94 ++++++++++
 .../jcr_root/libs/sling-cms/content/start.json     |  27 ++-
 47 files changed, 727 insertions(+), 510 deletions(-)

diff --git a/cms/builder/src/main/provisioning/composum.txt b/cms/builder/src/main/provisioning/composum.txt
index 5570214..48b9343 100644
--- a/cms/builder/src/main/provisioning/composum.txt
+++ b/cms/builder/src/main/provisioning/composum.txt
@@ -27,4 +27,4 @@
   com.composum.sling.core/composum-sling-core-jslibs/${composum.version}
   com.composum.sling.core/composum-sling-user-management/${composum.version}
   com.composum.sling.core/composum-sling-package-manager/${composum.version}
-  org.apache.jackrabbit.vault/org.apache.jackrabbit.vault/3.1.30
+  org.apache.jackrabbit.vault/org.apache.jackrabbit.vault/3.1.42
diff --git a/cms/builder/src/main/provisioning/oak.txt b/cms/builder/src/main/provisioning/oak.txt
index ba48c6e..5d2675c 100644
--- a/cms/builder/src/main/provisioning/oak.txt
+++ b/cms/builder/src/main/provisioning/oak.txt
@@ -20,7 +20,7 @@
 [feature name=oak]
 
 [variables]
-    oak.version=1.6.7
+    oak.version=1.6.8
 
 # The segment node store is used via a configuration
 [artifacts startLevel=10]
@@ -38,7 +38,7 @@
 
 [artifacts startLevel=15 runModes=oak_mongo]
     org.mongodb/mongo-java-driver/3.4.1
-    com.h2database/h2-mvstore/1.4.194
+    com.h2database/h2-mvstore/1.4.196
 
 # start the Oak server instance after all components have been configured
 # and started to avoid restarting that component ( see SLING-4556 )
diff --git a/cms/builder/src/main/provisioning/repoinit.txt b/cms/builder/src/main/provisioning/repoinit.txt
index 4597d45..9e1227b 100644
--- a/cms/builder/src/main/provisioning/repoinit.txt
+++ b/cms/builder/src/main/provisioning/repoinit.txt
@@ -27,7 +27,7 @@
     # general
     create path (sling:OrderedFolder) /content
     set ACL for everyone
-        allow   jcr:read	on /
+        allow   jcr:read	on /content
     end
 
     # sling-mapping
diff --git a/cms/builder/src/main/provisioning/scripting.txt b/cms/builder/src/main/provisioning/scripting.txt
index a1ebe75..b98b172 100644
--- a/cms/builder/src/main/provisioning/scripting.txt
+++ b/cms/builder/src/main/provisioning/scripting.txt
@@ -33,7 +33,7 @@
     org.apache.sling/org.apache.sling.scripting.sightly.js.provider/1.0.26
     org.apache.sling/org.apache.sling.scripting.sightly.models.provider/1.0.6
     org.apache.sling/org.apache.sling.scripting.sightly.repl/1.0.4
-    org.apache.servicemix.bundles/org.apache.servicemix.bundles.rhino/1.7.7.1_1
+    org.apache.servicemix.bundles/org.apache.servicemix.bundles.rhino/1.7.7.2_1
 
 [:repoinit]
     #<<< SLING-5848 - Define service user and ACLs for Scripting
diff --git a/cms/builder/src/main/provisioning/sling-caconfig.txt b/cms/builder/src/main/provisioning/sling-caconfig.txt
index 71c3722..95ed2ca 100644
--- a/cms/builder/src/main/provisioning/sling-caconfig.txt
+++ b/cms/builder/src/main/provisioning/sling-caconfig.txt
@@ -22,7 +22,7 @@
 [artifacts]
     org.apache.sling/org.apache.sling.caconfig.api/1.1.0
     org.apache.sling/org.apache.sling.caconfig.spi/1.3.2
-    org.apache.sling/org.apache.sling.caconfig.impl/1.4.6
+    org.apache.sling/org.apache.sling.caconfig.impl/1.4.10
 
 [:repoinit]
     create path (sling:Folder) /conf
diff --git a/cms/builder/src/main/provisioning/sling-discovery.txt b/cms/builder/src/main/provisioning/sling-discovery.txt
index 9191d11..6ea7477 100644
--- a/cms/builder/src/main/provisioning/sling-discovery.txt
+++ b/cms/builder/src/main/provisioning/sling-discovery.txt
@@ -21,10 +21,10 @@
 
 [artifacts]
     org.apache.sling/org.apache.sling.discovery.api/1.0.4
-    org.apache.sling/org.apache.sling.discovery.support/1.0.0
+    org.apache.sling/org.apache.sling.discovery.support/1.0.4
     org.apache.sling/org.apache.sling.discovery.commons/1.0.20
-    org.apache.sling/org.apache.sling.discovery.base/2.0.0
-    org.apache.sling/org.apache.sling.discovery.oak/1.2.18
+    org.apache.sling/org.apache.sling.discovery.base/2.0.8
+    org.apache.sling/org.apache.sling.discovery.oak/1.2.22
 
 [:repoinit]
     create service user sling-discovery
diff --git a/cms/builder/src/main/provisioning/sling.txt b/cms/builder/src/main/provisioning/sling.txt
index 9538bca..5c40032 100644
--- a/cms/builder/src/main/provisioning/sling.txt
+++ b/cms/builder/src/main/provisioning/sling.txt
@@ -20,50 +20,51 @@
 [feature name=sling]
 
 [variables]
-    jackrabbit.version=2.14.3
+    jackrabbit.version=2.14.4
 
 [artifacts]
     commons-collections/commons-collections/3.2.2
     org.apache.commons/commons-collections4/4.1
-    commons-codec/commons-codec/1.9
+    commons-codec/commons-codec/1.11
     commons-lang/commons-lang/2.6
-    org.apache.commons/commons-lang3/3.6
+    org.apache.commons/commons-lang3/3.7
     org.apache.commons/commons-math/2.2
-    org.apache.geronimo.bundles/commons-httpclient/3.1_1
-    org.apache.httpcomponents/httpcore-osgi/4.4.1
-    org.apache.httpcomponents/httpclient-osgi/4.4.1
+    org.apache.geronimo.bundles/commons-httpclient/3.1_2
+    org.apache.httpcomponents/httpcore-osgi/4.4.9
+    org.apache.httpcomponents/httpclient-osgi/4.5.4
     org.apache.sling/org.apache.sling.adapter/2.1.10
     org.apache.sling/org.apache.sling.api/2.16.4
     org.apache.sling/org.apache.sling.auth.core/1.4.2
     org.apache.sling/org.apache.sling.auth.form/1.0.9-SNAPSHOT
     org.apache.sling/org.apache.sling.bundleresource.impl/2.3.0
     org.apache.sling/org.apache.sling.commons.classloader/1.4.2
-    org.apache.sling/org.apache.sling.commons.compiler/2.3.4
+    org.apache.sling/org.apache.sling.commons.compiler/2.3.6
     org.apache.sling/org.apache.sling.commons.fsclassloader/1.0.8
     org.apache.sling/org.apache.sling.commons.mime/2.1.10
     org.apache.sling/org.apache.sling.commons.osgi/2.4.0
     org.apache.sling/org.apache.sling.commons.scheduler/2.7.2
-    org.apache.sling/org.apache.sling.commons.threads/3.2.10
-    org.apache.sling/org.apache.sling.engine/2.6.8
-    org.apache.sling/org.apache.sling.fsresource/2.1.8
+    org.apache.sling/org.apache.sling.commons.threads/3.2.16
+    org.apache.sling/org.apache.sling.engine/2.6.12
+    org.apache.sling/org.apache.sling.fsresource/2.1.10
     org.apache.sling/org.apache.sling.hc.api/1.0.2
     org.apache.sling/org.apache.sling.hc.core/1.2.10
     org.apache.sling/org.apache.sling.hc.webconsole/1.1.2
-    org.apache.sling/org.apache.sling.i18n/2.5.8
+    org.apache.sling/org.apache.sling.i18n/2.5.12
     org.apache.sling/org.apache.sling.installer.console/1.0.2
     org.apache.sling/org.apache.sling.installer.provider.jcr/3.1.26
+    org.apache.sling/org.apache.sling.installer.hc/1.0.0
     org.apache.sling/org.apache.sling.jcr.contentloader/2.2.4
     org.apache.sling/org.apache.sling.jcr.resource/3.0.8
     org.apache.sling/org.apache.sling.models.api/1.3.6
-    org.apache.sling/org.apache.sling.models.impl/1.4.4
-    org.apache.sling/org.apache.sling.resourceresolver/1.5.32
+    org.apache.sling/org.apache.sling.models.impl/1.4.6
+    org.apache.sling/org.apache.sling.resourceresolver/1.5.34
     org.apache.sling/org.apache.sling.serviceusermapper/1.4.0
     org.apache.sling/org.apache.sling.serviceuser.webconsole/1.0.0
-    org.apache.sling/org.apache.sling.servlets.get/2.1.28
-    org.apache.sling/org.apache.sling.servlets.post/2.3.22
+    org.apache.sling/org.apache.sling.servlets.get/2.1.30
+    org.apache.sling/org.apache.sling.servlets.post/2.3.24
     org.apache.sling/org.apache.sling.servlets.resolver/2.4.22
     org.apache.sling/org.apache.sling.xss/2.0.4
-    javax.mail/mail/1.4.7
+    javax.mail/mail/1.5.0-b01
     org.apache.geronimo.bundles/jstl/1.2_1
     org.apache.felix/org.apache.felix.http.whiteboard/3.0.0
 
@@ -71,7 +72,7 @@
     org.apache.sling/org.apache.sling.starter.startup/1.0.4
     org.apache.sling/org.apache.sling.extensions.webconsolebranding/1.0.2
     org.apache.sling/org.apache.sling.extensions.webconsolesecurityprovider/1.0.0
-    org.apache.felix/org.apache.felix.inventory/1.0.4
+    org.apache.felix/org.apache.felix.inventory/1.0.6
     org.apache.felix/org.apache.felix.prefs/1.1.0
     org.apache.felix/org.apache.felix.webconsole/4.3.4
     org.apache.felix/org.apache.felix.webconsole.plugins.ds/2.0.8
@@ -80,21 +81,21 @@
     org.apache.felix/org.apache.felix.webconsole.plugins.event/1.1.8
     org.apache.felix/org.apache.felix.webconsole.plugins.memoryusage/1.0.6
     org.apache.sling/org.apache.sling.commons.johnzon/1.1.0
-    org.apache.felix/org.apache.felix.bundlerepository/1.6.4
+    org.apache.felix/org.apache.felix.bundlerepository/2.0.10
     org.apache.sling/org.apache.sling.extensions.threaddump/0.2.2
     org.apache.aries.jmx/org.apache.aries.jmx.api/1.1.5
-    org.apache.aries.jmx/org.apache.aries.jmx.core/1.1.7
-    org.apache.aries.jmx/org.apache.aries.jmx.whiteboard/1.1.5
-    commons-io/commons-io/2.5
-    commons-fileupload/commons-fileupload/1.3.2
+    org.apache.aries.jmx/org.apache.aries.jmx.core/1.1.8
+    org.apache.aries.jmx/org.apache.aries.jmx.whiteboard/1.2.0
+    commons-io/commons-io/2.6
+    commons-fileupload/commons-fileupload/1.3.3
     org.apache.sling/org.apache.sling.commons.log.webconsole/1.0.0
 
 [artifacts startLevel=10]
     org.apache.felix/org.apache.felix.http.sslfilter/1.2.4
     org.apache.felix/org.apache.felix.scr/2.0.14
     org.apache.felix/org.apache.felix.metatype/1.1.6
-    org.apache.pdfbox/pdfbox/2.0.7
-    org.apache.pdfbox/fontbox/2.0.7
+    org.apache.pdfbox/pdfbox/2.0.8
+    org.apache.pdfbox/fontbox/2.0.8
     org.apache.pdfbox/jempbox/1.8.13
     org.apache.tika/tika-core/1.17
     org.apache.tika/tika-parsers/1.17
@@ -103,7 +104,7 @@
     org.apache.sling/org.apache.sling.jcr.jcr-wrapper/2.0.0
     org.apache.sling/org.apache.sling.jcr.api/2.4.0
     org.apache.sling/org.apache.sling.jcr.base/3.0.4
-    org.apache.sling/org.apache.sling.jcr.registration/1.0.2
+    org.apache.sling/org.apache.sling.jcr.registration/1.0.4
     org.apache.jackrabbit/jackrabbit-api/${jackrabbit.version}
     org.apache.jackrabbit/jackrabbit-jcr-commons/${jackrabbit.version}
     org.apache.jackrabbit/jackrabbit-spi/${jackrabbit.version}
@@ -116,7 +117,7 @@
     org.apache.sling/org.apache.sling.jcr.jackrabbit.usermanager/2.2.6
     org.apache.sling/org.apache.sling.jcr.jackrabbit.accessmanager/3.0.0
     org.apache.sling/org.apache.sling.jcr.webconsole/1.0.2
-    io.dropwizard.metrics/metrics-core/3.2.4
+    io.dropwizard.metrics/metrics-core/3.2.6
     org.apache.sling/org.apache.sling.commons.metrics/1.2.4
     com.google.guava/guava/15.0
 
@@ -166,7 +167,8 @@
       "org.apache.sling.jcr.oak.server",\
       "org.apache.sling.jcr.repoinit",\
       "org.apache.sling.jcr.webconsole",\
-      "org.apache.sling.servlets.post"
+      "org.apache.sling.servlets.post",\
+      "org.apache.sling.serviceuser.webconsole"
     ]
 
   # WebDAV servlet requires config now
diff --git a/cms/builder/src/main/provisioning/standalone.txt b/cms/builder/src/main/provisioning/standalone.txt
index 3a6304d..b7fda4c 100644
--- a/cms/builder/src/main/provisioning/standalone.txt
+++ b/cms/builder/src/main/provisioning/standalone.txt
@@ -23,4 +23,4 @@
 # Add a servlet implementation for the standalone case
 [artifacts startLevel=5 runModes=:standalone]
     org.apache.felix/org.apache.felix.http.servlet-api/1.1.2
-    org.apache.felix/org.apache.felix.http.jetty/3.4.6
+    org.apache.felix/org.apache.felix.http.jetty/3.4.8
diff --git a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/breadcrumb/breadcrumb.jsp b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/breadcrumb/breadcrumb.jsp
index 2267fe4..1770d0b 100644
--- a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/breadcrumb/breadcrumb.jsp
+++ b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/breadcrumb/breadcrumb.jsp
@@ -21,10 +21,12 @@
 <a href="/">
 	Home
 </a>&nbsp;�&nbsp;
-<c:forEach var="parent" items="${sling:getParents(pageMgr.page.resource,3)}">
-	<c:if test="${parent.path != page.resource.path}">
-		<a href="${parent.path}.html">
-			<sling:encode value="${parent.valueMap['jcr:content/jcr:title']}" default="${parent.name}" mode="HTML" />
-		</a>&nbsp;�&nbsp;
-	</c:if>
-</c:forEach>
+<c:if test="${not empty properties.level}">
+	<c:forEach var="parent" items="${sling:getParents(pageMgr.page.resource,properties.level)}">
+		<c:if test="${parent.path != page.resource.path}">
+			<a href="${parent.path}.html">
+				<sling:encode value="${parent.valueMap['jcr:content/jcr:title']}" default="${parent.name}" mode="HTML" />
+			</a>&nbsp;�&nbsp;
+		</c:if>
+	</c:forEach>
+</c:if>
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/fields/select/edit.json b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/breadcrumb/edit.json
similarity index 59%
copy from cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/fields/select/edit.json
copy to cms/reference/src/main/resources/jcr_root/apps/reference/components/general/breadcrumb/edit.json
index 4a3b4d0..e0cb485 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/fields/select/edit.json
+++ b/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/breadcrumb/edit.json
@@ -1,23 +1,23 @@
  {
 	"jcr:primaryType": "nt:unstructured",
 	"sling:resourceType": "sling-cms/components/editor/slingform",
-	"button": "Save Field",
+	"button": "Save Breadcrumb",
 	"fields": {
 		"jcr:primaryType": "nt:unstructured",
 		"sling:resourceType": "sling-cms/components/general/container",
-		"label": {
+		"level": {
 			"jcr:primaryType": "nt:unstructured",
 			"sling:resourceType": "sling-cms/components/editor/fields/text",
-			"label": "Label",
-			"name": "label",
-			"required": true
+			"label": "Level",
+			"name": "level",
+			"required": true,
+			"type": "number"
 		},
-		"name": {
+		"levelTypeHint": {
 			"jcr:primaryType": "nt:unstructured",
-			"sling:resourceType": "sling-cms/components/editor/fields/text",
-			"label": "Name",
-			"name": "name",
-			"required": true
+			"sling:resourceType": "sling-cms/components/editor/fields/hidden",
+			"name": "level@TypeHint",
+			"value": "Long"
 		}
 	}
 }
\ No newline at end of file
diff --git a/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/body.jsp b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/body.jsp
index 2026b02..967345a 100644
--- a/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/body.jsp
+++ b/cms/reference/src/main/resources/jcr_root/apps/reference/components/pages/base/body.jsp
@@ -32,7 +32,7 @@
 		</div>
 	</div>
 	<div class="menu">
-		<sling:include path="/content/sling-apache-org/index/jcr:content/menu" resourceType="sling-cms/components/general/container" />
+		<sling:include path="/content/apache/sling-apache-org/index/jcr:content/menu" resourceType="sling-cms/components/general/container" />
 		<a href="http://apache.org/foundation/contributing.html">
             <img border="0" alt="Support the Apache Software Foundation!" src="/etc/clientlibs/reference/img/SupportApache-small.png" width="115px">
         </a>
diff --git a/cms/ui/pom.xml b/cms/ui/pom.xml
index 9ddb771..156977d 100644
--- a/cms/ui/pom.xml
+++ b/cms/ui/pom.xml
@@ -94,8 +94,8 @@
 						<Sling-Nodetypes>SLING-INF/nodetypes/nodetypes.cnd</Sling-Nodetypes>
 						<Sling-Initial-Content>
 							jcr_root,
+							jcr_root/conf/global;overwrite:=false;uninstall:=true;path:=/conf/global,
 							jcr_root/etc/clientlibs;overwrite=true;ignoreImportProviders:=xml;path:=/etc/clientlibs,
-							jcr_root/etc/fileeditors;overwrite:=false;uninstall:=true;path:=/etc/fileeditors,
 							jcr_root/etc/taxonomy;overwrite:=false;uninstall:=true;path:=/etc/taxonomy,
 							jcr_root/libs/sling/servlet/errorhandler;overwriteProperties:=true;overwrite:=true;uninstall:=true;path:=/libs/sling/servlet/errorhandler,
 							jcr_root/libs/sling-cms;overwrite:=true;uninstall:=true;path:=/libs/sling-cms,
diff --git a/cms/ui/src/main/resources/SLING-INF/nodetypes/nodetypes.cnd b/cms/ui/src/main/resources/SLING-INF/nodetypes/nodetypes.cnd
index b4bce16..8ce0cf1 100644
--- a/cms/ui/src/main/resources/SLING-INF/nodetypes/nodetypes.cnd
+++ b/cms/ui/src/main/resources/SLING-INF/nodetypes/nodetypes.cnd
@@ -30,9 +30,9 @@
 	
 [sling:Config] > nt:hierarchyNode
 	orderable
-	- sling:config (string)
 	- sling:created (date)
 	- sling:createdBy (string)
+	- sling:resourceType (string)
 	- jcr:lastModified (date)
 	- jcr:lastModifiedBy (string)
 	- jcr:title (string)
@@ -54,7 +54,7 @@
 
 [sling:Site] > nt:hierarchyNode
 	orderable
-	- sling:config (string)
+	- sling:configRef (string)
 	- sling:created (date)
 	- sling:createdBy (string)
 	- sling:url (string)
diff --git a/cms/ui/src/main/resources/jcr_root/conf/global.json b/cms/ui/src/main/resources/jcr_root/conf/global.json
new file mode 100644
index 0000000..ba6d115
--- /dev/null
+++ b/cms/ui/src/main/resources/jcr_root/conf/global.json
@@ -0,0 +1,199 @@
+{
+	"jcr:primaryType": "sling:OrderedFolder",
+	"jcr:content": {
+		"jcr:primaryType": "nt:unstructured",
+		"jcr:title": "Global"
+	},
+	"site": {
+		"jcr:primaryType": "sling:Config",
+		"jcr:title": "Default Site Configuration",
+		"sling:resourceType": "sling-cms/components/cms/siteconfig",
+		"templates": {
+			"jcr:primaryType": "nt:unstructured",
+			"base-page": {
+				"jcr:primaryType": "nt:unstructured",
+				"jcr:title": "Base Page",
+				"template": "{\r\n  \"jcr:primaryType\": \"sling:Page\",\r\n  \"jcr:content\": {\r\n    \"jcr:primaryType\": \"nt:unstructured\",\r\n    \"jcr:title\": \"{{title}}\",\r\n    \"sling:template\": \"/conf/global/site/templates/base-page\",\r\n    \"sling:resourceType\": \"reference/components/pages/base\",\r\n    \"published\": false\r\n  }\r\n}",
+				"availableComponentTypes": [
+					"General",
+					"SlingCMS-ComponentConfig"
+				],
+				"jcr:lastModifiedBy": "admin",
+				"allowedPaths": [
+					"/content/apache-sling-org.*"
+				],
+				"sling:resourceType": "sling-cms/components/cms/pagetemplate",
+				"fields": {
+					"jcr:primaryType": "nt:unstructured",
+					"text": {
+						"jcr:primaryType": "nt:unstructured",
+						"required": true,
+						"name": "title",
+						"type": "text",
+						"label": "Title",
+						"sling:resourceType": "sling-cms/components/editor/fields/text"
+					},
+					"text_1147023191": {
+						"jcr:primaryType": "nt:unstructured",
+						"required": true,
+						"name": ":name",
+						"type": "text",
+						"label": "Name",
+						"sling:resourceType": "sling-cms/components/editor/fields/text"
+					}
+				},
+				"componentConfigurations": {
+					"jcr:primaryType": "nt:unstructured",
+					"componentconfig": {
+						"jcr:primaryType": "nt:unstructured",
+						"type": "reference/components/general/columncontrol",
+						"containerclass": "container",
+						"columns": [
+							"50-50=col-md-6 col-md-6",
+							"100=col-md-12"
+						],
+						"sling:resourceType": "sling-cms/components/cms/componentconfig"
+					}
+				}
+			}
+		},
+		"jcr:content": {
+			"jcr:primaryType": "nt:unstructured",
+			"jcr:title": "Default Site Configuration"
+		}
+	},
+	"files": {
+		"jcr:primaryType": "sling:OrderedFolder",
+		"jcr:content": {
+			"jcr:primaryType": "nt:unstructured",
+			"jcr:title": "File Configurations"
+		},
+		"editors": {
+			"jcr:primaryType": "sling:OrderedFolder",
+			"jcr:content": {
+				"jcr:primaryType": "nt:unstructured",
+				"jcr:title": "File Editor"
+			},
+			"default": {
+				"jcr:primaryType": "sling:Config",
+				"jcr:title": "Default File Editor",
+				"sling:resourceType": "sling-cms/components/cms/fileeditorconfig",
+				"fields": {
+					"jcr:primaryType": "nt:unstructured",
+					"text": {
+						"jcr:primaryType": "nt:unstructured",
+						"required": false,
+						"name": "jcr:content/jcr:title",
+						"type": "text",
+						"label": "Title",
+						"sling:resourceType": "sling-cms/components/editor/fields/text"
+					},
+					"text_1274324601": {
+						"jcr:primaryType": "nt:unstructured",
+						"required": true,
+						"name": "jcr:content/jcr:mimeType",
+						"type": "text",
+						"label": "MIME Type",
+						"sling:resourceType": "sling-cms/components/editor/fields/text"
+					},
+					"text_1001913053": {
+						"jcr:primaryType": "nt:unstructured",
+						"required": false,
+						"name": "jcr:content/licensing",
+						"type": "text",
+						"label": "Licensing",
+						"sling:resourceType": "sling-cms/components/editor/fields/text"
+					},
+					"taxonomy": {
+						"jcr:primaryType": "nt:unstructured",
+						"name": "jcr:content/sling:taxonomy",
+						"label": "Taxonomy",
+						"sling:resourceType": "sling-cms/components/editor/fields/taxonomy"
+					},
+					"hidden": {
+						"jcr:primaryType": "nt:unstructured",
+						"name": "jcr:content/sling:taxonomy@TypeHint",
+						"value": "String[]",
+						"sling:resourceType": "sling-cms/components/editor/fields/hidden"
+					},
+					"select": {
+						"jcr:primaryType": "nt:unstructured",
+						"options": "Yes=true, No=false",
+						"name": "jcr:content/published",
+						"label": "Published",
+						"sling:resourceType": "sling-cms/components/editor/fields/select"
+					},
+					"hidden_200038586": {
+						"jcr:primaryType": "nt:unstructured",
+						"name": "jcr:content/published@TypeHint",
+						"value": "Boolean",
+						"sling:resourceType": "sling-cms/components/editor/fields/hidden"
+					}
+				}
+			},
+			"video": {
+				"jcr:primaryType": "sling:Config",
+				"jcr:title": "Video File Editor",
+				"sling:resourceType": "sling-cms/components/cms/fileeditorconfig",
+				"fields": {
+					"jcr:primaryType": "nt:unstructured",
+					"text": {
+						"jcr:primaryType": "nt:unstructured",
+						"required": false,
+						"name": "jcr:content/jcr:title",
+						"type": "text",
+						"label": "Video Title",
+						"sling:resourceType": "sling-cms/components/editor/fields/text"
+					},
+					"text_1274324601": {
+						"jcr:primaryType": "nt:unstructured",
+						"required": true,
+						"name": "jcr:content/jcr:mimeType",
+						"type": "text",
+						"label": "MIME Type",
+						"sling:resourceType": "sling-cms/components/editor/fields/text"
+					},
+					"text_1001913053": {
+						"jcr:primaryType": "nt:unstructured",
+						"required": false,
+						"name": "jcr:content/licensing",
+						"type": "text",
+						"label": "Licensing",
+						"sling:resourceType": "sling-cms/components/editor/fields/text"
+					},
+					"taxonomy": {
+						"jcr:primaryType": "nt:unstructured",
+						"name": "jcr:content/sling:taxonomy",
+						"label": "Taxonomy",
+						"sling:resourceType": "sling-cms/components/editor/fields/taxonomy"
+					},
+					"hidden": {
+						"jcr:primaryType": "nt:unstructured",
+						"name": "jcr:content/sling:taxonomy@TypeHint",
+						"value": "String[]",
+						"sling:resourceType": "sling-cms/components/editor/fields/hidden"
+					},
+					"select": {
+						"jcr:primaryType": "nt:unstructured",
+						"options": "Yes=true, No=false",
+						"name": "jcr:content/published",
+						"label": "Published",
+						"sling:resourceType": "sling-cms/components/editor/fields/select"
+					},
+					"hidden_200038586": {
+						"jcr:primaryType": "nt:unstructured",
+						"name": "jcr:content/published@TypeHint",
+						"value": "Boolean",
+						"sling:resourceType": "sling-cms/components/editor/fields/hidden"
+					}
+				},
+				"jcr:content": {
+					"jcr:primaryType": "nt:unstructured",
+					"mimetypes": [
+						"video/mp4"
+					]
+				}
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/etc/fileeditors/general.json b/cms/ui/src/main/resources/jcr_root/etc/fileeditors/general.json
deleted file mode 100644
index a7c2598..0000000
--- a/cms/ui/src/main/resources/jcr_root/etc/fileeditors/general.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
-	"jcr:primaryType": "nt:unstructured",
-	"jcr:title": "General",
-	"editors": {
-		"jcr:primaryType": "nt:unstructured",
-		"fileeditor": {
-			"jcr:primaryType": "nt:unstructured",
-			"mimetypes": [],
-			"sling:resourceType": "sling-cms/components/cms/fileeditor",
-			"fields": {
-				"jcr:primaryType": "nt:unstructured",
-				"title": {
-					"jcr:primaryType": "nt:unstructured",
-					"required": false,
-					"name": "jcr:content/jcr:title",
-					"type": "text",
-					"label": "Title",
-					"sling:resourceType": "sling-cms/components/editor/fields/text"
-				},
-				"mimetype": {
-					"jcr:primaryType": "nt:unstructured",
-					"required": true,
-					"name": "jcr:content/jcr:mimeType",
-					"type": "text",
-					"label": "MIME Type",
-					"sling:resourceType": "sling-cms/components/editor/fields/text"
-				},
-				"taxonomy": {
-					"jcr:primaryType": "nt:unstructured",
-					"name": "jcr:content/sling:taxonomy",
-					"label": "Taxonomy",
-					"sling:resourceType": "sling-cms/components/editor/fields/taxonomy"
-				},
-				"taxonomyTypeHint": {
-					"jcr:primaryType": "nt:unstructured",
-					"name": "jcr:content/sling:taxonomy@TypeHint",
-					"value": "String[]",
-					"sling:resourceType": "sling-cms/components/editor/fields/hidden"
-				},
-				"published": {
-					"jcr:primaryType": "nt:unstructured",
-					"name": "jcr:content/published",
-					"label": "Published",
-					"options": [
-						"Yes=true",
-						"No=false"
-					],
-					"sling:resourceType": "sling-cms/components/editor/fields/select"
-				},
-				"publishedTypeHint": {
-					"jcr:primaryType": "nt:unstructured",
-					"name": "jcr:content/published@TypeHint",
-					"value": "Boolean",
-					"sling:resourceType": "sling-cms/components/editor/fields/hidden"
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/etc/fileeditors/jcr%3Acontent.json b/cms/ui/src/main/resources/jcr_root/etc/fileeditors/jcr%3Acontent.json
deleted file mode 100644
index 14d00aa..0000000
--- a/cms/ui/src/main/resources/jcr_root/etc/fileeditors/jcr%3Acontent.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-	"jcr:primaryType": "nt:unstructured",
-	"jcr:title": "File Editors"
-}
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/contentnav/contentnav.jsp b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/contentnav/contentnav.jsp
index 21688d5..c16a243 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/contentnav/contentnav.jsp
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/contentnav/contentnav.jsp
@@ -24,7 +24,14 @@
 		<c:set var="prefixPath" value="${item.path}/" />
 		<li class="Nav-Item ${(fn:startsWith(slingRequest.requestPathInfo.suffix, prefixPath) || slingRequest.requestPathInfo.suffix == item.path) ? 'Active' : ''}">
 			<a href="${properties.itemPrefix}${item.path}" title="View ${item.valueMap['jcr:title']}">
-				<sling:encode value="${item.valueMap['jcr:title']}" mode="HTML" />
+				<c:choose>
+					<c:when test="${sling:getRelativeResource(item,'jcr:content') != null}">
+						<sling:encode value="${sling:getRelativeResource(item,'jcr:content').valueMap['jcr:title']}" mode="HTML" />
+					</c:when>
+					<c:otherwise>
+						<sling:encode value="${item.valueMap['jcr:title']}" mode="HTML" />
+					</c:otherwise>
+				</c:choose>
 			</a>
 		</li>
 	</c:forEach>
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/parameter/parameter.jsp b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/editconfig/editconfig.jsp
similarity index 87%
rename from cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/parameter/parameter.jsp
rename to cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/editconfig/editconfig.jsp
index 2e50a63..b688572 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/parameter/parameter.jsp
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/editconfig/editconfig.jsp
@@ -16,8 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */ --%>
- <%@include file="/libs/sling-cms/global.jsp"%>
-<div>
-	<strong>${properties.key}</strong><br/>
-	${properties.value}
-</div>
\ No newline at end of file
+<%@include file="/libs/sling-cms/global.jsp"%>
+<sling:include resource="${slingRequest.requestPathInfo.suffixResource}" />
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditor.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditor.json
deleted file mode 100644
index a64b54b..0000000
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditor.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-	"jcr:primaryType": "sling:Component",
-    "componentType": "SlingCMS-FileEditor",
-    "jcr:title": "Sling CMS - File Editor"
-}
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorconfig.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorconfig.json
new file mode 100644
index 0000000..35c648e
--- /dev/null
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorconfig.json
@@ -0,0 +1,5 @@
+{
+	"jcr:primaryType": "sling:Component",
+    "jcr:title": "Sling CMS - File Editor",
+    "componentType": "SlingCMS-Config"
+}
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditor/fileeditor.jsp b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorconfig/config/config.jsp
similarity index 92%
rename from cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditor/fileeditor.jsp
rename to cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorconfig/config/config.jsp
index d4e897c..5cbdabb 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditor/fileeditor.jsp
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorconfig/config/config.jsp
@@ -23,7 +23,7 @@
 	</dt>
 	<dd>
 		<ul>
-			<c:forEach var="mimetype" items="${properties.mimetypes}">
+			<c:forEach var="mimetype" items="${sling:getRelativeResource(resource,'jcr:content').valueMap.mimetypes}">
 				<li>
 					<pre><sling:encode value="${mimetype}" mode="HTML" /></pre>
 				</li>
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditor/edit.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorconfig/config/edit.json
similarity index 65%
rename from cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditor/edit.json
rename to cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorconfig/config/edit.json
index ac7eaf7..a47279b 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditor/edit.json
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorconfig/config/edit.json
@@ -10,8 +10,14 @@
 			"sling:resourceType": "sling-cms/components/editor/fields/repeating",
 			"type": "text",
 			"label": "MIME Types",
-			"name": "mimetypes",
+			"name": "jcr:content/mimetypes",
 			"required": true
+		},
+		"mimetypesTypeHint": {
+			"jcr:primaryType": "nt:unstructured",
+			"sling:resourceType": "sling-cms/components/editor/fields/hidden",
+			"name": "jcr:content/mimetypes@TypeHint",
+			"value":"String[]"
 		}
 	}
 }
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorconfig/fileeditorconfig.jsp b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorconfig/fileeditorconfig.jsp
index 7d77ee9..4b2b340 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorconfig/fileeditorconfig.jsp
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorconfig/fileeditorconfig.jsp
@@ -20,10 +20,9 @@
 <c:set var="cmsEditEnabled" value="true" scope="request" />
 <sling:call script="/libs/sling-cms/components/editor/scripts/init.jsp" />
 
-<h3>Page Templates</h3>
 <c:set var="oldAvailableTypes" value="${availableTypes}" />
 <c:set var="availableTypes" value="SlingCMS-FileEditor" scope="request" />
-<sling:include path="${slingRequest.requestPathInfo.suffix}/editors" resourceType="sling-cms/components/general/container" />
+<sling:include path="${slingRequest.requestPathInfo.suffix}" resourceType="sling-cms/components/cms/fileeditorconfig/config" />
 <c:set var="availableTypes" value="${oldAvailableTypes}" scope="request" />
 
 <sling:call script="/libs/sling-cms/components/editor/scripts/finalize.jsp" />
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorinclude/fileeditorinclude.jsp b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorinclude/fileeditorinclude.jsp
index 5b287cd..1628fb0 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorinclude/fileeditorinclude.jsp
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/fileeditorinclude/fileeditorinclude.jsp
@@ -17,13 +17,10 @@
  * under the License.
  */ --%>
  <%@include file="/libs/sling-cms/global.jsp"%>
-<c:set var="site" value="${sling:getAbsoluteParent(slingRequest.requestPathInfo.suffixResource,2)}" />
-<c:set var="config" value="${sling:getRelativeResource(sling:getResource(resourceResolver,site.valueMap['sling:config']),'config')}" />
-<c:set var="path" value="${config.valueMap.fileeditor}/editors" />
-<c:set var="editors" value="${sling:getResource(resourceResolver,path)}" />
+ <sling:getCAConfigResources var="editors" resource="${slingRequest.requestPathInfo.suffixResource}" bucket="files" name="editors" />
 <c:set var="mimetype" value="|${slingRequest.requestPathInfo.suffixResource.valueMap['jcr:content/jcr:mimeType']}|" />
-<c:forEach var="editor" items="${sling:listChildren(editors)}">
-	<c:set var="mimetypes" value="|${fn:join(editor.valueMap.mimetypes,'|')}|" />
+<c:forEach var="editor" items="${editors}">
+	<c:set var="mimetypes" value="|${fn:join(sling:getRelativeResource(editor,'jcr:content').valueMap.mimetypes,'|')}|" />
 	<c:choose>
 		<c:when test="${fn:length(mimetypes) == 2}">
 			<c:set var="general" value="${editor}" />
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/pagetemplate/pagetemplate.jsp b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/pagetemplate/pagetemplate.jsp
index 48466d8..dd98bc4 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/pagetemplate/pagetemplate.jsp
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/pagetemplate/pagetemplate.jsp
@@ -17,9 +17,6 @@
  * under the License.
  */ --%>
 <%@include file="/libs/sling-cms/global.jsp"%>
-<a href="/cms/config/edit.html${resource.parent.parent.path}">
-	&lt; Site Configuration
-</a>
 <h3><sling:encode value="${properties['jcr:title']}" mode="HTML" /> (${resource.path})</h3>
 <dl>
 	<dt>
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/parameter/edit.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/parameter/edit.json
deleted file mode 100644
index 09ea89e..0000000
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/parameter/edit.json
+++ /dev/null
@@ -1,23 +0,0 @@
- {
-	"jcr:primaryType": "nt:unstructured",
-	"sling:resourceType" : "sling-cms/components/editor/slingform",
-	"button": "Save Parameter",
-	"fields": {
-		"jcr:primaryType": "nt:unstructured",
-		"sling:resourceType" : "sling-cms/components/general/container",
-		"key": {
-			"jcr:primaryType": "nt:unstructured",
-			"sling:resourceType" : "sling-cms/components/editor/fields/text",
-			"label": "Key",
-			"name": "key",
-			"required": true
-		},
-		"value": {
-			"jcr:primaryType": "nt:unstructured",
-			"sling:resourceType" : "sling-cms/components/editor/fields/text",
-			"label": "Value",
-			"name": "value",
-			"required": true
-		}
-	}
-}
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/siteconfig.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/siteconfig.json
new file mode 100644
index 0000000..86f6f1f
--- /dev/null
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/siteconfig.json
@@ -0,0 +1,5 @@
+{
+	"jcr:primaryType": "sling:Component",
+	"jcr:title": "Site Configuration",
+    "componentType": "SlingCMS-Config"
+}
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/siteconfig/siteconfig.jsp b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/siteconfig/siteconfig.jsp
index 9fbb1c5..30b9bdd 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/siteconfig/siteconfig.jsp
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/siteconfig/siteconfig.jsp
@@ -17,16 +17,5 @@
  * under the License.
  */ --%>
  <%@include file="/libs/sling-cms/global.jsp"%>
- <c:set var="cmsEditEnabled" value="true" scope="request" />
-<sling:call script="/libs/sling-cms/components/editor/scripts/init.jsp" />
 
-<sling:include path="${slingRequest.requestPathInfo.suffix}/config" resourceType="sling-cms/components/cms/siteconfig/config" />
-
-<h3>Parameters</h3>
-<c:set var="oldAvailableTypes" value="${availableTypes}" />
-<c:set var="availableTypes" value="SlingCMS-Parameter" scope="request" />
-<sling:include path="${slingRequest.requestPathInfo.suffix}/parameters" resourceType="sling-cms/components/general/container" />
-<c:set var="availableTypes" value="${oldAvailableTypes}" scope="request" />
-
-<sling:call script="/libs/sling-cms/components/editor/scripts/finalize.jsp" />
-<c:set var="cmsEditEnabled" value="false" scope="request" />
\ No newline at end of file
+<sling:include path="/mnt/overlay/sling-cms/content/siteconfig/editor" resourceType="sling-cms/components/general/container" replaceSuffix="${slingRequest.requestPathInfo.suffix}" />
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/templateeditor/templateeditor.jsp b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/templateeditor/templateeditor.jsp
index 6e9fbf1..5f4d3c3 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/templateeditor/templateeditor.jsp
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/templateeditor/templateeditor.jsp
@@ -17,6 +17,11 @@
  * under the License.
  */ --%>
  <%@include file="/libs/sling-cms/global.jsp"%>
+ 
+<a href="/cms/config/edit.html${slingRequest.requestPathInfo.suffixResource.parent.parent.path}">
+	&lt; Site Configuration
+</a>
+ <br/>
  <c:set var="cmsEditEnabled" value="true" scope="request" />
 <sling:call script="/libs/sling-cms/components/editor/scripts/init.jsp" />
 
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/fields/select.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/fields/select.json
index b061241..61f1ce5 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/fields/select.json
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/fields/select.json
@@ -1,4 +1,6 @@
 {
 	"jcr:primaryType": "sling:Component",
-	"sling:resourceSuperType" : "sling-cms/components/editor/fields/base"
+	"sling:resourceSuperType": "sling-cms/components/editor/fields/base",
+	"componentType": "SlingCMS-FieldConfig",
+	"jcr:title": "Sling CMS - Select Field"
 }
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/fields/select/edit.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/fields/select/edit.json
index 4a3b4d0..1ea3680 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/fields/select/edit.json
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/fields/select/edit.json
@@ -18,6 +18,13 @@
 			"label": "Name",
 			"name": "name",
 			"required": true
+		},
+		"options": {
+			"jcr:primaryType": "nt:unstructured",
+			"sling:resourceType": "sling-cms/components/editor/fields/textarea",
+			"label": "Options",
+			"name": "options",
+			"required": true
 		}
 	}
 }
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/fields/textarea.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/fields/textarea.json
index b061241..c79b101 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/fields/textarea.json
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/fields/textarea.json
@@ -1,4 +1,6 @@
 {
 	"jcr:primaryType": "sling:Component",
-	"sling:resourceSuperType" : "sling-cms/components/editor/fields/base"
+	"sling:resourceSuperType": "sling-cms/components/editor/fields/base",
+	"componentType": "SlingCMS-FieldConfig",
+	"jcr:title": "Sling CMS - Textarea Field"
 }
\ No newline at end of file
diff --git a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/breadcrumb/breadcrumb.jsp b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/scripts/configResourceTypeOptions.jsp
similarity index 55%
copy from cms/reference/src/main/resources/jcr_root/apps/reference/components/general/breadcrumb/breadcrumb.jsp
copy to cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/scripts/configResourceTypeOptions.jsp
index 2267fe4..ebdbb75 100644
--- a/cms/reference/src/main/resources/jcr_root/apps/reference/components/general/breadcrumb/breadcrumb.jsp
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/scripts/configResourceTypeOptions.jsp
@@ -17,14 +17,15 @@
  * under the License.
  */ --%>
  <%@include file="/libs/sling-cms/global.jsp"%>
- <sling:adaptTo adaptable="${resource}" adaptTo="org.apache.sling.cms.core.models.PageManager" var="pageMgr" />
-<a href="/">
-	Home
-</a>&nbsp;�&nbsp;
-<c:forEach var="parent" items="${sling:getParents(pageMgr.page.resource,3)}">
-	<c:if test="${parent.path != page.resource.path}">
-		<a href="${parent.path}.html">
-			<sling:encode value="${parent.valueMap['jcr:content/jcr:title']}" default="${parent.name}" mode="HTML" />
-		</a>&nbsp;�&nbsp;
-	</c:if>
-</c:forEach>
+<option value="">Select Config Type</option>
+<c:set var="query" value="SELECT * FROM [sling:Component] WHERE [componentType]='SlingCMS-Config' ORDER BY [jcr:title]" />
+<c:forEach var="component" items="${sling:findResources(resourceResolver,query,'JCR-SQL2')}">
+	<c:choose>
+		<c:when test="${fn:startsWith(component.path,'/apps/')}">
+			<option value="${fn:substringAfter(component.path,'/apps/')}"><sling:encode value="${component.valueMap['jcr:title']}" mode="HTML" /></option>
+		</c:when>
+		<c:otherwise>
+			<option value="${fn:substringAfter(component.path,'/libs/')}"><sling:encode value="${component.valueMap['jcr:title']}" mode="HTML" /></option>
+		</c:otherwise>
+	</c:choose>
+</c:forEach>
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/scripts/pageTemplateOptions.jsp b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/scripts/pageTemplateOptions.jsp
index 4dbb68b..3f105f9 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/scripts/pageTemplateOptions.jsp
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/components/editor/scripts/pageTemplateOptions.jsp
@@ -18,10 +18,10 @@
  */ --%>
  <%@include file="/libs/sling-cms/global.jsp"%>
 <option value="">Select Page Type</option>
-<sling:adaptTo var="pageTemplateManager" adaptable="${slingRequest.requestPathInfo.suffixResource}" adaptTo="org.apache.sling.cms.core.models.PageTemplateManager" />
-<sling:adaptTo var="siteManager" adaptable="${slingRequest.requestPathInfo.suffixResource}" adaptTo="org.apache.sling.cms.core.models.SiteManager" />
-<c:forEach var="template" items="${pageTemplateManager.availableTemplates}">
-	<option value="${template.resource.path}">
-		<sling:encode value="${template.title}" mode="HTML" />
+<sling:getCAConfigResources var="templates" resource="${slingRequest.requestPathInfo.suffixResource}" bucket="site" name="templates" />
+${templates}
+<c:forEach var="template" items="${templates}">
+	<option value="${template.path}">
+		<sling:encode value="${template.valueMap['jcr:title']}" mode="HTML" />
 	</option>
 </c:forEach>
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/config/create.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/config/create.json
index 82b4ace..8ee0460 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/config/create.json
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/config/create.json
@@ -47,23 +47,12 @@
 						"name": "pageTemplates/jcr:primaryType",
 						"value": "nt:unstructured"
 					},
-					"pageTemplatesResourceType": {
+					"type": {
 						"jcr:primaryType": "nt:unstructured",
-						"sling:resourceType": "sling-cms/components/editor/fields/hidden",
-						"name": "pageTemplates/sling:resourceType",
-						"value": "sling-cms/components/general/container"
-					},
-					"parametersPrimaryType": {
-						"jcr:primaryType": "nt:unstructured",
-						"sling:resourceType": "sling-cms/components/editor/fields/hidden",
-						"name": "parameters/jcr:primaryType",
-						"value": "nt:unstructured"
-					},
-					"parametersResourceType": {
-						"jcr:primaryType": "nt:unstructured",
-						"sling:resourceType": "sling-cms/components/editor/fields/hidden",
-						"name": "parameters/sling:resourceType",
-						"value": "sling-cms/components/general/namedcontainer"
+						"sling:resourceType": "sling-cms/components/editor/fields/select",
+						"name": "sling:resourceType",
+						"optionsScript": "/libs/sling-cms/components/editor/scripts/configResourceTypeOptions.jsp",
+						"required": true
 					}
 				}
 			}
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/config/edit.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/config/edit.json
index 8d2096b..8e475ce 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/config/edit.json
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/config/edit.json
@@ -2,7 +2,7 @@
 	"jcr:primaryType": "sling:Page",
 	"jcr:content": {
 		"sling:resourceType": "sling-cms/components/pages/base",
-		"jcr:title": "Configure Site",
+		"jcr:title": "Edit Configuration",
 		"jcr:primaryType": "nt:unstructured",
 		"container": {
 			"jcr:primaryType": "nt:unstructured",
@@ -10,101 +10,17 @@
 			"richtext": {
 				"jcr:primaryType": "nt:unstructured",
 				"sling:resourceType": "sling-cms/components/general/richtext",
-				"text": "<h2>Configure Site</h2>"
+				"text": "<h2>Edit Configuration</h2>"
 			},
-			"siteconfig": {
+			"contentbreadcrumb": {
 				"jcr:primaryType": "nt:unstructured",
-				"sling:resourceType": "sling-cms/components/cms/siteconfig"
+				"sling:resourceType": "sling-cms/components/cms/contentbreadcrumb",
+				"depth": 2,
+				"prefix": "/cms/config/list.html"
 			},
-			"richtext-1": {
+			"editconfig": {
 				"jcr:primaryType": "nt:unstructured",
-				"sling:resourceType": "sling-cms/components/general/richtext",
-				"text": "<br/><h3>Templates</h3>"
-			},
-			"contentactions": {
-				"jcr:primaryType": "nt:unstructured",
-				"sling:resourceType": "sling-cms/components/cms/contentactions",
-				"actions": {
-					"template": {
-						"jcr:primaryType": "nt:unstructured",
-						"label": "Template",
-						"prefix": "/cms/template/create.html"
-					}
-				}
-			},
-			"contenttable": {
-				"jcr:primaryType": "nt:unstructured",
-				"sling:resourceType": "sling-cms/components/cms/contenttable",
-				"appendSuffix": "/templates",
-				"columns": {
-					"jcr:primaryType": "nt:unstructured",
-					"name": {
-						"jcr:primaryType": "nt:unstructured",
-						"title": "Name"
-					},
-					"title": {
-						"jcr:primaryType": "nt:unstructured",
-						"title": "Title"
-					},
-					"lastModified": {
-						"jcr:primaryType": "nt:unstructured",
-						"title": "Last Modified"
-					},
-					"actions": {
-						"jcr:primaryType": "nt:unstructured",
-						"title": "Actions"
-					}
-				},
-				"types": {
-					"jcr:primaryType": "nt:unstructured",
-					"nt:unstructured": {
-						"jcr:primaryType": "nt:unstructured",
-						"columns": {
-							"jcr:primaryType": "nt:unstructured",
-							"name": {
-								"jcr:primaryType": "nt:unstructured",
-								"sling:resourceType": "sling-cms/components/cms/columns/name",
-								"link": false
-							},
-							"title": {
-								"jcr:primaryType": "nt:unstructured",
-								"sling:resourceType": "sling-cms/components/cms/columns/text",
-								"property": "jcr:title"
-							},
-							"lastModified": {
-								"jcr:primaryType": "nt:unstructured",
-								"sling:resourceType": "sling-cms/components/cms/columns/lastmodified",
-								"subPath": ""
-							},
-							"actions": {
-								"jcr:primaryType": "nt:unstructured",
-								"sling:resourceType": "sling-cms/components/cms/columns/actions",
-								"edit": {
-									"jcr:primaryType": "nt:unstructured",
-									"modal": false,
-									"new": false,
-									"title": "Edit Template",
-									"text": "&#x270f;",
-									"prefix": "/cms/template/edit.html"
-								},
-								"movecopy": {
-									"jcr:primaryType": "nt:unstructured",
-									"modal": true,
-									"title": "Move / Copy Template",
-									"text": "&#x21c6;",
-									"prefix": "/cms/shared/movecopy.html"
-								},
-								"delete": {
-									"jcr:primaryType": "nt:unstructured",
-									"modal": true,
-									"title": "Delete Template",
-									"text": "&times;",
-									"prefix": "/cms/shared/delete.html"
-								}
-							}
-						}
-					}
-				}
+				"sling:resourceType": "sling-cms/components/cms/editconfig"
 			}
 		}
 	}
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/config/list.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/config/list.json
index 2a588d3..5fcd74c 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/config/list.json
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/config/list.json
@@ -10,19 +10,30 @@
 			"richtext": {
 				"jcr:primaryType": "nt:unstructured",
 				"sling:resourceType": "sling-cms/components/general/richtext",
-				"text": "<h3>Site Configurations</h3>"
+				"text": "<h3>Configurations</h3>"
 			},
 			"contentactions": {
 				"jcr:primaryType": "nt:unstructured",
 				"sling:resourceType": "sling-cms/components/cms/contentactions",
 				"actions": {
-					"taxonomy": {
+					"folder": {
 						"jcr:primaryType": "nt:unstructured",
-						"label": "Site Config",
+						"label": "Folder",
+						"prefix": "/cms/folder/create.html"
+					},
+					"config": {
+						"jcr:primaryType": "nt:unstructured",
+						"label": "Config",
 						"prefix": "/cms/config/create.html"
 					}
 				}
 			},
+			"contentbreadcrumb": {
+				"jcr:primaryType": "nt:unstructured",
+				"sling:resourceType": "sling-cms/components/cms/contentbreadcrumb",
+				"depth": 2,
+				"prefix": "/cms/config/list.html"
+			},
 			"contenttable": {
 				"jcr:primaryType": "nt:unstructured",
 				"sling:resourceType": "sling-cms/components/cms/contenttable",
@@ -54,7 +65,8 @@
 							"name": {
 								"jcr:primaryType": "nt:unstructured",
 								"sling:resourceType": "sling-cms/components/cms/columns/name",
-								"link": false
+								"prefix": "/cms/config/edit.html",
+								"link": true
 							},
 							"title": {
 								"jcr:primaryType": "nt:unstructured",
@@ -71,11 +83,17 @@
 								"sling:resourceType": "sling-cms/components/cms/columns/actions",
 								"edit": {
 									"jcr:primaryType": "nt:unstructured",
-									"modal": false,
-									"new": false,
+									"modal": true,
 									"title": "Edit Site Config",
 									"text": "&#x270f;",
-									"prefix": "/cms/config/edit.html"
+									"prefix": "/cms/config/metadata.html"
+								},
+								"movecopy": {
+									"jcr:primaryType": "nt:unstructured",
+									"modal": true,
+									"title": "Move / Copy Config",
+									"text": "&#x21c6;",
+									"prefix": "/cms/shared/movecopy.html"
 								},
 								"delete": {
 									"jcr:primaryType": "nt:unstructured",
@@ -86,6 +104,53 @@
 								}
 							}
 						}
+					},
+					"sling:OrderedFolder": {
+						"jcr:primaryType": "nt:unstructured",
+						"columns": {
+							"jcr:primaryType": "nt:unstructured",
+							"name": {
+								"jcr:primaryType": "nt:unstructured",
+								"sling:resourceType": "sling-cms/components/cms/columns/name",
+								"link": true,
+								"prefix": "/cms/config/list.html"
+							},
+							"title": {
+								"jcr:primaryType": "nt:unstructured",
+								"sling:resourceType": "sling-cms/components/cms/columns/text",
+								"property": "jcr:content/jcr:title"
+							},
+							"lastModified": {
+								"jcr:primaryType": "nt:unstructured",
+								"sling:resourceType": "sling-cms/components/cms/columns/lastmodified",
+								"subPath": "jcr:content"
+							},
+							"actions": {
+								"jcr:primaryType": "nt:unstructured",
+								"sling:resourceType": "sling-cms/components/cms/columns/actions",
+								"edit": {
+									"jcr:primaryType": "nt:unstructured",
+									"modal": true,
+									"title": "Edit Folder",
+									"text": "&#x270f;",
+									"prefix": "/cms/folder/edit.html"
+								},
+								"movecopy": {
+									"jcr:primaryType": "nt:unstructured",
+									"modal": true,
+									"title": "Move / Copy Folder",
+									"text": "&#x21c6;",
+									"prefix": "/cms/shared/movecopy.html"
+								},
+								"delete": {
+									"jcr:primaryType": "nt:unstructured",
+									"modal": true,
+									"title": "Delete Folder",
+									"text": "&times;",
+									"prefix": "/cms/shared/delete.html"
+								}
+							}
+						}
 					}
 				}
 			}
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/createeditor.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/config/metadata.json
similarity index 61%
copy from cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/createeditor.json
copy to cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/config/metadata.json
index 860aff6..d378433 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/createeditor.json
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/config/metadata.json
@@ -2,7 +2,7 @@
 	"jcr:primaryType": "sling:Page",
 	"jcr:content": {
 		"sling:resourceType": "sling-cms/components/pages/base",
-		"jcr:title": "Create File Editor",
+		"jcr:title": "Edit Config",
 		"jcr:primaryType": "nt:unstructured",
 		"container": {
 			"jcr:primaryType": "nt:unstructured",
@@ -10,13 +10,13 @@
 			"richtext": {
 				"jcr:primaryType": "nt:unstructured",
 				"sling:resourceType": "sling-cms/components/general/richtext",
-				"text": "<h3>Create File Editor</h3>"
+				"text": "<h3>Edit Config</h3>"
 			},
 			"slingform": {
 				"jcr:primaryType": "nt:unstructured",
 				"sling:resourceType": "sling-cms/components/editor/slingform",
-				"actionSuffix": "/*",
-				"button": "Create File Editor",
+				"button": "Edit Config",
+				"successPrepend":"/libs/sling-cms/content/site/content.html",
 				"fields": {
 					"jcr:primaryType": "nt:unstructured",
 					"sling:resourceType": "sling-cms/components/general/container",
@@ -26,19 +26,6 @@
 						"label": "Title",
 						"name": "jcr:title",
 						"required": true
-					},
-					"name": {
-						"jcr:primaryType": "nt:unstructured",
-						"sling:resourceType": "sling-cms/components/editor/fields/text",
-						"label": "Name",
-						"name": ":name",
-						"required": true
-					},
-					"primaryType": {
-						"jcr:primaryType": "nt:unstructured",
-						"sling:resourceType": "sling-cms/components/editor/fields/hidden",
-						"name": "jcr:primaryType",
-						"value": "nt:unstructured"
 					}
 				}
 			}
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/configureeditor.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/configureeditor.json
deleted file mode 100644
index df0e7cb..0000000
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/configureeditor.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-	"jcr:primaryType": "sling:Page",
-	"jcr:content": {
-		"sling:resourceType": "sling-cms/components/pages/base",
-		"jcr:title": "Configure File Editors",
-		"jcr:primaryType": "nt:unstructured",
-		"container": {
-			"jcr:primaryType": "nt:unstructured",
-			"sling:resourceType": "sling-cms/components/general/container",
-			"richtext": {
-				"jcr:primaryType": "nt:unstructured",
-				"sling:resourceType": "sling-cms/components/general/richtext",
-				"text": "<h2>Configure File Editors</h2>"
-			},
-			"siteconfig": {
-				"jcr:primaryType": "nt:unstructured",
-				"sling:resourceType": "sling-cms/components/cms/fileeditorconfig"
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/editors.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/editors.json
deleted file mode 100644
index 3c6eb9f..0000000
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/editors.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
-	"jcr:primaryType": "sling:Page",
-	"jcr:content": {
-		"sling:resourceType": "sling-cms/components/pages/base",
-		"jcr:title": "Configure File Editors",
-		"jcr:primaryType": "nt:unstructured",
-		"container": {
-			"jcr:primaryType": "nt:unstructured",
-			"sling:resourceType": "sling-cms/components/general/container",
-			"richtext": {
-				"jcr:primaryType": "nt:unstructured",
-				"sling:resourceType": "sling-cms/components/general/richtext",
-				"text": "<h3>Configure File Editors</h3>"
-			},
-			"contentactions": {
-				"jcr:primaryType": "nt:unstructured",
-				"sling:resourceType": "sling-cms/components/cms/contentactions",
-				"actions": {
-					"taxonomy": {
-						"jcr:primaryType": "nt:unstructured",
-						"label": "File Editor",
-						"prefix": "/cms/file/createeditor.html"
-					}
-				}
-			},
-			"contenttable": {
-				"jcr:primaryType": "nt:unstructured",
-				"sling:resourceType": "sling-cms/components/cms/contenttable",
-				"columns": {
-					"jcr:primaryType": "nt:unstructured",
-					"name": {
-						"jcr:primaryType": "nt:unstructured",
-						"title": "Name"
-					},
-					"title": {
-						"jcr:primaryType": "nt:unstructured",
-						"title": "Title"
-					},
-					"lastModified": {
-						"jcr:primaryType": "nt:unstructured",
-						"title": "Last Modified"
-					},
-					"actions": {
-						"jcr:primaryType": "nt:unstructured",
-						"title": "Actions"
-					}
-				},
-				"types": {
-					"jcr:primaryType": "nt:unstructured",
-					"nt:unstructured": {
-						"jcr:primaryType": "nt:unstructured",
-						"columns": {
-							"jcr:primaryType": "nt:unstructured",
-							"name": {
-								"jcr:primaryType": "nt:unstructured",
-								"sling:resourceType": "sling-cms/components/cms/columns/name",
-								"link": false
-							},
-							"title": {
-								"jcr:primaryType": "nt:unstructured",
-								"sling:resourceType": "sling-cms/components/cms/columns/text",
-								"property": "jcr:title"
-							},
-							"lastModified": {
-								"jcr:primaryType": "nt:unstructured",
-								"sling:resourceType": "sling-cms/components/cms/columns/lastmodified",
-								"subPath": ""
-							},
-							"actions": {
-								"jcr:primaryType": "nt:unstructured",
-								"type": "Actions",
-								"sling:resourceType": "sling-cms/components/cms/columns/actions",
-								"edit": {
-									"jcr:primaryType": "nt:unstructured",
-									"modal": false,
-									"new": false,
-									"title": "Configure File Editor",
-									"text": "&#x270f;",
-									"prefix": "/cms/file/configureeditor.html"
-								},
-								"delete": {
-									"jcr:primaryType": "nt:unstructured",
-									"modal": true,
-									"title": "Delete File Editor",
-									"text": "&times;",
-									"prefix": "/cms/shared/delete.html"
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json
index 32ae858..5c34ff3 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json
@@ -53,11 +53,12 @@
 					"config": {
 						"jcr:primaryType": "nt:unstructured",
 						"sling:resourceType": "sling-cms/components/editor/fields/path",
-						"basePath": "/etc/config",
-						"type": "sling:Config",
-						"label": "Site Config",
-						"name": "sling:config",
-						"titleProperty": "jcr:title"
+						"basePath": "/conf",
+						"label": "Config",
+						"name": "sling:configRef",
+						"required": false,
+						"titleProperty": "jcr:content/jcr:title",
+						"type": "sling:OrderedFolder"
 					},
 					"primaryType": {
 						"jcr:primaryType": "nt:unstructured",
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json
similarity index 69%
copy from cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json
copy to cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json
index 32ae858..60f1a29 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json
@@ -2,7 +2,7 @@
 	"jcr:primaryType": "sling:Page",
 	"jcr:content": {
 		"sling:resourceType": "sling-cms/components/pages/base",
-		"jcr:title": "Create Site",
+		"jcr:title": "Create Folder",
 		"jcr:primaryType": "nt:unstructured",
 		"container": {
 			"jcr:primaryType": "nt:unstructured",
@@ -10,13 +10,13 @@
 			"richtext": {
 				"jcr:primaryType": "nt:unstructured",
 				"sling:resourceType": "sling-cms/components/general/richtext",
-				"text": "<h3>Create Site</h3>"
+				"text": "<h3>Create Site Group</h3>"
 			},
 			"slingform": {
 				"jcr:primaryType": "nt:unstructured",
 				"sling:resourceType": "sling-cms/components/editor/slingform",
 				"actionSuffix": "/*",
-				"button": "Create Site",
+				"button": "Create Site Group",
 				"successPrepend":"/libs/sling-cms/content/site/content.html",
 				"fields": {
 					"jcr:primaryType": "nt:unstructured",
@@ -25,7 +25,7 @@
 						"jcr:primaryType": "nt:unstructured",
 						"sling:resourceType": "sling-cms/components/editor/fields/text",
 						"label": "Title",
-						"name": "jcr:title",
+						"name": "jcr:content/jcr:title",
 						"required": true
 					},
 					"name": {
@@ -35,35 +35,27 @@
 						"name": ":name",
 						"required": true
 					},
-					"url": {
-						"jcr:primaryType": "nt:unstructured",
-						"sling:resourceType": "sling-cms/components/editor/fields/text",
-						"label": "Primary URL",
-						"name": "sling:url",
-						"required": true
-					},
-					"locale": {
-						"jcr:primaryType": "nt:unstructured",
-						"sling:resourceType": "sling-cms/components/editor/fields/select",
-						"label": "Language",
-						"name": "jcr:language",
-						"optionsScript": "/libs/sling-cms/components/editor/scripts/localeOptions.jsp",
-						"required": true
-					},
 					"config": {
 						"jcr:primaryType": "nt:unstructured",
 						"sling:resourceType": "sling-cms/components/editor/fields/path",
-						"basePath": "/etc/config",
-						"type": "sling:Config",
-						"label": "Site Config",
-						"name": "sling:config",
-						"titleProperty": "jcr:title"
+						"basePath": "/conf",
+						"label": "Config",
+						"name": "sling:configRef",
+						"required": false,
+						"titleProperty": "jcr:content/jcr:title",
+						"type": "sling:OrderedFolder"
 					},
 					"primaryType": {
 						"jcr:primaryType": "nt:unstructured",
 						"sling:resourceType": "sling-cms/components/editor/fields/hidden",
 						"name": "jcr:primaryType",
-						"value": "sling:Site"
+						"value": "sling:OrderedFolder"
+					},
+					"contentPrimaryType": {
+						"jcr:primaryType": "nt:unstructured",
+						"sling:resourceType": "sling-cms/components/editor/fields/hidden",
+						"name": "jcr:content/jcr:primaryType",
+						"value": "nt:unstructured"
 					}
 				}
 			}
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/edit.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/edit.json
index 0fdc13e..7b6eeef 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/edit.json
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/edit.json
@@ -51,11 +51,12 @@
 					"config": {
 						"jcr:primaryType": "nt:unstructured",
 						"sling:resourceType": "sling-cms/components/editor/fields/path",
-						"basePath": "/etc/config",
-						"type": "sling:Config",
-						"label": "Site Config",
-						"name": "sling:config",
-						"titleProperty": "jcr:title"
+						"basePath": "/conf",
+						"label": "Config",
+						"name": "sling:configRef",
+						"required": false,
+						"titleProperty": "jcr:content/jcr:title",
+						"type": "sling:OrderedFolder"
 					}
 				}
 			}
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/createeditor.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json
similarity index 69%
rename from cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/createeditor.json
rename to cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json
index 860aff6..b808723 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/createeditor.json
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json
@@ -2,7 +2,7 @@
 	"jcr:primaryType": "sling:Page",
 	"jcr:content": {
 		"sling:resourceType": "sling-cms/components/pages/base",
-		"jcr:title": "Create File Editor",
+		"jcr:title": "Edit Site Group",
 		"jcr:primaryType": "nt:unstructured",
 		"container": {
 			"jcr:primaryType": "nt:unstructured",
@@ -10,13 +10,14 @@
 			"richtext": {
 				"jcr:primaryType": "nt:unstructured",
 				"sling:resourceType": "sling-cms/components/general/richtext",
-				"text": "<h3>Create File Editor</h3>"
+				"text": "<h3>Edit Site Group</h3>"
 			},
 			"slingform": {
 				"jcr:primaryType": "nt:unstructured",
 				"sling:resourceType": "sling-cms/components/editor/slingform",
 				"actionSuffix": "/*",
-				"button": "Create File Editor",
+				"button": "Create Folder",
+				"successPrepend":"/libs/sling-cms/content/site/content.html",
 				"fields": {
 					"jcr:primaryType": "nt:unstructured",
 					"sling:resourceType": "sling-cms/components/general/container",
@@ -24,21 +25,18 @@
 						"jcr:primaryType": "nt:unstructured",
 						"sling:resourceType": "sling-cms/components/editor/fields/text",
 						"label": "Title",
-						"name": "jcr:title",
+						"name": "jcr:content/jcr:title",
 						"required": true
 					},
-					"name": {
+					"config": {
 						"jcr:primaryType": "nt:unstructured",
-						"sling:resourceType": "sling-cms/components/editor/fields/text",
-						"label": "Name",
-						"name": ":name",
-						"required": true
-					},
-					"primaryType": {
-						"jcr:primaryType": "nt:unstructured",
-						"sling:resourceType": "sling-cms/components/editor/fields/hidden",
-						"name": "jcr:primaryType",
-						"value": "nt:unstructured"
+						"sling:resourceType": "sling-cms/components/editor/fields/path",
+						"basePath": "/conf",
+						"label": "Config",
+						"name": "sling:configRef",
+						"required": false,
+						"titleProperty": "jcr:content/jcr:title",
+						"type": "sling:OrderedFolder"
 					}
 				}
 			}
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/sites.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/sites.json
new file mode 100644
index 0000000..61f0020
--- /dev/null
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/sites.json
@@ -0,0 +1,160 @@
+{
+	"jcr:primaryType": "sling:Page",
+	"jcr:content": {
+		"sling:resourceType": "sling-cms/components/pages/base",
+		"jcr:title": "Site Content",
+		"jcr:primaryType": "nt:unstructured",
+		"container": {
+			"jcr:primaryType": "nt:unstructured",
+			"sling:resourceType": "sling-cms/components/general/container",
+			"siteheader": {
+				"jcr:primaryType": "nt:unstructured",
+				"sling:resourceType": "sling-cms/components/cms/siteheader"
+			},
+			"contentactions": {
+				"jcr:primaryType": "nt:unstructured",
+				"sling:resourceType": "sling-cms/components/cms/contentactions",
+				"actions": {
+					"page": {
+						"jcr:primaryType": "nt:unstructured",
+						"label": "Site",
+						"prefix": "/cms/site/create.html"
+					},
+					"folder": {
+						"jcr:primaryType": "nt:unstructured",
+						"label": "Site Group",
+						"prefix": "/cms/site/creategroup.html"
+					}
+				}
+			},
+			"contentbreadcrumb": {
+				"jcr:primaryType": "nt:unstructured",
+				"sling:resourceType": "sling-cms/components/cms/contentbreadcrumb",
+				"depth": 2,
+				"prefix": "/cms/site/sites.html",
+				"titleProp": "jcr:content/jcr:title"
+			},
+			"contenttable": {
+				"jcr:primaryType": "nt:unstructured",
+				"sling:resourceType": "sling-cms/components/cms/contenttable",
+				"columns": {
+					"jcr:primaryType": "nt:unstructured",
+					"name": {
+						"jcr:primaryType": "nt:unstructured",
+						"title": "Name"
+					},
+					"title": {
+						"jcr:primaryType": "nt:unstructured",
+						"title": "Title"
+					},
+					"lastModified": {
+						"jcr:primaryType": "nt:unstructured",
+						"title": "Last Modified"
+					},
+					"actions": {
+						"jcr:primaryType": "nt:unstructured",
+						"title": "Actions"
+					}
+				},
+				"types": {
+					"jcr:primaryType": "nt:unstructured",
+					"sling:Site":{
+						"jcr:primaryType": "nt:unstructured",
+						"columns": {
+							"jcr:primaryType": "nt:unstructured",
+							"name": {
+								"jcr:primaryType": "nt:unstructured",
+								"sling:resourceType": "sling-cms/components/cms/columns/name",
+								"link": true,
+								"prefix": "/cms/site/content.html"
+							},
+							"title": {
+								"jcr:primaryType": "nt:unstructured",
+								"sling:resourceType": "sling-cms/components/cms/columns/text",
+								"property": "jcr:content/jcr:title",
+								"type": "String"
+							},
+							"lastModified": {
+								"jcr:primaryType": "nt:unstructured",
+								"sling:resourceType": "sling-cms/components/cms/columns/lastmodified"
+							},
+							"actions": {
+								"jcr:primaryType": "nt:unstructured",
+								"sling:resourceType": "sling-cms/components/cms/columns/actions",
+								"edit": {
+									"jcr:primaryType": "nt:unstructured",
+									"modal": true,
+									"title": "Edit Site",
+									"text": "&#x270f;",
+									"prefix": "/cms/site/edit.html"
+								},
+								"movecopy": {
+									"jcr:primaryType": "nt:unstructured",
+									"modal": true,
+									"title": "Move / Copy Site",
+									"text": "&#x21c6;",
+									"prefix": "/cms/shared/movecopy.html"
+								},
+								"delete": {
+									"jcr:primaryType": "nt:unstructured",
+									"modal": true,
+									"title": "Delete the specified site",
+									"text": "&times;",
+									"prefix": "/cms/shared/delete.html"
+								}
+							}
+						}
+					},
+					"sling:OrderedFolder":{
+						"jcr:primaryType": "nt:unstructured",
+						"columns": {
+							"jcr:primaryType": "nt:unstructured",
+							"name": {
+								"jcr:primaryType": "nt:unstructured",
+								"sling:resourceType": "sling-cms/components/cms/columns/name",
+								"link": true,
+								"prefix": "/cms/site/sites.html"
+							},
+							"title": {
+								"jcr:primaryType": "nt:unstructured",
+								"sling:resourceType": "sling-cms/components/cms/columns/text",
+								"property": "jcr:content/jcr:title",
+								"type": "String"
+							},
+							"lastModified": {
+								"jcr:primaryType": "nt:unstructured",
+								"sling:resourceType": "sling-cms/components/cms/columns/lastmodified",
+								"subPath": "jcr:content/"
+							},
+							"actions": {
+								"jcr:primaryType": "nt:unstructured",
+								"sling:resourceType": "sling-cms/components/cms/columns/actions",
+								"edit": {
+									"jcr:primaryType": "nt:unstructured",
+									"modal": true,
+									"title": "Edit Site Group",
+									"text": "&#x270f;",
+									"prefix": "/cms/folder/editgroup.html"
+								},
+								"movecopy": {
+									"jcr:primaryType": "nt:unstructured",
+									"modal": true,
+									"title": "Move / Copy Site Group",
+									"text": "&#x21c6;",
+									"prefix": "/cms/shared/movecopy.html"
+								},
+								"delete": {
+									"jcr:primaryType": "nt:unstructured",
+									"title": "Delete Site Group",
+									"text": "&times;",
+									"prefix": "/cms/shared/delete.html",
+									"modal": true
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/siteconfig/editor.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/siteconfig/editor.json
new file mode 100644
index 0000000..f712dc3
--- /dev/null
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/siteconfig/editor.json
@@ -0,0 +1,94 @@
+{
+	"jcr:primaryType": "nt:unstructured",
+	"sling:resourceType": "sling-cms/components/general/container",
+	"richtext": {
+		"jcr:primaryType": "nt:unstructured",
+		"sling:resourceType": "sling-cms/components/general/richtext",
+		"text": "<br/><h3>Templates</h3>"
+	},
+	"contentactions": {
+		"jcr:primaryType": "nt:unstructured",
+		"sling:resourceType": "sling-cms/components/cms/contentactions",
+		"actions": {
+			"template": {
+				"jcr:primaryType": "nt:unstructured",
+				"label": "Template",
+				"prefix": "/cms/template/create.html"
+			}
+		}
+	},
+	"contenttable": {
+		"jcr:primaryType": "nt:unstructured",
+		"sling:resourceType": "sling-cms/components/cms/contenttable",
+		"appendSuffix": "/templates",
+		"columns": {
+			"jcr:primaryType": "nt:unstructured",
+			"name": {
+				"jcr:primaryType": "nt:unstructured",
+				"title": "Name"
+			},
+			"title": {
+				"jcr:primaryType": "nt:unstructured",
+				"title": "Title"
+			},
+			"lastModified": {
+				"jcr:primaryType": "nt:unstructured",
+				"title": "Last Modified"
+			},
+			"actions": {
+				"jcr:primaryType": "nt:unstructured",
+				"title": "Actions"
+			}
+		},
+		"types": {
+			"jcr:primaryType": "nt:unstructured",
+			"nt:unstructured": {
+				"jcr:primaryType": "nt:unstructured",
+				"columns": {
+					"jcr:primaryType": "nt:unstructured",
+					"name": {
+						"jcr:primaryType": "nt:unstructured",
+						"sling:resourceType": "sling-cms/components/cms/columns/name",
+						"link": false
+					},
+					"title": {
+						"jcr:primaryType": "nt:unstructured",
+						"sling:resourceType": "sling-cms/components/cms/columns/text",
+						"property": "jcr:title"
+					},
+					"lastModified": {
+						"jcr:primaryType": "nt:unstructured",
+						"sling:resourceType": "sling-cms/components/cms/columns/lastmodified",
+						"subPath": ""
+					},
+					"actions": {
+						"jcr:primaryType": "nt:unstructured",
+						"sling:resourceType": "sling-cms/components/cms/columns/actions",
+						"edit": {
+							"jcr:primaryType": "nt:unstructured",
+							"modal": false,
+							"new": false,
+							"title": "Edit Template",
+							"text": "&#x270f;",
+							"prefix": "/cms/template/edit.html"
+						},
+						"movecopy": {
+							"jcr:primaryType": "nt:unstructured",
+							"modal": true,
+							"title": "Move / Copy Template",
+							"text": "&#x21c6;",
+							"prefix": "/cms/shared/movecopy.html"
+						},
+						"delete": {
+							"jcr:primaryType": "nt:unstructured",
+							"modal": true,
+							"title": "Delete Template",
+							"text": "&times;",
+							"prefix": "/cms/shared/delete.html"
+						}
+					}
+				}
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/start.json b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/start.json
index 6b900cd..2e52d8a 100644
--- a/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/start.json
+++ b/cms/ui/src/main/resources/jcr_root/libs/sling-cms/content/start.json
@@ -21,11 +21,11 @@
 			"sitenav": {
 				"jcr:primaryType": "nt:unstructured",
 				"sling:resourceType": "sling-cms/components/cms/contentnav",
-				"createPath": "/cms/site/create.html/content",
+				"createPath": "/cms/site/creategroup.html/content",
 				"prefix": "/cms/site",
-				"itemPrefix": "/cms/site/content.html",
-				"query": "SELECT * FROM [sling:Site] AS s WHERE ISCHILDNODE(s,'/content') ORDER BY NAME()",
-				"title": "Site"
+				"itemPrefix": "/cms/site/sites.html",
+				"query": "SELECT * FROM [sling:OrderedFolder] AS s WHERE ISCHILDNODE(s,'/content') ORDER BY NAME()",
+				"title": "Site Group"
 			},
 			"taxonomynav": {
 				"jcr:primaryType": "nt:unstructured",
@@ -36,6 +36,15 @@
 				"query": "SELECT * FROM [sling:Taxonomy] AS s WHERE ISCHILDNODE(s,'/etc/taxonomy') ORDER BY NAME()",
 				"title": "Taxonomy"
 			},
+			"configurationnav": {
+				"jcr:primaryType": "nt:unstructured",
+				"sling:resourceType": "sling-cms/components/cms/contentnav",
+				"createPath": "/cms/folder/create.html/conf",
+				"prefix": "/cms/config",
+				"itemPrefix": "/cms/config/list.html",
+				"query": "SELECT * FROM [sling:OrderedFolder] AS s WHERE ISCHILDNODE(s,'/conf') ORDER BY NAME()",
+				"title": "Configuration"
+			},
 			"toolsnav": {
 				"jcr:primaryType": "nt:unstructured",
 				"sling:resourceType": "sling-cms/components/cms/staticnav",
@@ -47,11 +56,6 @@
 						"link": "/bin/packages.html",
 						"text": "Content Packages"
 					},
-					"fileeditors": {
-						"jcr:primaryType": "nt:unstructured",
-						"link": "/cms/file/editors.html/etc/fileeditors",
-						"text": "File Editors"
-					},
 					"i18n": {
 						"jcr:primaryType": "nt:unstructured",
 						"link": "/cms/i18n/dictionaries.html/etc/i18n",
@@ -67,11 +71,6 @@
 						"link": "/bin/browser.html",
 						"text": "Node Browser"
 					},
-					"siteconfig": {
-						"jcr:primaryType": "nt:unstructured",
-						"link": "/cms/config/list.html/etc/config",
-						"text": "Site Configurations"
-					},
 					"systemconsole": {
 						"jcr:primaryType": "nt:unstructured",
 						"link": "/system/console",

-- 
To stop receiving notification emails like this one, please contact
dklco@apache.org.

Mime
View raw message