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

jeb pushed a commit to branch SLING-7900
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git


The following commit(s) were added to refs/heads/SLING-7900 by this push:
     new d9e8f10  SLING-7900 UI dynamic file actions
d9e8f10 is described below

commit d9e8f10bdc0c3e3421767012ef1fb472bff4eb83
Author: Jason E Bailey <[email protected]>
AuthorDate: Thu Sep 13 20:21:48 2018 -0400

    SLING-7900 UI dynamic file actions
---
 .../core/models/components/AvailableActions.java   |  31 +++++
 .../jcr_root/libs/sling-cms/actions/nt%3Afile.json |  46 +++++++
 .../libs/sling-cms/actions/sling%3AFile.json       |  46 +++++++
 .../libs/sling-cms/actions/sling%3AFolder.json     |  25 ++++
 .../sling-cms/actions/sling%3AOrderedFolder.json   |  25 ++++
 .../libs/sling-cms/actions/sling%3APage.json       |  38 ++++++
 .../libs/sling-cms/actions/sling%3ASite.json       |  24 ++++
 .../components/cms/columns/actions/actions.jsp     |  42 +++---
 .../components/cms/columns/publish/publish.jsp     |   4 +-
 .../sling-cms/content/actions/create/config.json   |   2 +-
 .../sling-cms/content/actions/create/folder.json   |   7 +-
 .../sling-cms/content/actions/create/page.json     |   7 +-
 .../sling-cms/content/actions/create/site.json     | 142 ++++++++++-----------
 .../sling-cms/content/actions/edit/folder.json     |   7 +-
 .../libs/sling-cms/content/actions/edit/site.json  |   2 +-
 .../sling-cms/content/actions/edit/sitegroup.json  |   3 +-
 .../sling-cms/content/actions/edit/taxonomy.json   |   7 +-
 .../sling-cms/content/actions/edit/template.json   |   5 -
 .../sling-cms/content/actions/shared/delete.json   |  83 ++++++------
 .../sling-cms/content/actions/shared/movecopy.json | 121 +++++++++---------
 .../sling-cms/content/actions/shared/publish.json  |  79 ++++++------
 .../sling-cms/content/actions/shared/search.json   | 104 +++++++--------
 .../content/actions/shared/unpublish.json          |  79 ++++++------
 .../sling-cms/content/actions/shared/versions.json |  35 +++--
 .../jcr_root/libs/sling-cms/content/page/edit.json | 106 +++++++--------
 .../sling-cms/content/page/editproperties.json     |  30 ++---
 .../libs/sling-cms/content/page/pagewrapper.json   |   4 +-
 .../sling-cms/content/page/siteeditproperties.json |  35 +++--
 .../libs/sling-cms/content/site/content.json       |  41 ------
 .../libs/sling-cms/content/site/sites.json         |  26 ----
 30 files changed, 663 insertions(+), 543 deletions(-)

diff --git 
a/core/src/main/java/org/apache/sling/cms/core/models/components/AvailableActions.java
 
