RM-1099 (Refactor Transfer and Accession reports)

* Added a new FileTransferReport capability

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@58682 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2013-12-07 16:47:26 +00:00
parent a5fcf3ff1e
commit ee13fc8108
10 changed files with 496 additions and 337 deletions

View File

@@ -3,7 +3,7 @@
<beans> <beans>
<!-- Assignable Capabilities --> <!-- Assignable Capabilities -->
<!-- Cut off --> <!-- Cut off -->
<bean id="rmApproveRecordsScheduledForCutoffCapability" <bean id="rmApproveRecordsScheduledForCutoffCapability"
parent="declarativeCapability"> parent="declarativeCapability">
@@ -82,7 +82,7 @@
<bean id="rmDestroyRecordsCapability" <bean id="rmDestroyRecordsCapability"
parent="declarativeCapability"> parent="declarativeCapability">
<property name="name" value="DestroyRecords"/> <property name="name" value="DestroyRecords"/>
<property name="permission" value="DestroyRecords"/> <property name="permission" value="DestroyRecords"/>
<property name="private" value="true"/> <property name="private" value="true"/>
<property name="conditions"> <property name="conditions">
<map> <map>
@@ -137,6 +137,26 @@
<property name="index" value="110" /> <property name="index" value="110" />
</bean> </bean>
<!-- file transfer report capability -->
<bean id="rmFileTransferReportCapability"
parent="declarativeCapability">
<property name="name" value="FileTransferReport" />
<property name="permission" value="FileTransferReport" />
<property name="kinds">
<list>
<value>TRANSFER</value>
</list>
</property>
<property name="conditions">
<map>
<entry key="capabilityCondition.filling" value="true"/>
<entry key="capabilityCondition.frozen" value="false"/>
</map>
</property>
<property name="group"><ref bean="dispositionAndTransfersGroup"/></property>
<property name="index" value="120" />
</bean>
<!-- Non-assignable Capabilities --> <!-- Non-assignable Capabilities -->
<bean id="rmInitiateAllTransfersCapability" <bean id="rmInitiateAllTransfersCapability"
@@ -265,7 +285,7 @@
</list> </list>
</property> </property>
</bean> </bean>
<!-- End Rentention --> <!-- End Rentention -->
<bean id="rmEndRetentionCapability" <bean id="rmEndRetentionCapability"
parent="declarativeCapability"> parent="declarativeCapability">

View File

@@ -54,6 +54,8 @@ capability.DestroyRecordsScheduledForDestruction.title=Destroy Records Scheduled
capability.DestroyRecords.title=Destroy Records capability.DestroyRecords.title=Destroy Records
capability.DeleteRecords.title=Delete Records capability.DeleteRecords.title=Delete Records
capability.TriggerAnEvent.title=Trigger An Event capability.TriggerAnEvent.title=Trigger An Event
capability.FileDestructionReport.title=File Destruction Report
capability.FileTransferReport.title=File Transfer Report
# Hold Controls # Hold Controls
capability.group.holdControls.title=Hold Controls capability.group.holdControls.title=Hold Controls

View File

