1

ドキュメント バージョンを最上位スペースに適用しました.6 つのドキュメントをスペースにコピーし、ランダムに編集してバージョンを作成しました.スペース内の以前のバージョンをすべて削除したい..どうすればよいですかこれを達成..

これは気違いじみた質問ではありません。これは私のクライアントの要件の 1 つです...

これを達成するための提案をしてください...

ありがとうムラリ

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 Actionを作成することをお勧めします。

于 2011-03-09T09:41:38.117 に答える