diff --git a/config/alfresco/templates/webscripts/org/alfresco/paging.lib.atom.ftl b/config/alfresco/templates/webscripts/org/alfresco/paging.lib.atom.ftl
index 08e1f6dd0a..d856fa56e1 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/paging.lib.atom.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/paging.lib.atom.ftl
@@ -67,3 +67,9 @@
${cursor.startRow}
${cursor.pageSize}
[/#macro]
+
+[#macro cmis cursor]
+[#-- NOTE: this macro requires the definition of xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" in --]
+[#-- the enclosing document --]
+${cursor.totalRows}
+[/#macro]
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/repository.get.atomsvc.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/repository.get.atomsvc.ftl
index 67bb88c2ab..0518d2a80b 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/repository.get.atomsvc.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/repository.get.atomsvc.ftl
@@ -3,7 +3,7 @@
[#import "/org/alfresco/cmis/links.lib.atom.ftl" as linksLib/]
-
+
${server.name}
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/search/queries.post.atomfeed.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/search/queries.post.atomfeed.ftl
index 521e9c6ba8..6554e0c3ef 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/search/queries.post.atomfeed.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/search/queries.post.atomfeed.ftl
@@ -16,6 +16,7 @@
[@pagingLib.linksredirect cursor "${queryUri}" "${queryArgs}" "${cmisconstants.MIMETYPE_FEED}"/]
[/@feedLib.generic]
[@pagingLib.opensearch cursor/]
+[@pagingLib.cmis cursor/]
[#assign rs = cmisresultset(resultset)]
[#list rs.rows as row]
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/search/query.get.atomfeed.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/search/query.get.atomfeed.ftl
index 133ce388b5..7a55eadf30 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/search/query.get.atomfeed.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/search/query.get.atomfeed.ftl
@@ -16,6 +16,7 @@
[@pagingLib.links cursor/]
[/@feedLib.generic]
[@pagingLib.opensearch cursor/]
+[@pagingLib.cmis cursor/]
[#assign rs = cmisresultset(resultset)]
[#list rs.rows as row]
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/store/children.get.atomfeed.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/store/children.get.atomfeed.ftl
index 71be7da261..61e3acbdba 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/store/children.get.atomfeed.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/store/children.get.atomfeed.ftl
@@ -22,6 +22,7 @@
[@pagingLib.links cursor/]
[/@feedLib.node]
[@pagingLib.opensearch cursor/]
+[@pagingLib.cmis cursor/]
[#list results as child]
[#if child.isDocument]
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/store/relationships.get.atomfeed.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/store/relationships.get.atomfeed.ftl
index 39d477de36..8525f9dbd9 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/store/relationships.get.atomfeed.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/store/relationships.get.atomfeed.ftl
@@ -17,6 +17,7 @@
[@pagingLib.links cursor/]
[/@feedLib.node]
[@pagingLib.opensearch cursor/]
+[@pagingLib.cmis cursor/]
[#list results as assoc]
[@entryLib.assoc assoc=assoc propfilter=filter includeallowableactions=includeAllowableActions/]
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/store/typechildren.get.atomfeed.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/store/typechildren.get.atomfeed.ftl
index 0f289a54b1..49306f7d1d 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/store/typechildren.get.atomfeed.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/store/typechildren.get.atomfeed.ftl
@@ -23,6 +23,7 @@
[@pagingLib.links cursor/]
[/@feedLib.generic]
[@pagingLib.opensearch cursor/]
+[@pagingLib.cmis cursor/]
[#list results as child]
[@entryLib.typedef child includePropertyDefinitions/]
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/store/typedescendants.get.js b/config/alfresco/templates/webscripts/org/alfresco/repository/store/typedescendants.get.js
index 31fd5d3d00..da1cffe9cd 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/store/typedescendants.get.js
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/store/typedescendants.get.js
@@ -29,7 +29,14 @@ script:
// depth
var depth = args[cmis.ARG_DEPTH];
- model.depth = (depth === null) ? 1 : parseInt(depth);
+ if (depth == 0)
+ {
+ status.code = 500;
+ status.message = "Depth cannot be 0";
+ status.redirect = true;
+ break script;
+ }
+ model.depth = (depth === null) ? -1 : parseInt(depth);
// handle property definitions
var includePropertyDefinitions = args[cmis.ARG_INCLUDE_PROPERTY_DEFINITIONS];
diff --git a/source/java/org/alfresco/repo/web/scripts/content/ContentSet.java b/source/java/org/alfresco/repo/web/scripts/content/ContentSet.java
index bb3209cd9b..4cbb018d46 100644
--- a/source/java/org/alfresco/repo/web/scripts/content/ContentSet.java
+++ b/source/java/org/alfresco/repo/web/scripts/content/ContentSet.java
@@ -168,7 +168,8 @@ public class ContentSet extends AbstractWebScript
ContentReader reader = contentService.getReader(nodeRef, propertyQName);
if (reader != null)
{
- throw new WebScriptException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Content already exists.");
+ // error code as per CMIS specification
+ throw new WebScriptException(HttpServletResponse.SC_CONFLICT, "Content already exists.");
}
}