Merge V1.4 to HEAD

- Ignored Enterprise-specific changes
   svn merge svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4@3701 svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4@3703 .
   svn merge svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4@3704 svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4@3705 .
   svn merge svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4@3707 svn://svn.alfresco.com:3691/alfresco/BRANCHES/V1.4@3876 .
   svn revert root\projects\web-client\source\web\jsp\admin\admin-console.jsp


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3879 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2006-09-21 23:35:51 +00:00
parent 89f39cd176
commit d2bce74f0b
103 changed files with 3569 additions and 1172 deletions

View File

@@ -2,269 +2,321 @@
<model name="bpm:businessprocessmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
<description>Business Process Model</description>
<author>Alfresco</author>
<version>1.0</version>
<description>Business Process Model</description>
<author>Alfresco</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>
<!-- 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/bpm/1.0" prefix="bpm"/>
</namespaces>
<constraints>
<constraint name="bpm:allowedPriority" type="LIST">
<parameter name="allowedValues">
<!-- TODO: Determine if priority values can be mapped to human-readable strings -->
<list>
<value>1</value>
<value>2</value>
<value>3</value>
</list>
</parameter>
</constraint>
<constraint name="bpm:allowedStatus" type="LIST">
<parameter name="allowedValues">
<!-- TODO: Determine if status values can be mapped to human-readable strings -->
<list>
<value>Not Yet Started</value>
<value>In Progress</value>
<value>On Hold</value>
<value>Cancelled</value>
<value>Completed</value>
</list>
</parameter>
</constraint>
<constraint name="bpm:percentage" type="MINMAX">
<parameter name="minValue"><value>0</value></parameter>
<parameter name="maxValue"><value>100</value></parameter>
</constraint>
</constraints>
<types>
<!-- -->
<!-- Base definition for all Tasks -->
<!-- -->
<type name="bpm:task">
<title>Task</title>
<description>Task</description>
<parent>cm:content</parent>
<properties>
<!-- -->
<!-- Assignment -->
<!-- -->
<!-- Note: Implemented via cm:ownable aspect -->
<!-- -->
<!-- Task Identifier -->
<!-- -->
<property name="bpm:taskId">
<title>Task Identifier</title>
<type>d:long</type>
<protected>true</protected>
<mandatory>true</mandatory>
</property>
<!-- -->
<!-- Task Dates -->
<!-- -->
<property name="bpm:startDate">
<title>Start Date</title>
<type>d:date</type>
<protected>true</protected>
</property>
<property name="bpm:completionDate">
<title>End Date</title>
<type>d:date</type>
<protected>true</protected>
</property>
<property name="bpm:dueDate">
<title>Due Date</title>
<type>d:date</type>
</property>
<namespaces>
<namespace uri="http://www.alfresco.org/model/bpm/1.0" prefix="bpm" />
</namespaces>
<!-- -->
<!-- Task Progress -->
<!-- -->
<property name="bpm:status">
<title>Status</title>
<type>d:text</type>
<mandatory>true</mandatory>
<default>Not Yet Started</default>
<constraints>
<constraint ref="bpm:allowedStatus"/>
</constraints>
</property>
<property name="bpm:priority">
<title>Priority</title>
<type>d:int</type>
<mandatory>true</mandatory>
<default>2</default>
<constraints>
<constraint ref="bpm:allowedPriority"/>
</constraints>
</property>
<property name="bpm:percentComplete">
<title>Percentage Complete</title>
<type>d:int</type>
<mandatory>true</mandatory>
<default>0</default>
<constraints>
<constraint ref="bpm:percentage"/>
</constraints>
</property>
<constraints>
<!-- -->
<!-- Task Notes -->
<!-- -->
<!-- Note: Implemented via cm:content property : see 'fm:post' -->
<constraint name="bpm:allowedPriority" type="LIST">
<parameter name="allowedValues">
<!-- TODO: Determine if priority values can be mapped to human-readable strings -->
<list>
<value>1</value>
<value>2</value>
<value>3</value>
</list>
</parameter>
</constraint>
</properties>
<constraint name="bpm:allowedStatus" type="LIST">
<parameter name="allowedValues">
<!-- TODO: Determine if status values can be mapped to human-readable strings -->
<list>
<value>Not Yet Started</value>
<value>In Progress</value>
<value>On Hold</value>
<value>Cancelled</value>
<value>Completed</value>
</list>
</parameter>
</constraint>
<associations>
<constraint name="bpm:percentage" type="MINMAX">
<parameter name="minValue">
<value>0</value>
</parameter>
<parameter name="maxValue">
<value>100</value>
</parameter>
</constraint>
<!-- List of users who may potentially get assigned to the task -->
<association name="bpm:pooledActors">
<title>Pooled Users</title>
<source>
<mandatory>false</mandatory>
<many>false</many>
</source>
<target>
<class>cm:person</class>
<mandatory>false</mandatory>
<many>true</many>
</target>
</association>
</constraints>
</associations>
<types>
<mandatory-aspects>
<aspect>cm:ownable</aspect>
</mandatory-aspects>
</type>
<!-- -->
<!-- Base definition for all Tasks -->
<!-- -->
<type name="bpm:task">
<parent>cm:content</parent>
<properties>
<!-- -->
<!-- Assignment -->
<!-- -->
<!-- Note: Implemented via cm:ownable aspect -->
<!-- -->
<!-- Task Identifier -->
<!-- -->
<property name="bpm:taskId">
<type>d:long</type>
<protected>true</protected>
<mandatory>true</mandatory>
</property>
<!-- Task Description -->
<property name="bpm:description">
<type>d:text</type>
</property>
<!-- -->
<!-- Task Dates -->
<!-- -->
<property name="bpm:startDate">
<type>d:date</type>
<protected>true</protected>
</property>
<property name="bpm:completionDate">
<type>d:date</type>
<protected>true</protected>
</property>
<property name="bpm:dueDate">
<type>d:date</type>
</property>
<!-- -->
<!-- Task Progress -->
<!-- -->
<property name="bpm:status">
<type>d:text</type>
<mandatory>true</mandatory>
<default>Not Yet Started</default>
<constraints>
<constraint ref="bpm:allowedStatus" />
</constraints>
</property>
<property name="bpm:priority">
<type>d:int</type>
<mandatory>true</mandatory>
<default>2</default>
<constraints>
<constraint ref="bpm:allowedPriority" />
</constraints>
</property>
<property name="bpm:percentComplete">
<type>d:int</type>
<mandatory>true</mandatory>
<default>0</default>
<constraints>
<constraint ref="bpm:percentage" />
</constraints>
</property>
<!-- -->
<!-- Task Notes -->
<!-- -->
<!-- Note: Implemented via cm:content property : see 'fm:post' -->
</properties>
<associations>
<!-- List of users who may potentially get assigned to the task -->
<association name="bpm:pooledActors">
<source>
<mandatory>false</mandatory>
<many>false</many>
</source>
<target>
<class>cm:person</class>
<mandatory>false</mandatory>
<many>true</many>
</target>
</association>
</associations>
<mandatory-aspects>
<aspect>cm:ownable</aspect>
</mandatory-aspects>
</type>
<!-- -->
<!-- The base for all Tasks assigned via a Workflow -->
<!-- -->
<type name="bpm:workflowTask">
<title>Workflow Task</title>
<description>Task assigned via Workflow</description>
<parent>bpm:task</parent>
<properties>
<!-- -->
<!-- The base for all Tasks assigned via a Workflow -->
<!-- -->
<!-- Task Context -->
<!-- e.g. Space, Document -->
<property name="bpm:context">
<title>Task Context</title>
<type>d:noderef</type>
</property>
<!-- Task Outcome -->
<property name="bpm:outcome">
<title>Task Outcome</title>
<type>d:text</type> <!-- Transition id -->
</property>
<type name="bpm:workflowTask">
<parent>bpm:task</parent>
<!-- Items within package marked as complete -->
<property name="bpm:completedItems">
<type>d:noderef</type>
<multiple>true</multiple>
</property>
<properties>
<!-- Applicable actions for workflow package -->
<property name="bpm:packageActionGroup">
<type>d:text</type>
</property>
<!-- Task Context -->
<!-- e.g. Space, Document -->
<property name="bpm:context">
<type>d:noderef</type>
</property>
<!-- Applicable actions for workflow package item -->
<property name="bpm:packageItemActionGroup">
<type>d:text</type>
<default>workflow_item_read_actions</default>
</property>
</properties>
<!-- Task Outcome -->
<property name="bpm:outcome">
<type>d:text</type><!-- Transition id -->
</property>
<associations>
<association name="bpm:package">
<title>Workflow Package</title>
<source>
<mandatory>false</mandatory>
<many>false</many>
</source>
<target>
<class>bpm:workflowPackage</class>
<mandatory>true</mandatory>
<many>false</many>
</target>
</association>
</associations>
</type>
<!-- Items within package marked as complete -->
<property name="bpm:completedItems">
<type>d:noderef</type>
<multiple>true</multiple>
</property>
<!-- Applicable actions for workflow package -->
<property name="bpm:packageActionGroup">
<type>d:text</type>
<!-- NOTE: no default specified, therefore no actions -->
</property>
<!-- Applicable actions for workflow package item -->
<property name="bpm:packageItemActionGroup">
<type>d:text</type>
<default>workflow_item_read_actions</default>
</property>
</properties>
<associations>
<association name="bpm:package">
<source>
<mandatory>false</mandatory>
<many>false</many>
</source>
<target>
<class>bpm:workflowPackage</class>
<mandatory>true</mandatory>
<many>false</many>
</target>
</association>
</associations>
</type>
<!-- -->
<!-- Default Start Task -->
<!-- -->
<type name="bpm:startTask">
<parent>bpm:workflowTask</parent>
<properties>
<!-- Description for the workflow as a whole -->
<property name="bpm:workflowDescription">
<type>d:text</type>
</property>
<!-- Due date for the workflow as a whole -->
<property name="bpm:workflowDueDate">
<type>d:date</type>
</property>
<!-- Priority for the workflow as a whole -->
<property name="bpm:workflowPriority">
<type>d:int</type>
<default>2</default>
<constraints>
<constraint ref="bpm:allowedPriority" />
</constraints>
</property>
</properties>
<associations>
<association name="bpm:assignee">
<source>
<mandatory>false</mandatory>
<many>false</many>
</source>
<target>
<class>cm:person</class>
<mandatory>true</mandatory>
<many>false</many>
</target>
</association>
</associations>
<overrides>
<property name="bpm:packageActionGroup">
<default>workflow_collection_actions</default>
</property>
<property name="bpm:packageItemActionGroup">
<default>workflow_item_collection_actions</default>
</property>
</overrides>
</type>
</types>
<aspects>
<!-- -->
<!-- A collection of content routed through a workflow. -->
<!-- -->
<!-- Note: this aspect should be applied to a container such as -->
<!-- a folder, versioned folder or layered folder. -->
<!-- -->
<aspect name="bpm:workflowPackage">
<title>Workflow Package</title>
<properties>
<!-- -->
<!-- A collection of content routed through a workflow. -->
<!-- -->
<!-- Note: this aspect should be applied to a container such as -->
<!-- a folder, versioned folder or layered folder. -->
<!-- -->
<!-- -->
<!-- Associated Workflow -->
<!-- -->
<property name="bpm:workflowDefinitionId">
<title>Workflow Definition Id</title>
<type>d:text</type>
</property>
<property name="bpm:workflowDefinitionName">
<title>Workflow Definition Name</title>
<type>d:text</type>
</property>
<property name="bpm:workflowInstanceId">
<title>Workflow Instance Id</title>
<type>d:text</type>
</property>
<!-- TODO: Define properties (replicated from Workflow/Task Engine) for -->
<!-- search within Alfresco e.g. task info, workflow info ... -->
</properties>
<!-- Commentary -->
<!-- Note: Implement tracking of comments via fm:discussable aspect -->
<!-- Note: Haven't made this aspect mandatory as this would force creation -->
<!-- of forum folder against each package, even if there aren't any -->
<!-- comments -->
</aspect>
<aspect name="bpm:workflowPackage">
<properties>
<!-- -->
<!-- Associated Workflow -->
<!-- -->
<property name="bpm:workflowDefinitionId">
<type>d:text</type>
</property>
<property name="bpm:workflowDefinitionName">
<type>d:text</type>
</property>
<property name="bpm:workflowInstanceId">
<type>d:text</type>
</property>
<!-- TODO: Define properties (replicated from Workflow/Task Engine) for -->
<!-- search within Alfresco e.g. task info, workflow info ... -->
</properties>
<!-- Commentary -->
<!-- Note: Implement tracking of comments via fm:discussable aspect -->
<!-- Note: Haven't made this aspect mandatory as this would force creation -->
<!-- of forum folder against each package, even if there aren't any -->
<!-- comments -->
</aspect>
</aspects>
</aspects>
</model>

