1

我已经在顶层空间应用了文档版本..我将 6 个文档复制到空间并随机编辑并创建了版本..我想删除空间中所有以前的版本..我怎么能达到这个..

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

请提出任何建议来实现这一目标...

谢谢穆拉利

4

2 回答 2

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 文件中定义 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 功能,或在文件夹上定义规则,触发操作。

于 2011-03-25T14:29:13.450 回答
2

VersionService提供deleteVersiondeleteVersionHistory。_ 目前无法通过Javascript访问此类方法,因此您需要编写一些 Java 代码。我建议您编写一个调用此类方法的自定义 Java操作。

于 2011-03-09T09:41:38.117 回答