RM: Inplace filing prototype

* extension of seciruty service to allow management of extended readers
  * extended reader maintained within file plan hierarchy 
  * support ready for removal (ie move) and overlapping of readers in hirearchy (maintained in reference counting map)
  * general rename to "Unfiled Records" rather than "New Records"
  * File plan unfiled records filter
  * Unit tests
  * Correct permissions on created unfiled container (file for admin as per file plan root)
  * record readers dynamic authority applied to file plan components on bootstrap and creation



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/INPLACE@42063 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2012-09-27 07:12:52 +00:00
parent 58bb845f42
commit 6b54f8f9f8
27 changed files with 567 additions and 193 deletions

View File

@@ -15,7 +15,7 @@
<!-- Create record action -->
<bean id="create-record" parent="action-executer" class="org.alfresco.module.org_alfresco_module_rm.action.dm.CreateRecordAction">
<property name="recordsManagementService" ref="RecordsManagementService"/>
<property name="recordService" ref="RecordService" />
<property name="recordsManagementSecurityService" ref="RecordsManagementSecurityService" />
<property name="permissionService" ref="PermissionService" />
<property name="nodeService" ref="NodeService" />
<property name="applicableTypes">

View File

@@ -6,6 +6,7 @@
<bean id="rmCreate"
parent="rmBaseCapability"
class="org.alfresco.module.org_alfresco_module_rm.capability.impl.CreateCapability">
<property name="recordService" ref="recordService"/>
<property name="name" value="Create"/>
<property name="private" value="true"/>
</bean>

View File

@@ -90,8 +90,8 @@
</type>
<type name="rma:newRecordsContainer">
<title>New Records Container</title>
<type name="rma:unfiledRecordContainer">
<title>Unfiled Record Container</title>
<parent>rma:recordsManagementContainer</parent>
</type>
@@ -624,14 +624,14 @@
</target>
</child-association>
<child-association name="rma:newRecords">
<title>New Records</title>
<child-association name="rma:unfiledRecords">
<title>Unfiled Records</title>
<source>
<mandatory>true</mandatory>
<many>false</many>
</source>
<target>
<class>rma:newRecordsContainer</class>
<class>rma:unfiledRecordContainer</class>
<mandatory>true</mandatory>
<many>true</many>
</target>
@@ -844,13 +844,12 @@
</mandatory-aspects>
</aspect>
<!-- Details used for DM-RM security mapping -->
<!-- Extended readers for RM object -->
<!-- @since 2.1 -->
<aspect name="rma:extendedRecordSecurity">
<aspect name="rma:extendedReaders">
<properties>
<property name="rma:readers">
<type>d:text</type>
<multiple>true</multiple>
<type>d:any</type>
</property>
</properties>
</aspect>

View File

@@ -46,12 +46,12 @@
<list>
<ref bean="ownerDynamicAuthority" />
<ref bean="lockOwnerDynamicAuthority" />
<ref bean="recordReadersDynamicAuthority" />
<ref bean="extendedReaderDynamicAuthority" />
</list>
</property>
</bean>
<bean id="recordReadersDynamicAuthority" class="org.alfresco.module.org_alfresco_module_rm.permission.RecordReadersDynamicAuthority" />
<bean id="extendedReaderDynamicAuthority" class="org.alfresco.module.org_alfresco_module_rm.security.ExtendedReaderDynamicAuthority" />
<!-- Bootstrap records management data -->
<bean id="org_alfresco_module_rm_bootstrapData"

View File

@@ -48,6 +48,7 @@
<property name="permissionService" ref="permissionService"/>
<property name="recordsManagementService" ref="recordsManagementService"/>
<property name="caveatConfigComponent" ref="caveatConfigComponent"/>
<!-- <property name="recordService" ref="recordService"/> -->
</bean>
<!-- ====== -->

View File

@@ -67,6 +67,7 @@
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isFilePlanComponent=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getFilePlanComponentKind=ACL_NODE.0.sys:base.ReadProperties, RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getFilePlanComponentKindFromType=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecordsManagementContainer=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isFilePlan=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecordCategory=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecordFolder=RM.Read.0
@@ -480,7 +481,12 @@
org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService.createRole=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService.updateRole=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService.deleteRole=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService.assignRoleToAuthority=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService.assignRoleToAuthority=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService.getExtendedReaders=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService.setExtendedReaders=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService.removeExtendedReaders=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService.removeAllExtendedReaders=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService.*=RM_DENY
]]>
</value>
</property>

View File

@@ -7,6 +7,7 @@
class="org.alfresco.module.org_alfresco_module_rm.jscript.app.JSONConversionComponent"
parent="baseJsonConversionComponent">
<property name="recordsManagementService" ref="RecordsManagementService"/>
<property name="recordService" ref="RecordService"/>
<property name="capabilityService" ref="CapabilityService"/>
</bean>
@@ -14,6 +15,7 @@
abstract="true">
<property name="jsonConversionComponent" ref="jsonConversionComponent"/>
<property name="recordsManagementService" ref="RecordsManagementService"/>
<property name="recordService" ref="RecordService"/>
<property name="nodeService" ref="NodeService"/>
<property name="namespaceService" ref="NamespaceService"/>
<property name="capabilityService" ref="CapabilityService"/>