Expand my Community achievements bar.

SOLVED

AEM Workflow Scheduled Activation.absoluteTime.. not working. Any suggestions..

Avatar

Level 4

Hello Team,

I am capturing the value of the absoluteTime from the dialog. and reading that value in the following process step and setting it to the workflow metadata. But even then it is not waiting for the time I mentioned in the absolute time..

Participant Step(dialog value of absoluteTime,AbsoluteTimeAutoAdvanceHandler) --> Process Step(setting the value in the workflow metadata,AbsoluteTimeAutoAdvanceHandler) --> No Process Step(AbsoluteTimeAutoAdvanceHandler) -->Activate(Activate Page Process step)-->SendEmailNotification(Process Step)

Not sure what I am doing wrong. but its not waiting for the time I set in the absoluteTime. I debugged and verified after setting the values in the process step where I am setting the values in the metadata and also by the time its coming to the sendemail process, workflowdata is having the metadata values I set. Any suggestions.. 

List<HistoryItem> historyList = session.getHistory(item.getWorkflow());int listSize = historyList.size(); HistoryItem lastItem = historyList.get(listSize-1); String type = lastItem.getWorkItem().getNode().getType();if (type != null && type.equals(WorkflowNode.TYPE_PARTICIPANT)) { String millis = lastItem.getWorkItem().getMetaDataMap().get("absoluteTime", String.class).toString().substring(0,19).replace("T"," "); //For now I am hardcoding the milliseconds value to test it.    millis = "1468373400000";//data from last test time; 20:30 EST. item.getWorkflow().getMetaDataMap().put("absoluteTime", millis); item.getWorkflowData().getMetaDataMap().put("absoluteTime", millis); }
1 Accepted Solution

Avatar

Correct answer by
Level 4

Couple of things that came for observation during solving this problem.

1. Absolute time advance handler is not firing on process steps and just firing only on the participant step.

2. I had to write the custom process step to get the value from workItem.getMetaDataMap and write it into the workflowData

3. I had to override the AbsolutetimeAdvanceHandler to pick the value from workflowData.getMetaDataMap for time out value.

I am able to solve the problem of scheduled activation.

I still wonder it would have been easy if the AbsolutetimeAutoAdvanceHandler is fired even on process step.Not sure whats the thought process for only firing it on the participant step.

Is there any way to capture the scheduled time in the notification messages, for eg: /content/geometrix is scheduled at 10:30 EST 07/15/2016 in the details of the notification?

/libs/granite/ui/components/foundation/form/datepicker just has the ability to pick the date, but not the time. Time has to be entered manually after choosing the date by modifying the 00:00. Is there any configuration to change the date picker to choose time along with the date?

View solution in original post

1 Reply

Avatar

Correct answer by
Level 4

Couple of things that came for observation during solving this problem.

1. Absolute time advance handler is not firing on process steps and just firing only on the participant step.

2. I had to write the custom process step to get the value from workItem.getMetaDataMap and write it into the workflowData

3. I had to override the AbsolutetimeAdvanceHandler to pick the value from workflowData.getMetaDataMap for time out value.

I am able to solve the problem of scheduled activation.

I still wonder it would have been easy if the AbsolutetimeAutoAdvanceHandler is fired even on process step.Not sure whats the thought process for only firing it on the participant step.

Is there any way to capture the scheduled time in the notification messages, for eg: /content/geometrix is scheduled at 10:30 EST 07/15/2016 in the details of the notification?

/libs/granite/ui/components/foundation/form/datepicker just has the ability to pick the date, but not the time. Time has to be entered manually after choosing the date by modifying the 00:00. Is there any configuration to change the date picker to choose time along with the date?