b/core/src/main/java/org/apache/sling/cms/core/models/components/AvailableActions.java
index 767cb6f..13e4770 100644
--- 
a/core/src/main/java/org/apache/sling/cms/core/models/components/AvailableActions.java
+++ 
b/core/src/main/java/org/apache/sling/cms/core/models/components/AvailableActions.java
@@ -16,6 +16,37 @@
  */
 package org.apache.sling.cms.core.models.components;
 
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+
+import javax.inject.Inject;
+
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.models.annotations.DefaultInjectionStrategy;
+import org.apache.sling.models.annotations.Model;
+import org.apache.sling.models.annotations.injectorspecific.Self;
+
+@Model(adaptables = SlingHttpServletRequest.class, defaultInjectionStrategy = 
DefaultInjectionStrategy.OPTIONAL)
 public class AvailableActions {
 
+    @Inject
+    @Self
+    SlingHttpServletRequest slingRequest;
+    
+    public List<Resource> getChildren() {
+        System.out.println(slingRequest.getContextPath());
+        System.out.println(slingRequest.getResource().getPath());
+        String type = 
slingRequest.getResource().getValueMap().get("jcr:primaryType", "sling:File");
+        System.out.println(type);
+        Resource resource = 
slingRequest.getResourceResolver().resolve("/libs/sling-cms/actions/"+type);
+        
+        List<Resource> list = new ArrayList<>();
+        resource.listChildren().forEachRemaining(list::add);
+        System.out.println(list.toString());
+        return list;
+    }
+
 }
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/actions/nt%3Afile.json 
b/ui/src/main/resources/jcr_root/libs/sling-cms/actions/nt%3Afile.json
new file mode 100644
index 0000000..fc1963a
--- /dev/null
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/actions/nt%3Afile.json
@@ -0,0 +1,46 @@
+{
+    "jcr:primaryType": "nt:unstructured",
+    "sling:resourceType": "sling-cms/components/cms/columns/actions",
+    "edit": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Edit File",
+        "icon": "pencil-f",
+        "prefix": "/cms/actions/edit/file.html"
+    },
+    "optimize": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": false,
+        "title": "Optimize File",
+        "icon": "archive",
+        "prefix": "/cms/actions/optimize/file.html"
+    },
+    "download": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": false,
+        "title": "Download file",
+        "icon": "download"
+    },
+    "movecopy": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Move / Copy File",
+        "icon": "move-alt",
+        "prefix": "/cms/actions/shared/movecopy.html"
+    },
+    "version": {
+        "jcr:primaryType": "nt:unstructured",
+        "ajaxPath": ".versionmanager",
+        "modal": true,
+        "title": "Manage Versions",
+        "icon": "history",
+        "prefix": "/cms/actions/shared/versions.html"
+    },
+    "delete": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Delete File",
+        "icon": "trash",
+        "prefix": "/cms/actions/shared/delete.html"
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/actions/sling%3AFile.json 
b/ui/src/main/resources/jcr_root/libs/sling-cms/actions/sling%3AFile.json
new file mode 100644
index 0000000..fc1963a
--- /dev/null
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/actions/sling%3AFile.json
@@ -0,0 +1,46 @@
+{
+    "jcr:primaryType": "nt:unstructured",
+    "sling:resourceType": "sling-cms/components/cms/columns/actions",
+    "edit": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Edit File",
+        "icon": "pencil-f",
+        "prefix": "/cms/actions/edit/file.html"
+    },
+    "optimize": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": false,
+        "title": "Optimize File",
+        "icon": "archive",
+        "prefix": "/cms/actions/optimize/file.html"
+    },
+    "download": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": false,
+        "title": "Download file",
+        "icon": "download"
+    },
+    "movecopy": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Move / Copy File",
+        "icon": "move-alt",
+        "prefix": "/cms/actions/shared/movecopy.html"
+    },
+    "version": {
+        "jcr:primaryType": "nt:unstructured",
+        "ajaxPath": ".versionmanager",
+        "modal": true,
+        "title": "Manage Versions",
+        "icon": "history",
+        "prefix": "/cms/actions/shared/versions.html"
+    },
+    "delete": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Delete File",
+        "icon": "trash",
+        "prefix": "/cms/actions/shared/delete.html"
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/actions/sling%3AFolder.json 
b/ui/src/main/resources/jcr_root/libs/sling-cms/actions/sling%3AFolder.json
new file mode 100644
index 0000000..f437acb
--- /dev/null
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/actions/sling%3AFolder.json
@@ -0,0 +1,25 @@
+{
+    "jcr:primaryType": "nt:unstructured",
+    "sling:resourceType": "sling-cms/components/cms/columns/actions",
+    "edit": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Edit Folder",
+        "icon": "pencil-f",
+        "prefix": "/cms/actions/edit/folder.html"
+    },
+    "movecopy": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Move / Copy Folder",
+        "icon": "move-alt",
+        "prefix": "/cms/actions/shared/movecopy.html"
+    },
+    "delete": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Delete Folder",
+        "icon": "trash",
+        "prefix": "/cms/actions/shared/delete.html"
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/actions/sling%3AOrderedFolder.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/actions/sling%3AOrderedFolder.json
new file mode 100644
index 0000000..6a91288
--- /dev/null
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/actions/sling%3AOrderedFolder.json
@@ -0,0 +1,25 @@
+{
+    "jcr:primartyType": "nt:unstructured",
+    "sling:resourceType": "sling-cms/components/cms/columns/actions",
+    "edit": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Edit Site Group",
+        "icon": "pencil-f",
+        "prefix": "/cms/actions/edit/sitegroup.html"
+    },
+    "movecopy": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Move / Copy Site Group",
+        "icon": "move-alt",
+        "prefix": "/cms/actions/shared/movecopy.html"
+    },
+    "delete": {
+        "jcr:primaryType": "nt:unstructured",
+        "title": "Delete Site Group",
+        "icon": "trash",
+        "prefix": "/cms/actions/shared/delete.html",
+        "modal": true
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/actions/sling%3APage.json 
b/ui/src/main/resources/jcr_root/libs/sling-cms/actions/sling%3APage.json
new file mode 100644
index 0000000..356523e
--- /dev/null
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/actions/sling%3APage.json
@@ -0,0 +1,38 @@
+{
+    "edit": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": false,
+        "title": "Edit Page",
+        "icon": "pencil-f",
+        "prefix": "/cms/page/edit.html"
+    },
+    "properties": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Edit Page Properties",
+        "icon": "cog",
+        "prefix": "/cms/page/siteeditproperties.html"
+    },
+    "movecopy": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Move / Copy Page",
+        "icon": "move-alt",
+        "prefix": "/cms/shared/movecopy.html"
+    },
+    "version": {
+        "jcr:primaryType": "nt:unstructured",
+        "ajaxPath": ".versionmanager",
+        "modal": true,
+        "title": "Manage Versions",
+        "icon": "history",
+        "prefix": "/cms/shared/versions.html"
+    },
+    "delete": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Delete the specified page",
+        "icon": "trash",
+        "prefix": "/cms/shared/delete.html"
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/actions/sling%3ASite.json 
b/ui/src/main/resources/jcr_root/libs/sling-cms/actions/sling%3ASite.json
new file mode 100644
index 0000000..7a92041
--- /dev/null
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/actions/sling%3ASite.json
@@ -0,0 +1,24 @@
+{
+    "jcr:resourceType": "nt:unstructured",
+    "edit": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Edit Site",
+        "icon": "pencil-f",
+        "prefix": "/cms/action/edit/site.html"
+    },
+    "movecopy": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Move / Copy Site",
+        "icon": "move-alt",
+        "prefix": "/cms/actions/shared/movecopy.html"
+    },
+    "delete": {
+        "jcr:primaryType": "nt:unstructured",
+        "modal": true,
+        "title": "Delete the specified site",
+        "icon": "trash",
+        "prefix": "/cms/actions/shared/delete.html"
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/columns/actions/actions.jsp
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/columns/actions/actions.jsp
index b1e51fb..116cea6 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/columns/actions/actions.jsp
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/columns/actions/actions.jsp
@@ -18,20 +18,28 @@
  */ --%>
 <%@include file="/libs/sling-cms/global.jsp"%>
 <td class="is-hidden cell-actions">
-       <c:forEach var="actionConfig" items="${sling:listChildren(colConfig)}">
-               <c:choose>
-                       <c:when test="${actionConfig.valueMap.modal}">
-                               <a class="button Fetch-Modal" 
data-title="${sling:encode(actionConfig.valueMap.title,'HTML_ATTR')}" 
data-path="${actionConfig.valueMap.ajaxPath != null ? 
actionConfig.valueMap.ajaxPath : '.Main-Content form'}" 
href="${actionConfig.valueMap.prefix}${resource.path}" 
title="${sling:encode(actionConfig.valueMap.title,'HTML_ATTR')}">
-                                       <span class="jam 
jam-${actionConfig.valueMap.icon}">
-                                       </span>
-                               </a>
-                       </c:when>
-                       <c:otherwise>
-                               <a class="button" ${actionConfig.valueMap.new 
!= false ? 'target="_blank"' : ''} 
href="${actionConfig.valueMap.prefix}${resource.path}" 
title="${sling:encode(actionConfig.valueMap.title,'HTML_ATTR')}">
-                                       <span class="jam 
jam-${actionConfig.valueMap.icon}">
-                                       </span>
-                               </a>
-                       </c:otherwise>
-               </c:choose>
-       </c:forEach>
-</td>
\ No newline at end of file
+<sling:adaptTo adaptable="${slingRequest}"
+    adaptTo="org.apache.sling.cms.core.models.components.AvailableActions" 
var="model" />
+<c:forEach var="child" items="${model.children}">
+        <c:choose>
+            <c:when test="${child.valueMap.modal}">
+                <a class="button Fetch-Modal"
+                    
data-title="${sling:encode(child.valueMap.title,'HTML_ATTR')}"
+                    data-path="${child.valueMap.ajaxPath != null ? 
actionConfig.valueMap.ajaxPath : '.Main-Content form'}"
+                    href="${child.valueMap.prefix}${resource.path}"
+                    title="${sling:encode(child.valueMap.title,'HTML_ATTR')}">
+                    <span class="jam jam-${child.valueMap.icon}">
+                </span>
+                </a>
+            </c:when>
+            <c:otherwise>
+                <a class="button"
+                    ${child.valueMap.new != false ? 'target="_blank"' : ''}
+                    href="${child.valueMap.prefix}${resource.path}"
+                    title="${sling:encode(child.valueMap.title,'HTML_ATTR')}">
+                    <span class="jam jam-${child.valueMap.icon}">
+                </span>
+                </a>
+            </c:otherwise>
+        </c:choose>
+    </c:forEach></td>
\ No newline at end of file
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/columns/publish/publish.jsp
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/columns/publish/publish.jsp
index ee55ded..e00bb7e 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/columns/publish/publish.jsp
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/columns/publish/publish.jsp
@@ -20,12 +20,12 @@
 <td class="has-text-centered" 