View File

@@ -49,7 +49,7 @@
<child-association name="cm:contains">
<source>
<mandatory>false</mandatory>
<many>false</many>
<many>true</many>
</source>
<target>
<class>sys:base</class>

View File

@@ -1,17 +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_any.analyzer=org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser
d_dictionary.datatype.d_text.analyzer=org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser
d_dictionary.datatype.d_content.analyzer=org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser
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
d_dictionary.datatype.d_boolean.analyzer=org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser
d_dictionary.datatype.d_qname.analyzer=org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser
d_dictionary.datatype.d_guid.analyzer=org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser
d_dictionary.datatype.d_category.analyzer=org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser
d_dictionary.datatype.d_noderef.analyzer=org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser
d_dictionary.datatype.d_path.analyzer=org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser

View File

@@ -19,17 +19,17 @@
<data-types>
<data-type name="d:any">
<analyser-class>org.apache.lucene.analysis.standard.StandardAnalyzer</analyser-class>
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser</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>
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser</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>
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser</analyser-class>
<java-class>org.alfresco.service.cmr.repository.ContentData</java-class>
</data-type>
@@ -64,37 +64,37 @@
</data-type>
<data-type name="d:boolean">
<analyser-class>org.apache.lucene.analysis.standard.StandardAnalyzer</analyser-class>
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser</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>
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser</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>
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser</analyser-class>
<java-class>org.alfresco.service.cmr.repository.NodeRef</java-class>
</data-type>
<data-type name="d:childassocref">
<analyser-class>org.apache.lucene.analysis.standard.StandardAnalyzer</analyser-class>
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser</analyser-class>
<java-class>org.alfresco.service.cmr.repository.ChildAssociationRef</java-class>
</data-type>
<data-type name="d:assocref">
<analyser-class>org.apache.lucene.analysis.standard.StandardAnalyzer</analyser-class>
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser</analyser-class>
<java-class>org.alfresco.service.cmr.repository.AssociationRef</java-class>
</data-type>
<data-type name="d:path">
<analyser-class>org.apache.lucene.analysis.standard.StandardAnalyzer</analyser-class>
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser</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>
<analyser-class>org.alfresco.repo.search.impl.lucene.analysis.AlfrescoStandardAnalyser</analyser-class>
<java-class>org.alfresco.service.cmr.repository.NodeRef</java-class>
</data-type>