@@ -3,17 +3,17 @@
<!-- PUBLIC '-//ALFRECSO//DTD PERMISSIONS//EN' 'permissionSchema.dtd' --> <!-- PUBLIC '-//ALFRECSO//DTD PERMISSIONS//EN' 'permissionSchema.dtd' -->
<permissions> <permissions>
<!-- Namespaces used in type references --> <!-- Namespaces used in type references -->
<namespaces> <namespaces>
<namespace uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/> <namespace uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
<namespace uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/> <namespace uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
<namespace uri="http://www.alfresco.org/model/recordsmanagement/1.0" prefix="rma"/> <namespace uri="http://www.alfresco.org/model/recordsmanagement/1.0" prefix="rma"/>
</namespaces> </namespaces>
<permissionSet expose="selected" type="rma:filePlanComponent"> <permissionSet expose="selected" type="rma:filePlanComponent">
<!-- An RM administrator does not have admin rights to the full DM repo --> <!-- An RM administrator does not have admin rights to the full DM repo -->
<!-- On no account should allowFullControl="true" be set here --> <!-- On no account should allowFullControl="true" be set here -->
<!-- In addition, the admin role is editable and may not have all permissions - as defined --> <!-- In addition, the admin role is editable and may not have all permissions - as defined -->
@@ -78,7 +78,7 @@
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="MapClassificationGuideMetadata"/> <includePermissionGroup type="rma:filePlanComponent" permissionGroup="MapClassificationGuideMetadata"/>
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="ManageAccessControls"/> <includePermissionGroup type="rma:filePlanComponent" permissionGroup="ManageAccessControls"/>
<!-- Administrator has filing rights to all records - no other role does --> <!-- Administrator has filing rights to all records - no other role does -->
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="Filing"/> <includePermissionGroup type="rma:filePlanComponent" permissionGroup="Filing"/>
<!-- Since V2.1 --> <!-- Since V2.1 -->
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="CreateRecords"/> <includePermissionGroup type="rma:filePlanComponent" permissionGroup="CreateRecords"/>
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="ManageRules"/> <includePermissionGroup type="rma:filePlanComponent" permissionGroup="ManageRules"/>
@@ -87,16 +87,18 @@
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="FileUnfiledRecords"/> <includePermissionGroup type="rma:filePlanComponent" permissionGroup="FileUnfiledRecords"/>
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="RejectRecords"/> <includePermissionGroup type="rma:filePlanComponent" permissionGroup="RejectRecords"/>
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="LinkToRecords"/> <includePermissionGroup type="rma:filePlanComponent" permissionGroup="LinkToRecords"/>
<!-- Since V2.2 -->
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="FileTransferReport"/>
</permissionGroup> </permissionGroup>
<permissionGroup name="Filing" allowFullControl="false" expose="true"> <permissionGroup name="Filing" allowFullControl="false" expose="true">
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="ReadRecords"/> <includePermissionGroup type="rma:filePlanComponent" permissionGroup="ReadRecords"/>
<includePermissionGroup type="rma:filePlanComponent" permissionGroup="FileRecords"/> <includePermissionGroup type="rma:filePlanComponent" permissionGroup="FileRecords"/>
</permissionGroup> </permissionGroup>
<permissionGroup name="ReadRecords" expose="false" allowFullControl="false"/> <permissionGroup name="ReadRecords" expose="false" allowFullControl="false"/>
<permissionGroup name="FileRecords" expose="false" allowFullControl="false"/> <permissionGroup name="FileRecords" expose="false" allowFullControl="false"/>
<permissionGroup name="DeclareRecords" expose="false" allowFullControl="false"/> <permissionGroup name="DeclareRecords" expose="false" allowFullControl="false"/>
<permissionGroup name="ViewRecords" expose="false" allowFullControl="false"/> <permissionGroup name="ViewRecords" expose="false" allowFullControl="false"/>
<permissionGroup name="CreateModifyDestroyFolders" expose="false" allowFullControl="false"/> <permissionGroup name="CreateModifyDestroyFolders" expose="false" allowFullControl="false"/>
@@ -156,9 +158,9 @@
<permissionGroup name="UpdateExemptionCategories" expose="false" allowFullControl="false"/> <permissionGroup name="UpdateExemptionCategories" expose="false" allowFullControl="false"/>
<permissionGroup name="MapClassificationGuideMetadata" expose="false" allowFullControl="false"/> <permissionGroup name="MapClassificationGuideMetadata" expose="false" allowFullControl="false"/>
<permissionGroup name="ManageAccessControls" expose="false" allowFullControl="false"/> <permissionGroup name="ManageAccessControls" expose="false" allowFullControl="false"/>
<!-- Added since V2.1 --> <!-- Added since V2.1 -->
<permissionGroup name="CreateRecords" expose="false" allowFullControl="false"/> <permissionGroup name="CreateRecords" expose="false" allowFullControl="false"/>
<permissionGroup name="ManageRules" expose="false" allowFullControl="false"/> <permissionGroup name="ManageRules" expose="false" allowFullControl="false"/>
<permissionGroup name="RequestRecordInformation" expose="false" allowFullControl="false"/> <permissionGroup name="RequestRecordInformation" expose="false" allowFullControl="false"/>
@@ -166,279 +168,286 @@
<permissionGroup name="RejectRecords" expose="false" allowFullControl="false"/> <permissionGroup name="RejectRecords" expose="false" allowFullControl="false"/>
<permissionGroup name="FileUnfiledRecords" expose="false" allowFullControl="false"/> <permissionGroup name="FileUnfiledRecords" expose="false" allowFullControl="false"/>
<permissionGroup name="LinkToRecords" expose="false" allowFullControl="false"/> <permissionGroup name="LinkToRecords" expose="false" allowFullControl="false"/>
<!-- Added since V2.2 -->
<permissionGroup name="FileTransferReport" expose="false" allowFullControl="false"/>
<!-- End --> <!-- End -->
<permission name="_ReadRecords" expose="false"> <permission name="_ReadRecords" expose="false">
<grantedToGroup permissionGroup="ReadRecords"/> <grantedToGroup permissionGroup="ReadRecords"/>
</permission> </permission>
<permission name="_FileRecords" expose="false"> <permission name="_FileRecords" expose="false">
<grantedToGroup permissionGroup="FileRecords"/> <grantedToGroup permissionGroup="FileRecords"/>
</permission> </permission>
<permission name="_DeclareRecords" expose="false"> <permission name="_DeclareRecords" expose="false">
<grantedToGroup permissionGroup="DeclareRecords"/> <grantedToGroup permissionGroup="DeclareRecords"/>
</permission> </permission>
<permission name="_ViewRecords" expose="false"> <permission name="_ViewRecords" expose="false">
<grantedToGroup permissionGroup="ViewRecords"/> <grantedToGroup permissionGroup="ViewRecords"/>
</permission> </permission>
<permission name="_CreateModifyDestroyFolders" expose="false"> <permission name="_CreateModifyDestroyFolders" expose="false">
<grantedToGroup permissionGroup="CreateModifyDestroyFolders"/> <grantedToGroup permissionGroup="CreateModifyDestroyFolders"/>
</permission> </permission>
<permission name="_EditRecordMetadata" expose="false"> <permission name="_EditRecordMetadata" expose="false">
<grantedToGroup permissionGroup="EditRecordMetadata"/> <grantedToGroup permissionGroup="EditRecordMetadata"/>
</permission> </permission>
<permission name="_EditNonRecordMetadata" expose="false"> <permission name="_EditNonRecordMetadata" expose="false">
<grantedToGroup permissionGroup="EditNonRecordMetadata"/> <grantedToGroup permissionGroup="EditNonRecordMetadata"/>
</permission> </permission>
<permission name="_AddModifyEventDates" expose="false"> <permission name="_AddModifyEventDates" expose="false">
<grantedToGroup permissionGroup="AddModifyEventDates"/> <grantedToGroup permissionGroup="AddModifyEventDates"/>
</permission> </permission>
<permission name="_CloseFolders" expose="false"> <permission name="_CloseFolders" expose="false">
<grantedToGroup permissionGroup="CloseFolders"/> <grantedToGroup permissionGroup="CloseFolders"/>
</permission> </permission>
<permission name="_DeclareRecordsInClosedFolders" expose="false"> <permission name="_DeclareRecordsInClosedFolders" expose="false">
<grantedToGroup permissionGroup="DeclareRecordsInClosedFolders"/> <grantedToGroup permissionGroup="DeclareRecordsInClosedFolders"/>
</permission> </permission>
<permission name="_ReOpenFolders" expose="false"> <permission name="_ReOpenFolders" expose="false">
<grantedToGroup permissionGroup="ReOpenFolders"/> <grantedToGroup permissionGroup="ReOpenFolders"/>
</permission> </permission>
<permission name="_CycleVitalRecords" expose="false"> <permission name="_CycleVitalRecords" expose="false">
<grantedToGroup permissionGroup="CycleVitalRecords"/> <grantedToGroup permissionGroup="CycleVitalRecords"/>
</permission> </permission>
<permission name="_PlanningReviewCycles" expose="false"> <permission name="_PlanningReviewCycles" expose="false">
<grantedToGroup permissionGroup="PlanningReviewCycles"/> <grantedToGroup permissionGroup="PlanningReviewCycles"/>
</permission> </permission>
<permission name="_UpdateTriggerDates" expose="false"> <permission name="_UpdateTriggerDates" expose="false">
<grantedToGroup permissionGroup="UpdateTriggerDates"/> <grantedToGroup permissionGroup="UpdateTriggerDates"/>
</permission> </permission>
<permission name="_CreateModifyDestroyEvents" expose="false"> <permission name="_CreateModifyDestroyEvents" expose="false">
<grantedToGroup permissionGroup="CreateModifyDestroyEvents"/> <grantedToGroup permissionGroup="CreateModifyDestroyEvents"/>
</permission> </permission>
<permission name="_ManageAccessRights" expose="false"> <permission name="_ManageAccessRights" expose="false">
<grantedToGroup permissionGroup="ManageAccessRights"/> <grantedToGroup permissionGroup="ManageAccessRights"/>
</permission> </permission>
<permission name="_MoveRecords" expose="false"> <permission name="_MoveRecords" expose="false">
<grantedToGroup permissionGroup="MoveRecords"/> <grantedToGroup permissionGroup="MoveRecords"/>
</permission> </permission>
<permission name="_ChangeOrDeleteReferences" expose="false"> <permission name="_ChangeOrDeleteReferences" expose="false">
<grantedToGroup permissionGroup="ChangeOrDeleteReferences"/> <grantedToGroup permissionGroup="ChangeOrDeleteReferences"/>
</permission> </permission>
<permission name="_DeleteLinks" expose="false"> <permission name="_DeleteLinks" expose="false">
<grantedToGroup permissionGroup="DeleteLinks"/> <grantedToGroup permissionGroup="DeleteLinks"/>
</permission> </permission>
<permission name="_EditDeclaredRecordMetadata" expose="false"> <permission name="_EditDeclaredRecordMetadata" expose="false">
<grantedToGroup permissionGroup="EditDeclaredRecordMetadata"/> <grantedToGroup permissionGroup="EditDeclaredRecordMetadata"/>
</permission> </permission>
<permission name="_ManuallyChangeDispositionDates" expose="false"> <permission name="_ManuallyChangeDispositionDates" expose="false">
<grantedToGroup permissionGroup="ManuallyChangeDispositionDates"/> <grantedToGroup permissionGroup="ManuallyChangeDispositionDates"/>
</permission> </permission>
<permission name="_ApproveRecordsScheduledForCutoff" expose="false"> <permission name="_ApproveRecordsScheduledForCutoff" expose="false">
<grantedToGroup permissionGroup="ApproveRecordsScheduledForCutoff"/> <grantedToGroup permissionGroup="ApproveRecordsScheduledForCutoff"/>
</permission> </permission>
<permission name="_CreateModifyRecordsInCutoffFolders" expose="false"> <permission name="_CreateModifyRecordsInCutoffFolders" expose="false">
<grantedToGroup permissionGroup="CreateModifyRecordsInCutoffFolders"/> <grantedToGroup permissionGroup="CreateModifyRecordsInCutoffFolders"/>
</permission> </permission>
<permission name="_ExtendRetentionPeriodOrFreeze" expose="false"> <permission name="_ExtendRetentionPeriodOrFreeze" expose="false">
<grantedToGroup permissionGroup="ExtendRetentionPeriodOrFreeze"/> <grantedToGroup permissionGroup="ExtendRetentionPeriodOrFreeze"/>
</permission> </permission>
<permission name="_Unfreeze" expose="false"> <permission name="_Unfreeze" expose="false">
<grantedToGroup permissionGroup="Unfreeze"/> <grantedToGroup permissionGroup="Unfreeze"/>
</permission> </permission>
<permission name="_ViewUpdateReasonsForFreeze" expose="false"> <permission name="_ViewUpdateReasonsForFreeze" expose="false">
<grantedToGroup permissionGroup="ViewUpdateReasonsForFreeze"/> <grantedToGroup permissionGroup="ViewUpdateReasonsForFreeze"/>
</permission> </permission>
<permission name="_DestroyRecordsScheduledForDestruction" expose="false"> <permission name="_DestroyRecordsScheduledForDestruction" expose="false">
<grantedToGroup permissionGroup="DestroyRecordsScheduledForDestruction"/> <grantedToGroup permissionGroup="DestroyRecordsScheduledForDestruction"/>
</permission> </permission>
<permission name="_DestroyRecords" expose="false"> <permission name="_DestroyRecords" expose="false">
<grantedToGroup permissionGroup="DestroyRecords"/> <grantedToGroup permissionGroup="DestroyRecords"/>
</permission> </permission>
<permission name="_UpdateVitalRecordCycleInformation" expose="false"> <permission name="_UpdateVitalRecordCycleInformation" expose="false">
<grantedToGroup permissionGroup="UpdateVitalRecordCycleInformation"/> <grantedToGroup permissionGroup="UpdateVitalRecordCycleInformation"/>
</permission> </permission>
<permission name="_UndeclareRecords" expose="false"> <permission name="_UndeclareRecords" expose="false">
<grantedToGroup permissionGroup="UndeclareRecords"/> <grantedToGroup permissionGroup="UndeclareRecords"/>
</permission> </permission>
<permission name="_DeclareAuditAsRecord" expose="false"> <permission name="_DeclareAuditAsRecord" expose="false">
<grantedToGroup permissionGroup="DeclareAuditAsRecord"/> <grantedToGroup permissionGroup="DeclareAuditAsRecord"/>
</permission> </permission>
<permission name="_DeleteAudit" expose="false"> <permission name="_DeleteAudit" expose="false">
<grantedToGroup permissionGroup="DeleteAudit"/> <grantedToGroup permissionGroup="DeleteAudit"/>
</permission> </permission>
<permission name="_CreateModifyDestroyTimeframes" expose="false"> <permission name="_CreateModifyDestroyTimeframes" expose="false">
<grantedToGroup permissionGroup="CreateModifyDestroyTimeframes"/> <grantedToGroup permissionGroup="CreateModifyDestroyTimeframes"/>
</permission> </permission>
<permission name="_AuthorizeNominatedTransfers" expose="false"> <permission name="_AuthorizeNominatedTransfers" expose="false">
<grantedToGroup permissionGroup="AuthorizeNominatedTransfers"/> <grantedToGroup permissionGroup="AuthorizeNominatedTransfers"/>
</permission> </permission>
<permission name="_EditSelectionLists" expose="false"> <permission name="_EditSelectionLists" expose="false">
<grantedToGroup permissionGroup="EditSelectionLists"/> <grantedToGroup permissionGroup="EditSelectionLists"/>
</permission> </permission>
<permission name="_AuthorizeAllTransfers" expose="false"> <permission name="_AuthorizeAllTransfers" expose="false">
<grantedToGroup permissionGroup="AuthorizeAllTransfers"/> <grantedToGroup permissionGroup="AuthorizeAllTransfers"/>
</permission> </permission>
<permission name="_CreateModifyDestroyFileplanMetadata" expose="false"> <permission name="_CreateModifyDestroyFileplanMetadata" expose="false">
<grantedToGroup permissionGroup="CreateModifyDestroyFileplanMetadata"/> <grantedToGroup permissionGroup="CreateModifyDestroyFileplanMetadata"/>
</permission> </permission>
<permission name="_CreateAndAssociateSelectionLists" expose="false"> <permission name="_CreateAndAssociateSelectionLists" expose="false">
<grantedToGroup permissionGroup="CreateAndAssociateSelectionLists"/> <grantedToGroup permissionGroup="CreateAndAssociateSelectionLists"/>
</permission> </permission>
<permission name="_AttachRulesToMetadataProperties" expose="false"> <permission name="_AttachRulesToMetadataProperties" expose="false">
<grantedToGroup permissionGroup="AttachRulesToMetadataProperties"/> <grantedToGroup permissionGroup="AttachRulesToMetadataProperties"/>
</permission> </permission>
<permission name="_CreateModifyDestroyFileplanTypes" expose="false"> <permission name="_CreateModifyDestroyFileplanTypes" expose="false">
<grantedToGroup permissionGroup="CreateModifyDestroyFileplanTypes"/> <grantedToGroup permissionGroup="CreateModifyDestroyFileplanTypes"/>
</permission> </permission>
<permission name="_CreateModifyDestroyRecordTypes" expose="false"> <permission name="_CreateModifyDestroyRecordTypes" expose="false">
<grantedToGroup permissionGroup="CreateModifyDestroyRecordTypes"/> <grantedToGroup permissionGroup="CreateModifyDestroyRecordTypes"/>
</permission> </permission>
<permission name="_MakeOptionalParametersMandatory" expose="false"> <permission name="_MakeOptionalParametersMandatory" expose="false">
<grantedToGroup permissionGroup="MakeOptionalParametersMandatory"/> <grantedToGroup permissionGroup="MakeOptionalParametersMandatory"/>
</permission> </permission>
<permission name="_MapEmailMetadata" expose="false"> <permission name="_MapEmailMetadata" expose="false">
<grantedToGroup permissionGroup="MapEmailMetadata"/> <grantedToGroup permissionGroup="MapEmailMetadata"/>
</permission> </permission>
<permission name="_DeleteRecords" expose="false"> <permission name="_DeleteRecords" expose="false">
<grantedToGroup permissionGroup="DeleteRecords"/> <grantedToGroup permissionGroup="DeleteRecords"/>
</permission> </permission>
<permission name="_TriggerAnEvent" expose="false"> <permission name="_TriggerAnEvent" expose="false">
<grantedToGroup permissionGroup="TriggerAnEvent"/> <grantedToGroup permissionGroup="TriggerAnEvent"/>
</permission> </permission>
<permission name="_CreateModifyDestroyRoles" expose="false"> <permission name="_CreateModifyDestroyRoles" expose="false">
<grantedToGroup permissionGroup="CreateModifyDestroyRoles"/> <grantedToGroup permissionGroup="CreateModifyDestroyRoles"/>
</permission> </permission>
<permission name="_CreateModifyDestroyUsersAndGroups" expose="false"> <permission name="_CreateModifyDestroyUsersAndGroups" expose="false">
<grantedToGroup permissionGroup="CreateModifyDestroyUsersAndGroups"/> <grantedToGroup permissionGroup="CreateModifyDestroyUsersAndGroups"/>
</permission> </permission>
<permission name="_PasswordControl" expose="false"> <permission name="_PasswordControl" expose="false">
<grantedToGroup permissionGroup="PasswordControl"/> <grantedToGroup permissionGroup="PasswordControl"/>
</permission> </permission>
<permission name="_EnableDisableAuditByTypes" expose="false"> <permission name="_EnableDisableAuditByTypes" expose="false">
<grantedToGroup permissionGroup="EnableDisableAuditByTypes"/> <grantedToGroup permissionGroup="EnableDisableAuditByTypes"/>
</permission> </permission>
<permission name="_SelectAuditMetadata" expose="false"> <permission name="_SelectAuditMetadata" expose="false">
<grantedToGroup permissionGroup="SelectAuditMetadata"/> <grantedToGroup permissionGroup="SelectAuditMetadata"/>
</permission> </permission>
<permission name="_DisplayRightsReport" expose="false"> <permission name="_DisplayRightsReport" expose="false">
<grantedToGroup permissionGroup="DisplayRightsReport"/> <grantedToGroup permissionGroup="DisplayRightsReport"/>
</permission> </permission>
<permission name="_AccessAudit" expose="false"> <permission name="_AccessAudit" expose="false">
<grantedToGroup permissionGroup="AccessAudit"/> <grantedToGroup permissionGroup="AccessAudit"/>
</permission> </permission>
<permission name="_ExportAudit" expose="false"> <permission name="_ExportAudit" expose="false">
<grantedToGroup permissionGroup="ExportAudit"/> <grantedToGroup permissionGroup="ExportAudit"/>
</permission> </permission>
<permission name="_CreateModifyDestroyReferenceTypes" expose="false"> <permission name="_CreateModifyDestroyReferenceTypes" expose="false">
<grantedToGroup permissionGroup="CreateModifyDestroyReferenceTypes"/> <grantedToGroup permissionGroup="CreateModifyDestroyReferenceTypes"/>
</permission> </permission>
<permission name="_UpdateClassificationDates" expose="false"> <permission name="_UpdateClassificationDates" expose="false">
<grantedToGroup permissionGroup="UpdateClassificationDates"/> <grantedToGroup permissionGroup="UpdateClassificationDates"/>
</permission> </permission>
<permission name="_CreateModifyDestroyClassificationGuides" expose="false"> <permission name="_CreateModifyDestroyClassificationGuides" expose="false">
<grantedToGroup permissionGroup="CreateModifyDestroyClassificationGuides"/> <grantedToGroup permissionGroup="CreateModifyDestroyClassificationGuides"/>
</permission> </permission>
<permission name="_UpgradeDowngradeAndDeclassifyRecords" expose="false"> <permission name="_UpgradeDowngradeAndDeclassifyRecords" expose="false">
<grantedToGroup permissionGroup="UpgradeDowngradeAndDeclassifyRecords"/> <grantedToGroup permissionGroup="UpgradeDowngradeAndDeclassifyRecords"/>
</permission> </permission>
<permission name="_UpdateExemptionCategories" expose="false"> <permission name="_UpdateExemptionCategories" expose="false">
<grantedToGroup permissionGroup="UpdateExemptionCategories"/> <grantedToGroup permissionGroup="UpdateExemptionCategories"/>
</permission> </permission>
<permission name="_MapClassificationGuideMetadata" expose="false"> <permission name="_MapClassificationGuideMetadata" expose="false">
<grantedToGroup permissionGroup="MapClassificationGuideMetadata"/> <grantedToGroup permissionGroup="MapClassificationGuideMetadata"/>
</permission> </permission>
<permission name="_ManageAccessControls" expose="false"> <permission name="_ManageAccessControls" expose="false">
<grantedToGroup permissionGroup="ManageAccessControls"/> <grantedToGroup permissionGroup="ManageAccessControls"/>
</permission> </permission>
<!-- Added since V2.1 --> <!-- Added since V2.1 -->
<permission name="_CreateRecords" expose="false"> <permission name="_CreateRecords" expose="false">
<grantedToGroup permissionGroup="CreateRecords"/> <grantedToGroup permissionGroup="CreateRecords"/>
</permission> </permission>
<permission name="_ManageRules" expose="false"> <permission name="_ManageRules" expose="false">
<grantedToGroup permissionGroup="ManageRules"/> <grantedToGroup permissionGroup="ManageRules"/>
</permission> </permission>
<permission name="_RequestRecordInformation" expose="false"> <permission name="_RequestRecordInformation" expose="false">
<grantedToGroup permissionGroup="RequestRecordInformation"/> <grantedToGroup permissionGroup="RequestRecordInformation"/>
</permission> </permission>
<permission name="_FileDestructionReport" expose="false"> <permission name="_FileDestructionReport" expose="false">
<grantedToGroup permissionGroup="FileDestructionReport"/> <grantedToGroup permissionGroup="FileDestructionReport"/>
</permission> </permission>
<permission name="_FileTransferReport" expose="false">
<grantedToGroup permissionGroup="FileTransferReport"/>
</permission>
<permission name="_FileUnfiledRecords" expose="false"> <permission name="_FileUnfiledRecords" expose="false">
<grantedToGroup permissionGroup="FileUnfiledRecords"/> <grantedToGroup permissionGroup="FileUnfiledRecords"/>
</permission> </permission>
<permission name="_RejectRecords" expose="false"> <permission name="_RejectRecords" expose="false">
<grantedToGroup permissionGroup="RejectRecords"/> <grantedToGroup permissionGroup="RejectRecords"/>
</permission> </permission>
<permission name="_LinkToRecords" expose="false"> <permission name="_LinkToRecords" expose="false">
<grantedToGroup permissionGroup="LinkToRecords"/> <grantedToGroup permissionGroup="LinkToRecords"/>
</permission> </permission>
</permissionSet> </permissionSet>
</permissions> </permissions>

