Data destruction and cleansing

* added content destruction component which ensures all records and classified content are immediately destroyed and optionally cleansed
 * extension to eager content cleaner to allow cleansing to take place just before the content is deleted from the content store
 * base content cleanser
 * simple implementation of DoD 5220-22M cleansing algoritm
 * data cleansing enabled global configuration
 * data cleansing bean configuration
 * unit tests
 * see RM-2463 and RM-2464

+review RM 



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109121 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2015-07-29 01:26:49 +00:00
parent bc18dac0bb
commit c2cb2e11ef
10 changed files with 1055 additions and 0 deletions

View File

@@ -67,3 +67,9 @@ rm.classification.levelsFile=/alfresco/module/org_alfresco_module_rm/classificat
rm.classification.reasonsFile=/alfresco/module/org_alfresco_module_rm/classification/rm-classification-reasons.json
# The location of the exemption categories configuration file (relative to the classpath).
rm.classification.exemptionCategoriesFile=/alfresco/module/org_alfresco_module_rm/classification/rm-exemption-categories.json
#
# Content cleansing
#
rm.content.cleansing.enabled=false
rm.content.cleaner=contentCleanser.522022M

View File

@@ -0,0 +1,38 @@
<?xml version='1.0' encoding='UTF-8'?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd ">
<!-- content destruction component -->
<bean name="contentDestructionComponent" class="org.alfresco.module.org_alfresco_module_rm.content.ContentDestructionComponent">
<property name="authenticationUtil" ref="rm.authenticationUtil" />
<property name="recordService" ref="recordService" />
<property name="contentClassificationService" ref="contentClassificationService" />
<property name="eagerContentStoreCleaner" ref="eagerContentStoreCleaner" />
<property name="dictionaryService" ref="dictionaryService" />
<property name="nodeService" ref="nodeService" />
<property name="cleansingEnabled" value="${rm.content.cleansing.enabled}" />
</bean>
<!-- extended eager content store cleaner -->
<bean name="rm.eagerContentStoreCleaner" class="org.alfresco.module.org_alfresco_module_rm.content.EagerContentStoreCleaner">
<property name="transactionalResourceHelper" ref="rm.transactionalResourceHelper" />
<property name="contentCleanser" ref="${rm.content.cleaner}" />
</bean>
<bean class="org.alfresco.util.BeanExtender">
<property name="beanName" value="eagerContentStoreCleaner" />
<property name="extendingBeanName" value="rm.eagerContentStoreCleaner" />
</bean>
<!-- content cleanser -->
<bean id="contentCleanser.522022M" class="org.alfresco.module.org_alfresco_module_rm.content.cleanser.ContentCleanser522022M"/>
</beans>

View File

@@ -258,5 +258,8 @@
<!-- Import the Classified Content Services -->
<import resource="classpath:alfresco/module/org_alfresco_module_rm/classified-content-context.xml"/>
<!-- Import the Content Services -->
<import resource="classpath:alfresco/module/org_alfresco_module_rm/content-context.xml"/>
</beans>