Demo scenario:

* friendlier names for Version relationship
  * added "Versions" event .. too allow auotmatic disposition of versioned records
  * patch for above
  * bug fix for events not being populated when auto-filling rule used



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@92116 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2014-12-10 06:25:18 +00:00
parent a3a565513a
commit c610f418e4
8 changed files with 114 additions and 33 deletions

View File

@@ -26,6 +26,11 @@
"eventName" : "superseded", "eventName" : "superseded",
"eventDisplayLabel" : "rmevent.superseded" "eventDisplayLabel" : "rmevent.superseded"
}, },
{
"eventType" : "rmEventType.versioned",
"eventName" : "versioned",
"eventDisplayLabel" : "rmevent.versioned"
},
{ {
"eventType" : "rmEventType.simple", "eventType" : "rmEventType.simple",
"eventName" : "study_complete", "eventName" : "study_complete",

View File

@@ -3,6 +3,7 @@ rmeventservice.rmEventType.simple=Simple Event
rmeventservice.rmEventType.obsolete=Obsoleted Event rmeventservice.rmEventType.obsolete=Obsoleted Event
rmeventservice.rmEventType.superseded=Superseded Event rmeventservice.rmEventType.superseded=Superseded Event
rmeventservice.rmEventType.crossReferencedRecordTransfered=Cross Referenced Record Transferred rmeventservice.rmEventType.crossReferencedRecordTransfered=Cross Referenced Record Transferred
rmeventservice.rmEventType.versioned=Versioned Event
# Default events # Default events
rmevent.case_closed=Case Closed rmevent.case_closed=Case Closed
@@ -10,6 +11,7 @@ rmevent.abolished=Abolished
rmevent.re_designated=Redesignated rmevent.re_designated=Redesignated
rmevent.no_longer_needed=No longer needed rmevent.no_longer_needed=No longer needed
rmevent.superseded=Superseded rmevent.superseded=Superseded
rmevent.versioned=Versioned
rmevent.study_complete=Study Complete rmevent.study_complete=Study Complete
rmevent.training_complete=Training Complete rmevent.training_complete=Training Complete
rmevent.related_record_trasfered_inactive_storage=Related Record Transferred To Inactive Storage rmevent.related_record_trasfered_inactive_storage=Related Record Transferred To Inactive Storage

View File

@@ -100,6 +100,41 @@
<!-- Import the deprecated beans --> <!-- Import the deprecated beans -->
<import resource="classpath:alfresco/module/org_alfresco_module_rm/rm-deprecated-context.xml"/> <import resource="classpath:alfresco/module/org_alfresco_module_rm/rm-deprecated-context.xml"/>
<!-- Event types -->
<bean id="rmEventType" init-method="init" abstract="true">
<property name="recordsManagementEventService" ref="recordsManagementEventService"/>
</bean>
<bean id="rmEventType.simple" class="org.alfresco.module.org_alfresco_module_rm.event.SimpleRecordsManagementEventTypeImpl" parent="rmEventType"/>
<bean id="rmEventType.superseded" class="org.alfresco.module.org_alfresco_module_rm.event.OnReferenceCreateEventType" parent="rmEventType">
<property name="referenceName" value="{http://www.alfresco.org/model/rmcustom/1.0}supersedes"/>
<property name="dispositionService" ref="dispositionService"/>
<property name="recordsManagementActionService" ref="recordsManagementActionService"/>
</bean>
<bean id="rmEventType.obsolete" class="org.alfresco.module.org_alfresco_module_rm.event.OnReferenceCreateEventType" parent="rmEventType">
<property name="referenceName" value="{http://www.alfresco.org/model/rmcustom/1.0}obsoletes"/>
<property name="dispositionService" ref="dispositionService"/>
<property name="recordsManagementActionService" ref="recordsManagementActionService"/>
</bean>
<bean id="rmEventType.versioned" class="org.alfresco.module.org_alfresco_module_rm.event.OnReferenceCreateEventType" parent="rmEventType">
<property name="referenceName" value="{http://www.alfresco.org/model/rmcustom/1.0}versions"/>
<property name="dispositionService" ref="dispositionService"/>
<property name="recordsManagementActionService" ref="recordsManagementActionService"/>
</bean>
<bean id="rmEventType.crossReferencedRecordTransfered" class="org.alfresco.module.org_alfresco_module_rm.event.OnReferencedRecordActionedUpon" parent="rmEventType">
<property name="referenceName" value="{http://www.alfresco.org/model/rmcustom/1.0}crossreference"/>
<property name="actionName" value="transferComplete"/>
<property name="nodeService" ref="nodeService"/>
<property name="dispositionService" ref="dispositionService"/>
<property name="recordsManagementActionService" ref="recordsManagementActionService"/>
<property name="recordService" ref="recordService" />
<property name="recordFolderService" ref="RecordFolderService"/>
</bean>
<!-- Import the RM module patches --> <!-- Import the RM module patches -->
<import resource="classpath:alfresco/module/org_alfresco_module_rm/patch/rm-patch-context.xml"/> <import resource="classpath:alfresco/module/org_alfresco_module_rm/patch/rm-patch-context.xml"/>
@@ -128,35 +163,6 @@
<property name="notificationHelper" ref="recordsManagementNotificationHelper"/> <property name="notificationHelper" ref="recordsManagementNotificationHelper"/>
</bean> </bean>
<!-- Event types -->
<bean id="rmEventType" init-method="init" abstract="true">
<property name="recordsManagementEventService" ref="recordsManagementEventService"/>
</bean>
<bean id="rmEventType.simple" class="org.alfresco.module.org_alfresco_module_rm.event.SimpleRecordsManagementEventTypeImpl" parent="rmEventType"/>
<bean id="rmEventType.superseded" class="org.alfresco.module.org_alfresco_module_rm.event.OnReferenceCreateEventType" parent="rmEventType">
<property name="referenceName" value="{http://www.alfresco.org/model/rmcustom/1.0}supersedes"/>
<property name="dispositionService" ref="dispositionService"/>
<property name="recordsManagementActionService" ref="recordsManagementActionService"/>
</bean>
<bean id="rmEventType.obsolete" class="org.alfresco.module.org_alfresco_module_rm.event.OnReferenceCreateEventType" parent="rmEventType">
<property name="referenceName" value="{http://www.alfresco.org/model/rmcustom/1.0}obsoletes"/>
<property name="dispositionService" ref="dispositionService"/>
<property name="recordsManagementActionService" ref="recordsManagementActionService"/>
</bean>
<bean id="rmEventType.crossReferencedRecordTransfered" class="org.alfresco.module.org_alfresco_module_rm.event.OnReferencedRecordActionedUpon" parent="rmEventType">
<property name="referenceName" value="{http://www.alfresco.org/model/rmcustom/1.0}crossreference"/>
<property name="actionName" value="transferComplete"/>
<property name="nodeService" ref="nodeService"/>
<property name="dispositionService" ref="dispositionService"/>
<property name="recordsManagementActionService" ref="recordsManagementActionService"/>
<property name="recordService" ref="recordService" />
<property name="recordFolderService" ref="RecordFolderService"/>
</bean>
<!-- Job context --> <!-- Job context -->
<import resource="classpath:alfresco/module/org_alfresco_module_rm/rm-job-context.xml"/> <import resource="classpath:alfresco/module/org_alfresco_module_rm/rm-job-context.xml"/>

View File

@@ -9,7 +9,7 @@
<property name="description" value="RM patch executer"/> <property name="description" value="RM patch executer"/>
<property name="sinceVersion" value="2.2"/> <property name="sinceVersion" value="2.2"/>
<property name="executeOnceOnly" value="false"/> <property name="executeOnceOnly" value="false"/>
<property name="moduleSchema" value="1010"/> <property name="moduleSchema" value="1011"/>
<property name="attributeService" ref="AttributeService" /> <property name="attributeService" ref="AttributeService" />
<property name="dependsOn"> <property name="dependsOn">
<list> <list>

View File

@@ -14,4 +14,13 @@
<property name="recordContributorsGroupBootstrapComponent" ref="recordContributorsGroupBootstrapComponent"/> <property name="recordContributorsGroupBootstrapComponent" ref="recordContributorsGroupBootstrapComponent"/>
</bean> </bean>
<bean id="rm.versionsEventPatch"
parent="rm.parentModulePatch"
class="org.alfresco.module.org_alfresco_module_rm.patch.v23.RMv23VersionsEventPatch">
<property name="description" value="Create versions event."/>
<property name="fixesToSchema" value="1010"/>
<property name="targetSchema" value="1011"/>
<property name="recordsManagementEventService" ref="recordsManagementEventService"/>
</bean>
</beans> </beans>

View File

@@ -8,7 +8,7 @@
"${eventtype.name}": "${eventtype.name}":
{ {
"eventTypeName" : "${eventtype.name}", "eventTypeName" : "${eventtype.name}",
"eventTypeDisplayLabel" : "${eventtype.displayLabel}" "eventTypeDisplayLabel" : "<#if eventtype.displayLabel??>${eventtype.displayLabel}<#else></#if>"
}<#if eventtype_has_next>,</#if> }<#if eventtype_has_next>,</#if>
</#list> </#list>
} }

View File

@@ -77,7 +77,7 @@ public class DispositionLifecycleAspect extends BaseBehaviourBean
@Behaviour @Behaviour
( (
kind = BehaviourKind.CLASS, kind = BehaviourKind.CLASS,
notificationFrequency = NotificationFrequency.FIRST_EVENT notificationFrequency = NotificationFrequency.EVERY_EVENT
) )
public void onAddAspect(final NodeRef nodeRef, final QName aspect) public void onAddAspect(final NodeRef nodeRef, final QName aspect)
{ {

View File

@@ -0,0 +1,59 @@
/*
* Copyright (C) 2005-2014 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.v23;
import org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService;
import org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch;
import org.springframework.extensions.surf.util.I18NUtil;
/**
* RM v2.3 patch that creates the versions event.
*
* @author Roy Wetherall
* @since 2.3
*/
public class RMv23VersionsEventPatch extends AbstractModulePatch
{
/** event details */
private static final String EVENT_TYPE = "rmEventType.versioned";
private static final String EVENT_NAME = "versioned";
private static final String EVENT_I18N = "rmevent.versioned";
/** records management event service */
private RecordsManagementEventService recordsManagementEventService;
/**
* @param recordsManagementEventService records management event service
*/
public void setRecordsManagementEventService(RecordsManagementEventService recordsManagementEventService)
{
this.recordsManagementEventService = recordsManagementEventService;
}
/**
* @see org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch#applyInternal()
*/
@Override
public void applyInternal()
{
// add versions event
recordsManagementEventService.addEvent(EVENT_TYPE, EVENT_NAME, I18NUtil.getMessage(EVENT_I18N));
}
}