data-value="${sling:getRelativeResource(resource,'jcr:content').valueMap.published
 ? 0 : 1}">
        <c:choose>
                <c:when 
test="${sling:getRelativeResource(resource,'jcr:content').valueMap.published}">
-                       <a class="button is-success is-centered  Fetch-Modal" 
href="/cms/shared/unpublish.html${resource.path}" title="Click to Unpublish" 
data-title="Unpublish" data-path=".Main-Content form">
+                       <a class="button is-success is-centered  Fetch-Modal" 
href="/cms/actions/shared/unpublish.html${resource.path}" title="Click to 
Unpublish" data-title="Unpublish" data-path=".Main-Content form">
                                <i class="jam jam-download"></i>
                        </a>
                </c:when>
                <c:otherwise>
-                       <a class="button is-danger Fetch-Modal" 
href="/cms/shared/publish.html${resource.path}" title="Click to Publish" 
data-title="Publish" data-path=".Main-Content form">
+                       <a class="button is-danger Fetch-Modal" 
href="/cms/actions/shared/publish.html${resource.path}" title="Click to 
Publish" data-title="Publish" data-path=".Main-Content form">
                                <i class="jam jam-upload"></i>
                        </a>
                </c:otherwise>
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/config.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/config.json
index 2d1d7ff..e08e63d 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/config.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/config.json
@@ -16,7 +16,7 @@
                 "jcr:primaryType": "nt:unstructured",
                 "sling:resourceType": "sling-cms/components/editor/slingform",
                 "actionSuffix": "/*",
