2014-05-21 43 views
0

我們希望開發流暢的工作流體驗(但仍然使用工作流程)。目前,用戶需要使用sidekick來啓動工作流程,然後到收件箱,這會將他們帶回到頁面以再次使用sidekick。當他們進入收件箱時,他們需要限制到頁面的模型和路徑。如果用戶只需轉到內容頁面,並從那裏啓動需要發生的不同工作流程表單,就像在工作流程所在頁面上的一個小「收件箱」一樣。在自定義cq組件中實現收件箱功能?

我寫了一個自定義組件,可以啓動自定義工作流程。自定義組件還可以查詢WorkFlowSession並獲取組件所在的當前頁面的任何活動WorkItem(使用WorkItemFilter接口)。我想要做的就是提供一個鏈接,讓用戶可以像自己的收件箱一樣從自定義組件中進入工作流中的下一步。 這裏是一個工作項目實例toString方法輸出的例子:

21.05.2014 09:45:29.300 *ERROR* [0:0:0:0:0:0:0:1%0 [1400679929160] GET /content/test/mailing1.html HTTP/1.1] org.rand.whatcounts.EmailCampaignCoordinator Found workitem: ----------------------------- 
WorkItem Id: /etc/workflow/instances/2014-05-21/model_1400679794564399000/workItems/node4_etc_workflow_instances_2014-05-21_model_1400679794564399000 
Workflow Id: /etc/workflow/instances/2014-05-21/model_1400679794564399000 
Payload: /content/test/mailing1 
Payload Type: JCR_PATH 
key = historyEntryPath value = /etc/workflow/instances/2014-05-21/model_1400679794564399000/history/1400679924113 
key = comment value = 

我的希望是,通過使用工作流API項目,我可以創建用戶可以點擊工作流進行(就像鏈接收件箱)。

感謝收聽! 菲利普

+0

你在做什麼與Sidekick中的Workflow選項卡不同?我不明白。 – ryanlunka

+0

夥伴只允許更改工作流程狀態。是的,可以使用sidekick啓動一個工作流程(我也可以通過java代碼來完成)。但是,如果您的工作流程需要上傳文件或收集一些數據,則需要使用收件箱。你不能使用sidekick來獲得允許你上傳文件的表單。謝謝。 –

回答

1

有實現這個

基於Java的解決方案兩種方式 我能夠在

尋找
http://localhost:4502/libs/cq/workflow/components/inbox/list/json.jsp 

這個JSP的重要組成部分,是要找出一個辦法給定一個workItem實例,您可以使用JcrPathBuilderManager獲取下一步的路徑: pathBuilder.getPath(wi); 使用此功能,我可以輸出到用戶工作流程下一步的鏈接(無需用戶轉到其收件箱)。

的JavaScript/JSON基礎的解決方案 我沒有這個解決方案遠遠走(我沒寫任何JS),但是這是我的秋天後衛的位置上,如果我沒有發現上面列出的Java的解決方案。一旦可以在CQ組件中實現自定義JS,它將調用用戶收件箱的json提要,則執行一些客戶端過濾(將其限制爲僅與當前頁面相關的項目)。 Feed的網址是

http://localhost:4502/libs/cq/workflow/content/inbox/list.json?start=0&limit=40 

謝謝!

相關問題