mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
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:
@@ -11,12 +11,8 @@
|
||||
<types>
|
||||
<!-- Custom Tasks -->
|
||||
|
||||
<type name="wf:startInviteTask">
|
||||
<parent>bpm:startTask</parent>
|
||||
</type>
|
||||
|
||||
<type name="wf:inviteToSiteTask">
|
||||
<parent>bpm:workflowTask</parent>
|
||||
<parent>bpm:startTask</parent>
|
||||
</type>
|
||||
|
||||
<type name="wf:acceptInviteTask">
|
||||
|
@@ -2,58 +2,77 @@
|
||||
|
||||
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:invite">
|
||||
|
||||
<swimlane name="initiator" />
|
||||
<swimlane name="inviter"/>
|
||||
|
||||
<start-state name="start">
|
||||
<task name="wf:startInviteTask" swimlane="initiator" />
|
||||
<transition name="" to="inviteToSite"/>
|
||||
</start-state>
|
||||
<swimlane name="invitee"/>
|
||||
|
||||
<task-node name="inviteToSite">
|
||||
<task name="wf:inviteToSiteTask" swimlane="initiator" />
|
||||
<transition name="" to="invitePending">
|
||||
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
|
||||
<script>
|
||||
var mail = actions.create("mail");
|
||||
mail.parameters.to = invitee.properties["cm:email"];
|
||||
<!-- TODO glen.johnson@alfresco.com - need to include Site name on subject line"
|
||||
need to include a variable to store this -->
|
||||
mail.parameters.subject = "Invitation to Alfresco Site";
|
||||
mail.parameters.from = bpm_assignee.properties["cm:email"];
|
||||
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>
|
||||
<start-state name="start">
|
||||
<task name="wf:inviteToSiteTask" swimlane="inviter" />
|
||||
<transition name="" to="invitePending">
|
||||
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
|
||||
<script>
|
||||
/* TODO glen.johnson@alfresco.com generate username and password
|
||||
* and create person with inactive account
|
||||
*/
|
||||
var username = "jackblac12345";
|
||||
var password = "password";
|
||||
var person = people.createPerson("jackblac12345", "password");
|
||||
|
||||
<fork name="invitePending">
|
||||
<transition name="accept" to="inviteAccepted"/>
|
||||
<transition name="reject" to="inviteRejected"/>
|
||||
<transition name="cancel" to="acceptedOrRejectedOrCancelled"/>
|
||||
</fork>
|
||||
/** TODO glen.johnson@alfresco.com - need to include Site name on subject line"
|
||||
* need to pass this in from Invite Web Script as property into workflow
|
||||
*/
|
||||
var sitename = null;
|
||||
|
||||
<task-node name="inviteAccepted">
|
||||
<task name="wf:acceptInviteTask" swimlane="initiator" />
|
||||
<transition name="" to="acceptedOrRejectedOrCancelled"/>
|
||||
</task-node>
|
||||
var mail = actions.create("mail");
|
||||
mail.parameters.to = invitee.properties["cm:email"];
|
||||
mail.parameters.subject = "Invitation to Alfresco Site";
|
||||
mail.parameters.from = initiator.properties["cm:email"];
|
||||
|
||||
<task-node name="inviteRejected">
|
||||
<task name="wf:rejectInviteTask" swimlane="initiator" />
|
||||
<transition name="" to="acceptedOrRejectedOrCancelled"/>
|
||||
</task-node>
|
||||
/** TODO glen.johnson@alfresco.com - need to store id of current workflow instance
|
||||
* into wfid action script variable
|
||||
*/
|
||||
var wfid = null;
|
||||
|
||||
<join name="acceptedOrRejectedOrCancelled">
|
||||
<transition name="" to="end"/>
|
||||
</join>
|
||||
mail.parameters.text = "Hello,\n"
|
||||
+ "You have been invited to join the " + sitename + " Site.\n"
|
||||
+ "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>
|
||||
|
Reference in New Issue
Block a user