-                "button": "Create Site Config",
+                "button": "Create",
                 "successPrepend": "/libs/sling-cms/content/site/content.html",
                 "fields": {
                     "jcr:primaryType": "nt:unstructured",
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/folder.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/folder.json
index 8c04f36..485bce9 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/folder.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/folder.json
@@ -7,16 +7,11 @@
         "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>Create Folder</h3>"
-            },
             "slingform": {
                 "jcr:primaryType": "nt:unstructured",
                 "sling:resourceType": "sling-cms/components/editor/slingform",
                 "actionSuffix": "/*",
-                "button": "Create Folder",
+                "button": "Create",
                 "successPrepend": "/libs/sling-cms/content/site/content.html",
                 "fields": {
                     "jcr:primaryType": "nt:unstructured",
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/page.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/page.json
index 003f562..bf3e2db 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/page.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/page.json
@@ -7,15 +7,10 @@
         "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>Create Page</h3>"
-            },
             "slingform": {
                 "jcr:primaryType": "nt:unstructured",
                 "sling:resourceType": "sling-cms/components/editor/slingform",
-                "button": "Create Page",
+                "button": "Create",
                 "successPrepend": "/libs/sling-cms/content/site/content.html",
                 "fields": {
                     "jcr:primaryType": "nt:unstructured",
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/site.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/site.json
index d2c64c9..ecb522f 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/site.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/site.json
@@ -1,72 +1,72 @@
 {
-       "jcr:primaryType": "sling:Page",
-       "jcr:content": {
-               "sling:resourceType": "sling-cms/components/pages/form",
-               "jcr:title": "Create Site",
-               "jcr:primaryType": "nt:unstructured",
-               "container": {
-                       "jcr:primaryType": "nt:unstructured",
-                       "sling:resourceType": 
"sling-cms/components/general/container",
-                       "slingform": {
-                               "jcr:primaryType": "nt:unstructured",
-                               "sling:resourceType": 
"sling-cms/components/editor/slingform",
-                               "actionSuffix": "/*",
-                               "button": "Create Site",
-                               "successPrepend": 
"/libs/sling-cms/content/site/content.html",
-                               "fields": {
-                                       "jcr:primaryType": "nt:unstructured",
-                                       "sling:resourceType": 
"sling-cms/components/general/container",
-                                       "title": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/text",
-                                               "label": "Title",
-                                               "name": "jcr:title",
-                                               "required": true
-                                       },
-                                       "name": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/text",
-                                               "label": "Name",
-                                               "name": ":name"
-                                       },
-                                       "nameParam": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/hidden",
-                                               "name": ":nameParam",
-                                               "value": "jcr:title"
-                                       },
-                                       "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": "/conf",
-                                               "label": "Config",
-                                               "name": "sling:configRef",
-                                               "required": false,
-                                               "type": "config"
-                                       },
-                                       "primaryType": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/hidden",
-                                               "name": "jcr:primaryType",
-                                               "value": "sling:Site"
-                                       }
-                               }
-                       }
-               }
-       }
-}
\ No newline at end of file
+    "jcr:primaryType": "sling:Page",
+    "jcr:content": {
+        "sling:resourceType": "sling-cms/components/pages/form",
+        "jcr:title": "Create Site",
+        "jcr:primaryType": "nt:unstructured",
+        "container": {
+            "jcr:primaryType": "nt:unstructured",
+            "sling:resourceType": "sling-cms/components/general/container",
+            "slingform": {
+                "jcr:primaryType": "nt:unstructured",
+                "sling:resourceType": "sling-cms/components/editor/slingform",
+                "actionSuffix": "/*",
+                "button": "Create Site",
+                "successPrepend": "/libs/sling-cms/content/site/content.html",
+                "fields": {
+                    "jcr:primaryType": "nt:unstructured",
+                    "sling:resourceType": 
"sling-cms/components/general/container",
+                    "title": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/text",
+                        "label": "Title",
+                        "name": "jcr:title",
+                        "required": true
+                    },
+                    "name": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/text",
+                        "label": "Name",
+                        "name": ":name"
+                    },
+                    "nameParam": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/hidden",
+                        "name": ":nameParam",
+                        "value": "jcr:title"
+                    },
+                    "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": "/conf",
+                        "label": "Config",
+                        "name": "sling:configRef",
+                        "required": false,
+                        "type": "config"
+                    },
+                    "primaryType": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/hidden",
+                        "name": "jcr:primaryType",
+                        "value": "sling:Site"
+                    }
+                }
+            }
+        }
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/folder.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/folder.json
index bb2371b..1e41cbe 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/folder.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/folder.json
@@ -7,15 +7,10 @@
         "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>Edit Folder</h3>"
