我已经在顶层空间应用了文档版本..我将 6 个文档复制到空间并随机编辑并创建了版本..我想删除空间中所有以前的版本..我怎么能达到这个..
这不是一个疯狂的问题,这是我的客户要求之一......
请提出任何建议来实现这一目标...
谢谢穆拉利
我已经在顶层空间应用了文档版本..我将 6 个文档复制到空间并随机编辑并创建了版本..我想删除空间中所有以前的版本..我怎么能达到这个..
这不是一个疯狂的问题,这是我的客户要求之一......
请提出任何建议来实现这一目标...
谢谢穆拉利
我想就这么简单:
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 文件中定义 ActionExecuter
<?xml version='1.0' encoding='UTF-8'?>
<bean name="deleteVersionHistoryAction" class="com.your.package.DeleteVersionHistoryActionExecuter" parent="action-executer">
<property name="versionService" ref="versionService" />
</bean>
现在重新启动您的 Alfresco,您现在可以使用您的 ActionExecter。使用 runas 功能,或在文件夹上定义规则,触发操作。
VersionService提供deleteVersion和deleteVersionHistory。_ 目前无法通过Javascript访问此类方法,因此您需要编写一些 Java 代码。我建议您编写一个调用此类方法的自定义 Java操作。