我已經在頂層空間應用了文檔版本..並且我將6個文檔複製到了空間&隨機編輯&它創建了版本..我想要刪除所有以前的版本在空間..我怎樣才能做到這一點的..如何刪除特定空間/文檔的版本
這不是一個瘋狂的問題,這是我的客戶要求一個...
請給任何建議,以實現這一目標...
謝謝 Murali
我已經在頂層空間應用了文檔版本..並且我將6個文檔複製到了空間&隨機編輯&它創建了版本..我想要刪除所有以前的版本在空間..我怎樣才能做到這一點的..如何刪除特定空間/文檔的版本
這不是一個瘋狂的問題,這是我的客戶要求一個...
請給任何建議,以實現這一目標...
謝謝 Murali
VersionService提供了deleteVersion和deleteVersionHistory。目前無法通過Javascript訪問此類方法,因此您需要編寫一些Java代碼。我建議你寫一個調用這種方法的定製Java Action。
我想這樣簡單:
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功能或定義文件夾上的規則,觸發操作的位置。