-            },
             "slingform": {
                 "jcr:primaryType": "nt:unstructured",
                 "sling:resourceType": "sling-cms/components/editor/slingform",
-                "button": "Edit Folder",
+                "button": "Save Changes",
                 "successPrepend": "/libs/sling-cms/content/site/content.html",
                 "fields": {
                     "jcr:primaryType": "nt:unstructured",
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/site.json 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/site.json
index e73af63..ec528b8 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/site.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/site.json
@@ -15,7 +15,7 @@
                        "slingform": {
                                "jcr:primaryType": "nt:unstructured",
                                "sling:resourceType": 
"sling-cms/components/editor/slingform",
-                               "button": "Edit Site",
+                               "button": "Save Changes",
                                "fields": {
                                        "jcr:primaryType": "nt:unstructured",
                                        "sling:resourceType": 
"sling-cms/components/general/container",
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/sitegroup.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/sitegroup.json
index 6c29d0f..93063f6 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/sitegroup.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/sitegroup.json
@@ -15,8 +15,7 @@
             "slingform": {
                 "jcr:primaryType": "nt:unstructured",
                 "sling:resourceType": "sling-cms/components/editor/slingform",
-                "actionSuffix": "/*",
-                "button": "Create Folder",
+                "button": "Save Changes",
                 "successPrepend": "/libs/sling-cms/content/site/content.html",
                 "fields": {
                     "jcr:primaryType": "nt:unstructured",
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/taxonomy.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/taxonomy.json
index 2f46bd1..f664ab9 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/taxonomy.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/taxonomy.json
@@ -7,15 +7,10 @@
         "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>Edit Taxonomy Item</h3>"
-            },
             "slingform": {
                 "jcr:primaryType": "nt:unstructured",
                 "sling:resourceType": "sling-cms/components/editor/slingform",
-                "button": "Update Taxonomy",
+                "button": "Save Changes",
                 "fields": {
                     "jcr:primaryType": "nt:unstructured",
                     "sling:resourceType": 
"sling-cms/components/general/container",
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/template.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/template.json
index 9ae587a..f02fa95 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/template.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/template.json
@@ -7,11 +7,6 @@
         "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>Edit Template</h2>"
-            },
             "siteconfig": {
                 "jcr:primaryType": "nt:unstructured",
                 "sling:resourceType": "sling-cms/components/cms/templateeditor"
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/delete.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/delete.json
index 6b9b365..d5c30c4 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/delete.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/delete.json
@@ -1,45 +1,40 @@
 {
-       "jcr:primaryType": "sling:Page",
-       "jcr:content": {
-               "sling:resourceType": "sling-cms/components/pages/base",
-               "jcr:title": "Delete Content",
-               "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>Delete Content</h3>"
-                       },
-                       "slingform": {
-                               "jcr:primaryType": "nt:unstructured",
-                               "sling:resourceType": 
"sling-cms/components/editor/slingform",
-                               "button": "Delete",
-                               "callback": "handledelete",
-                               "fields": {
-                                       "jcr:primaryType": "nt:unstructured",
-                                       "sling:resourceType": 
"sling-cms/components/general/container",
-                                       "path": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/suffixlabel",
-                                               "label": "Do you want to 
delete:"
-                                       },
-                                       "operation": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/hidden",
-                                               "name": ":operation",
-                                               "value": "delete"
-                                       },
-                                       "references": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/references",
-                                               "includeDestination": true,
-                                               "label": "Update references?",
-                                               "name": ":updateReferences"
-                                       }
-                               }
-                       }
-               }
-       }
-}
\ No newline at end of file
+    "jcr:primaryType": "sling:Page",
+    "jcr:content": {
+        "sling:resourceType": "sling-cms/components/pages/form",
+        "jcr:title": "Delete Content",
+        "jcr:primaryType": "nt:unstructured",
+        "container": {
+            "jcr:primaryType": "nt:unstructured",
+            "sling:resourceType": "sling-cms/components/general/container",
+            "slingform": {
+                "jcr:primaryType": "nt:unstructured",
+                "sling:resourceType": "sling-cms/components/editor/slingform",
+                "button": "Delete",
+                "callback": "handledelete",
+                "fields": {
+                    "jcr:primaryType": "nt:unstructured",
+                    "sling:resourceType": 
"sling-cms/components/general/container",
+                    "path": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/suffixlabel",
+                        "label": "Do you want to delete:"
+                    },
+                    "operation": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/hidden",
+                        "name": ":operation",
+                        "value": "delete"
+                    },
+                    "references": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/references",
+                        "includeDestination": true,
+                        "label": "Update references?",
+                        "name": ":updateReferences"
+                    }
+                }
+            }
+        }
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/movecopy.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/movecopy.json
index 8d6c399..0b70b80 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/movecopy.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/movecopy.json
@@ -1,64 +1,59 @@
 {
-       "jcr:primaryType": "sling:Page",
-       "jcr:content": {
-               "sling:resourceType": "sling-cms/components/pages/base",
-               "jcr:title": "Move/Copy Content",
-               "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>Move/Copy Content</h3>"
-                       },
-                       "slingform": {
-                               "jcr:primaryType": "nt:unstructured",
-                               "sling:resourceType": 
"sling-cms/components/editor/slingform",
-                               "button": "Move/Copy",
-                               "callback": "handlemove",
-                               "fields": {
-                                       "jcr:primaryType": "nt:unstructured",
-                                       "sling:resourceType": 
"sling-cms/components/general/container",
-                                       "path": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType" : 
"sling-cms/components/editor/fields/suffixlabel",
-                                               "label": "Existing Path:"
-                                       },
-                                       "destination": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType" : 
"sling-cms/components/editor/fields/path",
-                                               "label": "Destination:",
-                                               "name": ":dest"
-                                       },
-                                       "operation": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/select",
-                                               "label": "Operation",
-                                               "name": ":operation",
-                                               "options": {
-                                                       "jcr:primaryType": 
"nt:unstructured",
-                                                       "copy":{
-                                                               
"jcr:primaryType": "nt:unstructured",
-                                                               "label": "Copy",
-                                                               "value": "copy"
-                                                       },
-                                                       "move":{
-                                                               
"jcr:primaryType": "nt:unstructured",
-                                                               "label": "Move",
-                                                               "value": "move"
-                                                       }
-                                               }
-                                       },
-                                       "references": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/references",
-                                               "label": "Update References?",
-                                               "name": ":updateReferences",
-                                               "toggle": true
-                                       }
-                               }
-                       }
-               }
-       }
-}
\ No newline at end of file
+    "jcr:primaryType": "sling:Page",
+    "jcr:content": {
+        "sling:resourceType": "sling-cms/components/pages/form",
+        "jcr:title": "Move/Copy Content",
+        "jcr:primaryType": "nt:unstructured",
+        "container": {
+            "jcr:primaryType": "nt:unstructured",
+            "sling:resourceType": "sling-cms/components/general/container",
+            "slingform": {
+                "jcr:primaryType": "nt:unstructured",
+                "sling:resourceType": "sling-cms/components/editor/slingform",
+                "button": "Move/Copy",
+                "callback": "handlemove",
+                "fields": {
+                    "jcr:primaryType": "nt:unstructured",
+                    "sling:resourceType": 
"sling-cms/components/general/container",
+                    "path": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/suffixlabel",
+                        "label": "Existing Path:"
+                    },
+                    "destination": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/path",
+                        "label": "Destination:",
+                        "name": ":dest"
+                    },
+                    "operation": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/select",
+                        "label": "Operation",
+                        "name": ":operation",
+                        "options": {
+                            "jcr:primaryType": "nt:unstructured",
+                            "copy": {
+                                "jcr:primaryType": "nt:unstructured",
+                                "label": "Copy",
+                                "value": "copy"
+                            },
+                            "move": {
+                                "jcr:primaryType": "nt:unstructured",
+                                "label": "Move",
+                                "value": "move"
+                            }
+                        }
+                    },
+                    "references": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/references",
+                        "label": "Update References?",
+                        "name": ":updateReferences",
+                        "toggle": true
+                    }
+                }
+            }
+        }
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/publish.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/publish.json
index 2abc9d5..6206d21 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/publish.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/publish.json
@@ -1,43 +1,38 @@
 {
-       "jcr:primaryType": "sling:Page",
-       "jcr:content": {
-               "sling:resourceType": "sling-cms/components/pages/base",
-               "jcr:title": "Publish Content",
-               "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>Publish Content</h3>"
-                       },
-                       "slingform": {
-                               "jcr:primaryType": "nt:unstructured",
-                               "sling:resourceType": 
"sling-cms/components/editor/slingform",
-                               "button": "Publish",
-                               "fields": {
-                                       "jcr:primaryType": "nt:unstructured",
-                                       "sling:resourceType": 
"sling-cms/components/general/container",
-                                       "path": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType" : 
"sling-cms/components/editor/fields/suffixlabel",
-                                               "label": "Do you want to 
publish:"
-                                       },
-                                       "published": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/hidden",
-                                               "name": "jcr:content/published",
-                                               "value": "true"
-                                       },
-                                       "publishedTypeHint": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/hidden",
-                                               "name": 
"jcr:content/published@TypeHint",
-                                               "value": "Boolean"
-                                       }
-                               }
-                       }
-               }
-       }
-}
\ No newline at end of file
+    "jcr:primaryType": "sling:Page",
+    "jcr:content": {
+        "sling:resourceType": "sling-cms/components/pages/form",
+        "jcr:title": "Publish Content",
+        "jcr:primaryType": "nt:unstructured",
+        "container": {
+            "jcr:primaryType": "nt:unstructured",
+            "sling:resourceType": "sling-cms/components/general/container",
+            "slingform": {
+                "jcr:primaryType": "nt:unstructured",
+                "sling:resourceType": "sling-cms/components/editor/slingform",
+                "button": "Publish",
+                "fields": {
+                    "jcr:primaryType": "nt:unstructured",
+                    "sling:resourceType": 
"sling-cms/components/general/container",
+                    "path": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/suffixlabel",
+                        "label": "Do you want to publish:"
+                    },
+                    "published": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/hidden",
+                        "name": "jcr:content/published",
+                        "value": "true"
+                    },
+                    "publishedTypeHint": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/hidden",
+                        "name": "jcr:content/published@TypeHint",
+                        "value": "Boolean"
+                    }
+                }
+            }
+        }
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/search.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/search.json
index 63655ff..7ca912a 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/search.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/search.json
@@ -1,53 +1,53 @@
 {
-       "jcr:primaryType": "sling:Page",
-       "jcr:content": {
-               "sling:resourceType": "sling-cms/components/pages/base",
-               "jcr:title": "Search",
-               "jcr:primaryType": "nt:unstructured",
-               "container": {
-                       "jcr:primaryType": "nt:unstructured",
-                       "sling:resourceType": 
"sling-cms/components/general/container",
-                       "searchform": {
-                               "jcr:primaryType": "nt:unstructured",
-                               "sling:resourceType": 
"sling-cms/components/cms/getform",
-                               "button": "Search",
-                               "load": "#search-results",
-                               "target": "#search-results",
-                               "fields": {
-                                       "jcr:primaryType": "nt:unstructured",
-                                       "sling:resourceType": 
"sling-cms/components/general/container",
-                                       "term": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/text",
-                                               "label": "Term",
-                                               "name": "term",
-                                               "required": "required"
-                                       },
-                                       "type": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/select",
-                                               "name": "type",
-                                               "label": "Content Type",
-                                               "options": [
-                                                       "Page=sling:Page",
-                                                       "File=sling:File",
-                                                       "Folder=sling:Folder",
-                                                       "Everything=nt:base"
-                                               ]
-                                       },
-                                       "path": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/path",
-                                               "label": "Path",
-                                               "name": "path",
-                                               "hidesearch": true
-                                       }
-                               }
-                       },
-                       "searchresults": {
-                               "jcr:primaryType": "nt:unstructured",
-                               "sling:resourceType": 
"sling-cms/components/cms/searchresults"
-                       }
-               }
-       }
-}
\ No newline at end of file
+    "jcr:primaryType": "sling:Page",
+    "jcr:content": {
+        "sling:resourceType": "sling-cms/components/pages/base",
+        "jcr:title": "Search",
+        "jcr:primaryType": "nt:unstructured",
+        "container": {
+            "jcr:primaryType": "nt:unstructured",
+            "sling:resourceType": "sling-cms/components/general/container",
+            "searchform": {
+                "jcr:primaryType": "nt:unstructured",
+                "sling:resourceType": "sling-cms/components/cms/getform",
+                "button": "Search",
+                "load": "#search-results",
+                "target": "#search-results",
+                "fields": {
+                    "jcr:primaryType": "nt:unstructured",
+                    "sling:resourceType": 
"sling-cms/components/general/container",
+                    "term": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/text",
+                        "label": "Term",
+                        "name": "term",
+                        "required": "required"
+                    },
+                    "type": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/select",
+                        "name": "type",
+                        "label": "Content Type",
+                        "options": [
+                            "Page=sling:Page",
+                            "File=sling:File",
+                            "Folder=sling:Folder",
+                            "Everything=nt:base"
+                        ]
+                    },
+                    "path": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/path",
+                        "label": "Path",
+                        "name": "path",
+                        "hidesearch": true
+                    }
+                }
+            },
+            "searchresults": {
+                "jcr:primaryType": "nt:unstructured",
+                "sling:resourceType": "sling-cms/components/cms/searchresults"
+            }
+        }
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/unpublish.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/unpublish.json
index ece8b0f..3abdecd 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/unpublish.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/unpublish.json
@@ -1,43 +1,38 @@
 {
-       "jcr:primaryType": "sling:Page",
-       "jcr:content": {
-               "sling:resourceType": "sling-cms/components/pages/base",
-               "jcr:title": "Unpublish Content",
-               "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>Unpublish Content</h3>"
-                       },
-                       "slingform": {
-                               "jcr:primaryType": "nt:unstructured",
-                               "sling:resourceType": 
"sling-cms/components/editor/slingform",
-                               "button": "Unpublish",
-                               "fields": {
-                                       "jcr:primaryType": "nt:unstructured",
-                                       "sling:resourceType": 
"sling-cms/components/general/container",
-                                       "path": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType" : 
"sling-cms/components/editor/fields/suffixlabel",
-                                               "label": "Do you want to 
unpublish:"
-                                       },
-                                       "published": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/hidden",
-                                               "name": "jcr:content/published",
-                                               "value": "false"
-                                       },
-                                       "publishedTypeHint": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "sling:resourceType": 
"sling-cms/components/editor/fields/hidden",
-                                               "name": 
"jcr:content/published@TypeHint",
-                                               "value": "Boolean"
-                                       }
-                               }
-                       }
-               }
-       }
-}
\ No newline at end of file
+    "jcr:primaryType": "sling:Page",
+    "jcr:content": {
+        "sling:resourceType": "sling-cms/components/pages/form",
+        "jcr:title": "Unpublish Content",
+        "jcr:primaryType": "nt:unstructured",
+        "container": {
+            "jcr:primaryType": "nt:unstructured",
+            "sling:resourceType": "sling-cms/components/general/container",
+            "slingform": {
+                "jcr:primaryType": "nt:unstructured",
+                "sling:resourceType": "sling-cms/components/editor/slingform",
+                "button": "Unpublish",
+                "fields": {
+                    "jcr:primaryType": "nt:unstructured",
+                    "sling:resourceType": 
"sling-cms/components/general/container",
+                    "path": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/suffixlabel",
+                        "label": "Do you want to unpublish:"
+                    },
+                    "published": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/hidden",
+                        "name": "jcr:content/published",
+                        "value": "false"
+                    },
+                    "publishedTypeHint": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "sling:resourceType": 
"sling-cms/components/editor/fields/hidden",
+                        "name": "jcr:content/published@TypeHint",
+                        "value": "Boolean"
+                    }
+                }
+            }
+        }
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/versions.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/versions.json
index ca321bf..9fda781 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/versions.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/shared/versions.json
@@ -1,21 +1,16 @@
 {
-       "jcr:primaryType": "sling:Page",
-       "jcr:content": {
-               "sling:resourceType": "sling-cms/components/pages/base",
-               "jcr:title": "Manage Versions",
-               "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>Manage Versions</h3>"
-                       },
-                       "versionmanager": {
-                               "jcr:primaryType": "nt:unstructured",
-                               "sling:resourceType": 
"sling-cms/components/cms/versionmanager"
-                       }
-               }
-       }
-}
\ No newline at end of file
+    "jcr:primaryType": "sling:Page",
+    "jcr:content": {
+        "sling:resourceType": "sling-cms/components/pages/form",
+        "jcr:title": "Manage Versions",
+        "jcr:primaryType": "nt:unstructured",
+        "container": {
+            "jcr:primaryType": "nt:unstructured",
+            "sling:resourceType": "sling-cms/components/general/container",
+            "versionmanager": {
+                "jcr:primaryType": "nt:unstructured",
+                "sling:resourceType": "sling-cms/components/cms/versionmanager"
+            }
+        }
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/edit.json 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/edit.json
index 82bc782..63b8a90 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/edit.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/edit.json
@@ -1,54 +1,54 @@
 {
-       "jcr:primaryType": "sling:Page",
-       "jcr:content": {
-               "jcr:primaryType": "nt:unstructured",
-               "jcr:title": "Edit",
-               "sling:resourceType": "sling-cms/components/pages/editor",
-               "container": {
-                       "jcr:primaryType": "nt:unstructured",
-                       "sling:resourceType": 
"sling-cms/components/general/container",
-                       "pageeditbar": {
-                               "jcr:primaryType": "nt:unstructured",
-                               "sling:resourceType": 
"sling-cms/components/cms/pageeditbar",
-                               "actions": {
-                                       "jcr:primaryType": "nt:unstructured",
-                                       "sling:resourceType": 
"sling-cms/components/cms/pageeditbar/actions",
-                                       "edit": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "ajaxPath": ".Form-Ajax",
-                                               "modal": true,
-                                               "prefix": 
"/cms/page/editproperties.html",
-                                               "title": "Edit Page",
-                                               "icon": "pencil-f"
-                                       },
-                                       "version": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "ajaxPath": ".versionmanager",
-                                               "modal": true,
-                                               "title": "Manage Versions",
-                                               "icon": "history",
-                                               "prefix": 
"/cms/shared/versions.html"
-                                       },
-                                       "movecopy": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "modal": true,
-                                               "title": "Move / Copy Page",
-                                               "icon": "move-alt",
-                                               "prefix": 
"/cms/shared/movecopy.html"
-                                       },
-                                       "delete": {
-                                               "jcr:primaryType": 
"nt:unstructured",
-                                               "modal": true,
-                                               "title": "Delete Page",
-                                               "icon": "trash",
-                                               "prefix": 
"/cms/shared/delete.html"
-                                       }
-                               }
-                       },
-                       "pageeditor": {
-                               "jcr:primaryType": "nt:unstructured",
-                               "sling:resourceType": 
"sling-cms/components/cms/pageeditor"
-                       }
-               }
-       }
-}
\ No newline at end of file
+    "jcr:primaryType": "sling:Page",
+    "jcr:content": {
+        "jcr:primaryType": "nt:unstructured",
+        "jcr:title": "Edit",
+        "sling:resourceType": "sling-cms/components/pages/editor",
+        "container": {
+            "jcr:primaryType": "nt:unstructured",
+            "sling:resourceType": "sling-cms/components/general/container",
+            "pageeditbar": {
+                "jcr:primaryType": "nt:unstructured",
+                "sling:resourceType": "sling-cms/components/cms/pageeditbar",
+                "actions": {
+                    "jcr:primaryType": "nt:unstructured",
+                    "sling:resourceType": 
"sling-cms/components/cms/pageeditbar/actions",
+                    "edit": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "ajaxPath": ".Form-Ajax",
+                        "modal": true,
+                        "prefix": "/cms/page/editproperties.html",
+                        "title": "Edit Page",
+                        "icon": "pencil-f"
+                    },
+                    "version": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "ajaxPath": ".versionmanager",
+                        "modal": true,
+                        "title": "Manage Versions",
+                        "icon": "history",
+                        "prefix": "/cms/shared/versions.html"
+                    },
+                    "movecopy": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "modal": true,
+                        "title": "Move / Copy Page",
+                        "icon": "move-alt",
+                        "prefix": "/cms/shared/movecopy.html"
+                    },
+                    "delete": {
+                        "jcr:primaryType": "nt:unstructured",
+                        "modal": true,
+                        "title": "Delete Page",
+                        "icon": "trash",
+                        "prefix": "/cms/shared/delete.html"
+                    }
+                }
+            },
+            "pageeditor": {
+                "jcr:primaryType": "nt:unstructured",
+                "sling:resourceType": "sling-cms/components/cms/pageeditor"
+            }
+        }
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/editproperties.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/editproperties.json
index b6df91d..80c27e1 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/editproperties.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/editproperties.json
@@ -1,16 +1,16 @@
 {
-       "jcr:primaryType": "sling:Page",
-       "jcr:content": {
-               "jcr:primaryType": "nt:unstructured",
-               "jcr:title": "Edit Properties",
-               "sling:resourceType": "sling-cms/components/pages/editor",
-               "container": {
-                       "jcr:primaryType": "nt:unstructured",
-                       "sling:resourceType": 
"sling-cms/components/general/container",
-                       "pageeditor": {
-                               "jcr:primaryType": "nt:unstructured",
-                               "sling:resourceType": 
"sling-cms/components/cms/pageeditbar/propertieseditor"
-                       }
-               }
-       }
-}
\ No newline at end of file
+    "jcr:primaryType": "sling:Page",
+    "jcr:content": {
+        "jcr:primaryType": "nt:unstructured",
+        "jcr:title": "Edit Properties",
+        "sling:resourceType": "sling-cms/components/pages/editor",
+        "container": {
+            "jcr:primaryType": "nt:unstructured",
+            "sling:resourceType": "sling-cms/components/general/container",
+            "pageeditor": {
+                "jcr:primaryType": "nt:unstructured",
+                "sling:resourceType": 
"sling-cms/components/cms/pageeditbar/propertieseditor"
+            }
+        }
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/pagewrapper.json 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/pagewrapper.json
index b9c1469..aefeb29 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/pagewrapper.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/pagewrapper.json
@@ -1,4 +1,4 @@
 {
     "jcr:primaryType": "nt:unstructured",
-    "sling:resourceType" : "sling-cms/components/cms/pagewrapper"
-}
\ No newline at end of file
+    "sling:resourceType": "sling-cms/components/cms/pagewrapper"
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/siteeditproperties.json
 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/siteeditproperties.json
index 522d698..8b23187 100644
--- 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/siteeditproperties.json
+++ 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/page/siteeditproperties.json
@@ -1,21 +1,16 @@
 {
-       "jcr:primaryType": "sling:Page",
-       "jcr:content": {
-               "sling:resourceType": "sling-cms/components/pages/base",
-               "jcr:title": "Edit Page",
-               "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>Edit Page</h3>"
-                       },
-                       "pageeditor": {
-                               "jcr:primaryType": "nt:unstructured",
-                               "sling:resourceType": 
"sling-cms/components/cms/pageeditbar/propertieseditor"
-                       }
-               }
-       }
-}
\ No newline at end of file
+    "jcr:primaryType": "sling:Page",
+    "jcr:content": {
+        "sling:resourceType": "sling-cms/components/pages/base",
+        "jcr:title": "Edit Page",
+        "jcr:primaryType": "nt:unstructured",
+        "container": {
+            "jcr:primaryType": "nt:unstructured",
+            "sling:resourceType": "sling-cms/components/general/container",
+            "pageeditor": {
+                "jcr:primaryType": "nt:unstructured",
+                "sling:resourceType": 
"sling-cms/components/cms/pageeditbar/propertieseditor"
+            }
+        }
+    }
+}
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/content.json 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/content.json
index 365848c..d882436 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/content.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/content.json
@@ -76,47 +76,6 @@
                         "sling:resourceType": 
