mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
cm:avmcontent and cm:avmfolder are 'abstract'. cm:avmplaincontent is derived from cm:avmcontent and is just a plain file. cm:avmlayeredcontent is derived from cm:avmcontent and is (surprise) a layered file and has a d:noderef mandatory property, cm:avmfileindirection, that is the (possibly non-existent) file that the layered file is transparent to. cm:avmplainfolder is derived from cm:avmfolder and is just a plain directory. cm:avmlayeredfolder is a layered directory and has a property, cm:avmdirinderection, that is the (possibly non-existent) directory that the layered directory is transparent to. The ContentModel QName constants are. TYPE_AVM_PLAIN_FOLDER TYPE_AVM_LAYERED_FOLDER TYPE_AVM_PLAIN_CONTENT TYPE_AVM_LAYERED_CONTENT PROP_AVM_DIR_INDIRECTION PROP_AVM_FILE_INDIRECTION One can now create all four flavors of avm nodes through AVMNodeService.createNode(). The advantage of using these over the corresponding AVMService methods is that since (for now) AVMService, is permission and indexing unaware. Backed out cm:mounted aspect and dispatching code in DbNodeServiceImpl. (Dave and Derek, you may now relax) as we are implementing the UI with AVM dedicated screens. Finally, beginning interface for AVM node tree synchronization and comparison. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3764 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
738 lines
24 KiB
XML
738 lines
24 KiB
XML
<model name="cm:contentmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
|
|
|
|
<description>Alfresco Content Domain Model</description>
|
|
<author>Alfresco</author>
|
|
<published>2005-09-29</published>
|
|
<version>1.0</version>
|
|
|
|
<imports>
|
|
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
|
|
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
|
|
</imports>
|
|
|
|
<namespaces>
|
|
<namespace uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
|
|
</namespaces>
|
|
|
|
<constraints>
|
|
<constraint name="cm:filename" type="REGEX">
|
|
<parameter name="expression"><value><![CDATA[.*[\"\*\\\>\<\?\/\:\|\xA3\xAC\%\&\+\;]+.*]]></value></parameter>
|
|
<parameter name="requiresMatch"><value>false</value></parameter>
|
|
</constraint>
|
|
</constraints>
|
|
|
|
<types>
|
|
|
|
<type name="cm:cmobject">
|
|
<title>Object</title>
|
|
<parent>sys:base</parent>
|
|
<properties>
|
|
<property name="cm:name">
|
|
<title>Name</title>
|
|
<type>d:text</type>
|
|
<mandatory enforced="true">true</mandatory>
|
|
<constraints>
|
|
<constraint ref="cm:filename" />
|
|
</constraints>
|
|
</property>
|
|
</properties>
|
|
<mandatory-aspects>
|
|
<aspect>cm:auditable</aspect>
|
|
</mandatory-aspects>
|
|
</type>
|
|
|
|
<type name="cm:folder">
|
|
<title>Folder</title>
|
|
<parent>cm:cmobject</parent>
|
|
<archive>true</archive>
|
|
<associations>
|
|
<child-association name="cm:contains">
|
|
<source>
|
|
<mandatory>false</mandatory>
|
|
<many>false</many>
|
|
</source>
|
|
<target>
|
|
<class>sys:base</class>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</target>
|
|
<duplicate>false</duplicate>
|
|
</child-association>
|
|
</associations>
|
|
</type>
|
|
|
|
<type name="cm:content">
|
|
<title>Content</title>
|
|
<parent>cm:cmobject</parent>
|
|
<archive>true</archive>
|
|
<properties>
|
|
<property name="cm:content">
|
|
<type>d:content</type>
|
|
<mandatory>false</mandatory>
|
|
<!--- Index content in the background -->
|
|
<index enabled="true">
|
|
<atomic>true</atomic>
|
|
<stored>false</stored>
|
|
<tokenised>true</tokenised>
|
|
</index>
|
|
</property>
|
|
</properties>
|
|
</type>
|
|
|
|
<!-- Consider this an abstract type for most purposes. -->
|
|
<type name="cm:avmcontent">
|
|
<title>AVM Content</title>
|
|
<parent>cm:content</parent>
|
|
</type>
|
|
|
|
<type name="cm:avmplaincontent">
|
|
<title>AVM Plain content</title>
|
|
<parent>cm:avmcontent</parent>
|
|
</type>
|
|
|
|
<type name="cm:avmlayeredcontent">
|
|
<title>AVM Layered Content</title>
|
|
<parent>cm:content</parent>
|
|
<properties>
|
|
<property name="cm:avmfileindirection">
|
|
<title>File Layer Indirection</title>
|
|
<type>d:noderef</type>
|
|
<mandatory>true</mandatory>
|
|
</property>
|
|
</properties>
|
|
</type>
|
|
|
|
<type name="cm:dictionaryModel">
|
|
<title>Dictionary Model</title>
|
|
<parent>cm:content</parent>
|
|
<properties>
|
|
<property name="cm:modelName">
|
|
<title>Model name</title>
|
|
<type>d:qname</type>
|
|
<protected>true</protected>
|
|
</property>
|
|
<property name="cm:modelDescription">
|
|
<title>Description</title>
|
|
<type>d:text</type>
|
|
<protected>true</protected>
|
|
</property>
|
|
<property name="cm:modelAuthor">
|
|
<title>Author</title>
|
|
<type>d:text</type>
|
|
<protected>true</protected>
|
|
</property>
|
|
<property name="cm:modelPublishedDate">
|
|
<title>Published Date</title>
|
|
<type>d:date</type>
|
|
<protected>true</protected>
|
|
</property>
|
|
<property name="cm:modelVersion">
|
|
<title>Version</title>
|
|
<type>d:text</type>
|
|
<protected>true</protected>
|
|
</property>
|
|
<property name="cm:modelActive">
|
|
<title>Model Active</title>
|
|
<type>d:boolean</type>
|
|
<default>false</default>
|
|
</property>
|
|
</properties>
|
|
</type>
|
|
|
|
<type name="cm:link">
|
|
<title>Link Object</title>
|
|
<parent>cm:cmobject</parent>
|
|
<properties>
|
|
<property name="cm:destination">
|
|
<title>Link Destination</title>
|
|
<type>d:noderef</type>
|
|
<mandatory>true</mandatory>
|
|
</property>
|
|
</properties>
|
|
</type>
|
|
|
|
<type name="cm:savedquery">
|
|
<title>Saved Query</title>
|
|
<parent>cm:content</parent>
|
|
</type>
|
|
|
|
<type name="cm:systemfolder">
|
|
<title>System Folder</title>
|
|
<parent>cm:folder</parent>
|
|
</type>
|
|
|
|
<!-- Consider this abstract for most purposes. -->
|
|
<type name="cm:avmfolder">
|
|
<title>AVM Folder</title>
|
|
<parent>cm:folder</parent>
|
|
</type>
|
|
|
|
<type name="cm:avmplainfolder">
|
|
<title>AVM Plain Folder</title>
|
|
<parent>cm:avmfolder</parent>
|
|
</type>
|
|
|
|
<type name="cm:avmlayeredfolder">
|
|
<title>AVM Layered Folder</title>
|
|
<parent>cm:avmfolder</parent>
|
|
<properties>
|
|
<property name="cm:avmdirindirection">
|
|
<title>Directory Layer Indirection</title>
|
|
<type>d:noderef</type>
|
|
<mandatory>true</mandatory>
|
|
</property>
|
|
</properties>
|
|
</type>
|
|
|
|
<type name="cm:person">
|
|
<title>Person</title>
|
|
<parent>sys:base</parent>
|
|
<properties>
|
|
<property name="cm:userName">
|
|
<type>d:text</type>
|
|
<mandatory>true</mandatory>
|
|
</property>
|
|
<property name="cm:homeFolder">
|
|
<type>d:noderef</type>
|
|
<mandatory>true</mandatory>
|
|
</property>
|
|
<property name="cm:firstName">
|
|
<type>d:text</type>
|
|
<mandatory>true</mandatory>
|
|
</property>
|
|
<property name="cm:lastName">
|
|
<type>d:text</type>
|
|
<mandatory>true</mandatory>
|
|
</property>
|
|
<property name="cm:middleName">
|
|
<type>d:text</type>
|
|
</property>
|
|
<property name="cm:email">
|
|
<type>d:text</type>
|
|
</property>
|
|
<property name="cm:organizationId">
|
|
<type>d:text</type>
|
|
</property>
|
|
</properties>
|
|
</type>
|
|
|
|
<!-- Classification -->
|
|
|
|
<type name="cm:category_root">
|
|
<title>Category Root</title>
|
|
<parent>cm:cmobject</parent>
|
|
<associations>
|
|
<child-association name="cm:categories">
|
|
<source>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</source>
|
|
<target>
|
|
<class>cm:category</class>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</target>
|
|
</child-association>
|
|
</associations>
|
|
<mandatory-aspects>
|
|
<aspect>sys:aspect_root</aspect>
|
|
</mandatory-aspects>
|
|
</type>
|
|
|
|
<type name="cm:category">
|
|
<title>Category</title>
|
|
<parent>cm:cmobject</parent>
|
|
<associations>
|
|
<child-association name="cm:subcategories">
|
|
<source>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</source>
|
|
<target>
|
|
<class>cm:category</class>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</target>
|
|
</child-association>
|
|
</associations>
|
|
</type>
|
|
|
|
</types>
|
|
|
|
|
|
<aspects>
|
|
|
|
<aspect name="cm:titled">
|
|
<title>Titled</title>
|
|
<properties>
|
|
<property name="cm:title">
|
|
<title>Title</title>
|
|
<type>d:text</type>
|
|
</property>
|
|
<property name="cm:description">
|
|
<title>Description</title>
|
|
<type>d:text</type>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
<aspect name="cm:auditable">
|
|
<title>Auditable</title>
|
|
<properties>
|
|
<property name="cm:created">
|
|
<title>Created</title>
|
|
<type>d:datetime</type>
|
|
<protected>true</protected>
|
|
<mandatory enforced="true">true</mandatory>
|
|
</property>
|
|
<property name="cm:creator">
|
|
<title>Creator</title>
|
|
<type>d:text</type>
|
|
<protected>true</protected>
|
|
<mandatory enforced="true">true</mandatory>
|
|
</property>
|
|
<property name="cm:modified">
|
|
<title>Modified</title>
|
|
<type>d:datetime</type>
|
|
<protected>true</protected>
|
|
<mandatory enforced="true">true</mandatory>
|
|
</property>
|
|
<property name="cm:modifier">
|
|
<title>Modifier</title>
|
|
<type>d:text</type>
|
|
<protected>true</protected>
|
|
<mandatory enforced="true">true</mandatory>
|
|
</property>
|
|
<property name="cm:accessed">
|
|
<title>Accessed</title>
|
|
<type>d:datetime</type>
|
|
<protected>true</protected>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
<aspect name="cm:localizable">
|
|
<title>Localizable</title>
|
|
<properties>
|
|
<property name="cm:locale">
|
|
<title>Locale</title>
|
|
<!-- need to have means to identify root instance of appropriate category -->
|
|
<type>d:category</type>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
<aspect name="cm:translatable">
|
|
<title>Translatable</title>
|
|
<parent>cm:localizable</parent>
|
|
<!-- TODO: Support mandatory-aspects on an aspect in the meta-model
|
|
<mandatory-aspects>
|
|
<aspect>cm:localizable</aspect>
|
|
</mandatory-aspects>
|
|
-->
|
|
<associations>
|
|
<association name="cm:translations">
|
|
<title>Translations</title>
|
|
<source>
|
|
<role>cm:translationOf</role>
|
|
<mandatory>false</mandatory>
|
|
<many>false</many>
|
|
</source>
|
|
<target>
|
|
<class>cm:content</class>
|
|
<role>cm:hasTranslation</role>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</target>
|
|
</association>
|
|
</associations>
|
|
</aspect>
|
|
|
|
<aspect name="cm:transformable">
|
|
<title>Transformable</title>
|
|
<associations>
|
|
<association name="cm:formats">
|
|
<title>Formats</title>
|
|
<source>
|
|
<role>cm:formatOf</role>
|
|
<mandatory>false</mandatory>
|
|
<many>false</many>
|
|
</source>
|
|
<target>
|
|
<class>cm:content</class>
|
|
<role>cm:hasFormat</role>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</target>
|
|
</association>
|
|
</associations>
|
|
</aspect>
|
|
|
|
<aspect name="cm:templatable">
|
|
<title>Templatable</title>
|
|
<properties>
|
|
<property name="cm:template">
|
|
<title>Template</title>
|
|
<type>d:noderef</type>
|
|
<mandatory>false</mandatory>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
<aspect name="cm:complianceable">
|
|
<title>Complianceable</title>
|
|
<parent>cm:auditable</parent>
|
|
<!-- TODO: Support mandatory-aspects on an aspect in the meta-model
|
|
<mandatory-aspects>
|
|
<aspect>cm:auditable</aspect>
|
|
</mandatory-aspects>
|
|
-->
|
|
<properties>
|
|
<property name="cm:removeAfter">
|
|
<title>Remove After</title>
|
|
<type>d:datetime</type>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
<aspect name="cm:ownable">
|
|
<title>Ownable</title>
|
|
<properties>
|
|
<property name="cm:owner">
|
|
<title>Owner</title>
|
|
<type>d:text</type>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
<aspect name="cm:author">
|
|
<title>Author</title>
|
|
<properties>
|
|
<property name="cm:author">
|
|
<title>Author</title>
|
|
<type>d:text</type>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
<aspect name="cm:dublincore">
|
|
<title>Dublin Core</title>
|
|
<parent>cm:titled</parent>
|
|
<properties>
|
|
<property name="cm:publisher">
|
|
<title>Publisher</title>
|
|
<type>d:text</type>
|
|
<mandatory enforced="false">true</mandatory>
|
|
</property>
|
|
<property name="cm:contributor">
|
|
<title>Contributor</title>
|
|
<type>d:text</type>
|
|
<mandatory enforced="false">true</mandatory>
|
|
</property>
|
|
<property name="cm:type">
|
|
<title>Type</title>
|
|
<type>d:text</type>
|
|
<mandatory enforced="false">true</mandatory>
|
|
</property>
|
|
<property name="cm:identifier">
|
|
<title>Identifier</title>
|
|
<type>d:text</type>
|
|
<mandatory enforced="false">true</mandatory>
|
|
</property>
|
|
<property name="cm:dcsource">
|
|
<title>Source</title>
|
|
<type>d:text</type>
|
|
<mandatory enforced="false">true</mandatory>
|
|
</property>
|
|
<property name="cm:coverage">
|
|
<title>Coverage</title>
|
|
<type>d:text</type>
|
|
<mandatory enforced="false">true</mandatory>
|
|
</property>
|
|
<property name="cm:rights">
|
|
<title>Rights</title>
|
|
<type>d:text</type>
|
|
<mandatory enforced="false">true</mandatory>
|
|
</property>
|
|
<property name="cm:subject">
|
|
<title>Subject</title>
|
|
<type>d:text</type>
|
|
<mandatory enforced="false">true</mandatory>
|
|
</property>
|
|
</properties>
|
|
<mandatory-aspects>
|
|
<aspect>cm:auditable</aspect>
|
|
<aspect>cm:author</aspect>
|
|
</mandatory-aspects>
|
|
</aspect>
|
|
|
|
<aspect name="cm:basable">
|
|
<title>Basable</title>
|
|
<associations>
|
|
<association name="cm:basis">
|
|
<source>
|
|
<role>cm:basedOn</role>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</source>
|
|
<target>
|
|
<class>cm:content</class>
|
|
<role>cm:hasBasis</role>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</target>
|
|
</association>
|
|
</associations>
|
|
</aspect>
|
|
|
|
<aspect name="cm:partable">
|
|
<title>Partable</title>
|
|
<associations>
|
|
<association name="cm:parts">
|
|
<source>
|
|
<role>cm:partOf</role>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</source>
|
|
<target>
|
|
<class>cm:content</class>
|
|
<role>cm:hasPart</role>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</target>
|
|
</association>
|
|
</associations>
|
|
</aspect>
|
|
|
|
<aspect name="cm:referencing">
|
|
<title>Referencing</title>
|
|
<associations>
|
|
<association name="cm:references">
|
|
<source>
|
|
<role>cm:referencedBy</role>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</source>
|
|
<target>
|
|
<class>cm:content</class>
|
|
<role>cm:references</role>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</target>
|
|
</association>
|
|
</associations>
|
|
</aspect>
|
|
|
|
<aspect name="cm:replaceable">
|
|
<title>Replacable</title>
|
|
<associations>
|
|
<association name="cm:replaces">
|
|
<source>
|
|
<role>cm:replacedBy</role>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</source>
|
|
<target>
|
|
<class>cm:content</class>
|
|
<role>cm:replaces</role>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</target>
|
|
</association>
|
|
</associations>
|
|
</aspect>
|
|
|
|
<aspect name="cm:effectivity">
|
|
<title>Effectivity</title>
|
|
<properties>
|
|
<property name="cm:from">
|
|
<title>Effective From</title>
|
|
<type>d:datetime</type>
|
|
</property>
|
|
<property name="cm:to">
|
|
<title>Effective To</title>
|
|
<type>d:datetime</type>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
<aspect name="cm:summarizable">
|
|
<title>Summarizable</title>
|
|
<properties>
|
|
<property name="cm:summary">
|
|
<title>Summary</title>
|
|
<type>d:text</type>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
<aspect name="cm:countable">
|
|
<title>Countable</title>
|
|
<properties>
|
|
<property name="cm:hits">
|
|
<type>d:int</type>
|
|
</property>
|
|
<property name="cm:counter">
|
|
<type>d:int</type>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
<aspect name="cm:copiedfrom">
|
|
<title>Copied From</title>
|
|
<properties>
|
|
<property name="cm:source">
|
|
<type>d:noderef</type>
|
|
<protected>true</protected>
|
|
<mandatory>true</mandatory>
|
|
<multiple>false</multiple>
|
|
<index enabled="true">
|
|
<atomic>true</atomic>
|
|
<stored>false</stored>
|
|
<tokenised>true</tokenised>
|
|
</index>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
<aspect name="cm:workingcopy">
|
|
<title>Working Copy</title>
|
|
<properties>
|
|
<property name="cm:workingCopyOwner">
|
|
<type>d:text</type>
|
|
<protected>true</protected>
|
|
<mandatory>true</mandatory>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
<aspect name="cm:versionable">
|
|
<title>Versionable</title>
|
|
<properties>
|
|
<property name="cm:versionLabel">
|
|
<title>Version Label</title>
|
|
<type>d:text</type>
|
|
<protected>true</protected>
|
|
</property>
|
|
<property name="cm:initialVersion">
|
|
<title>Initial Version</title>
|
|
<type>d:boolean</type>
|
|
<default>true</default>
|
|
</property>
|
|
<property name="cm:autoVersion">
|
|
<title>Auto Version</title>
|
|
<type>d:boolean</type>
|
|
<default>true</default>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
<aspect name="cm:lockable">
|
|
<title>Lockable</title>
|
|
<properties>
|
|
<property name="cm:lockOwner">
|
|
<type>d:text</type>
|
|
<protected>true</protected>
|
|
</property>
|
|
<property name="cm:lockType">
|
|
<type>d:text</type>
|
|
<protected>true</protected>
|
|
</property>
|
|
<property name="cm:expiryDate">
|
|
<type>d:date</type>
|
|
<protected>true</protected>
|
|
<mandatory>false</mandatory>
|
|
</property>
|
|
<property name="cm:lockIsDeep">
|
|
<type>d:boolean</type>
|
|
<protected>true</protected>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
<aspect name="cm:subscribable">
|
|
<associations>
|
|
<association name="cm:subscribedBy">
|
|
<source>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</source>
|
|
<target>
|
|
<class>cm:person</class>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</target>
|
|
</association>
|
|
</associations>
|
|
</aspect>
|
|
|
|
<aspect name="cm:classifiable">
|
|
<title>Classifiable</title>
|
|
</aspect>
|
|
|
|
<aspect name="cm:generalclassifiable">
|
|
<title>General Classifiable</title>
|
|
<parent>cm:classifiable</parent>
|
|
<properties>
|
|
<property name="cm:categories">
|
|
<title>Categories</title>
|
|
<type>d:category</type>
|
|
<mandatory>false</mandatory>
|
|
<multiple>true</multiple>
|
|
<index enabled="true">
|
|
<atomic>true</atomic>
|
|
<stored>true</stored>
|
|
<tokenised>true</tokenised>
|
|
</index>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
<aspect name="cm:attachable">
|
|
<title>Attachable</title>
|
|
<associations>
|
|
<association name="cm:attachments">
|
|
<source>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</source>
|
|
<target>
|
|
<class>cm:cmobject</class>
|
|
<mandatory>false</mandatory>
|
|
<many>true</many>
|
|
</target>
|
|
</association>
|
|
</associations>
|
|
</aspect>
|
|
|
|
<aspect name="cm:emailed">
|
|
<title>Emailed</title>
|
|
<properties>
|
|
<property name="cm:originator">
|
|
<title>Originator</title>
|
|
<type>d:text</type>
|
|
</property>
|
|
<property name="cm:addressee">
|
|
<title>Addressee</title>
|
|
<type>d:text</type>
|
|
</property>
|
|
<property name="cm:addressees">
|
|
<title>Addressees</title>
|
|
<type>d:text</type>
|
|
<multiple>true</multiple>
|
|
</property>
|
|
<property name="cm:subjectline">
|
|
<title>Subject</title>
|
|
<type>d:text</type>
|
|
</property>
|
|
<property name="cm:sentdate">
|
|
<title>Sent Date</title>
|
|
<type>d:datetime</type>
|
|
</property>
|
|
</properties>
|
|
</aspect>
|
|
|
|
</aspects>
|
|
|
|
</model>
|