View File

@@ -62,11 +62,48 @@
<!-- 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" />
<permissionGroup name="Execute" allowFullControl="false" expose="false"/>
<permissionGroup name="Read" expose="true" allowFullControl="false">
<includePermissionGroup type="sys:base" permissionGroup="ReadProperties"/>
<includePermissionGroup type="sys:base" permissionGroup="ReadChildren"/>
<includePermissionGroup type="sys:base" permissionGroup="ReadContent"/>
</permissionGroup>
<permissionGroup name="Write" expose="true" allowFullControl="false">
<includePermissionGroup type="sys:base" permissionGroup="WriteProperties"/>
<includePermissionGroup type="sys:base" permissionGroup="WriteContent"/>
</permissionGroup>
<permissionGroup name="Delete" expose="true" allowFullControl="false">
<includePermissionGroup type="sys:base" permissionGroup="DeleteNode"/>
<includePermissionGroup type="sys:base" permissionGroup="DeleteChildren"/>
</permissionGroup>
<permissionGroup name="AddChildren" expose="true" allowFullControl="false">
<includePermissionGroup type="sys:base" permissionGroup="CreateChildren"/>
<includePermissionGroup type="sys:base" permissionGroup="LinkChildren"/>
</permissionGroup>
<permissionGroup name="Execute" allowFullControl="false" expose="false">
<includePermissionGroup type="sys:base" permissionGroup="ExecuteContent"/>
</permissionGroup>
<!-- Groups for low level permissions -->
<permissionGroup name="ReadProperties" expose="true" allowFullControl="false" />
<permissionGroup name="ReadChildren" expose="true" allowFullControl="false" />
<permissionGroup name="WriteProperties" expose="true" allowFullControl="false" />
<permissionGroup name="ReadContent" expose="false" allowFullControl="false" />
<permissionGroup name="WriteContent" expose="false" allowFullControl="false" />
<permissionGroup name="ExecuteContent" expose="false" allowFullControl="false" />
<permissionGroup name="DeleteNode" expose="true" allowFullControl="false" />
<permissionGroup name="DeleteChildren" expose="true" allowFullControl="false" />
<permissionGroup name="CreateChildren" expose="true" allowFullControl="false" />
<permissionGroup name="LinkChildren" expose="true" allowFullControl="false" />
<permissionGroup name="DeleteAssociations" expose="true" allowFullControl="false" />
<permissionGroup name="ReadAssociations" expose="true" allowFullControl="false" />
<permissionGroup name="CreateAssociations" expose="true" allowFullControl="false" />
<permissionGroup name="ReadPermissions" expose="true" allowFullControl="false" />
<permissionGroup name="ChangePermissions" expose="true" allowFullControl="false" />
<!-- =========== -->
<!-- Permissions -->
@@ -80,10 +117,10 @@
<!-- tree at all pioints. -->
<!-- -->
<permission name="ReadProperties" expose="true" >
<grantedToGroup permissionGroup="Read" />
<permission name="_ReadProperties" expose="false" >
<grantedToGroup permissionGroup="ReadProperties" />
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
<requiredPermission on="parent" name="_ReadChildren" implies="false"/>
-->
</permission>
@@ -93,10 +130,10 @@
<!-- all of the parent nodes from which this node inherits permissions -->
<!-- -->
<permission name="ReadChildren" expose="true" >
<grantedToGroup permissionGroup="Read" />
<permission name="_ReadChildren" expose="false" >
<grantedToGroup permissionGroup="ReadChildren" />
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
<requiredPermission on="parent" name="_ReadChildren" implies="false"/>
-->
</permission>
@@ -106,10 +143,10 @@
<!-- a property. -->
<!-- -->
<permission name="WriteProperties" expose="true" >
<grantedToGroup permissionGroup="Write" />
<permission name="_WriteProperties" expose="false" >
<grantedToGroup permissionGroup="WriteProperties" />
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
<requiredPermission on="parent" name="_ReadChildren" implies="false"/>
-->
</permission>
@@ -124,42 +161,42 @@
<!-- The permission to read content. -->
<permission name="ReadContent" expose="false">
<grantedToGroup permissionGroup="Read"/>
<permission name="_ReadContent" expose="false">
<grantedToGroup permissionGroup="ReadContent"/>
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
<requiredPermission on="parent" name="_ReadChildren" implies="false"/>
-->
</permission>
<!-- The permission to write content. -->
<permission name="WriteContent" expose="false">
<grantedToGroup permissionGroup="Write" />
<permission name="_WriteContent" expose="false">
<grantedToGroup permissionGroup="WriteContent" />
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
<requiredPermission on="parent" name="_ReadChildren" implies="false"/>
-->
</permission>
<!-- Execute permission on content. -->
<permission name="ExecuteContent" expose="false">
<grantedToGroup permissionGroup="Execute" />
<permission name="_ExecuteContent" expose="false">
<grantedToGroup permissionGroup="ExecuteContent" />
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
<requiredPermission on="parent" name="_ReadChildren" implies="false"/>
-->
</permission>
<permission name="DeleteNode" expose="true" >
<grantedToGroup permissionGroup="Delete" />
<permission name="_DeleteNode" expose="false" >
<grantedToGroup permissionGroup="DeleteNode" />
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
<requiredPermission on="parent" name="DeleteChildren" implies="false"/>
<requiredPermission on="node" name="DeleteChildren" implies="false"/>
<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"/> -->
<!-- <requiredPermission on="children" name="_DeleteNode" implies="false"/> -->
</permission>
@@ -167,52 +204,55 @@
<!-- -->
<!-- At the moment this includes both unlink and delete -->
<!-- -->
<permission name="DeleteChildren" expose="true" >
<grantedToGroup permissionGroup="Delete" />
<permission name="_DeleteChildren" expose="false" >
<grantedToGroup permissionGroup="DeleteChildren" />
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
<requiredPermission on="parent" name="_ReadChildren" implies="false"/>
-->
</permission>
<!-- The permission to create new nodes -->
<permission name="CreateChildren" expose="true" >
<grantedToGroup permissionGroup="AddChildren" />
<permission name="_CreateChildren" expose="false" >
<grantedToGroup permissionGroup="CreateChildren" />
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" implies="false" />
<requiredPermission on="parent" name="_ReadChildren" implies="false" />
-->
</permission>
<!-- The permission to link nodes -->
<permission name="LinkChildren" expose="true" >
<grantedToGroup permissionGroup="AddChildren" />
<permission name="_LinkChildren" expose="false" >
<grantedToGroup permissionGroup="LinkChildren" />
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
<requiredPermission on="parent" name="_ReadChildren" implies="false"/>
-->
</permission>
<!-- The permission to delte associations between nodes (not children) -->
<permission name="DeleteAssociations" expose="true" >
<permission name="_DeleteAssociations" expose="false" >
<grantedToGroup permissionGroup="DeleteAssociations" />
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
<requiredPermission on="parent" name="_ReadChildren" implies="false"/>
-->
</permission>
<!-- The permission to read associations -->
<permission name="ReadAssociations" expose="true" >
<permission name="_ReadAssociations" expose="false" >
<grantedToGroup permissionGroup="ReadAssociations" />
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" implies="false" />
<requiredPermission on="parent" name="_ReadChildren" implies="false" />
-->
</permission>
<!-- The permission to create associations -->
<permission name="CreateAssociations" expose="true" >
<permission name="_CreateAssociations" expose="false" >
<grantedToGroup permissionGroup="CreateAssociations" />
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" implies="false" />
<requiredPermission on="parent" name="_ReadChildren" implies="false" />
-->
</permission>
@@ -222,17 +262,19 @@
<!-- The permission to read the permissions on a node -->
<permission name="ReadPermissions" expose="true" >
<permission name="_ReadPermissions" expose="false" >
<grantedToGroup permissionGroup="ReadPermissions" />
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
<requiredPermission on="parent" name="_ReadChildren" implies="false"/>
-->
</permission>
<!-- The permission to the change the permissions associated with a node -->
<permission name="ChangePermissions" expose="true" >
<permission name="_ChangePermissions" expose="false" >
<grantedToGroup permissionGroup="ChangePermissions" />
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" implies="false"/>
<requiredPermission on="parent" name="_ReadChildren" implies="false"/>
-->
</permission>
@@ -284,6 +326,21 @@
<includePermissionGroup permissionGroup="Read" type="sys:base" />
</permissionGroup>
<!-- records permission -->
<!-- Should be tied to the aspect -->
<!-- onwership should be removed when using this permission -->
<permissionGroup name="RecordAdministrator" allowFullControl="false" expose="false">
<includePermissionGroup type="sys:base" permissionGroup="ReadProperties"/>
<includePermissionGroup type="sys:base" permissionGroup="ReadChildren"/>
<includePermissionGroup type="sys:base" permissionGroup="WriteProperties"/>
<includePermissionGroup type="sys:base" permissionGroup="ReadContent"/>
<includePermissionGroup type="sys:base" permissionGroup="DeleteChildren"/>
<includePermissionGroup type="sys:base" permissionGroup="CreateChildren"/>
<includePermissionGroup type="sys:base" permissionGroup="LinkChildren"/>
<includePermissionGroup type="sys:base" permissionGroup="DeleteAssociations"/>
<includePermissionGroup type="sys:base" permissionGroup="CreateAssociations"/>
</permissionGroup>
</permissionSet>
<!-- =============================== -->
@@ -299,6 +356,7 @@
<permissionGroup name="Contributor" extends="true" expose="true"/>
<permissionGroup name="Editor" extends="true" expose="true"/>
<permissionGroup name="Consumer" extends="true" expose="true"/>
<permissionGroup name="RecordAdministrator" extends="true" expose="false"/>
</permissionSet>
@@ -309,16 +367,20 @@
<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"/>
<permissionGroup name="TakeOwnership" requiresType="false" expose="false">
<includePermissionGroup permissionGroup="SetOwner" type="cm:ownable" />
</permissionGroup>
<permissionGroup name="SetOwner" 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" />
<permission name="_SetOwner" expose="false" requiresType="false">
<grantedToGroup permissionGroup="SetOwner" />
<!-- require to be able to reach the node and set properties in the node -->
<!-- Commented out parent permission check ...
<requiredPermission on="parent" name="ReadChildren" />
<requiredPermission on="parent" name="_ReadChildren" />
-->
<requiredPermission on="node" name="WriteProperties" />
<requiredPermission on="node" type="sys:base" name="_WriteProperties" />
</permission>
</permissionSet>
@@ -334,24 +396,34 @@
<!-- of permissions. -->
<!-- Check Out permission - exposed for all object types -->
<permissionGroup name="CheckOut" requiresType="false" expose="false"/>
<permissionGroup name="CheckOut" requiresType="false" expose="false">
<includePermissionGroup permissionGroup="Lock" type="cm:lockable" />
</permissionGroup>
<!-- Check In permission - only exposed when the lockable aspect is present -->
<permissionGroup name="CheckIn" requiresType="true" expose="false"/>
<permissionGroup name="CheckIn" requiresType="true" expose="false">
<includePermissionGroup permissionGroup="Unlock" type="cm:lockable" />
</permissionGroup>
<!-- Cancel Check Out permission - only exposed for the lockable aspect is present -->
<permissionGroup name="CancelCheckOut" requiresType="true" expose="false"/>
<permissionGroup name="CancelCheckOut" requiresType="true" expose="false">
<includePermissionGroup permissionGroup="Unlock" type="cm:lockable" />
</permissionGroup>
<permissionGroup name="Lock" requiresType="false" expose="false"/>
<permissionGroup name="Unlock" requiresType="true" expose="false"/>
<!-- Low level lock permission -->
<permission name="Lock" requiresType="false" expose="false">
<grantedToGroup permissionGroup="CheckOut" />
<permission name="_Lock" requiresType="false" expose="false">
<grantedToGroup permissionGroup="Lock" />
<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 name="_Unlock" requiresType="true" expose="false">
<grantedToGroup permissionGroup="Unlock" />
</permission>
</permissionSet>