"sling-cms/components/cms/columns/lastmodified",
                         "jcr:title": "Last Modified",
                         "subPath": "jcr:content/"
-                    },
-                    "actions": {
-                        "jcr:primaryType": "nt:unstructured",
-                        "sling:resourceType": 
"sling-cms/components/cms/columns/actions",
-                        "jcr:title": "Actions",
-                        "edit": {
-                            "jcr:primaryType": "nt:unstructured",
-                            "modal": false,
-                            "title": "Edit Page",
-                            "icon": "pencil-f",
-                            "prefix": "/cms/page/edit.html"
-                        },
-                        "properties": {
-                            "jcr:primaryType": "nt:unstructured",
-                            "modal": true,
-                            "title": "Edit Page Properties",
-                            "icon": "cog",
-                            "prefix": "/cms/page/siteeditproperties.html"
-                        },
-                        "movecopy": {
-                            "jcr:primaryType": "nt:unstructured",
-                            "modal": true,
-                            "title": "Move / Copy Page",
-                            "icon": "move-alt",
-                            "prefix": "/cms/actions/shared/movecopy.html"
-                        },
-                        "version": {
-                            "jcr:primaryType": "nt:unstructured",
-                            "ajaxPath": ".versionmanager",
-                            "modal": true,
-                            "title": "Manage Versions",
-                            "icon": "history",
-                            "prefix": "/cms/actions/shared/versions.html"
-                        },
-                        "delete": {
-                            "jcr:primaryType": "nt:unstructured",
-                            "modal": true,
-                            "title": "Delete the specified page",
-                            "icon": "trash",
-                            "prefix": "/cms/actions/shared/delete.html"
-                        }
                     }
                 }
             }
