You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by dk...@apache.org on 2019/12/19 21:09:51 UTC
[sling-org-apache-sling-app-cms] 04/17: SLING-7900 UI changes
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch SLING-7900
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit 4d4651e15b6797c3548227a89979ae596e1cd75d
Author: JE Bailey <ja...@sas.com>
AuthorDate: Wed Sep 12 16:20:36 2018 -0400
SLING-7900 UI changes
* new 'form' page component used to return the minimalist content for a
modal
* Modal dialogs now have submit and cancel buttons at the bottom
* suffix breadcrumb is updated
* re structured the left panel to remove inline actions
* re structuring available actions internally
---
.../core/models/components/AvailableActions.java | 21 +++
.../cms/core/models/components/Breadcrumbs.java | 9 +-
.../cms/core/models/components/ContentTable.java | 11 +-
.../sling/cms/core/models/components/SiteNav.java | 26 +++
ui/src/main/frontend/src/js/cms.js | 4 +-
ui/src/main/resources/jcr_root/content.json | 6 +-
.../components/cms/contentnav/contentnav.jsp | 32 +---
.../libs/sling-cms/components/pages/base/nav.jsp | 3 +
.../libs/sling-cms/components/pages/form.json | 4 +
.../libs/sling-cms/components/pages/form/form.jsp | 20 ++
.../sling-cms/content/actions/create/folder.json | 59 ++++++
.../{site/create.json => actions/create/site.json} | 7 +-
.../create/sitegroup.json} | 2 +-
.../{file/edit.json => actions/edit/file.json} | 2 +-
.../editgroup.json => actions/edit/folder.json} | 16 +-
.../{site/create.json => actions/edit/site.json} | 29 +--
.../jcr_root/libs/sling-cms/content/file/edit.json | 2 +-
.../libs/sling-cms/content/file/upload.json | 7 +-
.../libs/sling-cms/content/folder/create.json | 116 ++++++------
.../libs/sling-cms/content/site/create.json | 7 +-
.../libs/sling-cms/content/site/creategroup.json | 2 +-
.../libs/sling-cms/content/site/editgroup.json | 86 ++++-----
.../libs/sling-cms/content/site/sites.json | 98 +++++-----
.../jcr_root/libs/sling-cms/content/start.json | 208 ++++++++++-----------
.../libs/sling-cms/content/template/create.json | 116 ++++++------
.../sling-cms/content/templates/sitegroup.json | 5 +
26 files changed, 491 insertions(+), 407 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
new file mode 100644
index 0000000..767cb6f
--- /dev/null
+++ b/core/src/main/java/org/apache/sling/cms/core/models/components/AvailableActions.java
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.cms.core.models.components;
+
+public class AvailableActions {
+
+}
diff --git a/core/src/main/java/org/apache/sling/cms/core/models/components/Breadcrumbs.java b/core/src/main/java/org/apache/sling/cms/core/models/components/Breadcrumbs.java
index a856490..c4abe0c 100644
--- a/core/src/main/java/org/apache/sling/cms/core/models/components/Breadcrumbs.java
+++ b/core/src/main/java/org/apache/sling/cms/core/models/components/Breadcrumbs.java
@@ -30,12 +30,18 @@ import org.apache.sling.models.annotations.DefaultInjectionStrategy;
import org.apache.sling.models.annotations.Model;
import org.apache.sling.models.annotations.Via;
import org.apache.sling.models.annotations.injectorspecific.Self;
-
+/**
+ * Logic for the Suffix BreadCrumb Component
+ *
+ *
+ *
+ */
@Model(adaptables = SlingHttpServletRequest.class, defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL)
public class Breadcrumbs {
@Inject
@Via("resource")
+ @Default(intValues=1)
int depth;
@Inject
@@ -43,6 +49,7 @@ public class Breadcrumbs {
@Inject
@Via("resource")
+ @Default(values="../..")
String prefix;
@Inject
diff --git a/core/src/main/java/org/apache/sling/cms/core/models/components/ContentTable.java b/core/src/main/java/org/apache/sling/cms/core/models/components/ContentTable.java
index 21ed513..cbd611e 100644
--- a/core/src/main/java/org/apache/sling/cms/core/models/components/ContentTable.java
+++ b/core/src/main/java/org/apache/sling/cms/core/models/components/ContentTable.java
@@ -27,6 +27,7 @@ import javax.inject.Inject;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ValueMap;
+import org.apache.sling.models.annotations.Default;
import org.apache.sling.models.annotations.DefaultInjectionStrategy;
import org.apache.sling.models.annotations.Model;
import org.apache.sling.models.annotations.Via;
@@ -38,6 +39,11 @@ public class ContentTable {
@Inject
@Via("resource")
private List<Resource> columns;
+
+ @Inject
+ @Via("resource")
+ @Default(values="/")
+ private String defaultPath;
private String[] types;
@@ -58,7 +64,10 @@ public class ContentTable {
public List<ChildResourceData> getChildren() {
Resource suffix = slingRequest.getRequestPathInfo().getSuffixResource();
if (suffix == null) {
- return Collections.emptyList();
+ suffix = slingRequest.getResourceResolver().getResource(defaultPath);
+ if (suffix == null) {
+ return Collections.emptyList();
+ }
}
List<ChildResourceData> response = new ArrayList<>();
suffix.listChildren().forEachRemaining(child -> {
diff --git a/core/src/main/java/org/apache/sling/cms/core/models/components/SiteNav.java b/core/src/main/java/org/apache/sling/cms/core/models/components/SiteNav.java
new file mode 100644
index 0000000..934cf3a
--- /dev/null
+++ b/core/src/main/java/org/apache/sling/cms/core/models/components/SiteNav.java
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.cms.core.models.components;
+
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.models.annotations.DefaultInjectionStrategy;
+import org.apache.sling.models.annotations.Model;
+
+@Model(adaptables = SlingHttpServletRequest.class, defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL)
+public class SiteNav {
+
+}
diff --git a/ui/src/main/frontend/src/js/cms.js b/ui/src/main/frontend/src/js/cms.js
index d53ed3d..72b9474 100644
--- a/ui/src/main/frontend/src/js/cms.js
+++ b/ui/src/main/frontend/src/js/cms.js
@@ -50,9 +50,9 @@ Sling.CMS = {
return $modal;
},
fetchModal: function(title, link, path, complete){
- var $modal = $('<div class="modal"><div class="modal-background"></div><div class="modal-card is-draggable"><header class="modal-card-head"><p class="modal-card-title">'+title+'</p></header><section class="modal-card-body"></section><footer class="modal-card-foot"><a class="close-modal is-warning button" aria-label="close">Cancel</a></footer></div>');
+ var $modal = $('<div class="modal"><div class="modal-background"></div><div class="modal-card is-draggable"><header class="modal-card-head"><p class="modal-card-title">'+title+'</p></header><section class="modal-card-body"></section><footer class="modal-card-foot"><a class="close-modal is-danger button" aria-label="close">Cancel</a></footer></div>');
$('body').append($modal);
- $modal.find('.modal-card-body').load(link + " " +path,function(){
+ $modal.find('.modal-card-body').load(link,function(){
var submitButton = $modal.find('button:submit');
var closeButton = $modal.find('.close-modal');
submitButton.insertBefore(closeButton);
diff --git a/ui/src/main/resources/jcr_root/content.json b/ui/src/main/resources/jcr_root/content.json
index e064ab5..0f29c12 100644
--- a/ui/src/main/resources/jcr_root/content.json
+++ b/ui/src/main/resources/jcr_root/content.json
@@ -1,3 +1,7 @@
{
- "jcr:primaryType": "sling:Folder"
+ "jcr:primaryType": "sling:Folder",
+ "allowedResourceTypes": [
+ "sling:Site",
+ "sling:OrderedFolder"
+ ]
}
\ No newline at end of file
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/contentnav/contentnav.jsp b/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/contentnav/contentnav.jsp
index 17570b7..5fe486d 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/contentnav/contentnav.jsp
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/components/cms/contentnav/contentnav.jsp
@@ -17,36 +17,6 @@
* under the License.
*/ --%>
<%@include file="/libs/sling-cms/global.jsp"%>
-<sling:findResources var="content" query="${properties.query}" language="JCR-SQL2" />
<aside class="menu">
-<a class="menu-label toggle-hidden" data-target="#nav-${fn:replace(properties.title,' ','-')}">${properties.title}</a>
-<ul class="menu-list ${fn:startsWith(slingRequest.requestURI, properties.prefix) ? '' : 'is-hidden'}" id="nav-${fn:replace(properties.title,' ','-')}">
- <c:forEach var="item" items="${content}">
- <c:set var="prefixPath" value="${item.path}/" />
- <li class="${(fn:startsWith(slingRequest.requestPathInfo.suffix, prefixPath) || slingRequest.requestPathInfo.suffix == item.path) ? 'is-active' : ''}">
- <a href="${properties.itemPrefix}${item.path}" title="View ${item.valueMap['jcr:title']}">
- <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:when test="${not empty item.valueMap['jcr:title']}">
- <sling:encode value="${item.valueMap['jcr:title']}" mode="HTML" />
- </c:when>
- <c:otherwise>
- <sling:encode value="${item.name}" mode="HTML" />
- </c:otherwise>
- </c:choose>
- </a>
- </li>
- </c:forEach>
- <c:choose>
- <c:when test="${not empty properties.createTitle}">
- <c:set var="createTitle" value="${properties.createTitle}" />
- </c:when>
- <c:otherwise>
- <c:set var="createTitle" value="${properties.title}" />
- </c:otherwise>
- </c:choose>
- <li><a href="${properties.createPath}" class="Fetch-Modal" title="Create a new ${createTitle}" data-title="Create ${createTitle}" data-path=".Main-Content form"><span class="icon is-small"><i class="jam jam-plus"></i></span> ${createTitle}</a></li>
-</ul>
+<a class="menu-label toggle-hidden" href="${properties.itemPrefix}" data-target="#nav-${fn:replace(properties.title,' ','-')}">${properties.title}</a>
</aside>
\ No newline at end of file
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/base/nav.jsp b/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/base/nav.jsp
index 36aefb8..e8ee431 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/base/nav.jsp
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/base/nav.jsp
@@ -23,6 +23,9 @@
<img src="/static/clientlibs/sling-cms/img/sling-logo.svg" width="100" alt="Apache Sling"/>
</a>
<a href="/cms/start.html" class="navbar-item" title="CMS Home"><span class="icon"><i class="jam jam-home-f"></i></span></a>
+<div class="navbar-item">
+<sling:include path="breadcrumb" resourceType="sling-cms/components/cms/contentbreadcrumb" />
+</div>
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/form.json b/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/form.json
new file mode 100644
index 0000000..f815a51
--- /dev/null
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/form.json
@@ -0,0 +1,4 @@
+{
+ "jcr:primaryType" : "sling:Component",
+ "jcr:title": "CMS - Form Page"
+}
\ No newline at end of file
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/form/form.jsp b/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/form/form.jsp
new file mode 100644
index 0000000..16eedf0
--- /dev/null
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/components/pages/form/form.jsp
@@ -0,0 +1,20 @@
+<%-- /*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */ --%>
+ <%@include file="/libs/sling-cms/global.jsp"%>
+<sling:include path="container" resourceType="sling-cms/components/general/container" />
\ No newline at end of file
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
new file mode 100644
index 0000000..8c04f36
--- /dev/null
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/folder.json
@@ -0,0 +1,59 @@
+{
+ "jcr:primaryType": "sling:Page",
+ "jcr:content": {
+ "sling:resourceType": "sling-cms/components/pages/form",
+ "jcr:title": "Create Folder",
+ "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>Create Folder</h3>"
+ },
+ "slingform": {
+ "jcr:primaryType": "nt:unstructured",
+ "sling:resourceType": "sling-cms/components/editor/slingform",
+ "actionSuffix": "/*",
+ "button": "Create Folder",
+ "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:content/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:content/jcr:title"
+ },
+ "primaryType": {
+ "jcr:primaryType": "nt:unstructured",
+ "sling:resourceType": "sling-cms/components/editor/fields/hidden",
+ "name": "jcr:primaryType",
+ "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/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/site.json
similarity index 90%
copy from ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json
copy to ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/site.json
index 5d6c0e9..d2c64c9 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/site.json
@@ -1,17 +1,12 @@
{
"jcr:primaryType": "sling:Page",
"jcr:content": {
- "sling:resourceType": "sling-cms/components/pages/base",
+ "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",
- "richtext": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/general/richtext",
- "text": "<h3>Create Site</h3>"
- },
"slingform": {
"jcr:primaryType": "nt:unstructured",
"sling:resourceType": "sling-cms/components/editor/slingform",
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/sitegroup.json
similarity index 97%
copy from ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json
copy to ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/sitegroup.json
index 9b434ac..353affa 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/create/sitegroup.json
@@ -1,7 +1,7 @@
{
"jcr:primaryType": "sling:Page",
"jcr:content": {
- "sling:resourceType": "sling-cms/components/pages/base",
+ "sling:resourceType": "sling-cms/components/pages/form",
"jcr:title": "Create Folder",
"jcr:primaryType": "nt:unstructured",
"container": {
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/edit.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/file.json
similarity index 90%
copy from ui/src/main/resources/jcr_root/libs/sling-cms/content/file/edit.json
copy to ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/file.json
index 6887601..f11fdf7 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/edit.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/file.json
@@ -1,7 +1,7 @@
{
"jcr:primaryType": "sling:Page",
"jcr:content": {
- "sling:resourceType": "sling-cms/components/pages/base",
+ "sling:resourceType": "sling-cms/components/pages/form",
"jcr:title": "Edit File",
"jcr:primaryType": "nt:unstructured",
"container": {
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/folder.json
similarity index 70%
copy from ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json
copy to ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/folder.json
index a508fc6..b2092a5 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/folder.json
@@ -2,7 +2,7 @@
"jcr:primaryType": "sling:Page",
"jcr:content": {
"sling:resourceType": "sling-cms/components/pages/base",
- "jcr:title": "Edit Site Group",
+ "jcr:title": "Edit Folder",
"jcr:primaryType": "nt:unstructured",
"container": {
"jcr:primaryType": "nt:unstructured",
@@ -10,13 +10,12 @@
"richtext": {
"jcr:primaryType": "nt:unstructured",
"sling:resourceType": "sling-cms/components/general/richtext",
- "text": "<h3>Edit Site Group</h3>"
+ "text": "<h3>Edit Folder</h3>"
},
"slingform": {
"jcr:primaryType": "nt:unstructured",
"sling:resourceType": "sling-cms/components/editor/slingform",
- "actionSuffix": "/*",
- "button": "Create Folder",
+ "button": "Edit Folder",
"successPrepend":"/libs/sling-cms/content/site/content.html",
"fields": {
"jcr:primaryType": "nt:unstructured",
@@ -27,15 +26,6 @@
"label": "Title",
"name": "jcr:content/jcr:title",
"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"
}
}
}
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/site.json
similarity index 73%
copy from ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json
copy to ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/site.json
index 5d6c0e9..319e9a5 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/actions/edit/site.json
@@ -2,7 +2,7 @@
"jcr:primaryType": "sling:Page",
"jcr:content": {
"sling:resourceType": "sling-cms/components/pages/base",
- "jcr:title": "Create Site",
+ "jcr:title": "Edit Site",
"jcr:primaryType": "nt:unstructured",
"container": {
"jcr:primaryType": "nt:unstructured",
@@ -10,14 +10,12 @@
"richtext": {
"jcr:primaryType": "nt:unstructured",
"sling:resourceType": "sling-cms/components/general/richtext",
- "text": "<h3>Create Site</h3>"
+ "text": "<h3>Edit Site</h3>"
},
"slingform": {
"jcr:primaryType": "nt:unstructured",
"sling:resourceType": "sling-cms/components/editor/slingform",
- "actionSuffix": "/*",
- "button": "Create Site",
- "successPrepend": "/libs/sling-cms/content/site/content.html",
+ "button": "Edit Site",
"fields": {
"jcr:primaryType": "nt:unstructured",
"sling:resourceType": "sling-cms/components/general/container",
@@ -28,17 +26,12 @@
"name": "jcr:title",
"required": true
},
- "name": {
+ "description": {
"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"
+ "sling:resourceType": "sling-cms/components/editor/fields/textarea",
+ "label": "Description",
+ "name": "jcr:description",
+ "required": false
},
"url": {
"jcr:primaryType": "nt:unstructured",
@@ -63,12 +56,6 @@
"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/file/edit.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/edit.json
index 6887601..f11fdf7 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/edit.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/edit.json
@@ -1,7 +1,7 @@
{
"jcr:primaryType": "sling:Page",
"jcr:content": {
- "sling:resourceType": "sling-cms/components/pages/base",
+ "sling:resourceType": "sling-cms/components/pages/form",
"jcr:title": "Edit File",
"jcr:primaryType": "nt:unstructured",
"container": {
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/upload.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/upload.json
index 1723c34..f8ae93f 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/upload.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/file/upload.json
@@ -1,17 +1,12 @@
{
"jcr:primaryType": "sling:Page",
"jcr:content": {
- "sling:resourceType": "sling-cms/components/pages/base",
+ "sling:resourceType": "sling-cms/components/pages/form",
"jcr:title": "Upload File",
"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>Upload File</h3>"
- },
"slingform": {
"jcr:primaryType": "nt:unstructured",
"sling:resourceType": "sling-cms/components/editor/slingform",
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/folder/create.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/folder/create.json
index 73a0458..8c04f36 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/folder/create.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/folder/create.json
@@ -1,59 +1,59 @@
{
- "jcr:primaryType": "sling:Page",
- "jcr:content": {
- "sling:resourceType": "sling-cms/components/pages/base",
- "jcr:title": "Create Folder",
- "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>Create Folder</h3>"
- },
- "slingform": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/editor/slingform",
- "actionSuffix": "/*",
- "button": "Create Folder",
- "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:content/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:content/jcr:title"
- },
- "primaryType": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/editor/fields/hidden",
- "name": "jcr:primaryType",
- "value": "sling:OrderedFolder"
- },
- "contentPrimaryType": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/editor/fields/hidden",
- "name": "jcr:content/jcr:primaryType",
- "value": "nt:unstructured"
- }
- }
- }
- }
- }
-}
\ No newline at end of file
+ "jcr:primaryType": "sling:Page",
+ "jcr:content": {
+ "sling:resourceType": "sling-cms/components/pages/form",
+ "jcr:title": "Create Folder",
+ "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>Create Folder</h3>"
+ },
+ "slingform": {
+ "jcr:primaryType": "nt:unstructured",
+ "sling:resourceType": "sling-cms/components/editor/slingform",
+ "actionSuffix": "/*",
+ "button": "Create Folder",
+ "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:content/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:content/jcr:title"
+ },
+ "primaryType": {
+ "jcr:primaryType": "nt:unstructured",
+ "sling:resourceType": "sling-cms/components/editor/fields/hidden",
+ "name": "jcr:primaryType",
+ "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/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json
index 5d6c0e9..d2c64c9 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/create.json
@@ -1,17 +1,12 @@
{
"jcr:primaryType": "sling:Page",
"jcr:content": {
- "sling:resourceType": "sling-cms/components/pages/base",
+ "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",
- "richtext": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/general/richtext",
- "text": "<h3>Create Site</h3>"
- },
"slingform": {
"jcr:primaryType": "nt:unstructured",
"sling:resourceType": "sling-cms/components/editor/slingform",
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json
index 9b434ac..353affa 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/creategroup.json
@@ -1,7 +1,7 @@
{
"jcr:primaryType": "sling:Page",
"jcr:content": {
- "sling:resourceType": "sling-cms/components/pages/base",
+ "sling:resourceType": "sling-cms/components/pages/form",
"jcr:title": "Create Folder",
"jcr:primaryType": "nt:unstructured",
"container": {
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json
index a508fc6..44c9b33 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/site/editgroup.json
@@ -1,44 +1,44 @@
{
- "jcr:primaryType": "sling:Page",
- "jcr:content": {
- "sling:resourceType": "sling-cms/components/pages/base",
- "jcr:title": "Edit Site Group",
- "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 Site Group</h3>"
- },
- "slingform": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/editor/slingform",
- "actionSuffix": "/*",
- "button": "Create Folder",
- "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:content/jcr:title",
- "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"
- }
- }
- }
- }
- }
-}
\ No newline at end of file
+ "jcr:primaryType": "sling:Page",
+ "jcr:content": {
+ "sling:resourceType": "sling-cms/components/pages/base",
+ "jcr:title": "Edit Site Group",
+ "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 Site Group</h3>"
+ },
+ "slingform": {
+ "jcr:primaryType": "nt:unstructured",
+ "sling:resourceType": "sling-cms/components/editor/slingform",
+ "actionSuffix": "/*",
+ "button": "Create Folder",
+ "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:content/jcr:title",
+ "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"
+ }
+ }
+ }
+ }
+ }
+}
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 275fcc9..9c37266 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
@@ -1,67 +1,71 @@
{
- "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",
- "contentactions": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/cms/contentactions",
- "actions": {
- "page": {
- "jcr:primaryType": "nt:unstructured",
- "label": "Site",
- "icon" : "jam jam-document",
- "prefix": "/cms/site/create.html"
- },
- "folder": {
- "jcr:primaryType": "nt:unstructured",
- "label": "Site Group",
- "icon" : "jam jam-document-f",
- "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": "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",
+ "contentactions": {
+ "jcr:primaryType": "nt:unstructured",
+ "sling:resourceType": "sling-cms/components/cms/contentactions",
+ "actions": {
+ "page": {
+ "jcr:primaryType": "nt:unstructured",
+ "label": "Site",
+ "icon": "jam jam-document",
+ "prefix": "/cms/actions/create/site.html"
+ },
+ "folder": {
+ "jcr:primaryType": "nt:unstructured",
+ "label": "Site Group",
+ "icon": "jam jam-document-f",
+ "prefix": "/cms/actions/create/sitegroup.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",
+ "defaultPath": "/content",
+ "columns": {
"jcr:primaryType": "nt:unstructured",
- "resourceTypes":["sling:Site","sling:OrderedFolder"],
+ "resourceTypes": [
+ "sling:Site",
+ "sling:OrderedFolder"
+ ],
"name": {
"jcr:primaryType": "nt:unstructured",
"sling:resourceType": "sling-cms/components/cms/columns/name",
"link": true,
- "jcr:title":"Name",
- "prefix": "/cms/site/content.html"
+ "jcr:title": "Name",
+ "prefix": "/cms/site/sites.html"
},
"title": {
"jcr:primaryType": "nt:unstructured",
"sling:resourceType": "sling-cms/components/cms/columns/text",
"property": "jcr:content/jcr:title",
- "jcr:title":"Title",
+ "jcr:title": "Title",
"type": "String"
},
"lastModified": {
"jcr:primaryType": "nt:unstructured",
"sling:resourceType": "sling-cms/components/cms/columns/lastmodified",
- "jcr:title":"Last Modified",
+ "jcr:title": "Last Modified",
"subPath": "jcr:content/"
},
"actions": {
"jcr:primaryType": "nt:unstructured",
"sling:resourceType": "sling-cms/components/cms/columns/actions",
- "jcr:title":"Actions",
+ "jcr:title": "Actions",
"edit": {
"jcr:primaryType": "nt:unstructured",
"modal": true,
@@ -84,8 +88,8 @@
"modal": true
}
}
- }
- }
- }
- }
+ }
+ }
+ }
+ }
}
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/start.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/start.json
index 2c061fa..b4ec947 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/start.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/start.json
@@ -1,110 +1,100 @@
{
- "jcr:primaryType": "sling:Page",
- "jcr:content": {
- "sling:resourceType": "sling-cms/components/pages/base",
- "jcr:title": "Start",
- "jcr:primaryType": "nt:unstructured",
- "sling:vanityPath": "/cms",
- "sling:redirect": true,
- "center": true,
- "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>Welcome to the Apache Sling CMS!<\/h2><p>This is a full-featured Content Management System built using the Apache Sling Framework! To begin, select Site on the left to add your first website.<\/p>"
- }
- },
- "nav": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/general/container",
- "sitenav": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/cms/contentnav",
- "createPath": "/cms/site/creategroup.html/content",
- "createTitle": "Site Group",
- "prefix": "/cms/site",
- "itemPrefix": "/cms/site/sites.html",
- "query": "SELECT * FROM [sling:OrderedFolder] AS s WHERE ISCHILDNODE(s,'/content') ORDER BY NAME()",
- "title": "Sites"
- },
- "staticnav": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/cms/contentnav",
- "createPath": "/cms/folder/create.html/static",
- "createTitle": "Folder",
- "prefix": "/cms/static",
- "itemPrefix": "/cms/static/content.html",
- "query": "SELECT * FROM [sling:Folder] AS s WHERE ISCHILDNODE(s,'/static') ORDER BY NAME()",
- "title": "Static Content"
- },
- "taxonomynav": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/cms/contentnav",
- "createPath": "/cms/taxonomy/create.html/etc/taxonomy",
- "prefix": "/cms/taxonomy",
- "itemPrefix": "/cms/taxonomy/list.html",
- "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"
- },
- "usergeneratednav": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/cms/contentnav",
- "createPath": "/cms/folder/create.html/etc/usergenerated",
- "createFolder": "Bucket",
- "prefix": "/cms/usergenerated",
- "itemPrefix": "/cms/usergenerated/content.html",
- "query": "SELECT * FROM [sling:OrderedFolder] AS s WHERE ISCHILDNODE(s,'/etc/usergenerated') ORDER BY NAME()",
- "title": "User Generated"
- },
- "toolsnav": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/cms/staticnav",
- "title": "Tools",
- "links": {
- "jcr:primaryType": "nt:unstructured",
- "contentpackages": {
- "jcr:primaryType": "nt:unstructured",
- "link": "/bin/packages.html",
- "text": "Content Packages"
- },
- "i18n": {
- "jcr:primaryType": "nt:unstructured",
- "link": "/cms/i18n/dictionaries.html/etc/i18n",
- "text": "Internationalization (i18n)"
- },
- "mappings": {
- "jcr:primaryType": "nt:unstructured",
- "link": "/cms/mappings/list.html/etc/map",
- "text": "Mappings"
- },
- "nodebrowser": {
- "jcr:primaryType": "nt:unstructured",
- "link": "/bin/browser.html",
- "text": "Node Browser"
- },
- "systemconsole": {
- "jcr:primaryType": "nt:unstructured",
- "link": "/system/console",
- "text": "System Console"
- },
- "usersgroups": {
- "jcr:primaryType": "nt:unstructured",
- "link": "/bin/users.html",
- "text": "Users & Groups"
- }
- }
- }
- }
- }
-}
\ No newline at end of file
+ "jcr:primaryType": "sling:Page",
+ "jcr:content": {
+ "sling:resourceType": "sling-cms/components/pages/base",
+ "jcr:title": "Start",
+ "jcr:primaryType": "nt:unstructured",
+ "sling:vanityPath": "/cms",
+ "sling:redirect": true,
+ "center": true,
+ "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>Welcome to the Apache Sling CMS!<\/h2><p>This is a full-featured Content Management System built using the Apache Sling Framework! To begin, select Site on the left to add your first website.<\/p>"
+ }
+ },
+ "nav": {
+ "jcr:primaryType": "nt:unstructured",
+ "sling:resourceType": "sling-cms/components/general/container",
+ "othernav": {
+ "jcr:primaryType": "nt:unstructured",
+ "sling:resourceType": "sling-cms/components/cms/staticnav",
+ "title": "Manage",
+ "links": {
+ "jcr:primaryType": "nt:unstructured",
+ "sitenav": {
+ "jcr:primaryType": "nt:unstructured",
+ "link": "/cms/site/sites.html/content",
+ "text": "Sites"
+ },
+ "staticnav": {
+ "jcr:primaryType": "nt:unstructured",
+ "link": "/cms/static/content.html/static",
+ "text": "Static Content"
+ },
+ "taxonomy": {
+ "jcr:primaryType": "nt:unstructured",
+ "link": "/cms/taxonomy/list.html/etc/taxonomy",
+ "text": "Taxonomy"
+ },
+ "templates": {
+ "jcr:primaryType": "nt:unstructured",
+ "link": "/cms/taxonomy/list.html/etc/taxonomy",
+ "text": "Templates"
+ },
+ "config": {
+ "jcr:primaryType": "nt:unstructured",
+ "link": "/cms/config/list.html/conf",
+ "text": "Configuration"
+ },
+ "usergenerated": {
+ "jcr:primaryType": "nt:unstructured",
+ "link": "/cms/usergenerated/content.html/etc/usergenerated",
+ "text": "User Generated"
+ }
+ }
+ },
+ "toolsnav": {
+ "jcr:primaryType": "nt:unstructured",
+ "sling:resourceType": "sling-cms/components/cms/staticnav",
+ "title": "Tools",
+ "links": {
+ "jcr:primaryType": "nt:unstructured",
+ "contentpackages": {
+ "jcr:primaryType": "nt:unstructured",
+ "link": "/bin/packages.html",
+ "text": "Content Packages"
+ },
+ "i18n": {
+ "jcr:primaryType": "nt:unstructured",
+ "link": "/cms/i18n/dictionaries.html/etc/i18n",
+ "text": "Internationalization (i18n)"
+ },
+ "mappings": {
+ "jcr:primaryType": "nt:unstructured",
+ "link": "/cms/mappings/list.html/etc/map",
+ "text": "Mappings"
+ },
+ "nodebrowser": {
+ "jcr:primaryType": "nt:unstructured",
+ "link": "/bin/browser.html",
+ "text": "Node Browser"
+ },
+ "systemconsole": {
+ "jcr:primaryType": "nt:unstructured",
+ "link": "/system/console",
+ "text": "System Console"
+ },
+ "usersgroups": {
+ "jcr:primaryType": "nt:unstructured",
+ "link": "/bin/users.html",
+ "text": "Users & Groups"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/template/create.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/template/create.json
index f5d4a73..9a96b51 100644
--- a/ui/src/main/resources/jcr_root/libs/sling-cms/content/template/create.json
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/template/create.json
@@ -1,59 +1,59 @@
{
- "jcr:primaryType": "sling:Page",
- "jcr:content": {
- "sling:resourceType": "sling-cms/components/pages/base",
- "jcr:title": "Create Template",
- "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>Create Template</h3>"
- },
- "slingform": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/editor/slingform",
- "actionSuffix": "/templates/",
- "button": "Create Template",
- "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"
- },
- "primaryType": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/editor/fields/hidden",
- "name": "jcr:primaryType",
- "value": "nt:unstructured"
- },
- "resourceType": {
- "jcr:primaryType": "nt:unstructured",
- "sling:resourceType": "sling-cms/components/editor/fields/hidden",
- "name": "sling:resourceType",
- "value": "sling-cms/components/cms/pagetemplate"
- }
- }
- }
- }
- }
-}
\ No newline at end of file
+ "jcr:primaryType": "sling:Page",
+ "jcr:content": {
+ "sling:resourceType": "sling-cms/components/pages/base",
+ "jcr:title": "Create Template",
+ "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>Create Template</h3>"
+ },
+ "slingform": {
+ "jcr:primaryType": "nt:unstructured",
+ "sling:resourceType": "sling-cms/components/editor/slingform",
+ "actionSuffix": "/templates/",
+ "button": "Create Template",
+ "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"
+ },
+ "primaryType": {
+ "jcr:primaryType": "nt:unstructured",
+ "sling:resourceType": "sling-cms/components/editor/fields/hidden",
+ "name": "jcr:primaryType",
+ "value": "nt:unstructured"
+ },
+ "resourceType": {
+ "jcr:primaryType": "nt:unstructured",
+ "sling:resourceType": "sling-cms/components/editor/fields/hidden",
+ "name": "sling:resourceType",
+ "value": "sling-cms/components/cms/pagetemplate"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/ui/src/main/resources/jcr_root/libs/sling-cms/content/templates/sitegroup.json b/ui/src/main/resources/jcr_root/libs/sling-cms/content/templates/sitegroup.json
new file mode 100644
index 0000000..8533f67
--- /dev/null
+++ b/ui/src/main/resources/jcr_root/libs/sling-cms/content/templates/sitegroup.json
@@ -0,0 +1,5 @@
+{
+ "jcr:contentType": "nt:unstructured",
+ "sling:resourceType" : "cms/template"
+
+}