Workflow 还原到工作流之前的文档版本-Alfresco

Workflow 还原到工作流之前的文档版本-Alfresco,workflow,alfresco,activiti,alfresco-share,Workflow,Alfresco,Activiti,Alfresco Share,在自定义工作流中,我在创建工作流时对PDF进行了一些更改: <activiti:executionListener event="start" class="pt.entp.fields.CreateFields"></activiti:executionListener> 我想,当我取消工作流时,工作流会清除创建时所做的更改。无法执行此操作?首先将当前版本存储在启动工作流侦听器中: NodeRef myPdfnode = ... String cu

在自定义工作流中,我在创建工作流时对PDF进行了一些更改:

<activiti:executionListener event="start" class="pt.entp.fields.CreateFields"></activiti:executionListener>


我想,当我取消工作流时,工作流会清除创建时所做的更改。无法执行此操作?

首先将当前版本存储在启动工作流侦听器中:

    NodeRef myPdfnode = ...
    String currentversion = serviceRegistry.getVersionService.getCurrentVersion(myPdfnode).getVersionLabel(); 
    execution.setVariable("mynode_currentversion", currentversion);
您需要使用结束工作流侦听器还原pdf文档的版本

 <activiti:executionListener event="end"
 class="pt.entp.fields.WorkflowEnded"></activiti:executionListener>

首先将当前版本存储在启动工作流侦听器中:

    NodeRef myPdfnode = ...
    String currentversion = serviceRegistry.getVersionService.getCurrentVersion(myPdfnode).getVersionLabel(); 
    execution.setVariable("mynode_currentversion", currentversion);
您需要使用结束工作流侦听器还原pdf文档的版本

 <activiti:executionListener event="end"
 class="pt.entp.fields.WorkflowEnded"></activiti:executionListener>

我试过了,真的选择了1.0版,但是文档和我启动工作流时创建的字段是一样的。我怀疑我还原版本的代码不好。不知道怎么做。您可以在ScriptNode.java源代码中找到示例代码,其中有一个revert()方法。我已经更新了答案。它现在恢复到第一个版本。如果需要其他版本,请将该版本存储在startlistener的wf executioncontext中,并在endlistener中查找该版本。
找不到symbol[ERROR]symbol:method getRootVersion(org.alfresco.service.cmr.repository.NodeRef)
如何将实际版本保存在startlistener的wf执行上下文中?你能给我举个例子吗?我试过了,真的选择了1.0版,但是文档和我启动工作流时创建的字段是一样的。我怀疑我还原版本的代码不好。不知道怎么做。您可以在ScriptNode.java源代码中找到示例代码,其中有一个revert()方法。我已经更新了答案。它现在恢复到第一个版本。如果需要其他版本,请将该版本存储在startlistener的wf executioncontext中,并在endlistener中查找该版本。
找不到symbol[ERROR]symbol:method getRootVersion(org.alfresco.service.cmr.repository.NodeRef)
如何将实际版本保存在startlistener的wf执行上下文中?你能给我举个例子吗?