2011-03-08 52 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功能或定義文件夾上的規則,觸發操作的位置。