diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/pagelist.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/pagelist.get.json.ftl index 0f4097bb8b..4f7bd9a31d 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/pagelist.get.json.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/wiki/pagelist.get.json.ftl @@ -1,53 +1,62 @@ <#macro dateFormat date>${xmldate(date)} <#escape x as jsonUtils.encodeJSONString(x)> { - "totalPages" : ${wiki.pages?size?c}, - "permissions": - { - "create": ${wiki.container.hasPermission("CreateChildren")?string} - }, - "pages": - [ - <#list wiki.pages?sort_by(['modified'])?reverse as p> - <#assign node = p.node> - <#assign page = p.page> - { - "name" : "${p.name}", - "title" : "<#if p.title?has_content>${p.title}<#else>${p.name?replace("_", " ")}", - <#-- Strip out any HTML tags --> - "text" : "${page.contents}", - "tags" : [ - <#list p.tags as tag> - "${tag}"<#if tag_has_next>, - - ], - "createdOn": "<@dateFormat p.created />", - <#if p.createdBy??> - <#assign createdBy = (p.createdBy.properties.firstName!"" + " " + p.createdBy.properties.lastName!"")?trim> - <#assign createdByUser = p.createdBy.properties.userName> - <#else> - <#assign createdBy=""> - <#assign createdByUser=""> - - "createdBy": "${createdBy}", - "createdByUser": "${createdByUser}", - "modifiedOn": "<@dateFormat p.modified />", - <#if p.modifiedBy??> - <#assign modifiedBy = (p.modifiedBy.properties.firstName!"" + " " + p.modifiedBy.properties.lastName!"")?trim> - <#assign modifiedByUser = p.modifiedBy.properties.userName> - <#else> - <#assign modifiedBy=""> - <#assign modifiedByUser=""> - - "modifiedBy": "${modifiedBy}", - "modifiedByUser": "${modifiedByUser}", - "permissions": - { - "edit": ${node.hasPermission("Write")?string}, - "delete": ${node.hasPermission("Delete")?string} - } - }<#if p_has_next>, - - ] + "totalPages": ${wiki.pages?size?c}, + "permissions": + { + "create": ${wiki.container.hasPermission("CreateChildren")?string} + }, + "pages": + [ + <#if pageMetaOnly> + <#list wiki.pages as p> + <#assign page = p.page> + { + "name": "${p.name}", + "title": "<#if p.title?has_content>${p.title}<#else>${p.name?replace("_", " ")}", + }<#if p_has_next>, + + <#else> + <#list wiki.pages?sort_by(['modified'])?reverse as p> + <#assign node = p.node> + <#assign page = p.page> + { + "name": "${p.name}", + "title": "<#if p.title?has_content>${p.title}<#else>${p.name?replace("_", " ")}", + "text": "${page.contents}", + "tags": [ + <#list p.tags as tag> + "${tag}"<#if tag_has_next>, + + ], + "createdOn": "<@dateFormat p.created />", + <#if p.createdBy??> + <#assign createdBy = (p.createdBy.properties.firstName!"" + " " + p.createdBy.properties.lastName!"")?trim> + <#assign createdByUser = p.createdBy.properties.userName> + <#else> + <#assign createdBy=""> + <#assign createdByUser=""> + + "createdBy": "${createdBy}", + "createdByUser": "${createdByUser}", + "modifiedOn": "<@dateFormat p.modified />", + <#if p.modifiedBy??> + <#assign modifiedBy = (p.modifiedBy.properties.firstName!"" + " " + p.modifiedBy.properties.lastName!"")?trim> + <#assign modifiedByUser = p.modifiedBy.properties.userName> + <#else> + <#assign modifiedBy=""> + <#assign modifiedByUser=""> + + "modifiedBy": "${modifiedBy}", + "modifiedByUser": "${modifiedByUser}", + "permissions": + { + "edit": ${node.hasPermission("Write")?string}, + "delete": ${node.hasPermission("Delete")?string} + } + }<#if p_has_next>, + + + ] } diff --git a/source/java/org/alfresco/repo/web/scripts/wiki/WikiPageListGet.java b/source/java/org/alfresco/repo/web/scripts/wiki/WikiPageListGet.java index 06ce6819b7..ec944eaaed 100644 --- a/source/java/org/alfresco/repo/web/scripts/wiki/WikiPageListGet.java +++ b/source/java/org/alfresco/repo/web/scripts/wiki/WikiPageListGet.java @@ -64,6 +64,8 @@ public class WikiPageListGet extends AbstractWikiWebScript { // Decide on what kind of request they wanted String filter = req.getParameter("filter"); + String strPageMetaOnly = req.getParameter("pageMetaOnly"); + boolean pageMetaOnly = strPageMetaOnly != null ? Boolean.parseBoolean(strPageMetaOnly) : false; // User? boolean userFiltering = false; @@ -178,6 +180,7 @@ public class WikiPageListGet extends AbstractWikiWebScript model.put("siteId", site.getShortName()); model.put("site", site); model.put(TemplateService.KEY_SHARE_URL, UrlUtil.getShareUrl(sysAdminParams)); + model.put("pageMetaOnly", pageMetaOnly); return model; } }