View File

@@ -3,198 +3,219 @@
<beans> <beans>
<!-- Base bean definitions -->
<bean id="rm.baseModulePatch" abstract="true" parent="module.baseComponent"> <bean id="rm.baseModulePatch" abstract="true" parent="module.baseComponent">
<property name="retryingTransactionHelper" ref="retryingTransactionHelper"/> <property name="retryingTransactionHelper" ref="retryingTransactionHelper"/>
<property name="behaviourFilter" ref="policyBehaviourFilter" /> <property name="behaviourFilter" ref="policyBehaviourFilter" />
</bean> </bean>
<bean id="rm.baseCapabilityPatch" abstract="true" parent="rm.baseModulePatch">
<property name="filePlanService" ref="FilePlanService"/>
<property name="filePlanRoleService" ref="FilePlanRoleService"/>
<property name="capabilityService" ref="CapabilityService"/>
</bean>
<!-- RM v2.0 Patches -->
<bean id="org_alfresco_module_rm_notificationTemplatePatch" <bean id="org_alfresco_module_rm_notificationTemplatePatch"
parent="rm.baseModulePatch" parent="rm.baseModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.NotificationTemplatePatch"> class="org.alfresco.module.org_alfresco_module_rm.patch.NotificationTemplatePatch">
<property name="moduleId" value="org_alfresco_module_rm"/> <property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_notificationTemplatePatch"/> <property name="name" value="org_alfresco_module_rm_notificationTemplatePatch"/>
<property name="description" value="Patches new versions of the notification templates."/> <property name="description" value="Patches new versions of the notification templates."/>
<property name="sinceVersion" value="2.0"/> <property name="sinceVersion" value="2.0"/>
<property name="appliesFromVersion" value="2.0"/> <property name="appliesFromVersion" value="2.0"/>
<property name="nodeService" ref="NodeService"/> <property name="nodeService" ref="NodeService"/>
<property name="notificationHelper" ref="recordsManagementNotificationHelper"/> <property name="notificationHelper" ref="recordsManagementNotificationHelper"/>
<property name="contentService" ref="ContentService"/> <property name="contentService" ref="ContentService"/>
<property name="versionService" ref="VersionService"/> <property name="versionService" ref="VersionService"/>
<property name="auditService" ref="AuditService"/> <property name="auditService" ref="AuditService"/>
</bean>
<bean id="org_alfresco_module_rm_notificationTemplatePatch_v21"
parent="rm.baseModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.NotificationTemplatePatch_v21">
<property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_notificationTemplatePatch_v21"/>
<property name="description" value="Patches new versions of the notification templates."/>
<property name="sinceVersion" value="2.1"/>
<property name="appliesFromVersion" value="2.1"/>
<property name="dependsOn">
<list>
<ref bean="org_alfresco_module_rm_bootstrapData" />
</list>
</property>
<property name="nodeService" ref="NodeService"/>
<property name="notificationHelper" ref="recordsManagementNotificationHelper"/>
<property name="contentService" ref="ContentService"/>
</bean> </bean>
<bean id="org_alfresco_module_rm_RMv2ModelPatch" <bean id="org_alfresco_module_rm_RMv2ModelPatch"
parent="rm.baseModulePatch" parent="rm.baseModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.RMv2ModelPatch"> class="org.alfresco.module.org_alfresco_module_rm.patch.RMv2ModelPatch">
<property name="moduleId" value="org_alfresco_module_rm"/> <property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_RMv2ModelPatch"/> <property name="name" value="org_alfresco_module_rm_RMv2ModelPatch"/>
<property name="description" value="Patches the existing RM data for the RM v2.0 model updates."/> <property name="description" value="Patches the existing RM data for the RM v2.0 model updates."/>
<property name="sinceVersion" value="2.0"/> <property name="sinceVersion" value="2.0"/>
<property name="appliesFromVersion" value="2.0"/> <property name="appliesFromVersion" value="2.0"/>
<property name="patchDAO" ref="patchDAO"/> <property name="patchDAO" ref="patchDAO"/>
<property name="nodeDAO" ref="nodeDAO" /> <property name="nodeDAO" ref="nodeDAO" />
<property name="qnameDAO" ref="qnameDAO"/> <property name="qnameDAO" ref="qnameDAO"/>
</bean> </bean>
<bean id="org_alfresco_module_rm_RMv2FilePlanNodeRefPatch" <bean id="org_alfresco_module_rm_RMv2FilePlanNodeRefPatch"
parent="rm.baseModulePatch" parent="rm.baseModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.RMv2FilePlanNodeRefPatch"> class="org.alfresco.module.org_alfresco_module_rm.patch.RMv2FilePlanNodeRefPatch">
<property name="moduleId" value="org_alfresco_module_rm"/> <property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_RMv2FilePlanNodeRefPatch"/> <property name="name" value="org_alfresco_module_rm_RMv2FilePlanNodeRefPatch"/>
<property name="description" value="Patches the existing RM data with the root file plan values."/> <property name="description" value="Patches the existing RM data with the root file plan values."/>
<property name="sinceVersion" value="2.0"/> <property name="sinceVersion" value="2.0"/>
<property name="appliesFromVersion" value="2.0"/> <property name="appliesFromVersion" value="2.0"/>
<property name="patchDAO" ref="patchDAO"/> <property name="patchDAO" ref="patchDAO"/>
<property name="nodeDAO" ref="nodeDAO" /> <property name="nodeDAO" ref="nodeDAO" />
<property name="qnameDAO" ref="qnameDAO"/> <property name="qnameDAO" ref="qnameDAO"/>
<property name="nodeService" ref="NodeService"/> <property name="nodeService" ref="NodeService"/>
<property name="permissionService" ref="PermissionService"/> <property name="permissionService" ref="PermissionService"/>
<property name="filePlanService" ref="FilePlanService" /> <property name="filePlanService" ref="FilePlanService" />
<property name="filePlanRoleService" ref="filePlanRoleService" /> <property name="filePlanRoleService" ref="filePlanRoleService" />
</bean> </bean>
<bean id="org_alfresco_module_rm_RMv2SavedSearchPatch" <bean id="org_alfresco_module_rm_RMv2SavedSearchPatch"
parent="rm.baseModulePatch" parent="rm.baseModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.RMv2SavedSearchPatch"> class="org.alfresco.module.org_alfresco_module_rm.patch.RMv2SavedSearchPatch">
<property name="moduleId" value="org_alfresco_module_rm"/> <property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_RMv2SavedSearchPatch"/> <property name="name" value="org_alfresco_module_rm_RMv2SavedSearchPatch"/>
<property name="description" value="Patches the existing saved seaches."/> <property name="description" value="Patches the existing saved seaches."/>
<property name="sinceVersion" value="2.0"/> <property name="sinceVersion" value="2.0"/>
<property name="appliesFromVersion" value="2.0"/> <property name="appliesFromVersion" value="2.0"/>
<property name="recordsManagementSearchService" ref="RecordsManagementSearchService" /> <property name="recordsManagementSearchService" ref="RecordsManagementSearchService" />
<property name="siteService" ref="SiteService" /> <property name="siteService" ref="SiteService" />
<property name="contentService" ref="ContentService"/> <property name="contentService" ref="ContentService"/>
</bean>
<!-- RM v2.1 Patches -->
<bean id="org_alfresco_module_rm_notificationTemplatePatch_v21"
parent="rm.baseModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.NotificationTemplatePatch_v21">
<property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_notificationTemplatePatch_v21"/>
<property name="description" value="Patches new versions of the notification templates."/>
<property name="sinceVersion" value="2.1"/>
<property name="appliesFromVersion" value="2.1"/>
<property name="dependsOn">
<list>
<ref bean="org_alfresco_module_rm_bootstrapData" />
</list>
</property>
<property name="nodeService" ref="NodeService"/>
<property name="notificationHelper" ref="recordsManagementNotificationHelper"/>
<property name="contentService" ref="ContentService"/>
</bean> </bean>
<bean id="org_alfresco_module_rm_RMv21InPlacePatch" <bean id="org_alfresco_module_rm_RMv21InPlacePatch"
parent="rm.baseModulePatch" parent="rm.baseModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.RMv21InPlacePatch"> class="org.alfresco.module.org_alfresco_module_rm.patch.RMv21InPlacePatch">
<property name="moduleId" value="org_alfresco_module_rm"/> <property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_RMv21InPlacePatch"/> <property name="name" value="org_alfresco_module_rm_RMv21InPlacePatch"/>
<property name="description" value="Patches the existing RM data for the RM v2.1 InPlace features."/> <property name="description" value="Patches the existing RM data for the RM v2.1 InPlace features."/>
<property name="sinceVersion" value="2.1"/> <property name="sinceVersion" value="2.1"/>
<property name="appliesFromVersion" value="2.1"/> <property name="appliesFromVersion" value="2.1"/>
<property name="filePlanRoleService" ref="FilePlanRoleService"/> <property name="filePlanRoleService" ref="FilePlanRoleService"/>
<property name="filePlanPermissionService" ref="FilePlanPermissionService"/> <property name="filePlanPermissionService" ref="FilePlanPermissionService"/>
<property name="filePlanService" ref="FilePlanService"/> <property name="filePlanService" ref="FilePlanService"/>
<property name="capabilityService" ref="CapabilityService"/> <property name="capabilityService" ref="CapabilityService"/>
<property name="ruleService" ref="RuleService" /> <property name="ruleService" ref="RuleService" />
<property name="nodeService" ref="NodeService" /> <property name="nodeService" ref="NodeService" />
</bean> </bean>
<bean id="org_alfresco_module_rm_RMv21CapabilityPatch" <bean id="org_alfresco_module_rm_RMv21CapabilityPatch"
parent="rm.baseModulePatch" parent="rm.baseCapabilityPatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.RMv21CapabilityPatch"> class="org.alfresco.module.org_alfresco_module_rm.patch.RMv21CapabilityPatch">
<property name="moduleId" value="org_alfresco_module_rm"/> <property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_RMv21CapabilityPatch"/> <property name="name" value="org_alfresco_module_rm_RMv21CapabilityPatch"/>
<property name="description" value="Patches the existing RM data for the RM v2.1 updated capabilities."/> <property name="description" value="Patches the existing RM data for the RM v2.1 updated capabilities."/>
<property name="sinceVersion" value="2.1"/> <property name="sinceVersion" value="2.1"/>
<property name="appliesFromVersion" value="2.1"/> <property name="appliesFromVersion" value="2.1"/>
<property name="filePlanService" ref="FilePlanService"/>
<property name="filePlanRoleService" ref="FilePlanRoleService"/>
<property name="capabilityService" ref="CapabilityService"/>
</bean> </bean>
<bean id="org_alfresco_module_rm_RMv2RMAdminUserPatch" <bean id="org_alfresco_module_rm_RMv2RMAdminUserPatch"
parent="rm.baseModulePatch" parent="rm.baseModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.RMv2RMAdminUserPatch"> class="org.alfresco.module.org_alfresco_module_rm.patch.RMv2RMAdminUserPatch">
<property name="moduleId" value="org_alfresco_module_rm"/> <property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_RMv2RMAdminUserPatch"/> <property name="name" value="org_alfresco_module_rm_RMv2RMAdminUserPatch"/>
<property name="description" value="Adds the global RM admin user to all existing file plans."/> <property name="description" value="Adds the global RM admin user to all existing file plans."/>
<property name="sinceVersion" value="2.1"/> <property name="sinceVersion" value="2.1"/>
<property name="appliesFromVersion" value="2.1"/> <property name="appliesFromVersion" value="2.1"/>
<property name="filePlanService" ref="FilePlanService"/> <property name="filePlanService" ref="FilePlanService"/>
<property name="filePlanRoleService" ref="FilePlanRoleService"/> <property name="filePlanRoleService" ref="FilePlanRoleService"/>
<property name="authenticationService" ref="AuthenticationService" /> <property name="authenticationService" ref="AuthenticationService" />
<property name="personService" ref="PersonService" /> <property name="personService" ref="PersonService" />
<property name="filePlanAuthenticationService" ref="FilePlanAuthenticationService" /> <property name="filePlanAuthenticationService" ref="FilePlanAuthenticationService" />
</bean> </bean>
<bean id="org_alfresco_module_rm_RMv21RecordInheritancePatch" <bean id="org_alfresco_module_rm_RMv21RecordInheritancePatch"
parent="rm.baseModulePatch" parent="rm.baseModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.RMv21RecordInheritancePatch"> class="org.alfresco.module.org_alfresco_module_rm.patch.RMv21RecordInheritancePatch">
<property name="moduleId" value="org_alfresco_module_rm"/> <property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_RMv21RecordInheritancePatch"/> <property name="name" value="org_alfresco_module_rm_RMv21RecordInheritancePatch"/>
<property name="description" value="Adjust record permission inheritance."/> <property name="description" value="Adjust record permission inheritance."/>
<property name="sinceVersion" value="2.1"/> <property name="sinceVersion" value="2.1"/>
<property name="appliesFromVersion" value="2.1"/> <property name="appliesFromVersion" value="2.1"/>
<property name="patchDAO" ref="patchDAO"/> <property name="patchDAO" ref="patchDAO"/>
<property name="nodeDAO" ref="nodeDAO" /> <property name="nodeDAO" ref="nodeDAO" />
<property name="qnameDAO" ref="qnameDAO"/> <property name="qnameDAO" ref="qnameDAO"/>
<property name="nodeService" ref="nodeService"/> <property name="nodeService" ref="nodeService"/>
<property name="filePlanPermissionServiceImpl" ref="filePlanPermissionService"/> <property name="filePlanPermissionServiceImpl" ref="filePlanPermissionService"/>
</bean> </bean>
<bean id="org_alfresco_module_rm_RMv21RolesPatch" <bean id="org_alfresco_module_rm_RMv21RolesPatch"
parent="rm.baseModulePatch" parent="rm.baseModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.RMv21RolesPatch"> class="org.alfresco.module.org_alfresco_module_rm.patch.RMv21RolesPatch">
<property name="moduleId" value="org_alfresco_module_rm"/> <property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_RMv21RolesPatch"/> <property name="name" value="org_alfresco_module_rm_RMv21RolesPatch"/>
<property name="description" value="Add existing roles to the rm zone."/> <property name="description" value="Add existing roles to the rm zone."/>
<property name="sinceVersion" value="2.1"/> <property name="sinceVersion" value="2.1"/>
<property name="appliesFromVersion" value="2.1"/> <property name="appliesFromVersion" value="2.1"/>
<property name="filePlanService" ref="FilePlanService"/> <property name="filePlanService" ref="FilePlanService"/>
<property name="filePlanRoleService" ref="FilePlanRoleService"/> <property name="filePlanRoleService" ref="FilePlanRoleService"/>
<property name="authorityService" ref="AuthorityService"></property> <property name="authorityService" ref="AuthorityService"></property>
</bean> </bean>
<bean id="org_alfresco_module_rm_RMv21ReportServicePatch" <bean id="org_alfresco_module_rm_RMv21ReportServicePatch"
parent="rm.baseModulePatch" parent="rm.baseModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.RMv21ReportServicePatch"> class="org.alfresco.module.org_alfresco_module_rm.patch.RMv21ReportServicePatch">
<property name="moduleId" value="org_alfresco_module_rm"/> <property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_RMv21ReportServicePatch"/> <property name="name" value="org_alfresco_module_rm_RMv21ReportServicePatch"/>
<property name="description" value="Add report service templates."/> <property name="description" value="Add report service templates."/>
<property name="sinceVersion" value="2.1"/> <property name="sinceVersion" value="2.1"/>
<property name="appliesFromVersion" value="2.1"/> <property name="appliesFromVersion" value="2.1"/>
<property name="contentService" ref="ContentService" /> <property name="contentService" ref="ContentService" />
<property name="nodeService" ref="NodeService" /> <property name="nodeService" ref="NodeService" />
</bean> </bean>
<bean id="org_alfresco_module_rm_RMv21BehaviorScriptsPatch" <bean id="org_alfresco_module_rm_RMv21BehaviorScriptsPatch"
parent="rm.baseModulePatch" parent="rm.baseModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.RMv21BehaviorScriptsPatch"> class="org.alfresco.module.org_alfresco_module_rm.patch.RMv21BehaviorScriptsPatch">
<property name="moduleId" value="org_alfresco_module_rm"/> <property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_RMv21BehaviorScriptsPatch"/> <property name="name" value="org_alfresco_module_rm_RMv21BehaviorScriptsPatch"/>
<property name="description" value="Move existing behavior scripts to their dedicated behavior folder, freeing existing scripts folder up for non-behavior RM scripts."/> <property name="description" value="Move existing behavior scripts to their dedicated behavior folder, freeing existing scripts folder up for non-behavior RM scripts."/>
<property name="sinceVersion" value="2.1"/> <property name="sinceVersion" value="2.1"/>
<property name="appliesFromVersion" value="2.1"/> <property name="appliesFromVersion" value="2.1"/>
<property name="fileFolderService" ref="FileFolderService"/> <property name="fileFolderService" ref="FileFolderService"/>
<property name="nodeService" ref="NodeService"/> <property name="nodeService" ref="NodeService"/>
</bean> </bean>
<!-- RM v2.2 Patches -->
<bean id="org_alfresco_module_rm_RMv22ReportTemplatePatch" <bean id="org_alfresco_module_rm_RMv22ReportTemplatePatch"
parent="rm.baseModulePatch" parent="rm.baseModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.RMv22ReportTemplatePatch"> class="org.alfresco.module.org_alfresco_module_rm.patch.RMv22ReportTemplatePatch">
<property name="moduleId" value="org_alfresco_module_rm"/> <property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_RMv22ReportTemplatePatch"/> <property name="name" value="org_alfresco_module_rm_RMv22ReportTemplatePatch"/>
<property name="description" value="Patches new versions of the report templates."/> <property name="description" value="Patches new versions of the report templates."/>
<property name="sinceVersion" value="2.2"/> <property name="sinceVersion" value="2.2"/>
<property name="appliesFromVersion" value="2.2"/> <property name="appliesFromVersion" value="2.2"/>
<property name="dependsOn"> <property name="dependsOn">
<list> <list>
<ref bean="org_alfresco_module_rm_RMv21ReportServicePatch" /> <ref bean="org_alfresco_module_rm_RMv21ReportServicePatch" />
</list> </list>
</property> </property>
<property name="nodeService" ref="NodeService"/> <property name="nodeService" ref="NodeService"/>
<property name="contentService" ref="ContentService"/> <property name="contentService" ref="ContentService"/>
</bean>
<bean id="org_alfresco_module_rm_RMv22CapabilityPatch"
parent="rm.baseCapabilityPatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.RMv22CapabilityPatch">
<property name="moduleId" value="org_alfresco_module_rm"/>
<property name="name" value="org_alfresco_module_rm_RMv22CapabilityPatch"/>
<property name="description" value="Patches the existing RM data for the RM v2.2 updated capabilities."/>
<property name="sinceVersion" value="2.2"/>
<property name="appliesFromVersion" value="2.2"/>
</bean> </bean>
</beans> </beans>

