Is there a way to trigger workflow on rollout, but after the rollout is complete?, thus delay my workflow untill rollout is completely done.? I see that my workflow runs for every chapter and path, which is not what it should be. I would want the rollout complete, generate new site Test2 with languages en_US and fr_CA and then trigger workflow to pick the sites /content/Test2/en_US and /content/Test2/fr_CA alone, and not all the chapters,
Also what i see is, since rollout is not complete and i have attached the workflow to rollout configuration, it triggers workflow for every path , /content/Test2, /content/Test2/en_US and all the chapters selected during rollout, but since copy(rollout) wasn't complete and my workflow was triggered i don't seem to retrieve nodes
Appreciate help.
Regards,
Nicole
Solved! Go to Solution.
Views
Replies
Total Likes
Have you tried writing you own Java method to retrieve and modify the JCR to get exactly what you need. If OOTB stuff does not work - create your own using the JCR API. See if you can use this API to pick up CCC instead of BBB.
Views
Replies
Total Likes
Anyone Please?
Views
Replies
Total Likes
Workflows are essentially Java orchestrations that you can include within AEM. Even if a workflow step is not there to meet your need out of the box, you can create custom workflow steps using Java. So having said that -- when you are trying to do something that is not out of the box, you can custom a step by creating a customize a workflow step and then use that step within a workflow. I recommend exploring using custom steps to fine tune your workflow. To learn how to create a custom workflow step, see http://scottsdigitalcommunity.blogspot.ca/2012/09/developing-cq-custom-workflow-steps.html.
Views
Replies
Total Likes
Managed to make progress here but i still have issues with workflow session, and i see that although i create Livecopy BBB(success), and delete it, and recreate a new livecopy CCCC, it still picks BBB as payload, and later picks up CCCC as payload. Iam wondering if it is cause of session.
Would Need some help here please scott.
Regards,
Nicole
Views
Replies
Total Likes
Have you tried writing you own Java method to retrieve and modify the JCR to get exactly what you need. If OOTB stuff does not work - create your own using the JCR API. See if you can use this API to pick up CCC instead of BBB.
Views
Replies
Total Likes
This is what i have implemented custom process step.Initially i create a livecopy BBB, on rollout a workflow gets triggered and It generates an XLIFF, successfully.
Again now, if i create another livecopy CCC with same rolloutconfig and workflow, it shows BBB, as payload path and here and there CCC, I wonder if it is something to do with session.
public void execute(WorkItem item, WorkflowSession session, MetaDataMap args)
throws WorkflowException {
// TODO Auto-generated method stub
WorkflowData workflowData = item.getWorkflowData();
System.out.println(workflowData.getPayload().toString());
String path = workflowData.getPayload().toString();
arrList.add(path);
Set<String> labelNames = new HashSet<String>();
String languageLabel;
for (int i = 1; i < arrList.size(); i++) {
System.out.println(arrList.get(i));
String handle = arrList.get(i);
languageLabel = (handle != null && handle.split("/").length > languageHierarchyLevel) ? handle
.split("/")[languageHierarchyLevel] : defaultLanguageLabel;
System.out.println("executing for handle '" + handle
+ "' and actual language '" + languageLabel + "'");
labelNames.add(languageLabel);
}
List<String> values = new ArrayList<String>(labelNames);
List<String> paths = new ArrayList<String>();
for (String val : values) {
System.out.println(arrList);
System.out.println("Path To be sent:"+arrList.get(0)+"/"+val); // arrList.get(0) retrieves /content/BBB instead of /content/CCC,
paths.add(arrList.get(0)+"/"+val);
}
Session sess = session.getSession();
try {
HashMap<String, String> map =new HashMap<String, String>();
for (String path1 : paths) {
System.out.println("Before Search:"+path1); // retrieves BBB instead of actual payload CCC
map= searchCQForContent(sess,path1);
generateXLIFF(path1, session, item, map);
}
sess.save();
sess.logout();
session.logout();
} catch (RepositoryException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Views
Replies
Total Likes
NitroHazeDev,
What was the issue and final solution? I am faced with the same challenge.
Thanks,
RKB.
Views
Replies
Total Likes
Figured it out thanks:)
Views
Replies
Total Likes