cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco Timer Flow

alfsender
Champ in-the-making
Champ in-the-making
Hi All,

I am working in Alfresco, and implementing Activiti workflow. I have a requirement where user will start workflow on a document / content, say user is starting workflow on 09/Oct/2014, it should get finished with in 5 days, so basically i need timer event for entire workflow.

Is there a way to achieve this feature in Activiti.

Request you to provide your useful inputs..

Thanks & Regards.
3 REPLIES 3

martin_grofcik
Confirmed Champ
Confirmed Champ
Hi,

You can put timer boundary events to call activity or subprocess.

http://www.activiti.org/userguide/#bpmnSubprocessAndCallActivity

Regards
Martin

alfsender
Champ in-the-making
Champ in-the-making
Hi Martin, Thanks for the link. I tried to use sub-process. But when I deploy my BPMN file to Alfresco I get this exception when I start workflow on a document / content . 09120015 Start task not found! Expected 1 task but found: 0

My Workflow is as below.

Main Flow :
[start1] —> —-> [end]

Sub Process Flow :
[start] —> [userTask1] —> [userTask2] —> [end]

Sub Process has a boundary timer event.. which call a service task to send out an email. So my main goal is if user is not finishing the sub-process in 4 days I should send out a notification email to that person. Below is my BPMN xml file.
<code>
  <process id="myProcess" name="My process" isExecutable="true">
    <startEvent id="startevent1" name="Start"></startEvent>
    <subProcess id="taxDeclareSubProcess" name="Tax Declaration Sub Process">
      <startEvent id="startevent2" name="SubStart"></startEvent>
      <userTask id="usertask1" name="User Task"></userTask>
      <sequenceFlow id="flow2" sourceRef="startevent2" targetRef="usertask1"></sequenceFlow>
      <userTask id="usertask2" name="User Task"></userTask>
      <sequenceFlow id="flow3" sourceRef="usertask1" targetRef="usertask2"></sequenceFlow>
      <endEvent id="endevent3" name="SubEnd"></endEvent>
      <sequenceFlow id="flow7" sourceRef="usertask2" targetRef="endevent3"></sequenceFlow>
    </subProcess>
    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="taxDeclareSubProcess"></sequenceFlow>
    <endEvent id="endevent2" name="End"></endEvent>
    <sequenceFlow id="flow5" sourceRef="taxDeclareSubProcess" targetRef="endevent2"></sequenceFlow>
    <boundaryEvent id="boundarytimer1" name="Timer" attachedToRef="taxDeclareSubProcess" cancelActivity="false">
      <timerEventDefinition>
        <timeDuration>PT4H</timeDuration>
      </timerEventDefinition>
    </boundaryEvent>
    <serviceTask id="servicetask1" name="Initimate user" activiti:delegateExpression="${SendEmailTask}"></serviceTask>
    <sequenceFlow id="flow6" sourceRef="boundarytimer1" targetRef="servicetask1"></sequenceFlow>
  </process>
</code>
Can you please help me why that exception is coming.. i tried various approaches but didn't found any solution.

I very much appreciate your help.

martin_grofcik
Confirmed Champ
Confirmed Champ
Hi,

I created simple jUnit test project (https://github.com/martin-grofcik/activiti-unit-test-template/tree/forum-timer-alsfresco). It uses activiti (I am not familiar with alfresco). And test passed. COuld you reproduce the issue in this jUnit test?

Regards
Martin