View File

@@ -115,8 +115,7 @@
<bean id="transferReport_security" class="org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityInterceptor" parent="actionSecurity"> <bean id="transferReport_security" class="org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityInterceptor" parent="actionSecurity">
<property name="objectDefinitionSource"> <property name="objectDefinitionSource">
<value> <value>
<!-- FIXME: Which capability do we need to check? --> org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementAction.execute=RM_CAP.0.rma:filePlanComponent.FileTransferReport
org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementAction.execute=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementAction.*=RM_ALLOW org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementAction.*=RM_ALLOW
org.alfresco.repo.action.executer.ActionExecuter.*=RM_ALLOW org.alfresco.repo.action.executer.ActionExecuter.*=RM_ALLOW
</value> </value>

View File

@@ -426,6 +426,17 @@
<property name="capability" value ="FileDestructionReport"/> <property name="capability" value ="FileDestructionReport"/>
</bean> </bean>
<bean id="jsonConversionComponent.fileTransferReportAction"
parent="jsonConversionComponent.baseAction">
<property name="name" value="fileTransferReport"/>
<property name="kinds">
<set>
<value>TRANSFER</value>
</set>
</property>
<property name="capability" value ="FileTransferReport"/>
</bean>
<bean id="jsonConversionComponent.transferAction" <bean id="jsonConversionComponent.transferAction"
parent="jsonConversionComponent.baseAction"> parent="jsonConversionComponent.baseAction">
<property name="name" value="transfer"/> <property name="name" value="transfer"/>
@@ -613,11 +624,6 @@
<property name="name" value="downloadZip"/> <property name="name" value="downloadZip"/>
</bean> </bean>
<bean id="jsonConversionComponent.fileReport"
parent="jsonConversionComponent.baseAction">
<property name="name" value="fileReport"/>
</bean>
<bean id="jsonConversionComponent.transferComplete" <bean id="jsonConversionComponent.transferComplete"
parent="jsonConversionComponent.baseAction"> parent="jsonConversionComponent.baseAction">
<property name="name" value="transferComplete"/> <property name="name" value="transferComplete"/>