diff --git 
a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/sites.json 
b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/sites.json
index 628c6bc..85b1f8e 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/sites.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/sites.json
@@ -63,32 +63,6 @@
                         "sling:resourceType": 
"sling-cms/components/cms/columns/lastmodified",
                         "jcr:title": "Last Modified",
                         "subPath": "jcr:content/"
-                    },
-                    "actions": {
-                        "jcr:primaryType": "nt:unstructured",
-                        "sling:resourceType": 
"sling-cms/components/cms/columns/actions",
-                        "jcr:title": "Actions",
-                        "edit": {
-                            "jcr:primaryType": "nt:unstructured",
-                            "modal": true,
-                            "title": "Edit Site Group",
-                            "icon": "pencil-f",
-                            "prefix": "/cms/actions/edit/sitegroup.html"
-                        },
-                        "movecopy": {
-                            "jcr:primaryType": "nt:unstructured",
-                            "modal": true,
-                            "title": "Move / Copy Site Group",
-                            "icon": "move-alt",
-                            "prefix": "/cms/actions/shared/movecopy.html"
-                        },
-                        "delete": {
-                            "jcr:primaryType": "nt:unstructured",
-                            "title": "Delete Site Group",
-                            "icon": "trash",
-                            "prefix": "/cms/actions/shared/delete.html",
-                            "modal": true
-                        }
                     }
                 }
             }

Reply via email to