我已经在顶层空间应用了文档版本..并且我将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功能或定义文件夹上的规则,触发操作的位置。