2014-04-25 13 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

謝謝......但是,如果我採用其他方式,使用執行腳本應用截止日期和顯示任務,有可能嗎?因爲我希望在文件夾中插入新文檔時自動運行工作流程。根據我在高級工作流程中的理解,我需要在文檔上指定。 –