diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/acl.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/acl.get.desc.xml
index 0aa48ccbaa..0cafb1b30c 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/acl.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/acl.get.desc.xml
@@ -13,7 +13,25 @@
/cmis/s/{store}/p{path}/acl
/api/node/{store_type}/{store_id}/{id}/acl
- /api/path/{store_type}/{store_id}/{path}/acl
+ /api/path/{store_type}/{store_id}/{nodepath}/acl
+
+
+ store
+ the store name
+
+
+ id
+ the node id of the object
+
+
+ path
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
+
+
argument
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/acl.put.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/acl.put.desc.xml
index 2a4fc7298b..9bf068f222 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/acl.put.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/acl.put.desc.xml
@@ -14,7 +14,25 @@
/cmis/s/{store}/p{path}/acl
/api/node/{store_type}/{store_id}/{id}/acl
- /api/path/{store_type}/{store_id}/{path}/acl
+ /api/path/{store_type}/{store_id}/{nodepath}/acl
+
+
+ store
+ the store name
+
+
+ id
+ the node id of the object
+
+
+ path
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
+
+
argument
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/allowableactions.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/allowableactions.get.desc.xml
index a0b299c59c..7f308fc595 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/allowableactions.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/allowableactions.get.desc.xml
@@ -14,7 +14,7 @@
/cmis/s/{store}/p{path}/allowableactions
/api/node/{store_type}/{store_id}/{id}/allowableactions
- /api/path/{store_type}/{store_id}/{path}/allowableactions
+ /api/path/{store_type}/{store_id}/{nodepath}/allowableactions
store
@@ -26,7 +26,11 @@
path
- the path of the object
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/children.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/children.get.desc.xml
index f17a90300d..c504e87ea2 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/children.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/children.get.desc.xml
@@ -14,7 +14,7 @@
/cmis/s/{store}/p{path}/children?types={types?}&filter={filter?}&skipCount={skipCount?}&maxItems={maxItems?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}&orderBy={orderBy?}
/api/node/{store_type}/{store_id}/{id}/children?types={types?}&filter={filter?}&skipCount={skipCount?}&maxItems={maxItems?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}&orderBy={orderBy?}
- /api/path/{store_type}/{store_id}/{path}/children?types={types?}&filter={filter?}&skipCount={skipCount?}&maxItems={maxItems?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}&orderBy={orderBy?}
+ /api/path/{store_type}/{store_id}/{nodepath}/children?types={types?}&filter={filter?}&skipCount={skipCount?}&maxItems={maxItems?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}&orderBy={orderBy?}
store
@@ -26,7 +26,11 @@
path
- the path of the folder
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
types
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/children.post.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/children.post.desc.xml
index 5b0adaf94e..17b661153e 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/children.post.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/children.post.desc.xml
@@ -15,7 +15,7 @@
/cmis/s/{store}/p{path}/children?sourceFolderId={sourceFolderId}&versioningState={versioningState?}
/api/node/{store_type}/{store_id}/{id}/children?sourceFolderId={sourceFolderId}&versioningState={versioningState?}
- /api/path/{store_type}/{store_id}/{path}/children?sourceFolderId={sourceFolderId}&versioningState={versioningState?}
+ /api/path/{store_type}/{store_id}/{nodepath}/children?sourceFolderId={sourceFolderId}&versioningState={versioningState?}
store
@@ -27,7 +27,11 @@
path
- the path of the folder
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
sourceFolderId
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/content.delete.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/content.delete.desc.xml
index 31302a7cf7..4292ac1fc4 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/content.delete.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/content.delete.desc.xml
@@ -14,10 +14,10 @@
/cmis/s/{store}/p{path}/content{property}
/api/node/content{property}/{store_type}/{store_id}/{id}
- /api/path/content{property}/{store_type}/{store_id}/{id}
+ /api/path/content{property}/{store_type}/{store_id}/{nodepath}
/api/avmpath/content{property}/{store_id}/{id}
/api/node/{store_type}/{store_id}/{id}/content{property}
- /api/path/{store_type}/{store_id}/{id}/content{property}
+ /api/path/{store_type}/{store_id}/{nodepath}/content{property}
@@ -30,7 +30,11 @@
path
- the path of the object
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
property
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/content.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/content.get.desc.xml
index 7d29ae356e..4af15ecd1a 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/content.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/content.get.desc.xml
@@ -15,10 +15,10 @@
/api/node/content{property}/{store_type}/{store_id}/{id}?a={attach?}&streamId={streamId?}
- /api/path/content{property}/{store_type}/{store_id}/{path}?a={attach?}&streamId={streamId?}
+ /api/path/content{property}/{store_type}/{store_id}/{nodepath}?a={attach?}&streamId={streamId?}
/api/avmpath/content{property}/{store_id}/{avmpath}?a={attach?}&streamId={streamId?}
/api/node/{store_type}/{store_id}/{id}/content{property}?a={attach?}&streamId={streamId?}
- /api/path/{store_type}/{store_id}/{path}/content{property}?a={attach?}&streamId={streamId?}
+ /api/path/{store_type}/{store_id}/{nodepath}/content{property}?a={attach?}&streamId={streamId?}
@@ -31,7 +31,11 @@
path
- the path of the object
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
property
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/content.put.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/content.put.desc.xml
index 8f70fde467..5dd2a15c81 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/content.put.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/content.put.desc.xml
@@ -14,10 +14,10 @@
/cmis/s/{store}/p{path}/content{property}?overwriteFlag={overwriteFlag?}
/api/node/content{property}/{store_type}/{store_id}/{id}?overwriteFlag={overwriteFlag?}
- /api/path/content{property}/{store_type}/{store_id}/{id}?overwriteFlag={overwriteFlag?}
+ /api/path/content{property}/{store_type}/{store_id}/{nodepath}?overwriteFlag={overwriteFlag?}
/api/avmpath/content{property}/{store_id}/{id}?overwriteFlag={overwriteFlag?}
/api/node/{store_type}/{store_id}/{id}/content{property}?overwriteFlag={overwriteFlag?}
- /api/path/{store_type}/{store_id}/{id}/content{property}?overwriteFlag={overwriteFlag?}
+ /api/path/{store_type}/{store_id}/{nodepath}/content{property}?overwriteFlag={overwriteFlag?}
@@ -30,7 +30,11 @@
path
- the path of the object
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
property
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/descendants.delete.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/descendants.delete.desc.xml
index 7205ca7786..bf2f6d74ae 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/descendants.delete.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/descendants.delete.desc.xml
@@ -14,7 +14,7 @@
/cmis/s/{store}/p{path}/descendants?continueOnFailure={continueOnFailure?}&unfileObjects={unfileObjects}
/api/node/{store_type}/{store_id}/{id}/descendants?continueOnFailure={continueOnFailure?}&unfileObjects={unfileObjects}
- /api/path/{store_type}/{store_id}/{path}/descendants?continueOnFailure={continueOnFailure?}&unfileObjects={unfileObjects}
+ /api/path/{store_type}/{store_id}/{nodepath}/descendants?continueOnFailure={continueOnFailure?}&unfileObjects={unfileObjects}
@@ -27,7 +27,11 @@
path
- the path of the folder
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
continueOnFailure
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/descendants.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/descendants.get.desc.xml
index eec4626d5f..c47dafa687 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/descendants.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/descendants.get.desc.xml
@@ -14,7 +14,7 @@
/cmis/s/{store}/p{path}/descendants?types={types}&filter={filter?}&depth={depth?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}
/api/node/{store_type}/{store_id}/{id}/descendants?types={types}&filter={filter?}&depth={depth?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}
- /api/path/{store_type}/{store_id}/{path}/descendants?types={types}&filter={filter?}&depth={depth?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}
+ /api/path/{store_type}/{store_id}/{nodepath}/descendants?types={types}&filter={filter?}&depth={depth?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}
store
@@ -26,7 +26,11 @@
path
- the path of the folder
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
types
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/item.delete.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/item.delete.desc.xml
index 3a7e0a4d97..e81874c016 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/item.delete.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/item.delete.desc.xml
@@ -14,7 +14,25 @@
/cmis/s/{store}/p{path}
/api/node/{store_type}/{store_id}/{id}
- /api/path/{store_type}/{store_id}/{path}
+ /api/path/{store_type}/{store_id}/{nodepath}
+
+
+ store
+ the store name
+
+
+ id
+ the node id of the folder
+
+
+ path
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
+
+
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/item.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/item.get.desc.xml
index 4588ed38d8..ca179a3fde 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/item.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/item.get.desc.xml
@@ -20,7 +20,7 @@
/api/node/{store_type}/{store_id}/{id}?filter={filter?}&returnVersion={returnVersion?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&includeACL={includeACL?}&renditionFilter={renditionFilter?}
- /api/path/{store_type}/{store_id}/{path}?filter={filter?}&returnVersion={returnVersion?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&includeACL={includeACL?}&renditionFilter={renditionFilter?}
+ /api/path/{store_type}/{store_id}/{nodepath}?filter={filter?}&returnVersion={returnVersion?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&includeACL={includeACL?}&renditionFilter={renditionFilter?}
@@ -33,7 +33,11 @@
path
- the path of the object
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
noderef
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/item.patch.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/item.patch.desc.xml
index 6e0bb50f7b..deef0341b7 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/item.patch.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/item.patch.desc.xml
@@ -14,7 +14,7 @@
/cmis/s/{store}/p{path}
/api/node/{store_type}/{store_id}/{id}
- /api/path/{store_type}/{store_id}/{path}
+ /api/path/{store_type}/{store_id}/{nodepath}
store
@@ -26,7 +26,11 @@
path
- the path of the object
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/item.put.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/item.put.desc.xml
index f40c4636bf..71ae67ad90 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/item.put.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/item.put.desc.xml
@@ -14,7 +14,7 @@
/cmis/s/{store}/p{path}
/api/node/{store_type}/{store_id}/{id}
- /api/path/{store_type}/{store_id}/{path}
+ /api/path/{store_type}/{store_id}/{nodepath}
store
@@ -26,7 +26,11 @@
path
- the path of the object
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/parent.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/parent.get.desc.xml
index 721fe8e5f3..464abf46c0 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/parent.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/parent.get.desc.xml
@@ -14,7 +14,7 @@
/cmis/s/{store}/p{path}/parent?filter={filter?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}
/api/node/{store_type}/{store_id}/{id}/parent?filter={filter?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}
- /api/path/{store_type}/{store_id}/{path}/parent?filter={filter?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}
+ /api/path/{store_type}/{store_id}/{nodepath}/parent?filter={filter?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}
store
@@ -26,7 +26,11 @@
path
- the path of the folder
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
filter
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/parents.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/parents.get.desc.xml
index 4f53faccdd..c2863c58b7 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/parents.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/parents.get.desc.xml
@@ -14,7 +14,7 @@
/cmis/s/{store}/p{path}/parents?filter={filter?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}&includeRelativePathSegment={includeRelativePathSegment?}
/api/node/{store_type}/{store_id}/{id}/parents?filter={filter?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}&includeRelativePathSegment={includeRelativePathSegment?}
- /api/path/{store_type}/{store_id}/{path}/parents?filter={filter?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}&includeRelativePathSegment={includeRelativePathSegment?}
+ /api/path/{store_type}/{store_id}/{nodepath}/parents?filter={filter?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}&includeRelativePathSegment={includeRelativePathSegment?}
store
@@ -26,7 +26,11 @@
path
- the path of the folder
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
filter
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/policies.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/policies.get.desc.xml
index 402d50ae04..58966b0bf5 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/policies.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/policies.get.desc.xml
@@ -15,7 +15,7 @@
/api/node/{store_type}/{store_id}/{id}/pols?filter={filter?}&skipCount={skipCount?}&maxItems={maxItems?}
- /api/path/{store_type}/{store_id}/{id}/pols?filter={filter?}&skipCount={skipCount?}&maxItems={maxItems?}
+ /api/path/{store_type}/{store_id}/{nodepath}/pols?filter={filter?}&skipCount={skipCount?}&maxItems={maxItems?}
store
@@ -27,7 +27,11 @@
path
- the path of the folder
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
filter
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/policies.post.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/policies.post.desc.xml
index 097101ed34..7b63791ac5 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/policies.post.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/policies.post.desc.xml
@@ -14,7 +14,7 @@
/cmis/s/{store}/p{path}/pols
/api/node/{store_type}/{store_id}/{id}/pols
- /api/path/{store_type}/{store_id}/{id}/pols
+ /api/path/{store_type}/{store_id}/{nodepath}/pols
store
@@ -26,7 +26,11 @@
path
- the path of the object
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/relationships.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/relationships.get.desc.xml
index 7a0ddc5512..f27c68f989 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/relationships.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/relationships.get.desc.xml
@@ -15,7 +15,7 @@
/api/node/{store_type}/{store_id}/{id}/rels?filter={filter?}&typeId={typeId?}&includeSubRelationshipTypes={includeSubRelationshipTypes?}&relationshipDirection={relationshipDirection?}&skipCount={skipCount?}&maxItems={maxItems?}&includeAllowableActions={includeAllowableActions?}&filter={filter?}
- /api/path/{store_type}/{store_id}/{id}/rels?filter={filter?}&typeId={typeId?}&includeSubRelationshipTypes={includeSubRelationshipTypes?}&relationshipDirection={relationshipDirection?}&skipCount={skipCount?}&maxItems={maxItems?}&includeAllowableActions={includeAllowableActions?}&filter={filter?}
+ /api/path/{store_type}/{store_id}/{nodepath}/rels?filter={filter?}&typeId={typeId?}&includeSubRelationshipTypes={includeSubRelationshipTypes?}&relationshipDirection={relationshipDirection?}&skipCount={skipCount?}&maxItems={maxItems?}&includeAllowableActions={includeAllowableActions?}&filter={filter?}
@@ -26,6 +26,14 @@
id
the node id of the folder
+
+ path
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
+
typeId
if specified, return only relationships whose type is of the type specified, otherwise return relationships of all types
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/relationships.post.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/relationships.post.desc.xml
index 77182d5fec..670f955c8a 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/relationships.post.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/relationships.post.desc.xml
@@ -14,7 +14,7 @@
/cmis/s/{store}/p{path}/rels
/api/node/{store_type}/{store_id}/{id}/rels
- /api/path/{store_type}/{store_id}/{id}/rels
+ /api/path/{store_type}/{store_id}/{nodepath}/rels
store
@@ -26,7 +26,11 @@
path
- the path of the object
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/tree.delete.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/tree.delete.desc.xml
index 08609ab6af..ae6d2e505f 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/tree.delete.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/tree.delete.desc.xml
@@ -14,7 +14,7 @@
/cmis/s/{store}/p{path}/tree?continueOnFailure={continueOnFailure?}&unfileObjects={unfileObjects}
/api/node/{store_type}/{store_id}/{id}/tree?continueOnFailure={continueOnFailure?}&unfileObjects={unfileObjects}
- /api/path/{store_type}/{store_id}/{path}/tree?continueOnFailure={continueOnFailure?}&unfileObjects={unfileObjects}
+ /api/path/{store_type}/{store_id}/{nodepath}/tree?continueOnFailure={continueOnFailure?}&unfileObjects={unfileObjects}
store
@@ -26,7 +26,11 @@
path
- the path of the folder
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
continueOnFailure
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/tree.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/tree.get.desc.xml
index dbd353da9c..4342e3d0b7 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/tree.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/tree.get.desc.xml
@@ -14,7 +14,7 @@
/cmis/s/{store}/p{path}/tree?filter={filter?}&depth={depth?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}
/api/node/{store_type}/{store_id}/{id}/tree?filter={filter?}&depth={depth?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}
- /api/path/{store_type}/{store_id}/{path}/tree?filter={filter?}&depth={depth?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}
+ /api/path/{store_type}/{store_id}/{nodepath}/tree?filter={filter?}&depth={depth?}&includeAllowableActions={includeAllowableActions?}&includeRelationships={includeRelationships?}&renditionFilter={renditionFilter?}
store
@@ -24,9 +24,13 @@
id
the node id of the folder
-
+
path
- the path of the folder
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
depth
diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/versions.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/cmis/versions.get.desc.xml
index 304c60297d..8956f7daa9 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/cmis/versions.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/versions.get.desc.xml
@@ -14,7 +14,7 @@
/cmis/s/{store}/p{path}/versions?filter={filter?}&includeAllowableActions={includeAllowableActions?}
/api/node/{store_type}/{store_id}/{id}/versions?filter={filter?}&includeAllowableActions={includeAllowableActions?}
- /api/path/{store_type}/{store_id}/{path}/versions?filter={filter?}&includeAllowableActions={includeAllowableActions?}
+ /api/path/{store_type}/{store_id}/{nodepath}/versions?filter={filter?}&includeAllowableActions={includeAllowableActions?}
@@ -27,7 +27,11 @@
path
- the path of the folder
+ the path of the object (relative to CMIS root, typically "Company Home")
+
+
+ nodepath
+ the path of the object (relative to root of Alfresco store)
filter
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/blogs/blogpost.lib.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/blogs/blogpost.lib.ftl
index 824d33d252..40289f26b3 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/blogs/blogpost.lib.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/blogs/blogpost.lib.ftl
@@ -18,10 +18,11 @@
<#macro addContent item>
<#escape x as jsonUtils.encodeJSONString(x)>
- <#if (contentLength?? && contentLength > -1 && (item.node.content?length > contentLength))>
- "content": "${stringUtils.stripUnsafeHTML(item.node.content)?substring(0, contentLength)}",
+ <#assign safecontent=stringUtils.stripUnsafeHTML(item.node.content)>
+ <#if (contentLength?? && contentLength > -1 && (safecontent?length > contentLength))>
+ "content": "${safecontent?substring(0, contentLength)}",
<#else>
- "content": "${stringUtils.stripUnsafeHTML(item.node.content)}",
+ "content": "${safecontent}",
#if>
#escape>
#macro>
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/discussions/post.lib.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/discussions/post.lib.ftl
index b5e721ed93..cb88134162 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/discussions/post.lib.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/discussions/post.lib.ftl
@@ -16,10 +16,11 @@
<#macro addContent post>
<#escape x as jsonUtils.encodeJSONString(x)>
- <#if (contentLength?? && contentLength > -1 && (post.content?length > contentLength))>
- "content": "${stringUtils.stripUnsafeHTML(post.content)?substring(0, contentLength)}",
+ <#assign safecontent=stringUtils.stripUnsafeHTML(post.content)>
+ <#if (contentLength?? && contentLength > -1 && (safecontent?length > contentLength))>
+ "content": "${safecontent?substring(0, contentLength)}",
<#else>
- "content": "${stringUtils.stripUnsafeHTML(post.content)}",
+ "content": "${safecontent}",
#if>
#escape>
#macro>
diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/doclist.get.js b/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/doclist.get.js
index edbc676b1d..105642f219 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/doclist.get.js
+++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/doclist.get.js
@@ -122,7 +122,7 @@ function getDoclist()
if (filterParams.variablePath || item.isLink)
{
locationNode = (item.isLink && item.type == "document") ? item.linkNode : item.node;
- location = Common.getLocation(locationNode);
+ location = Common.getLocation(locationNode, parsedArgs.libraryRoot);
}
else
{
diff --git a/source/java/org/alfresco/repo/cmis/reference/NodePathReference.java b/source/java/org/alfresco/repo/cmis/reference/NodePathReference.java
new file mode 100644
index 0000000000..bff04809a6
--- /dev/null
+++ b/source/java/org/alfresco/repo/cmis/reference/NodePathReference.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2005-2010 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.repo.cmis.reference;
+
+import org.alfresco.cmis.CMISRepositoryReference;
+import org.alfresco.cmis.CMISServices;
+import org.alfresco.service.cmr.repository.NodeRef;
+import org.alfresco.service.cmr.repository.StoreRef;
+
+
+/**
+ * Node Path Object Reference
+ *
+ * Note: This path is from the root of the store
+ *
+ * @author davidc
+ */
+public class NodePathReference extends AbstractObjectReference
+{
+ protected String path;
+ protected String[] reference;
+
+ /**
+ * Construct
+ *
+ * @param cmisServices
+ * @param repo
+ * @param path
+ */
+ public NodePathReference(CMISServices cmisServices, CMISRepositoryReference repo, String path)
+ {
+ super(cmisServices, repo);
+ this.path = path;
+ String[] splitPath = this.path.split("/");
+ this.reference = new String[2 + splitPath.length];
+ StoreRef storeRef = repo.getStoreRef();
+ reference[0] = storeRef.getProtocol();
+ reference[1] = storeRef.getIdentifier();
+ System.arraycopy(splitPath, 0, reference, 2, splitPath.length);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.alfresco.cmis.CMISObjectReference#getNodeRef()
+ */
+ public NodeRef getNodeRef()
+ {
+ return cmisServices.getNode("path", reference);
+ }
+
+ /**
+ * @return path
+ */
+ public String getPath()
+ {
+ return path;
+ }
+
+ @Override
+ public String toString()
+ {
+ return "NodePathReference[storeRef=" + repo.getStoreRef() + ",path=" + path + "]";
+ }
+
+}
diff --git a/source/java/org/alfresco/repo/cmis/reference/ObjectPathReference.java b/source/java/org/alfresco/repo/cmis/reference/ObjectPathReference.java
index 2f51574fd5..2d31639469 100644
--- a/source/java/org/alfresco/repo/cmis/reference/ObjectPathReference.java
+++ b/source/java/org/alfresco/repo/cmis/reference/ObjectPathReference.java
@@ -27,6 +27,8 @@ import org.alfresco.service.cmr.repository.StoreRef;
/**
* Path Object Reference
*
+ * Note: This path is relative to the CMIS root path
+ *
* @author davidc
*/
public class ObjectPathReference extends AbstractObjectReference
@@ -44,9 +46,7 @@ public class ObjectPathReference extends AbstractObjectReference
public ObjectPathReference(CMISServices cmisServices, CMISRepositoryReference repo, String path)
{
super(cmisServices, repo);
- this.path = path.startsWith("/") ? path : "/" + path;
- this.path = (cmisServices.getDefaultRootPath().equals("/") || this.path.startsWith(cmisServices.getDefaultRootPath())) ?
- this.path : cmisServices.getDefaultRootPath() + this.path;
+ this.path = cmisServices.getDefaultRootPath() + path;
String[] splitPath = this.path.split("/");
String[] pathSegments = new String[splitPath.length -1];
System.arraycopy(splitPath, 1, pathSegments, 0, splitPath.length -1);
diff --git a/source/java/org/alfresco/repo/cmis/reference/ReferenceFactory.java b/source/java/org/alfresco/repo/cmis/reference/ReferenceFactory.java
index 37b0ddad98..0ac5391774 100644
--- a/source/java/org/alfresco/repo/cmis/reference/ReferenceFactory.java
+++ b/source/java/org/alfresco/repo/cmis/reference/ReferenceFactory.java
@@ -20,7 +20,6 @@ package org.alfresco.repo.cmis.reference;
import java.util.Map;
-import org.alfresco.cmis.CMISDictionaryService;
import org.alfresco.cmis.CMISObjectReference;
import org.alfresco.cmis.CMISRelationshipReference;
import org.alfresco.cmis.CMISRepositoryReference;
@@ -110,6 +109,16 @@ public class ReferenceFactory
return new ObjectPathReference(cmisService, repo, path);
}
+ String nodepath = templateArgs.get("nodepath");
+ if (nodepath == null)
+ {
+ nodepath = args.get("nodepath");
+ }
+ if (nodepath != null)
+ {
+ return new NodePathReference(cmisService, repo, nodepath);
+ }
+
String avmPath = templateArgs.get("avmpath");
if (avmPath != null)
{
diff --git a/source/java/org/alfresco/repo/cmis/ws/DMObjectServicePort.java b/source/java/org/alfresco/repo/cmis/ws/DMObjectServicePort.java
index 2d3e09583a..2ba1adba27 100644
--- a/source/java/org/alfresco/repo/cmis/ws/DMObjectServicePort.java
+++ b/source/java/org/alfresco/repo/cmis/ws/DMObjectServicePort.java
@@ -306,15 +306,6 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object
CMISTypeDefinition sourceType = cmisService.getTypeDefinition(sourceNodeRef);
CMISTypeDefinition targetType = cmisService.getTypeDefinition(targetNodeRef);
- if ((null != relationshipType.getAllowedSourceTypes()) && !relationshipType.getAllowedSourceTypes().contains(sourceType))
- {
- throw ExceptionUtil.createCmisException(("Source object type is not allowed for \"" + typeId + "\" Relationship type"), EnumServiceException.CONSTRAINT);
- }
- if ((null != relationshipType.getAllowedTargetTypes()) && !relationshipType.getAllowedTargetTypes().contains(targetType))
- {
- throw ExceptionUtil.createCmisException(("Target object type is not allowed for \"" + typeId + "\" Relationship type"), EnumServiceException.CONSTRAINT);
- }
-
QName relationshipTypeQName = relationshipType.getTypeId().getQName();
AssociationDefinition associationDef = dictionaryService.getAssociation(relationshipTypeQName);
if (associationDef != null)