12-12-2007 11:58 AM
org.mozilla.javascript.Undefined@75cb15<task-node name="Waiting for Artist">
<task name="wf:waitingForArtistTask" swimlane="artistsPool">
<event type="task-assign">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="wf_assigneeInfo" access="read,write"/>
<variable name="wf_studio" access="read"/>
<variable name="wf_team" access="read"/>
<variable name="wf_artist" access="read"/>
<variable name="wf_reader" access="read"/>
<expression>
logger.log("WORKFLOW TASK Create");
logger.log("wf_assigneeInfo = " + wf_assigneeInfo);
logger.log("wf_studio = " + wf_studio);
logger.log("wf_team = " + wf_team);
logger.log("wf_artist = " + wf_artist);
logger.log("wf_reader = " + wf_reader);
wf_assigneeInfo = "GROUP_" + wf_studio + "-" + wf_team + "-Artists";
logger.log("wf_assigneeInfo = " + wf_assigneeInfo);
logger.log("wf_studio = " + wf_studio);
logger.log("wf_team = " + wf_team);
logger.log("wf_artist = " + wf_artist);
logger.log("wf_reader = " + wf_reader);
</expression>
</script>
</action>
</event>
</task>
<transition name="Send to Artist" to="Create">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<expression>
logger.log("init.prop = " + initiator.properties["cm:name"]);
logger.log("bpm_wfDesc = " + bpm_workflowDescription);
</expression>
</script>
</action>
</transition>
</task-node>16:42:42,765 DEBUG [repo.jscript.ScriptLogger] WORKFLOW TASK Create
16:42:42,765 DEBUG [repo.jscript.ScriptLogger] wf_assigneeInfo = GROUP_Team1
16:42:42,765 DEBUG [repo.jscript.ScriptLogger] wf_studio = Studio1
16:42:42,765 DEBUG [repo.jscript.ScriptLogger] wf_team = Team1
16:42:42,781 DEBUG [repo.jscript.ScriptLogger] wf_artist = artist1
16:42:42,781 DEBUG [repo.jscript.ScriptLogger] wf_reader = reader1
16:42:42,781 DEBUG [repo.jscript.ScriptLogger] wf_assigneeInfo = GROUP_Studio1-Team1-Artists
16:42:42,781 DEBUG [repo.jscript.ScriptLogger] wf_studio = Studio1
16:42:42,781 DEBUG [repo.jscript.ScriptLogger] wf_team = Team1
16:42:42,781 DEBUG [repo.jscript.ScriptLogger] wf_artist = artist1
16:42:42,781 DEBUG [repo.jscript.ScriptLogger] wf_reader = reader103-28-2008 05:29 AM
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="mywf:my_migration_workflow">
<!– ======================================================================= –>
<!– Deploy to localhost 8080 /alfresco/jbpm/deployprocess –>
<!– Swimlanes for the different users the advert may touch. –>
<swimlane name="artistsPool">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<pooledactors>#{people.getGroup(mywf_assigneeInfo)}</pooledactors>
</assignment>
</swimlane>
<swimlane name="artist">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<actor>#{mywf_artist}</actor>
</assignment>
</swimlane>
<!– Need this for initial start task. From then on it belongs to an artist or reader. –>
<swimlane name="initiator">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<actor>#{bpm_assignee}</actor>
</assignment>
</swimlane>
<!– ======================================================================= –>
<!– States the job goes through. –>
<start-state name="Start">
<task name="mywf:allocateToStudioTask" swimlane="initiator"/>
<transition name="Send to Artists" to="Waiting for Artist">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="mywf_assigneeInfo" access="write" />
<expression>
pinlog.info(person.properties.userName + " started " + mywf_orderNum);
mywf_assigneeInfo = "GROUP_" + mywf_studio + "-" + mywf_team + "-Artists";
</expression>
</script>
</action>
</transition>
</start-state>
<task-node name="Waiting for Artist">
<task name="mywf:waitingForArtistTask" swimlane="artistsPool" />
<transition name="Work this advert" to="Create">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="mywf_artist" access="write" />
<expression>
var workDate = new Date();
var logLine = workDate.getFullYear() + "-" + utils.pad(workDate.getMonth()+1,2) + "-" + utils.pad(workDate.getDate(),2);
logLine += " " + utils.pad(workDate.getHours(),2) + ":" + utils.pad(workDate.getMinutes(),2) + ":" + utils.pad(workDate.getSeconds(),2);
logLine += " : Artist Working Advert ";
logLine += "(" + mywf_orderNum;
logLine += ", " + person.properties.userName;
logLine += ", " + mywf_studio;
logLine += ", " + mywf_team + ")\r\n";
var nodeParent = companyhome.childByNamePath("Completed");
var fileName = mywf_orderNum + ".log";
var logFile = nodeParent.childByNamePath(fileName);
if (logFile == null) {
logFile = nodeParent.createFile(fileName);
}
if (logFile != null) {
logFile.content += logLine;
}
pinlog.info(person.properties.userName + " working " + mywf_orderNum);
mywf_artist = person.properties.userName;
</expression>
</script>
</action>
</transition>
</task-node>
<task-node name="Create">
<task name="mywf:createTask" swimlane="artist" />
<transition name="Complete Job" to="Approved">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<expression>
var completedHome = companyhome.childByNamePath("Completed");
var completeDate = new Date();
var jobSpace = mywf_orderNum + "_" + completeDate.getFullYear() + utils.pad(completeDate.getMonth()+1,2) + utils.pad(completeDate.getDate(),2);
jobSpace += "_" + utils.pad(completeDate.getHours(),2) + utils.pad(completeDate.getMinutes(),2) + utils.pad(completeDate.getSeconds(),2);
var completedSpace = completedHome.createFolder(jobSpace);
var doneFileContents = jobSpace + "\r\n";
doneFileContents += mywf_orderNum + ".log\r\n";
doneFileContents += mywf_orderNum + ".xml\r\n";
doneFileContents += mywf_orderNum + "_import.txt\r\n";
for (var i = 0; i < bpm_package.children.length; i++) {
bpm_package.children[i].move(completedSpace);
doneFileContents += bpm_package.children[i].name + "\r\n";
}
var jobFile = companyhome.childByNamePath(mywf_studio + "/" + mywf_team + "/" + mywf_orderNum + "_import.txt");
if (jobFile != null) {
jobFile.move(completedSpace);
var completeLine = completeDate.getFullYear() + "-" + utils.pad(completeDate.getMonth()+1,2) + "-" + utils.pad(completeDate.getDate(),2);
completeLine += " " + utils.pad(completeDate.getHours(),2) + ":" + utils.pad(completeDate.getMinutes(),2) + ":" + utils.pad(completeDate.getSeconds(),2);
completeLine += " : Artist Completed Advert ";
completeLine += "(" + mywf_orderNum;
completeLine += ", " + person.properties.userName;
completeLine += ", " + mywf_studio;
completeLine += ", " + mywf_team + ")\r\n";
var completeFileName = mywf_orderNum + ".log";
var completeFile = completedHome.childByNamePath(completeFileName);
if (completeFile == null) {
completeFile = completedHome.createFile(completeFileName);
}
if (completeFile != null) {
completeFile.content += completeLine;
completeFile.move(completedSpace);
var xmlFileName = mywf_orderNum + ".xml";
var uploadAreaSpace = companyhome.childByNamePath("UploadArea");
if (uploadAreaSpace == null) {
pinlog.error("Unable to move completed files for " + mywf_orderNum);
} else {
var xmlFile = uploadAreaSpace.childByNamePath(xmlFileName);
if (xmlFile == null) {
pinlog.error("Unable to move completed files for " + mywf_orderNum);
} else {
xmlFile.move(completedSpace);
var triggerFileName = mywf_orderNum + "_export.txt";
var triggerFile = completedSpace.childByNamePath(triggerFileName);
if (triggerFile == null) {
triggerFile = completedHome.createFile(triggerFileName);
}
if (triggerFile == null) {
pinlog.error("Unable to move completed files for " + mywf_orderNum);
} else {
triggerFile.content += doneFileContents;
triggerFile.move(completedSpace);
pinlog.info(person.properties.userName + " completed " + mywf_orderNum + " : Into folder Completed/" + jobSpace);
}
}
}
}
}
</expression>
</script>
</action>
</transition>
</task-node>
<end-state name="Approved" />
<!– ======================================================================= –>
</process-definition>Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.