View File

@@ -1,160 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<model name="wf:workflowmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
<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"/>
<import uri="http://www.alfresco.org/model/bpm/1.0" prefix="bpm"/>
</imports>
<namespaces>
<namespace uri="http://www.alfresco.org/model/workflow/1.0" prefix="wf"/>
</namespaces>
<types>
<!-- -->
<!-- Basic Review & Approve Tasks -->
<!-- -->
<type name="wf:submitReviewTask">
<title>Submit Review Task</title>
<parent>bpm:workflowTask</parent>
<properties>
<property name="wf:reviewDueDate">
<title>Review Due Date</title>
<type>d:date</type>
</property>
<property name="wf:reviewPriority">
<title>Review Priority</title>
<type>d:int</type>
<default>2</default>
<constraints>
<constraint ref="bpm:allowedPriority"/>
</constraints>
</property>
</properties>
<associations>
<association name="wf:reviewer">
<title>Reviewer</title>
<source>
<mandatory>false</mandatory>
<many>false</many>
</source>
<target>
<class>cm:person</class>
<mandatory>true</mandatory>
<many>false</many>
</target>
</association>
</associations>
<overrides>
<property name="bpm:packageActionGroup">
<default>workflow_collection_actions</default>
</property>
<property name="bpm:packageItemActionGroup">
<default>workflow_item_collection_actions</default>
</property>
</overrides>
</type>
<type name="wf:reviewTask">
<title>Review Task</title>
<parent>bpm:workflowTask</parent>
<overrides>
<property name="bpm:packageItemActionGroup">
<default>workflow_item_edit_actions</default>
</property>
</overrides>
</type>
<!-- -->
<!-- Adhoc Tasks -->
<!-- -->
<type name="wf:baseAdhocTask">
<parent>bpm:workflowTask</parent>
<properties>
<property name="wf:adhocDescription">
<title>Description</title>
<type>d:text</type>
</property>
</properties>
</type>
<type name="wf:submitAdhocTask">
<title>Submit Adhoc Task</title>
<parent>wf:baseAdhocTask</parent>
<properties>
<property name="wf:adhocDueDate">
<title>Due Date</title>
<type>d:date</type>
</property>
<property name="wf:adhocPriority">
<title>Priority</title>
<type>d:int</type>
<default>2</default>
<constraints>
<constraint ref="bpm:allowedPriority"/>
</constraints>
</property>
<property name="wf:notifyMe">
<title>Email Notification</title>
<type>d:boolean</type>
</property>
</properties>
<associations>
<association name="wf:assignee">
<title>Assignee</title>
<source>
<mandatory>false</mandatory>
<many>false</many>
</source>
<target>
<class>cm:person</class>
<mandatory>true</mandatory>
<many>false</many>
</target>
</association>
</associations>
</type>
<type name="wf:adhocTask">
<title>Adhoc Task</title>
<parent>wf:baseAdhocTask</parent>
</type>
<type name="wf:completedAdhocTask">
<title>Completed Adhoc Task</title>
<parent>wf:baseAdhocTask</parent>
</type>
</types>
</model>