diff --git a/config/alfresco/core-services-context.xml b/config/alfresco/core-services-context.xml
index d5b1696a80..324452b6eb 100644
--- a/config/alfresco/core-services-context.xml
+++ b/config/alfresco/core-services-context.xml
@@ -417,13 +417,13 @@
alfresco/model/dictionaryModel.xml
alfresco/model/systemModel.xml
alfresco/model/contentModel.xml
+ alfresco/model/wcmModel.xml
alfresco/model/applicationModel.xml
alfresco/model/forumModel.xml
alfresco/model/recordsModel.xml
alfresco/model/bpmModel.xml
alfresco/model/workflowModel.xml
- alfresco/model/wcmModel.xml
-
+
org/alfresco/repo/security/authentication/userModel.xml
org/alfresco/repo/action/actionModel.xml
diff --git a/config/alfresco/model/applicationModel.xml b/config/alfresco/model/applicationModel.xml
index 0b85a80a5a..0e3780b834 100644
--- a/config/alfresco/model/applicationModel.xml
+++ b/config/alfresco/model/applicationModel.xml
@@ -9,6 +9,7 @@
+
@@ -53,7 +54,7 @@
AVM Website Folder
- cm:avmfolder
+ wcm:avmfolder
diff --git a/config/alfresco/model/contentModel.xml b/config/alfresco/model/contentModel.xml
index 5a597d31e0..da5560951d 100644
--- a/config/alfresco/model/contentModel.xml
+++ b/config/alfresco/model/contentModel.xml
@@ -79,29 +79,6 @@
-
-
- AVM Content
- cm:content
-
-
-
- AVM Plain content
- cm:avmcontent
-
-
-
- AVM Layered Content
- cm:content
-
-
- File Layer Indirection
- d:noderef
- true
-
-
-
-
Dictionary Model
cm:content
@@ -161,29 +138,6 @@
cm:folder
-
-
- AVM Folder
- cm:folder
-
-
-
- AVM Plain Folder
- cm:avmfolder
-
-
-
- AVM Layered Folder
- cm:avmfolder
-
-
- Directory Layer Indirection
- d:noderef
- true
-
-
-
-
Person
sys:base
diff --git a/config/alfresco/model/wcmModel.xml b/config/alfresco/model/wcmModel.xml
index c1a93cc6b8..8234bdc24c 100644
--- a/config/alfresco/model/wcmModel.xml
+++ b/config/alfresco/model/wcmModel.xml
@@ -7,6 +7,7 @@
+
@@ -14,41 +15,84 @@
+
+
+ AVM Content
+ cm:content
+
+
+
+ AVM Plain content
+ wcm:avmcontent
+
+
+
+ AVM Layered Content
+ cm:content
+
+
+ File Layer Indirection
+ d:noderef
+ true
+
+
+
+
+
+
+ AVM Folder
+ cm:folder
+
+
+
+ AVM Plain Folder
+ wcm:avmfolder
+
+
+
+ AVM Layered Folder
+ wcm:avmfolder
+
+
+ Directory Layer Indirection
+ d:noderef
+ true
+
+
+
-
-
-
+
+
- XForms Template
-
-
- Schema Root Tag Name
- d:text
- true
-
-
-
-
- Template Output Methods
-
- wcm:capture
- false
- false
-
-
- wcm:templateoutputmethod
- wcm:presentation
- false
- true
-
-
-
+ XForms Template
+
+
+ Schema Root Tag Name
+ d:text
+ true
+
+
+
+
+ Template Output Methods
+
+ wcm:capture
+ false
+ false
+
+
+ wcm:templateoutputmethod
+ wcm:presentation
+ false
+ true
+
+
+
-
XML Transformer
diff --git a/source/java/org/alfresco/model/ContentModel.java b/source/java/org/alfresco/model/ContentModel.java
index 2569f30682..68e82b07d1 100644
--- a/source/java/org/alfresco/model/ContentModel.java
+++ b/source/java/org/alfresco/model/ContentModel.java
@@ -97,13 +97,6 @@ public interface ContentModel
// content type and aspect constants
static final QName TYPE_CONTENT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "content");
static final QName PROP_CONTENT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "content");
- static final QName TYPE_AVM_CONTENT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmcontent");
- static final QName TYPE_AVM_PLAIN_CONTENT =
- QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmplaincontent");
- static final QName TYPE_AVM_LAYERED_CONTENT =
- QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmlayeredcontent");
- static final QName PROP_AVM_FILE_INDIRECTION =
- QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmfileindirection");
// title aspect
static final QName ASPECT_TITLED = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "titled");
@@ -149,10 +142,6 @@ public interface ContentModel
static final QName TYPE_FOLDER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "folder");
/** child association type supported by {@link #TYPE_FOLDER} */
static final QName ASSOC_CONTAINS = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "contains");
- static final QName TYPE_AVM_FOLDER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmfolder");
- static final QName TYPE_AVM_PLAIN_FOLDER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmplainfolder");
- static final QName TYPE_AVM_LAYERED_FOLDER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmlayeredfolder");
- static final QName PROP_AVM_DIR_INDIRECTION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmdirindirection");
// person
static final QName TYPE_PERSON = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "person");
diff --git a/source/java/org/alfresco/model/WCMModel.java b/source/java/org/alfresco/model/WCMModel.java
index 54c728d1c8..03388be71a 100644
--- a/source/java/org/alfresco/model/WCMModel.java
+++ b/source/java/org/alfresco/model/WCMModel.java
@@ -3,6 +3,7 @@
*/
package org.alfresco.model;
+import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
/**
@@ -11,16 +12,25 @@ import org.alfresco.service.namespace.QName;
*/
public interface WCMModel
{
- public static final String WCM_MODEL_URI = "http://www.alfresco.org/model/wcmmodel/1.0";
- public static final String WCM_MODEL_PREFIX = "wcm";
+ // content
+ public static final QName TYPE_AVM_CONTENT = QName.createQName(NamespaceService.WCM_MODEL_1_0_URI, "avmcontent");
+ public static final QName TYPE_AVM_PLAIN_CONTENT = QName.createQName(NamespaceService.WCM_MODEL_1_0_URI, "avmplaincontent");
+ public static final QName TYPE_AVM_LAYERED_CONTENT = QName.createQName(NamespaceService.WCM_MODEL_1_0_URI, "avmlayeredcontent");
+ public static final QName PROP_AVM_FILE_INDIRECTION = QName.createQName(NamespaceService.WCM_MODEL_1_0_URI, "avmfileindirection");
+
+ // folders
+ public static final QName TYPE_AVM_FOLDER = QName.createQName(NamespaceService.WCM_MODEL_1_0_URI, "avmfolder");
+ public static final QName TYPE_AVM_PLAIN_FOLDER = QName.createQName(NamespaceService.WCM_MODEL_1_0_URI, "avmplainfolder");
+ public static final QName TYPE_AVM_LAYERED_FOLDER = QName.createQName(NamespaceService.WCM_MODEL_1_0_URI, "avmlayeredfolder");
+ public static final QName PROP_AVM_DIR_INDIRECTION = QName.createQName(NamespaceService.WCM_MODEL_1_0_URI, "avmdirindirection");
// The XForms data capture template aspect.
- public static final QName ASPECT_TEMPLATE = QName.createQName(WCM_MODEL_URI, "template");
- public static final QName PROP_SCHEMA_ROOT_TAG_NAME = QName.createQName(WCM_MODEL_URI, "schemaroottagname");
- public static final QName ASSOC_TEMPLATE_OUTPUT_METHODS = QName.createQName(WCM_MODEL_URI, "templateoutputmethods");
+ public static final QName ASPECT_TEMPLATE = QName.createQName(NamespaceService.WCM_MODEL_1_0_URI, "template");
+ public static final QName PROP_SCHEMA_ROOT_TAG_NAME = QName.createQName(NamespaceService.WCM_MODEL_1_0_URI, "schemaroottagname");
+ public static final QName ASSOC_TEMPLATE_OUTPUT_METHODS = QName.createQName(NamespaceService.WCM_MODEL_1_0_URI, "templateoutputmethods");
// An XML to something else tranformer aspect.
- public static final QName ASPECT_TEMPLATE_OUTPUT_METHOD = QName.createQName(WCM_MODEL_URI, "templateoutputmethod");
- public static final QName PROP_TEMPLATE_OUTPUT_METHOD_TYPE = QName.createQName(WCM_MODEL_URI, "templateoutputmethodtype");
- public static final QName PROP_TEMPLATE_SOURCE = QName.createQName(WCM_MODEL_URI, "templatesource");
+ public static final QName ASPECT_TEMPLATE_OUTPUT_METHOD = QName.createQName(NamespaceService.WCM_MODEL_1_0_URI, "templateoutputmethod");
+ public static final QName PROP_TEMPLATE_OUTPUT_METHOD_TYPE = QName.createQName(NamespaceService.WCM_MODEL_1_0_URI, "templateoutputmethodtype");
+ public static final QName PROP_TEMPLATE_SOURCE = QName.createQName(NamespaceService.WCM_MODEL_1_0_URI, "templatesource");
}
diff --git a/source/java/org/alfresco/repo/avm/AVMNodeService.java b/source/java/org/alfresco/repo/avm/AVMNodeService.java
index 1e2e9b7d88..4ebebf77a8 100644
--- a/source/java/org/alfresco/repo/avm/AVMNodeService.java
+++ b/source/java/org/alfresco/repo/avm/AVMNodeService.java
@@ -29,6 +29,7 @@ import java.util.Set;
import java.util.SortedMap;
import org.alfresco.model.ContentModel;
+import org.alfresco.model.WCMModel;
import org.alfresco.repo.domain.PropertyValue;
import org.alfresco.repo.node.AbstractNodeServiceImpl;
import org.alfresco.service.cmr.avm.AVMException;
@@ -251,19 +252,19 @@ public class AVMNodeService extends AbstractNodeServiceImpl implements NodeServi
// Do the creates for supported types, or error out.
try
{
- if (nodeTypeQName.equals(ContentModel.TYPE_AVM_PLAIN_FOLDER) ||
+ if (nodeTypeQName.equals(WCMModel.TYPE_AVM_PLAIN_FOLDER) ||
nodeTypeQName.equals(ContentModel.TYPE_FOLDER))
{
fAVMService.createDirectory(avmPath, nodeName);
}
- else if (nodeTypeQName.equals(ContentModel.TYPE_AVM_PLAIN_CONTENT)
- ||nodeTypeQName.equals(ContentModel.TYPE_CONTENT))
+ else if (nodeTypeQName.equals(WCMModel.TYPE_AVM_PLAIN_CONTENT) ||
+ nodeTypeQName.equals(ContentModel.TYPE_CONTENT))
{
fAVMService.createFile(avmPath, nodeName);
}
- else if (nodeTypeQName.equals(ContentModel.TYPE_AVM_LAYERED_CONTENT))
+ else if (nodeTypeQName.equals(WCMModel.TYPE_AVM_LAYERED_CONTENT))
{
- NodeRef indirection = (NodeRef)properties.get(ContentModel.PROP_AVM_FILE_INDIRECTION);
+ NodeRef indirection = (NodeRef)properties.get(WCMModel.PROP_AVM_FILE_INDIRECTION);
if (indirection == null)
{
throw new InvalidTypeException("No Indirection Property", nodeTypeQName);
@@ -271,9 +272,9 @@ public class AVMNodeService extends AbstractNodeServiceImpl implements NodeServi
Pair indVersionPath = AVMNodeConverter.ToAVMVersionPath(indirection);
fAVMService.createLayeredFile(indVersionPath.getSecond(), avmPath, nodeName);
}
- else if (nodeTypeQName.equals(ContentModel.TYPE_AVM_LAYERED_FOLDER))
+ else if (nodeTypeQName.equals(WCMModel.TYPE_AVM_LAYERED_FOLDER))
{
- NodeRef indirection = (NodeRef)properties.get(ContentModel.PROP_AVM_DIR_INDIRECTION);
+ NodeRef indirection = (NodeRef)properties.get(WCMModel.PROP_AVM_DIR_INDIRECTION);
if (indirection == null)
{
throw new InvalidTypeException("No Indirection Property.", nodeTypeQName);
@@ -477,19 +478,19 @@ public class AVMNodeService extends AbstractNodeServiceImpl implements NodeServi
}
if (desc.isPlainDirectory())
{
- return ContentModel.TYPE_AVM_PLAIN_FOLDER;
+ return WCMModel.TYPE_AVM_PLAIN_FOLDER;
}
else if (desc.isPlainFile())
{
- return ContentModel.TYPE_AVM_PLAIN_CONTENT;
+ return WCMModel.TYPE_AVM_PLAIN_CONTENT;
}
else if (desc.isLayeredDirectory())
{
- return ContentModel.TYPE_AVM_LAYERED_FOLDER;
+ return WCMModel.TYPE_AVM_LAYERED_FOLDER;
}
else
{
- return ContentModel.TYPE_AVM_LAYERED_CONTENT;
+ return WCMModel.TYPE_AVM_LAYERED_CONTENT;
}
}
@@ -924,12 +925,12 @@ public class AVMNodeService extends AbstractNodeServiceImpl implements NodeServi
result.put(ContentModel.PROP_STORE_IDENTIFIER, nodeRef.getStoreRef().getIdentifier());
if (desc.isLayeredDirectory())
{
- result.put(ContentModel.PROP_AVM_DIR_INDIRECTION,
+ result.put(WCMModel.PROP_AVM_DIR_INDIRECTION,
AVMNodeConverter.ToNodeRef(-1, desc.getIndirection()));
}
if (desc.isLayeredFile())
{
- result.put(ContentModel.PROP_AVM_FILE_INDIRECTION,
+ result.put(WCMModel.PROP_AVM_FILE_INDIRECTION,
AVMNodeConverter.ToNodeRef(-1, desc.getIndirection()));
}
if (desc.isFile())
@@ -1052,7 +1053,7 @@ public class AVMNodeService extends AbstractNodeServiceImpl implements NodeServi
{
return nodeRef.getStoreRef().getIdentifier();
}
- else if (qName.equals(ContentModel.PROP_AVM_DIR_INDIRECTION))
+ else if (qName.equals(WCMModel.PROP_AVM_DIR_INDIRECTION))
{
if (desc.isLayeredDirectory())
{
@@ -1060,7 +1061,7 @@ public class AVMNodeService extends AbstractNodeServiceImpl implements NodeServi
}
return null;
}
- else if (qName.equals(ContentModel.PROP_AVM_FILE_INDIRECTION))
+ else if (qName.equals(WCMModel.PROP_AVM_FILE_INDIRECTION))
{
if (desc.isLayeredFile())
{
@@ -1146,8 +1147,8 @@ public class AVMNodeService extends AbstractNodeServiceImpl implements NodeServi
ContentModel.PROP_NODE_DBID,
ContentModel.PROP_STORE_PROTOCOL,
ContentModel.PROP_STORE_IDENTIFIER,
- ContentModel.PROP_AVM_FILE_INDIRECTION,
- ContentModel.PROP_AVM_DIR_INDIRECTION
+ WCMModel.PROP_AVM_FILE_INDIRECTION,
+ WCMModel.PROP_AVM_DIR_INDIRECTION
};
/**
diff --git a/source/java/org/alfresco/repo/avm/AVMServiceTest.java b/source/java/org/alfresco/repo/avm/AVMServiceTest.java
index 72e3bde170..da7adb4b4e 100644
--- a/source/java/org/alfresco/repo/avm/AVMServiceTest.java
+++ b/source/java/org/alfresco/repo/avm/AVMServiceTest.java
@@ -31,6 +31,7 @@ import java.util.Set;
import java.util.TreeMap;
import org.alfresco.model.ContentModel;
+import org.alfresco.model.WCMModel;
import org.alfresco.repo.action.ActionImpl;
import org.alfresco.repo.avm.actions.SimpleAVMPromoteAction;
import org.alfresco.repo.avm.actions.SimpleAVMSubmitAction;
@@ -3019,32 +3020,32 @@ public class AVMServiceTest extends AVMServiceTestBase
AuthenticationComponent ac = (AuthenticationComponent)fContext.getBean("authenticationComponent");
ac.authenticate("admin", "admin".toCharArray());
assertTrue(ffs.create(AVMNodeConverter.ToNodeRef(-1, "main:/a/b/c/"),
- "banana", ContentModel.TYPE_AVM_PLAIN_CONTENT) != null);
+ "banana", WCMModel.TYPE_AVM_PLAIN_CONTENT) != null);
assertTrue(ffs.create(AVMNodeConverter.ToNodeRef(-1, "main://"),
- "banana", ContentModel.TYPE_AVM_PLAIN_CONTENT) != null);
+ "banana", WCMModel.TYPE_AVM_PLAIN_CONTENT) != null);
assertTrue(ffs.create(AVMNodeConverter.ToNodeRef(-1, "main:/a/b/c"),
- "apples", ContentModel.TYPE_AVM_PLAIN_FOLDER) != null);
+ "apples", WCMModel.TYPE_AVM_PLAIN_FOLDER) != null);
NodeService ns = (NodeService)fContext.getBean("NodeService");
Map properties = new HashMap();
- properties.put(ContentModel.PROP_AVM_DIR_INDIRECTION,
+ properties.put(WCMModel.PROP_AVM_DIR_INDIRECTION,
AVMNodeConverter.ToNodeRef(-1, "main:/a"));
assertTrue(ns.createNode(AVMNodeConverter.ToNodeRef(-1, "main:/"),
ContentModel.ASSOC_CONTAINS,
QName.createQName(NamespaceService.APP_MODEL_1_0_URI, "layer"),
- ContentModel.TYPE_AVM_LAYERED_FOLDER,
+ WCMModel.TYPE_AVM_LAYERED_FOLDER,
properties) != null);
assertTrue(ns.getProperty(AVMNodeConverter.ToNodeRef(-1, "main:/layer"),
- ContentModel.PROP_AVM_DIR_INDIRECTION) != null);
+ WCMModel.PROP_AVM_DIR_INDIRECTION) != null);
properties.clear();
- properties.put(ContentModel.PROP_AVM_FILE_INDIRECTION,
+ properties.put(WCMModel.PROP_AVM_FILE_INDIRECTION,
AVMNodeConverter.ToNodeRef(-1, "main:/a/b/c/foo"));
assertTrue(ns.createNode(AVMNodeConverter.ToNodeRef(-1, "main:/"),
ContentModel.ASSOC_CONTAINS,
QName.createQName(NamespaceService.APP_MODEL_1_0_URI, "foo"),
- ContentModel.TYPE_AVM_LAYERED_CONTENT,
+ WCMModel.TYPE_AVM_LAYERED_CONTENT,
properties) != null);
assertTrue(ns.getProperty(AVMNodeConverter.ToNodeRef(-1, "main:/foo"),
- ContentModel.PROP_AVM_FILE_INDIRECTION) != null);
+ WCMModel.PROP_AVM_FILE_INDIRECTION) != null);
fService.createSnapshot("main");
System.out.println(recursiveList("main", -1, true));
}
diff --git a/source/java/org/alfresco/service/namespace/NamespaceService.java b/source/java/org/alfresco/service/namespace/NamespaceService.java
index 7bac210a62..3c360fdb04 100644
--- a/source/java/org/alfresco/service/namespace/NamespaceService.java
+++ b/source/java/org/alfresco/service/namespace/NamespaceService.java
@@ -92,6 +92,12 @@ public interface NamespaceService extends NamespacePrefixResolver
/** Alfresco security Prefix */
public static final String SECURITY_MODEL_PREFIX = "security";
+ /** Alfresco WCM URI */
+ public static final String WCM_MODEL_1_0_URI = "http://www.alfresco.org/model/wcmmodel/1.0";
+
+ /** Alfresco WCM Prefix */
+ public static final String WCM_MODEL_PREFIX = "wcm";
+
/**
* Register a prefix for namespace uri.