Latest drop of Invite Workflow Process Definition and Model

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@9352 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Glen Johnson
2008-06-02 11:12:17 +00:00
parent 1fa39e6f7c
commit 367433d586
2 changed files with 75 additions and 60 deletions

View File

@@ -11,12 +11,8 @@
<types> <types>
<!-- Custom Tasks --> <!-- Custom Tasks -->
<type name="wf:startInviteTask">
<parent>bpm:startTask</parent>
</type>
<type name="wf:inviteToSiteTask"> <type name="wf:inviteToSiteTask">
<parent>bpm:workflowTask</parent> <parent>bpm:startTask</parent>
</type> </type>
<type name="wf:acceptInviteTask"> <type name="wf:acceptInviteTask">

View File

@@ -2,58 +2,77 @@
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:invite"> <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:invite">
<swimlane name="initiator" /> <swimlane name="inviter"/>
<start-state name="start"> <swimlane name="invitee"/>
<task name="wf:startInviteTask" swimlane="initiator" />
<transition name="" to="inviteToSite"/>
</start-state>
<task-node name="inviteToSite"> <start-state name="start">
<task name="wf:inviteToSiteTask" swimlane="initiator" /> <task name="wf:inviteToSiteTask" swimlane="inviter" />
<transition name="" to="invitePending"> <transition name="" to="invitePending">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script> <script>
var mail = actions.create("mail"); /* TODO glen.johnson@alfresco.com generate username and password
mail.parameters.to = invitee.properties["cm:email"]; * and create person with inactive account
<!-- TODO glen.johnson@alfresco.com - need to include Site name on subject line" */
need to include a variable to store this --> var username = "jackblac12345";
mail.parameters.subject = "Invitation to Alfresco Site"; var password = "password";
mail.parameters.from = bpm_assignee.properties["cm:email"]; var person = people.createPerson("jackblac12345", "password");
mail.parameters.text = "Hello,\n"
+ "You have been invited to join the some_site_name Site.\n"
+ "Your role in the site will be Collaborator.\n\n"
+ "Please click here http://localhost:8080/alfresco/service/api/inviteToSite?response=accept to accept the invitation\n"
+ "An account has been created for you with user" + invitee.properties["cm:name"] + "\n"
+ "An initial password has been generated for you" + some_generated_password"
+ ", please change it to a password of your choice once you have logged into the Site\n\n"
+ "Please click here http://localhost:8080/alfresco/service/api/inviteToSite?response=reject to reject the invitation\n";
mail.execute();
</script>
</action>
</transition>
</task-node>
<fork name="invitePending"> /** TODO glen.johnson@alfresco.com - need to include Site name on subject line"
<transition name="accept" to="inviteAccepted"/> * need to pass this in from Invite Web Script as property into workflow
<transition name="reject" to="inviteRejected"/> */
<transition name="cancel" to="acceptedOrRejectedOrCancelled"/> var sitename = null;
</fork>
<task-node name="inviteAccepted"> var mail = actions.create("mail");
<task name="wf:acceptInviteTask" swimlane="initiator" /> mail.parameters.to = invitee.properties["cm:email"];
<transition name="" to="acceptedOrRejectedOrCancelled"/> mail.parameters.subject = "Invitation to Alfresco Site";
</task-node> mail.parameters.from = initiator.properties["cm:email"];
<task-node name="inviteRejected"> /** TODO glen.johnson@alfresco.com - need to store id of current workflow instance
<task name="wf:rejectInviteTask" swimlane="initiator" /> * into wfid action script variable
<transition name="" to="acceptedOrRejectedOrCancelled"/> */
</task-node> var wfid = null;
<join name="acceptedOrRejectedOrCancelled"> mail.parameters.text = "Hello,\n"
<transition name="" to="end"/> + "You have been invited to join the " + sitename + " Site.\n"
</join> + "Your role in the site will be Collaborator.\n\n"
+ "Please click here http://{host}:{port}/alfresco/service/api/inviteresponse/accept?wfid={wfid}"
+ to accept the invitation\n"
+ "An account has been created for you with user"
+ username + "\n"
+ "An initial password has been generated for you"
+ password
+ ", please change it to a password of your choice once you have logged into the Site\n\n"
+ "Please click here "
+ "http://{host}:{port}/alfresco/service/api/inviteresponse/reject?wfid={wfid}"
+ "to reject the invitation\n";
<end-state name="end"/> mail.execute();
</script>
</action>
</transition>
</start-state>
<fork name="invitePending">
<transition name="accept" to="inviteAccepted" />
<transition name="reject" to="inviteRejected" />
<transition name="cancel" to="acceptedOrRejectedOrCancelled" />
</fork>
<task-node name="inviteAccepted">
<task name="wf:acceptInviteTask" swimlane="invitee" />
<transition name="" to="acceptedOrRejectedOrCancelled" />
</task-node>
<task-node name="inviteRejected">
<task name="wf:rejectInviteTask" swimlane="invitee" />
<transition name="" to="acceptedOrRejectedOrCancelled" />
</task-node>
<join name="acceptedOrRejectedOrCancelled">
<transition name="" to="end" />
</join>
<end-state name="end" />
</process-definition> </process-definition>