View File

@@ -83,7 +83,7 @@
"capabilities" : "capabilities" :
[ [
"DeclareRecords", "DeclareRecords",
"ViewRecords", "ViewRecords",
"CreateRecords", "CreateRecords",
"CreateModifyDestroyFolders", "CreateModifyDestroyFolders",
"EditRecordMetadata", "EditRecordMetadata",
@@ -137,13 +137,14 @@
"FileDestructionReport", "FileDestructionReport",
"FileUnfiledRecords", "FileUnfiledRecords",
"RejectRecords", "RejectRecords",
"LinkToRecords" "LinkToRecords",
"FileTransferReport"
] ]
}, },
{ {
"name" : "Administrator", "name" : "Administrator",
"displayLabel" : "rm.role.administrator", "displayLabel" : "rm.role.administrator",
"isAdmin" : true, "isAdmin" : true,
"capabilities" : "capabilities" :
[ [
"DeclareRecords", "DeclareRecords",
@@ -203,7 +204,8 @@
"FileDestructionReport", "FileDestructionReport",
"FileUnfiledRecords", "FileUnfiledRecords",
"RejectRecords", "RejectRecords",
"LinkToRecords" "LinkToRecords",
"FileTransferReport"
] ]
} }
] ]

View File

@@ -0,0 +1,120 @@
/*
* Copyright (C) 2005-2013 Alfresco Software Limited.
*
* This file is part of Alfresco
*
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
package org.alfresco.module.org_alfresco_module_rm.patch;
import java.util.Set;
import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.module.org_alfresco_module_rm.capability.Capability;
import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService;
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService;
import org.alfresco.module.org_alfresco_module_rm.role.Role;
import org.alfresco.service.cmr.repository.NodeRef;
/**
* Base class for the capability patch classes
*
* @author Tuna Aksoy
* @since 2.2
*/
public abstract class BaseRMCapabilityPatch extends ModulePatchComponent
{
/** File plan service */
private FilePlanService filePlanService;
/** File plan role service */
private FilePlanRoleService filePlanRoleService;
/** Capability service */
private CapabilityService capabilityService;
/**
* @param filePlanRoleService file plan role service
*/
public void setFilePlanRoleService(FilePlanRoleService filePlanRoleService)
{
this.filePlanRoleService = filePlanRoleService;
}
/**
* @param capabilityService capability service
*/
public void setCapabilityService(CapabilityService capabilityService)
{
this.capabilityService = capabilityService;
}
/**
* @param filePlanService file plan service
*/
public void setFilePlanService(FilePlanService filePlanService)
{
this.filePlanService = filePlanService;
}
/**
* Helper method to get the file plans
*
* @return Set of file plan node references
*/
protected Set<NodeRef> getFilePlans()
{
return filePlanService.getFilePlans();
}
/**
* Adds a new capability to the specified roles.
*
* @param filePlan file plan
* @param capabilityName capability name
* @param roles roles
*/
protected void addCapability(NodeRef filePlan, String capabilityName, String ... roles)
{
Capability capability = capabilityService.getCapability(capabilityName);
if (capability == null)
{
throw new AlfrescoRuntimeException("Unable to bootstrap RMv21 capabilities, because capability " + capabilityName + " does not exist.");
}
for (String roleName : roles)
{
Role role = filePlanRoleService.getRole(filePlan, roleName);
if (role != null)
{
// get the roles current capabilities
Set<Capability> capabilities = role.getCapabilities();
// only update if the capability is missing
if (capabilities.contains(capability) == false)
{
if (logger.isDebugEnabled() == true)
{
logger.debug(" ... adding capability " + capabilityName + " to role " + role.getName());
}
capabilities.add(capability);
filePlanRoleService.updateRole(filePlan, role.getName(), role.getDisplayLabel(), capabilities);
}
}
}
}
}

