2014-04-25 12 views
0

我在文件夹草稿上创建了一个简单的工作流程,因此如果上传新文档,用户将会收到通知。如果文件被批准,它将被转移到“待批准”。由于没有截止日期功能,任务未出现在用户的网站上,我尝试在文档本身上创建高级工作流程,并再次分配给同一用户进行审阅。但是,当用户通过任务菜单批准并且受让人将任务设置为“已完成”时,文档不会移至“待批准”文件夹。Alfresco分享:批准审核后文件未移动

我想要做的是在将新文​​档添加到文件夹时触发高级工作流程,而不是手动将其分配到特定文档。当工作流程被触发时,任务通知将被发送到具有到期日期的用户(审阅者)。

使这项工作的唯一方法是构建自定义工作流程?如果是这样,我可以举个例子,我应该编辑哪个文件? 在此先感谢!

回答

0

如果你可以重新说明你的问题,可能会使它更清晰。 你是什么意思

做,如果文件被批准,它将被移动到“待批准”

这是最好的露天开发者指南(在我个人看来)的先进工作流程之一。这给了一步一步的指导,以创建自定义工作流

Custom workflow Tutorial

您还可以找到的代码片段移动和替换在露天文件“操作” Here

,完整的类代码Here

核心代号为 “移动” ONLY是:

public void executeImpl(Action ruleAction, NodeRef actionedUponNodeRef) { 
    // get the replaces associations for this node 
    List<AssociationRef> assocRefs = nodeService.getTargetAssocs(actionedUponNodeRef, ((QNamePattern) QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "replaces"))); 

    // if there are none, return 
    if (assocRefs.isEmpty()) { 
     // no work to do, return 
     return; 
    } else { 
     NodeRef destinationParent = (NodeRef)ruleAction.getParameterValue(PARAM_DESTINATION_FOLDER); 
     for (AssociationRef assocNode : assocRefs) { 
      // create a noderef for the replaces association 
      NodeRef targetNodeRef = assocNode.getTargetRef(); 
      // if the node exists 
      if (this.nodeService.exists(targetNodeRef) == true) { 
       try { 
        fileFolderService.move(targetNodeRef, destinationParent, null); 
       } catch (FileNotFoundException e) { 
        // Do nothing 
       } 
      } 
     } // next assocNode 
    } // end if isEmpty 
} 

希望这将有助于

+0

谢谢......但是,如果我采用其他方式,使用执行脚本应用截止日期和显示任务,有可能吗?因为我希望在文件夹中插入新文档时自动运行工作流程。根据我在高级工作流程中的理解,我需要在文档上指定。 –