2011-03-08 50 views
1

我已经在顶层空间应用了文档版本..并且我将6个文档复制到了空间&随机编辑&它创建了版本..我想要删除所有以前的版本在空间..我怎样才能做到这一点的..如何删除特定空间/文档的版本

这不是一个疯狂的问题,这是我的客户要求一个...

请给任何建议,以实现这一目标...

谢谢 Murali

回答

4

我想这样简单:

import java.util.List; 

import org.alfresco.repo.action.executer.ActionExecuterAbstractBase; 
import org.alfresco.service.cmr.action.Action; 
import org.alfresco.service.cmr.action.ParameterDefinition; 
import org.alfresco.service.cmr.repository.NodeRef; 
import org.alfresco.service.cmr.version.VersionService; 

public class DeleteVersionHistoryActionExecuter extends ActionExecuterAbstractBase{ 

    private VersionService versionService; 

    @Override 
    protected void executeImpl(Action action, NodeRef actionedUponNodeRef) { 
     versionService.deleteVersionHistory(actionedUponNodeRef); 

    } 

    @Override 
    protected void addParameterDefinitions(List<ParameterDefinition> paramList) { 
     // TODO Auto-generated method stub 

    } 

    public void setVersionService(VersionService versionService) { 
     this.versionService = versionService; 
    } 
} 

而在* .context.xml文件

<?xml version='1.0' encoding='UTF-8'?> 

<bean name="deleteVersionHistoryAction" class="com.your.package.DeleteVersionHistoryActionExecuter" parent="action-executer"> 
    <property name="versionService" ref="versionService" /> 
</bean> 

定义ActionExecuter

现在重新启动你的Alfresco,你现在可以使用你的ActionExecter。 使用runas功能或定义文件夹上的规则,触发操作的位置。