mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Moving to root below branch label
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2005 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
119
config/alfresco/model/applicationModel.xml
Normal file
119
config/alfresco/model/applicationModel.xml
Normal file
@@ -0,0 +1,119 @@
|
||||
<model name="app:applicationmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
|
||||
|
||||
<description>Alfresco Application 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/content/1.0" prefix="cm"/>
|
||||
</imports>
|
||||
|
||||
<namespaces>
|
||||
<namespace uri="http://www.alfresco.org/model/application/1.0" prefix="app"/>
|
||||
</namespaces>
|
||||
|
||||
|
||||
<types>
|
||||
|
||||
<!-- TODO: Glossary will be revisited when implementation is better understood -->
|
||||
<type name="app:glossary">
|
||||
<parent>cm:folder</parent>
|
||||
<!--
|
||||
<mandatory-aspects>
|
||||
<aspect>CategoryContainable</aspect>
|
||||
</mandatory-aspects>
|
||||
<associations>
|
||||
<association name="app:namespace">
|
||||
<target-type>Category</target-type>
|
||||
<target-multiplicity>0..*</target-multiplicity>
|
||||
<source-mulitplicity>0..1<source-multiplicity>
|
||||
<duplicates-allowed>false</duplicates-allowed>
|
||||
</association>
|
||||
</associations>
|
||||
-->
|
||||
</type>
|
||||
|
||||
<type name="app:configurations">
|
||||
<title>Configurations</title>
|
||||
<parent>cm:systemfolder</parent>
|
||||
</type>
|
||||
|
||||
</types>
|
||||
|
||||
<aspects>
|
||||
|
||||
<aspect name="app:uifacets">
|
||||
<title>UI Facets</title>
|
||||
<parent>cm:titled</parent>
|
||||
<properties>
|
||||
<property name="app:icon">
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
</properties>
|
||||
</aspect>
|
||||
|
||||
<aspect name="app:inlineeditable">
|
||||
<title>Inline Editable</title>
|
||||
<properties>
|
||||
<property name="app:editInline">
|
||||
<title>Edit Inline</title>
|
||||
<type>d:boolean</type>
|
||||
</property>
|
||||
</properties>
|
||||
</aspect>
|
||||
|
||||
<!-- TODO: Is this needed - should simpleworkflow ? -->
|
||||
<aspect name="app:workflow">
|
||||
<title>Workflow</title>
|
||||
</aspect>
|
||||
|
||||
<aspect name="app:simpleworkflow">
|
||||
<parent>app:workflow</parent>
|
||||
<properties>
|
||||
<property name="app:approveStep">
|
||||
<type>d:text</type>
|
||||
<protected>true</protected>
|
||||
</property>
|
||||
<property name="app:approveFolder">
|
||||
<type>d:noderef</type>
|
||||
<protected>true</protected>
|
||||
</property>
|
||||
<property name="app:approveMove">
|
||||
<type>d:boolean</type>
|
||||
</property>
|
||||
<property name="app:rejectStep">
|
||||
<type>d:text</type>
|
||||
<protected>true</protected>
|
||||
</property>
|
||||
<property name="app:rejectFolder">
|
||||
<type>d:noderef</type>
|
||||
<protected>true</protected>
|
||||
</property>
|
||||
<property name="app:rejectMove">
|
||||
<type>d:boolean</type>
|
||||
</property>
|
||||
</properties>
|
||||
</aspect>
|
||||
|
||||
<aspect name="app:configurable">
|
||||
<title>Configurable</title>
|
||||
<associations>
|
||||
<child-association name="app:configurations">
|
||||
<source>
|
||||
<mandatory>false</mandatory>
|
||||
<many>false</many>
|
||||
</source>
|
||||
<target>
|
||||
<class>app:configurations</class>
|
||||
<mandatory>false</mandatory>
|
||||
<many>false</many>
|
||||
</target>
|
||||
</child-association>
|
||||
</associations>
|
||||
</aspect>
|
||||
|
||||
</aspects>
|
||||
|
||||
</model>
|
624
config/alfresco/model/contentModel.xml
Normal file
624
config/alfresco/model/contentModel.xml
Normal file
@@ -0,0 +1,624 @@
|
||||
<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>
|
||||
|
||||
|
||||
<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>true</mandatory>
|
||||
</property>
|
||||
</properties>
|
||||
<mandatory-aspects>
|
||||
<aspect>cm:auditable</aspect>
|
||||
</mandatory-aspects>
|
||||
</type>
|
||||
|
||||
<type name="cm:folder">
|
||||
<title>Folder</title>
|
||||
<parent>cm:cmobject</parent>
|
||||
<properties>
|
||||
<property name="cm:orderedchildren">
|
||||
<type>d:boolean</type>
|
||||
</property>
|
||||
</properties>
|
||||
<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>
|
||||
<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>
|
||||
|
||||
<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:linkfile">
|
||||
<title>Link File</title>
|
||||
<parent>cm:cmobject</parent>
|
||||
<properties>
|
||||
<property name="cm:path">
|
||||
<type>d:path</type>
|
||||
</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>
|
||||
|
||||
<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">
|
||||
<target>
|
||||
<class>cm:category</class>
|
||||
</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">
|
||||
<target>
|
||||
<class>cm:category</class>
|
||||
</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>
|
||||
</property>
|
||||
<property name="cm:creator">
|
||||
<title>Author</title>
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
<property name="cm:modified">
|
||||
<title>Modified</title>
|
||||
<type>d:datetime</type>
|
||||
</property>
|
||||
<property name="cm:modifier">
|
||||
<title>Modifier</title>
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
<property name="cm:accessed">
|
||||
<title>Accessed</title>
|
||||
<type>d:datetime</type>
|
||||
</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>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:dublincore">
|
||||
<title>Dublin Core</title>
|
||||
<parent>cm:titled</parent>
|
||||
<!-- TODO: Support mandatory-aspects on an aspect in the meta-model
|
||||
<mandatory-aspects>
|
||||
<aspect>Auditable</aspect>
|
||||
</mandatory-aspects>
|
||||
-->
|
||||
<properties>
|
||||
<property name="cm:publisher">
|
||||
<title>Publisher</title>
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
<property name="cm:contributor">
|
||||
<title>Contributor</title>
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
<property name="cm:type">
|
||||
<title>Type</title>
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
<property name="cm:identifier">
|
||||
<title>Identifier</title>
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
<property name="cm:dcsource">
|
||||
<title>Source</title>
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
<property name="cm:coverage">
|
||||
<title>Coverage</title>
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
<property name="cm:rights">
|
||||
<title>Rights</title>
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
<property name="cm:subject">
|
||||
<title>Subject</title>
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
</properties>
|
||||
</aspect>
|
||||
|
||||
<!--
|
||||
<aspect name="cm:subjectable">
|
||||
<title>Subjectable</title>
|
||||
<mandatory-aspects>
|
||||
<aspect>Auditable</aspect>
|
||||
</mandatory-aspects>
|
||||
<properties>
|
||||
<property name="cm:subject">
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
</properties>
|
||||
</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>
|
||||
</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: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>
|
||||
|
||||
</aspects>
|
||||
|
||||
</model>
|
17
config/alfresco/model/dataTypeAnalyzers.properties
Normal file
17
config/alfresco/model/dataTypeAnalyzers.properties
Normal file
@@ -0,0 +1,17 @@
|
||||
# Data Type Index Analyzers
|
||||
|
||||
d_dictionary.datatype.d_any.analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
|
||||
d_dictionary.datatype.d_text.analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
|
||||
d_dictionary.datatype.d_content.analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
|
||||
d_dictionary.datatype.d_int.analyzer=org.alfresco.repo.search.impl.lucene.analysis.IntegerAnalyser
|
||||
d_dictionary.datatype.d_long.analyzer=org.alfresco.repo.search.impl.lucene.analysis.LongAnalyser
|
||||
d_dictionary.datatype.d_float.analyzer=org.alfresco.repo.search.impl.lucene.analysis.FloatAnalyser
|
||||
d_dictionary.datatype.d_double.analyzer=org.alfresco.repo.search.impl.lucene.analysis.DoubleAnalyser
|
||||
d_dictionary.datatype.d_date.analyzer=org.alfresco.repo.search.impl.lucene.analysis.DateAnalyser
|
||||
d_dictionary.datatype.d_datetime.analyzer=org.alfresco.repo.search.impl.lucene.analysis.DateAnalyser
|
||||
d_dictionary.datatype.d_boolean.analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
|
||||
d_dictionary.datatype.d_qname.analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
|
||||
d_dictionary.datatype.d_guid.analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
|
||||
d_dictionary.datatype.d_category.analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
|
||||
d_dictionary.datatype.d_noderef.analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
|
||||
d_dictionary.datatype.d_path.analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
|
96
config/alfresco/model/dictionaryModel.xml
Normal file
96
config/alfresco/model/dictionaryModel.xml
Normal file
@@ -0,0 +1,96 @@
|
||||
<model name="d:dictionary" xmlns="http://www.alfresco.org/model/dictionary/1.0">
|
||||
|
||||
<description>Alfresco Dictionary Model</description>
|
||||
<author>Alfresco</author>
|
||||
<published>2005-09-29</published>
|
||||
<version>1.0</version>
|
||||
|
||||
<namespaces>
|
||||
<!-- Default Namespace -->
|
||||
<namespace uri="" prefix=""/>
|
||||
<!-- Default Alfresco Namespace -->
|
||||
<namespace uri="http://www.alfresco.org" prefix="alf"/>
|
||||
<!-- Dictionary Namespace -->
|
||||
<namespace uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
|
||||
<!-- View Namespace -->
|
||||
<namespace uri="http://www.alfresco.org/view/repository/1.0" prefix="view"/>
|
||||
</namespaces>
|
||||
|
||||
<data-types>
|
||||
|
||||
<data-type name="d:any">
|
||||
<analyser-class>org.apache.lucene.analysis.standard.StandardAnalyzer</analyser-class>
|
||||
<java-class>java.lang.Object</java-class>
|
||||
</data-type>
|
||||
|
||||
<data-type name="d:text">
|
||||
<analyser-class>org.apache.lucene.analysis.standard.StandardAnalyzer</analyser-class>
|
||||
<java-class>java.lang.String</java-class>
|
||||
</data-type>
|
||||
|
||||
<data-type name="d:content">
|
||||
<analyser-class>org.apache.lucene.analysis.standard.StandardAnalyzer</analyser-class>
|
||||
<java-class>org.alfresco.service.cmr.repository.ContentData</java-class>
|
||||
</data-type>
|
||||
|
||||
<data-type name="d:int">
|
||||
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.IntegerAnalyser</analyser-class>
|
||||
<java-class>java.lang.Integer</java-class>
|
||||
</data-type>
|
||||
|
||||
<data-type name="d:long">
|
||||
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.LongAnalyser</analyser-class>
|
||||
<java-class>java.lang.Long</java-class>
|
||||
</data-type>
|
||||
|
||||
<data-type name="d:float">
|
||||
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.FloatAnalyser</analyser-class>
|
||||
<java-class>java.lang.Float</java-class>
|
||||
</data-type>
|
||||
|
||||
<data-type name="d:double">
|
||||
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.DoubleAnalyser</analyser-class>
|
||||
<java-class>java.lang.Double</java-class>
|
||||
</data-type>
|
||||
|
||||
<data-type name="d:date">
|
||||
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.DateAnalyser</analyser-class>
|
||||
<java-class>java.util.Date</java-class>
|
||||
</data-type>
|
||||
|
||||
<data-type name="d:datetime">
|
||||
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.DateAnalyser</analyser-class>
|
||||
<java-class>java.util.Date</java-class>
|
||||
</data-type>
|
||||
|
||||
<data-type name="d:boolean">
|
||||
<analyser-class>org.apache.lucene.analysis.standard.StandardAnalyzer</analyser-class>
|
||||
<java-class>java.lang.Boolean</java-class>
|
||||
</data-type>
|
||||
|
||||
<data-type name="d:qname">
|
||||
<analyser-class>org.apache.lucene.analysis.standard.StandardAnalyzer</analyser-class>
|
||||
<java-class>org.alfresco.service.namespace.QName</java-class>
|
||||
</data-type>
|
||||
|
||||
<data-type name="d:noderef">
|
||||
<analyser-class>org.apache.lucene.analysis.standard.StandardAnalyzer</analyser-class>
|
||||
<java-class>org.alfresco.service.cmr.repository.NodeRef</java-class>
|
||||
</data-type>
|
||||
|
||||
<data-type name="d:path">
|
||||
<analyser-class>org.apache.lucene.analysis.standard.StandardAnalyzer</analyser-class>
|
||||
<java-class>org.alfresco.service.cmr.repository.Path</java-class>
|
||||
</data-type>
|
||||
|
||||
<data-type name="d:category">
|
||||
<analyser-class>org.apache.lucene.analysis.standard.StandardAnalyzer</analyser-class>
|
||||
<java-class>org.alfresco.service.cmr.repository.NodeRef</java-class>
|
||||
</data-type>
|
||||
|
||||
</data-types>
|
||||
|
||||
|
||||
<!-- TODO: Define dictionary meta model -->
|
||||
|
||||
</model>
|
60
config/alfresco/model/forumModel.xml
Normal file
60
config/alfresco/model/forumModel.xml
Normal file
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<model name="fm:forummodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
|
||||
|
||||
<description>Forum Model</description>
|
||||
<author></author>
|
||||
<version>1.0</version>
|
||||
|
||||
<!-- Imports are required to allow references to definitions in other models -->
|
||||
<imports>
|
||||
<!-- Import Alfresco Dictionary Definitions -->
|
||||
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
|
||||
<!-- Import Alfresco Content Domain Model Definitions -->
|
||||
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
|
||||
</imports>
|
||||
|
||||
<namespaces>
|
||||
<namespace uri="http://www.alfresco.org/model/forum/1.0" prefix="fm"/>
|
||||
</namespaces>
|
||||
|
||||
<types>
|
||||
<type name="fm:forums">
|
||||
<parent>cm:folder</parent>
|
||||
</type>
|
||||
|
||||
<type name="fm:forum">
|
||||
<parent>cm:folder</parent>
|
||||
<properties>
|
||||
<property name="fm:status">
|
||||
<type>d:category</type>
|
||||
</property>
|
||||
</properties>
|
||||
</type>
|
||||
|
||||
<type name="fm:topic">
|
||||
<parent>cm:folder</parent>
|
||||
<properties>
|
||||
<property name="fm:type">
|
||||
<type>d:category</type>
|
||||
</property>
|
||||
</properties>
|
||||
</type>
|
||||
|
||||
<type name="fm:post">
|
||||
<parent>cm:content</parent>
|
||||
</type>
|
||||
</types>
|
||||
|
||||
<aspects>
|
||||
<aspect name="fm:discussable">
|
||||
<properties>
|
||||
<property name="fm:forum">
|
||||
<type>d:noderef</type>
|
||||
<mandatory>true</mandatory>
|
||||
</property>
|
||||
</properties>
|
||||
</aspect>
|
||||
</aspects>
|
||||
|
||||
</model>
|
212
config/alfresco/model/modelSchema.xsd
Normal file
212
config/alfresco/model/modelSchema.xsd
Normal file
@@ -0,0 +1,212 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.alfresco.org/model/dictionary/1.0" xmlns:dd="http://www.alfresco.org/model/dictionary/1.0" elementFormDefault="qualified" version="0.1">
|
||||
|
||||
<xs:annotation>
|
||||
<xs:documentation>Alfresco Data Dictionary Schema - DRAFT</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:element name="model">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="description" type="xs:string" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="author" type="xs:string" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="published" type="xs:date" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="version" type="xs:string" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="imports" maxOccurs="1" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="import" maxOccurs="unbounded" minOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="dd:namespaceDefinition"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="namespaces">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="namespace" maxOccurs="unbounded" minOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="dd:namespaceDefinition"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="property-types" maxOccurs="1" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="property-type" maxOccurs="unbounded" minOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:group ref="dd:TextualDescription"/>
|
||||
<xs:element name="analyser-class" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="java-class" maxOccurs="1" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="dd:name"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="types" maxOccurs="1" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="type" type="dd:type" maxOccurs="unbounded" minOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="aspects" maxOccurs="1" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="aspect" type="dd:aspect" maxOccurs="unbounded" minOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="dd:name"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:complexType name="class">
|
||||
<xs:sequence>
|
||||
<xs:group ref="dd:TextualDescription"></xs:group>
|
||||
<xs:element name="parent" type="xs:string" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="properties" maxOccurs="1" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="property" type="dd:property" maxOccurs="unbounded" minOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="associations" maxOccurs="1" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="association" type="dd:association" maxOccurs="unbounded" minOccurs="0"/>
|
||||
<xs:element name="child-association" type="dd:childAssociation" maxOccurs="unbounded" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="overrides" maxOccurs="1" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="propertyOverrides" maxOccurs="1" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="property" type="dd:propertyOverride" maxOccurs="unbounded" minOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="dd:name" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="property">
|
||||
<xs:sequence>
|
||||
<xs:group ref="dd:TextualDescription"/>
|
||||
<xs:element name="type" type="xs:string"/>
|
||||
<xs:element name="protected" type="xs:boolean" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="mandatory" type="xs:boolean" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="multiple" type="xs:boolean" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="default" type="xs:anyType" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="index" maxOccurs="1" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="atomic" type="xs:boolean" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="stored" type="xs:boolean" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="tokenised" type="xs:boolean" maxOccurs="1" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="enabled" type="xs:boolean" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="dd:name"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="type">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="dd:class">
|
||||
<xs:sequence>
|
||||
<xs:element name="mandatory-aspects" maxOccurs="1" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="aspect" type="xs:string" maxOccurs="unbounded" minOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="aspect">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="dd:class"></xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="association">
|
||||
<xs:sequence>
|
||||
<xs:group ref="dd:TextualDescription"></xs:group>
|
||||
<xs:element name="source" maxOccurs="1" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:group ref="dd:role"></xs:group>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="target">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="class" type="xs:string"></xs:element>
|
||||
<xs:group ref="dd:role"></xs:group>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="dd:name"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="childAssociation">
|
||||
<xs:complexContent>
|
||||
<xs:extension base="dd:association">
|
||||
<xs:sequence>
|
||||
<xs:element name="child-name" type="xs:string" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="duplicate" type="xs:boolean" maxOccurs="1" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:group name="role">
|
||||
<xs:sequence>
|
||||
<xs:element name="role" type="xs:string" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="mandatory" type="xs:boolean" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="many" type="xs:boolean" maxOccurs="1" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:group>
|
||||
|
||||
<xs:complexType name="propertyOverride">
|
||||
<xs:sequence>
|
||||
<xs:element name="mandatory" type="xs:boolean" maxOccurs="1" minOccurs="0"/>
|
||||
<xs:element name="default" type="xs:boolean" maxOccurs="1" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="dd:name"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:attributeGroup name="namespaceDefinition">
|
||||
<xs:attribute name="uri" type="xs:string" use="required" />
|
||||
<xs:attribute name="prefix" type="xs:string" use="required" />
|
||||
</xs:attributeGroup>
|
||||
|
||||
<xs:attributeGroup name="name">
|
||||
<xs:attribute name="name" type="xs:string" use="required" />
|
||||
</xs:attributeGroup>
|
||||
|
||||
<xs:group name="TextualDescription">
|
||||
<xs:sequence>
|
342
config/alfresco/model/permissionDefinitions.xml
Normal file
342
config/alfresco/model/permissionDefinitions.xml
Normal file
@@ -0,0 +1,342 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE permissions >
|
||||
<!--PUBLIC '-//ALFRECSO//DTD PERMISSIONS//EN' 'permissionSchema.dtd' -->
|
||||
|
||||
<!-- Note: the above is commented out as spring does not seem to find the dtd -->
|
||||
|
||||
<!-- ============================================ -->
|
||||
<!-- The base permission model for the repository -->
|
||||
<!-- ============================================ -->
|
||||
|
||||
<permissions>
|
||||
|
||||
<!-- Namespaces used in type references -->
|
||||
|
||||
<namespaces>
|
||||
<namespace uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
|
||||
<namespace uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
|
||||
</namespaces>
|
||||
|
||||
<!-- -->
|
||||
<!-- Permission sets link permissions and groups of permissions to types and aspects -->
|
||||
<!-- defined in the model. Permissions defined against a type apply to all objects -->
|
||||
<!-- that inherit from that type. Permissions defined against aspects apply to all -->
|
||||
<!-- objects or only objects that have the aspect applied. For example, the permission -->
|
||||
<!-- to lock an object could apply to any object but the permission to unlock an -->
|
||||
<!-- object woujld only apply to objects that have the lockable aspect. -->
|
||||
<!-- -->
|
||||
|
||||
<!-- =============================================== -->
|
||||
<!-- Base permissions available on all types of node -->
|
||||
<!-- =============================================== -->
|
||||
|
||||
<permissionSet type="sys:base" expose="all" >
|
||||
|
||||
<!-- ================= -->
|
||||
<!-- Permission groups -->
|
||||
<!-- ================= -->
|
||||
|
||||
<!-- -->
|
||||
<!-- Permission groups are convenient groups of permissions. They may be used in -->
|
||||
<!-- thier own right or as the effective set of permissions. If an authority has -->
|
||||
<!-- all the permissions that make up a permission group they also have that -->
|
||||
<!-- permission group even though it has not been explicitly granted. -->
|
||||
<!-- -->
|
||||
|
||||
<!-- =========== -->
|
||||
<!-- Full access -->
|
||||
<!-- =========== -->
|
||||
|
||||
<!-- -->
|
||||
<!-- By default this is exposed for all objects unless inherited objects choose to -->
|
||||
<!-- expose only selected objects at the object level. -->
|
||||
<!-- -->
|
||||
|
||||
<permissionGroup name="FullControl" expose="true" allowFullControl="true" />
|
||||
|
||||
<!-- ============================================= -->
|
||||
<!-- Convenient groupings of low level permissions -->
|
||||
<!-- ============================================= -->
|
||||
|
||||
<permissionGroup name="Read" expose="true" allowFullControl="false" />
|
||||
<permissionGroup name="Write" expose="true" allowFullControl="false" />
|
||||
<permissionGroup name="Delete" expose="true" allowFullControl="false" />
|
||||
<permissionGroup name="AddChildren" expose="true" allowFullControl="false" />
|
||||
|
||||
<!-- =========== -->
|
||||
<!-- Permissions -->
|
||||
<!-- =========== -->
|
||||
|
||||
<!-- The permission to read properties on a node -->
|
||||
<!-- -->
|
||||
<!-- The properties of a node may ony be read if there is read access to the parent -->
|
||||
<!-- node. ReadChildren access to the parent node is recursive for all nodes from -->
|
||||
<!-- which the node inherits permissions. Access is required down the permission -->
|
||||
<!-- tree at all pioints. -->
|
||||
<!-- -->
|
||||
|
||||
<permission name="ReadProperties" expose="true" >
|
||||
<grantedToGroup permissionGroup="Read" />
|
||||
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
|
||||
</permission>
|
||||
|
||||
<!-- The permission to read the children of a node -->
|
||||
<!-- -->
|
||||
<!-- This permission is recursive. It requires the same permission is granted to -->
|
||||
<!-- all of the parent nodes from which this node inherits permissions -->
|
||||
<!-- -->
|
||||
|
||||
<permission name="ReadChildren" expose="true" >
|
||||
<grantedToGroup permissionGroup="Read" />
|
||||
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
|
||||
</permission>
|
||||
|
||||
<!-- The permission to write to the properties of a node -->
|
||||
<!-- -->
|
||||
<!-- This permission includes adding aspects to a node as they are stored as -->
|
||||
<!-- a property. -->
|
||||
<!-- -->
|
||||
|
||||
<permission name="WriteProperties" expose="true" >
|
||||
<grantedToGroup permissionGroup="Write" />
|
||||
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
|
||||
</permission>
|
||||
|
||||
<!-- The permission to delete a node -->
|
||||
<!-- -->
|
||||
<!-- A node can only be deleted if there is delete permission on the node, if the -->
|
||||
<!-- node is accesible via its parent, and if the node can be deleted from its -->
|
||||
<!-- parent. Currently, there is no check that all the children can be deleted. -->
|
||||
<!-- This check can be added but requires more work so the UI is not checking this -->
|
||||
<!-- permission just to show the delete icon. -->
|
||||
<!-- -->
|
||||
|
||||
<permission name="DeleteNode" expose="true" >
|
||||
<grantedToGroup permissionGroup="Delete" />
|
||||
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
|
||||
<requiredPermission on="parent" name="DeleteChildren" implies="false"/>
|
||||
<requiredPermission on="node" name="DeleteChildren" implies="false"/>
|
||||
<!-- Remove the recursive check for now for performance -->
|
||||
<!-- TODO: have one permission to check for delete on an item and one to check -->
|
||||
<!-- child permissions when delete is called on the node service -->
|
||||
<!-- <requiredPermission on="children" name="DeleteNode" implies="false"/> -->
|
||||
</permission>
|
||||
|
||||
|
||||
<!-- The permission to delete children of a node -->
|
||||
<!-- -->
|
||||
<!-- At the moment this includes both unlink and delete -->
|
||||
<!-- -->
|
||||
<permission name="DeleteChildren" expose="true" >
|
||||
<grantedToGroup permissionGroup="Delete" />
|
||||
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
|
||||
</permission>
|
||||
|
||||
<!-- The permission to create new nodes -->
|
||||
|
||||
<permission name="CreateChildren" expose="true" >
|
||||
<grantedToGroup permissionGroup="AddChildren" />
|
||||
<requiredPermission on="parent" name="ReadChildren" implies="false" />
|
||||
</permission>
|
||||
|
||||
<!-- The permission to link nodes -->
|
||||
|
||||
<permission name="LinkChildren" expose="true" >
|
||||
<grantedToGroup permissionGroup="AddChildren" />
|
||||
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
|
||||
</permission>
|
||||
|
||||
<!-- The permission to delte associations between nodes (not children) -->
|
||||
|
||||
<permission name="DeleteAssociations" expose="true" >
|
||||
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
|
||||
</permission>
|
||||
|
||||
<!-- The permission to read associations -->
|
||||
|
||||
<permission name="ReadAssociations" expose="true" >
|
||||
<requiredPermission on="parent" name="ReadChildren" implies="false" />
|
||||
</permission>
|
||||
|
||||
<!-- The permission to create associations -->
|
||||
|
||||
<permission name="CreateAssociations" expose="true" >
|
||||
<requiredPermission on="parent" name="ReadChildren" implies="false" />
|
||||
</permission>
|
||||
|
||||
<!-- ==================================================== -->
|
||||
<!-- Permissions related to the management of permissions -->
|
||||
<!-- ==================================================== -->
|
||||
|
||||
<!-- The permission to read the permissions on a node -->
|
||||
|
||||
<permission name="ReadPermissions" expose="true" >
|
||||
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
|
||||
</permission>
|
||||
|
||||
<!-- The permission to the change the permissions associated with a node -->
|
||||
|
||||
<permission name="ChangePermissions" expose="true" >
|
||||
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
|
||||
</permission>
|
||||
|
||||
</permissionSet>
|
||||
|
||||
<!-- =============================== -->
|
||||
<!-- Permissions specific to content -->
|
||||
<!-- =============================== -->
|
||||
|
||||
<permissionSet type="cm:content" expose="all">
|
||||
|
||||
<!-- Extend some base permission groups to include permissoins related to content. -->
|
||||
<permissionGroup name="Read" extends="true" expose="true"/>
|
||||
<permissionGroup name="Write" extends="true" expose="true"/>
|
||||
|
||||
<!-- Add an execute permission group. -->
|
||||
<permissionGroup name="Execute" allowFullControl="false" expose="true"/>
|
||||
|
||||
<!-- Content specific low-level permissions. -->
|
||||
|
||||
<!-- The permission to read content. -->
|
||||
|
||||
<permission name="ReadContent" expose="true">
|
||||
<grantedToGroup permissionGroup="Read"/>
|
||||
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
|
||||
</permission>
|
||||
|
||||
<!-- The permission to write content. -->
|
||||
|
||||
<permission name="WriteContent" expose="true">
|
||||
<grantedToGroup permissionGroup="Write" />
|
||||
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
|
||||
</permission>
|
||||
|
||||
<!-- Execute permission on content. -->
|
||||
|
||||
<permission name="ExecuteContent" expose="true">
|
||||
<grantedToGroup permissionGroup="Execute" />
|
||||
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
|
||||
</permission>
|
||||
|
||||
</permissionSet>
|
||||
|
||||
<!-- ============================================== -->
|
||||
<!-- Permissions associated with the Ownable aspect -->
|
||||
<!-- ============================================== -->
|
||||
|
||||
<permissionSet type="cm:ownable" expose="selected">
|
||||
|
||||
<!-- Permission control to allow ownership of the node to be taken from others -->
|
||||
<permissionGroup name="TakeOwnership" requiresType="false" expose="false"/>
|
||||
|
||||
<!-- The low level permission to control setting the owner of a node -->
|
||||
<permission name="SetOwner" expose="false" requiresType="false">
|
||||
<grantedToGroup permissionGroup="TakeOwnership" />
|
||||
<!-- require to be able to reach the node and set properties in the node -->
|
||||
<requiredPermission on="parent" name="ReadChildren" />
|
||||
<requiredPermission on="node" name="WriteProperties" />
|
||||
</permission>
|
||||
|
||||
</permissionSet>
|
||||
|
||||
|
||||
<!-- =================================================== -->
|
||||
<!-- Permission related to lock, check out and check in. -->
|
||||
<!-- =================================================== -->
|
||||
|
||||
<permissionSet type="cm:lockable" expose="selected">
|
||||
|
||||
<!-- At the moment these permissions are hidden so they do not appear in the list -->
|
||||
<!-- of permissions. -->
|
||||
|
||||
<!-- Check Out permission - exposed for all object types -->
|
||||
<permissionGroup name="CheckOut" requiresType="false" expose="false"/>
|
||||
|
||||
<!-- Check In permission - only exposed when the lockable aspect is present -->
|
||||
<permissionGroup name="CheckIn" requiresType="true" expose="false"/>
|
||||
|
||||
<!-- Cancel Check Out permission - only exposed for the lockable aspect is present -->
|
||||
<permissionGroup name="CancelCheckOut" requiresType="true" expose="false"/>
|
||||
|
||||
<!-- Low level lock permission -->
|
||||
<permission name="Lock" requiresType="false" expose="false">
|
||||
<grantedToGroup permissionGroup="CheckOut" />
|
||||
<requiredPermission on="node" type="sys:base" name="Write"/>
|
||||
</permission>
|
||||
|
||||
<!-- Low level unlock permission -->
|
||||
<permission name="Unlock" requiresType="true" expose="false">
|
||||
<grantedToGroup permissionGroup="CheckIn" />
|
||||
<grantedToGroup permissionGroup="CancelCheckOut" />
|
||||
</permission>
|
||||
|
||||
</permissionSet>
|
||||
|
||||
|
||||
<!-- ============================== -->
|
||||
<!-- Permissions for spaces/folders -->
|
||||
<!-- ============================== -->
|
||||
|
||||
|
||||
<permissionSet type="cm:folder" expose="selected">
|
||||
<!-- Kept for backward compatibility - the folder administrator permission has -->
|
||||
<!-- been removed to aviod confusion -->
|
||||
<permissionGroup name="Administrator" allowFullControl="true" expose="false" />
|
||||
|
||||
<!-- A coordinator can do anything in the folder or its childeren unless the -->
|
||||
<!-- permissions are set not to inherit or permission is denied. -->
|
||||
<permissionGroup name="Coordinator" allowFullControl="true" expose="true" />
|
||||
|
||||
<!-- A contributor can create content and then they have full permission on what -->
|
||||
<!-- they have created - via the permissions assigned to the owner. -->
|
||||
<permissionGroup name="Contributor" allowFullControl="false" expose="true" >
|
||||
<!-- Contributor is a guest who can add content, and then can modify via the -->
|
||||
<!-- owner permissions. -->
|
||||
<includePermissionGroup permissionGroup="Guest" type="cm:folder"/>
|
||||
<includePermissionGroup permissionGroup="AddChildren" type="sys:base"/>
|
||||
<!-- Check out requires write permissions so this will not apply to all -->
|
||||
<!-- documents. -->
|
||||
<includePermissionGroup type="cm:lockable" permissionGroup="CheckOut"/>
|
||||
</permissionGroup>
|
||||
|
||||
<!-- An editor can read and write to anything in a space; they can not create -->
|
||||
<!-- new nodes. They can cehck out content into a space to which they have -->
|
||||
<!-- create permission. -->
|
||||
<permissionGroup name="Editor" expose="true" allowFullControl="false" >
|
||||
<includePermissionGroup type="cm:folder" permissionGroup="Guest"/>
|
||||
<includePermissionGroup type="sys:base" permissionGroup="Write"/>
|
||||
<includePermissionGroup type="cm:lockable" permissionGroup="CheckOut"/>
|
||||
</permissionGroup>
|
||||
|
||||
<!-- The guest permission allows read to everything by default. -->
|
||||
<permissionGroup name="Guest" allowFullControl="false" expose="true" >
|
||||
<includePermissionGroup permissionGroup="Read" type="sys:base" />
|
||||
</permissionGroup>
|
||||
</permissionSet>
|
||||
|
||||
|
||||
<!-- ================== -->
|
||||
<!-- Global permissions -->
|
||||
<!-- ================== -->
|
||||
|
||||
<!-- -->
|
||||
<!-- Global permissions apply regardless of any particular node context. -->
|
||||
<!-- They can not be denied by the permissions set on any node. -->
|
||||
<!-- -->
|
||||
|
||||
<!-- Admin can do anything to any ndoe -->
|
||||
<globalPermission permission="FullControl" authority="ROLE_ADMINISTRATOR"/>
|
||||
|
||||
<!-- For now, owners can always see, find and manipulate their stuff -->
|
||||
<globalPermission permission="FullControl" authority="ROLE_OWNER"/>
|
||||
|
||||
<!-- Unlock is granted to the lock owner -->
|
||||
<globalPermission permission="Unlock" authority="ROLE_LOCK_OWNER"/>
|
||||
|
||||
<!-- Check in is granted to the lock owner -->
|
||||
<globalPermission permission="CheckIn" authority="ROLE_LOCK_OWNER"/>
|
||||
|
||||
<!-- Cancel check out is granted to the locak owner -->
|
||||
<globalPermission permission="CancelCheckOut" authority="ROLE_LOCK_OWNER"/>
|
||||
|
||||
</permissions>
|
37
config/alfresco/model/permissionSchema.dtd
Normal file
37
config/alfresco/model/permissionSchema.dtd
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!ELEMENT permissions (namespaces+, permissionSet*, globalPermission*)>
|
||||
<!ELEMENT namespaces (namespace+)>
|
||||
<!ELEMENT namespace EMPTY>
|
||||
<!ATTLIST namespace uri CDATA #REQUIRED>
|
||||
<!ATTLIST namespace prefix CDATA #REQUIRED>
|
||||
<!ELEMENT permissionGroup (includePermissionGroup* )>
|
||||
<!ATTLIST permissionGroup name CDATA #REQUIRED>
|
||||
<!ATTLIST permissionGroup type CDATA #IMPLIED>
|
||||
<!ATTLIST permissionGroup extends (true | false) "false">
|
||||
<!ATTLIST permissionGroup expose (true | false) "false">
|
||||
<!ATTLIST permissionGroup allowFullControl (true | false) "false" >
|
||||
<!ATTLIST permissionGroup requiresType (true | false) "true">
|
||||
<!ELEMENT includePermissionGroup EMPTY>
|
||||
<!ATTLIST includePermissionGroup type CDATA #IMPLIED>
|
||||
<!ATTLIST includePermissionGroup permissionGroup CDATA #REQUIRED>
|
||||
<!ELEMENT permissionSet (permissionGroup*, permission*, dynamicAuthority*)>
|
||||
<!ATTLIST permissionSet type CDATA #REQUIRED>
|
||||
<!ATTLIST permissionSet expose (all | selected) "all">
|
||||
<!ELEMENT permission (grantedToGroup*, requiredPermission* )>
|
||||
<!ATTLIST permission name CDATA #REQUIRED>
|
||||
<!ATTLIST permission expose (true | false) "false">
|
||||
<!ATTLIST permission requiresType (true | false) "true">
|
||||
<!ELEMENT dynamicAuthority EMPTY>
|
||||
<!ATTLIST dynamicAuthority evaluator CDATA #REQUIRED>
|
||||
<!ELEMENT requiredPermission EMPTY>
|
||||
<!ATTLIST requiredPermission name CDATA #REQUIRED>
|
||||
<!ATTLIST requiredPermission type CDATA #IMPLIED>
|
||||
<!ATTLIST requiredPermission on (node | parent | children) #REQUIRED>
|
||||
<!ATTLIST requiredPermission implies (true | false) "false">
|
||||
<!ELEMENT grantedToGroup EMPTY >
|
||||
<!ATTLIST grantedToGroup type CDATA #IMPLIED>
|
||||
<!ATTLIST grantedToGroup permissionGroup CDATA #REQUIRED>
|
||||
<!ELEMENT globalPermission EMPTY >
|
||||
<!ATTLIST globalPermission authority CDATA #IMPLIED>
|
||||
<!ATTLIST globalPermission permission CDATA #REQUIRED>
|
||||
|
114
config/alfresco/model/systemModel.xml
Normal file
114
config/alfresco/model/systemModel.xml
Normal file
@@ -0,0 +1,114 @@
|
||||
<model name="sys:systemmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
|
||||
|
||||
<description>Alfresco Repository System Definitions</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" />
|
||||
</imports>
|
||||
|
||||
<namespaces>
|
||||
<namespace uri="http://www.alfresco.org/model/system/1.0" prefix="sys" />
|
||||
</namespaces>
|
||||
|
||||
<types>
|
||||
|
||||
<type name="sys:base">
|
||||
<title>Base</title>
|
||||
<mandatory-aspects>
|
||||
<aspect>sys:referenceable</aspect>
|
||||
</mandatory-aspects>
|
||||
</type>
|
||||
|
||||
<type name="sys:descriptor">
|
||||
<title>Descriptor</title>
|
||||
<parent>sys:base</parent>
|
||||
<properties>
|
||||
<property name="sys:versionMajor">
|
||||
<type>d:text</type>
|
||||
<mandatory>true</mandatory>
|
||||
</property>
|
||||
<property name="sys:versionMinor">
|
||||
<type>d:text</type>
|
||||
<mandatory>true</mandatory>
|
||||
</property>
|
||||
<property name="sys:versionRevision">
|
||||
<type>d:text</type>
|
||||
<mandatory>true</mandatory>
|
||||
</property>
|
||||
<property name="sys:versionLabel">
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
</properties>
|
||||
</type>
|
||||
|
||||
<type name="sys:container">
|
||||
<title>Container</title>
|
||||
<parent>sys:base</parent>
|
||||
<associations>
|
||||
<child-association name="sys:children">
|
||||
<source>
|
||||
<mandatory>false</mandatory>
|
||||
<many>true</many>
|
||||
</source>
|
||||
<target>
|
||||
<class>sys:base</class>
|
||||
<mandatory>false</mandatory>
|
||||
<many>true</many>
|
||||
</target>
|
||||
</child-association>
|
||||
</associations>
|
||||
</type>
|
||||
|
||||
<type name="sys:store_root">
|
||||
<title>Store Root</title>
|
||||
<parent>sys:container</parent>
|
||||
<mandatory-aspects>
|
||||
<aspect>sys:aspect_root</aspect>
|
||||
</mandatory-aspects>
|
||||
</type>
|
||||
|
||||
<type name="sys:reference">
|
||||
<title>Reference</title>
|
||||
<parent>sys:base</parent>
|
||||
<properties>
|
||||
<property name="sys:reference">
|
||||
<type>d:noderef</type>
|
||||
<mandatory>true</mandatory>
|
||||
</property>
|
||||
</properties>
|
||||
</type>
|
||||
|
||||
</types>
|
||||
|
||||
|
||||
<aspects>
|
||||
|
||||
<aspect name="sys:aspect_root">
|
||||
<title>Root</title>
|
||||
</aspect>
|
||||
|
||||
<!-- aspect to store the fundamental node identifiers -->
|
||||
<aspect name="sys:referenceable">
|
||||
<title>Referenceable</title>
|
||||
<properties>
|
||||
<property name="sys:store-protocol">
|
||||
<type>d:text</type>
|
||||
<mandatory>true</mandatory>
|
||||
</property>
|
||||
<property name="sys:store-identifier">
|
||||
<type>d:text</type>
|
||||
<mandatory>true</mandatory>
|
||||
</property>
|
||||
<property name="sys:node-uuid">
|
||||
<type>d:text</type>
|
||||
<mandatory>true</mandatory>
|
||||
</property>
|
||||
</properties>
|
||||
</aspect>
|
||||
|
||||
</aspects>
|
||||
|
||||
</model>
|
Reference in New Issue
Block a user