View File

@@ -20,156 +20,75 @@ package org.alfresco.module.org_alfresco_module_rm.patch;
import java.util.Set; import java.util.Set;
import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.module.org_alfresco_module_rm.capability.Capability;
import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService;
import org.alfresco.module.org_alfresco_module_rm.dod5015.DOD5015Model;
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService; import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService;
import org.alfresco.module.org_alfresco_module_rm.role.Role;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.springframework.beans.factory.BeanNameAware;
/** /**
* RM v2.1 patch to updated modified capabilities. * RM v2.1 patch to updated modified capabilities.
* *
* @author Roy Wetherall * @author Roy Wetherall
* @since 2.1 * @since 2.1
*/ */
public class RMv21CapabilityPatch extends ModulePatchComponent public class RMv21CapabilityPatch extends BaseRMCapabilityPatch
implements BeanNameAware, RecordsManagementModel, DOD5015Model {
{
/** file plan service */
private FilePlanService filePlanService;
/** File plan role service */
private FilePlanRoleService filePlanRoleService;
/** Capability service */
private CapabilityService capabilityService;
/**
* @param filePlanService file plan service
*/
public void setFilePlanService(FilePlanService filePlanService)
{
this.filePlanService = filePlanService;
}
/**
* @param filePlanRoleService file plan role service
*/
public void setFilePlanRoleService(FilePlanRoleService filePlanRoleService)
{
this.filePlanRoleService = filePlanRoleService;
}
/**
* @param capabilityService capability service
*/
public void setCapabilityService(CapabilityService capabilityService)
{
this.capabilityService = capabilityService;
}
/** /**
* @see org.alfresco.repo.module.AbstractModuleComponent#executeInternal() * @see org.alfresco.repo.module.AbstractModuleComponent#executeInternal()
*/ */
@Override @Override
protected void executePatch() throws Throwable protected void executePatch() throws Throwable
{ {
Set<NodeRef> filePlans = filePlanService.getFilePlans(); Set<NodeRef> filePlans = getFilePlans();
if (logger.isDebugEnabled() == true) if (logger.isDebugEnabled() == true)
{ {
logger.debug(" ... updating " + filePlans.size() + " file plans"); logger.debug(" ... updating " + filePlans.size() + " file plans");
} }
for (NodeRef filePlan : filePlans) for (NodeRef filePlan : filePlans)
{ {
if (logger.isDebugEnabled() == true) if (logger.isDebugEnabled() == true)
{ {
logger.debug(" ... updating file plan " + filePlan.toString()); logger.debug(" ... updating file plan " + filePlan.toString());
} }
// add new capabilities // add new capabilities
addCapability(filePlan, addCapability(filePlan,
"CreateRecords", "CreateRecords",
FilePlanRoleService.ROLE_ADMIN, FilePlanRoleService.ROLE_ADMIN,
FilePlanRoleService.ROLE_POWER_USER, FilePlanRoleService.ROLE_POWER_USER,
FilePlanRoleService.ROLE_RECORDS_MANAGER, FilePlanRoleService.ROLE_RECORDS_MANAGER,
FilePlanRoleService.ROLE_SECURITY_OFFICER); FilePlanRoleService.ROLE_SECURITY_OFFICER);
addCapability(filePlan, addCapability(filePlan,
"ManageRules", "ManageRules",
FilePlanRoleService.ROLE_ADMIN); FilePlanRoleService.ROLE_ADMIN);
addCapability(filePlan, addCapability(filePlan,
"RequestRecordInformation", "RequestRecordInformation",
FilePlanRoleService.ROLE_ADMIN, FilePlanRoleService.ROLE_ADMIN,
FilePlanRoleService.ROLE_POWER_USER, FilePlanRoleService.ROLE_POWER_USER,
FilePlanRoleService.ROLE_RECORDS_MANAGER, FilePlanRoleService.ROLE_RECORDS_MANAGER,
FilePlanRoleService.ROLE_SECURITY_OFFICER); FilePlanRoleService.ROLE_SECURITY_OFFICER);
addCapability(filePlan, addCapability(filePlan,
"FileDestructionReport", "FileDestructionReport",
FilePlanRoleService.ROLE_ADMIN, FilePlanRoleService.ROLE_ADMIN,
FilePlanRoleService.ROLE_RECORDS_MANAGER); FilePlanRoleService.ROLE_RECORDS_MANAGER);
addCapability(filePlan, addCapability(filePlan,
"RejectRecords", "RejectRecords",
FilePlanRoleService.ROLE_ADMIN, FilePlanRoleService.ROLE_ADMIN,
FilePlanRoleService.ROLE_POWER_USER, FilePlanRoleService.ROLE_POWER_USER,
FilePlanRoleService.ROLE_RECORDS_MANAGER, FilePlanRoleService.ROLE_RECORDS_MANAGER,
FilePlanRoleService.ROLE_SECURITY_OFFICER); FilePlanRoleService.ROLE_SECURITY_OFFICER);
addCapability(filePlan, addCapability(filePlan,
"FileUnfiledRecords", "FileUnfiledRecords",
FilePlanRoleService.ROLE_ADMIN, FilePlanRoleService.ROLE_ADMIN,
FilePlanRoleService.ROLE_POWER_USER, FilePlanRoleService.ROLE_POWER_USER,
FilePlanRoleService.ROLE_RECORDS_MANAGER, FilePlanRoleService.ROLE_RECORDS_MANAGER,
FilePlanRoleService.ROLE_SECURITY_OFFICER); FilePlanRoleService.ROLE_SECURITY_OFFICER);
addCapability(filePlan, addCapability(filePlan,
"LinkToRecords", "LinkToRecords",
FilePlanRoleService.ROLE_ADMIN, FilePlanRoleService.ROLE_ADMIN,
FilePlanRoleService.ROLE_POWER_USER, FilePlanRoleService.ROLE_POWER_USER,
FilePlanRoleService.ROLE_RECORDS_MANAGER, FilePlanRoleService.ROLE_RECORDS_MANAGER,
FilePlanRoleService.ROLE_SECURITY_OFFICER); FilePlanRoleService.ROLE_SECURITY_OFFICER);
}
}
/**
* Adds a new capability to the specified roles.
*
* @param filePlan file plan
* @param capabilityName capability name
* @param roles roles
*/
private void addCapability(NodeRef filePlan, String capabilityName, String ... roles)
{
Capability capability = capabilityService.getCapability(capabilityName);
if (capability == null)
{
throw new AlfrescoRuntimeException("Unable to bootstrap RMv21 capabilities, because capability " + capabilityName + " does not exist.");
} }
}
for (String roleName : roles)
{
Role role = filePlanRoleService.getRole(filePlan, roleName);
if (role != null)
{
// get the roles current capabilities
Set<Capability> capabilities = role.getCapabilities();
// only update if the capability is missing
if (capabilities.contains(capability) == false)
{
if (logger.isDebugEnabled() == true)
{
logger.debug(" ... adding capability " + capabilityName + " to role " + role.getName());
}
capabilities.add(capability);
filePlanRoleService.updateRole(filePlan, role.getName(), role.getDisplayLabel(), capabilities);
}
}
}
}
} }

View File

@@ -0,0 +1,61 @@
/*
* Copyright (C) 2005-2013 Alfresco Software Limited.
*
* This file is part of Alfresco
*
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
package org.alfresco.module.org_alfresco_module_rm.patch;
import java.util.Set;
import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService;
import org.alfresco.service.cmr.repository.NodeRef;
/**
* RM v2.2 patch to updated modified capabilities.
*
* @author Tuna Aksoy
* @since 2.2
*/
public class RMv22CapabilityPatch extends BaseRMCapabilityPatch
{
/**
* @see org.alfresco.repo.module.AbstractModuleComponent#executeInternal()
*/
@Override
protected void executePatch() throws Throwable
{
Set<NodeRef> filePlans = getFilePlans();
if (logger.isDebugEnabled() == true)
{
logger.debug(" ... updating " + filePlans.size() + " file plans");
}
for (NodeRef filePlan : filePlans)
{
if (logger.isDebugEnabled() == true)
{
logger.debug(" ... updating file plan " + filePlan.toString());
}
// add new capability
addCapability(filePlan,
"FileDestructionReport",
FilePlanRoleService.ROLE_ADMIN,
FilePlanRoleService.ROLE_RECORDS_MANAGER);
}
}
}