best grammar app

Task Handling via Email on Savvion Business Manager

Submitted by Abhishek on Fri, 2011-05-20 17:27
sxc.hu

This has probably been the most talked about topic in Business. People want the feature to complete tasks via emails. I thought maybe I should share some methods using which you could do it

Sending a Task Link

You can send a link to your task and users can click on the link to open the actual Savvion page. Before Every Workstep or from the Activation script of your work step, a notification email could be sent out to the concerned performers. The email could carry with it some basic information and a link to the work step or to the BPM Portal tasks page. Clicking on it would launch the work step details along with actions.

While implementing this approach care should be taken to compose the links in the correct format (Based on All/Any, Group/Individual Settings Savvion might create Task names and URL’s in different formats). An additional drawback could be the fact that end users who are checking the message late may not be able to figure out if the task has already been completed or not. Nevertheless, simple and quick approach.

Sending Approve Reject Buttons

 This approach is really useful for scenarios wherein the email users essentially just need to Approve or Reject. They may not be required to provide any additional information. Functionally, the system involves the following steps:

  • Each Workstep has an adapter or a pre-script which can compose notification emails and send out to the client.
  • The notification email would have the data slot names and values based on which a decision could be made. We can send out all the dataslots or maintain a list of dataslots (with order, Labels etc) in a configuration file somewhere.
  • Possible Actions for the work step along with how some decision making dataslots would be modified. For Example, consider your workflow has Approve and Reject Buttons and you have a dataslot called Approved which needs to have YES or NO based on the action, then we would need to encode this information in the link itself. One of the ways could be to create a deliminator string with workflow meta data and dataslot name, encode it and pass it as part of the URL. Another approach could be to maintain a configuration file or database table which has the details of which dataslot should be updated with what and pass the primary key of the row as part of the URL.
  • The end user, receiving the email would see the dataslot details and actions.
  • Clicking on action would launch a custom page. This page would parse the passed on information and using API Calls complete the tasks in the backend. Data slots could be updated in the process. This page would auto close or display a status message to let the user know that the task has been completed. For Commercial scale applications it is essential that privileges and security be addressed in this intermediary page.

This approach reduces lot of complexities when used on Email clients like Outlook, Lotus Notes or Webmail. Since the user does not need to load the entire page this is very fast way of approving and rejecting. All the information required to complete the task is already available as part of the email.

The drawbacks to this process are that the system would be complex in cases where user input is required as part of approval/rejection. Although using additional business logic, the pop up page could ask for only the required information, validations could become difficult. This approach also has the problem of end user not being sure if the task has been completed or not.

Replying to Emails

 Although the term is no longer that popular, a Mail Pipe is essentially an Emailing Server which has capabilities to take actions based on incoming Emails. Here is how you can use a mail pipe to action tasks via email

  • Setup an Emailing Server (SMTP/POP3) and provide it an id say support@mydomain.com
  • Write a Scheduled Job which could connect to the server using java mail (pop3) and search for new messages. The scheduled job could have thread pools which would pick up the message and start processing. A Java/J2EE based implementation can be done very easily
  • Email processor thread can interact with the Savvion Back end using API calls. Appropriate actions could be taken

This will be an extension of the Link based emailing approach. Before every task, an email would be sent out by Savvion which has details of the task. The Email could have headers/Subject which clearly depict which Instance this request pertains to. The mail itself will have options on how to approve and reject. One such instruction could be that “if you would like to Approve, type approve and reply back. If you disapprove, type disapprove and send back. You may optionally create a new line after approve/disapprove and enter your comments there”.

  • This approach needs coding from Server end. However its has several benefits.
  • With No Browser based pop ups, this approach is totally Email based.
  • No Need to worry about CSS, Javascript and layouts.
  • Unlike other approaches, this system could even be used to launch processes and not just action them.
  • Unlike other approaches, this method could involve parties outside corporate intranet to be part of the workflow.

The overall cost of building application of this scale would be high. Since validations cannot be imposed on emails, the server end needs to be made strong enough to handle incorrect responses, security violations and concurrent responses. Another drawback of this approach is that an email with huge attachments might actually choke the mail pipe and cause processing delays.

The Approach you would like to use depends on the time, cost of ownership as well as complexity. Given below is a simple comparison:

 

Links

Actions

Mail Pipe

End User Ease of Use

Very Easy

Excellent

Average

Implementation Time

Very Less

Average

Large

Development Cost

Less

Average

High

Maintenance Cost

Less

Less

High

Infrastructure Requirement

Email Server

Email Server

Email Server

Scheduled Jobs

Flexible & Customizable

Average

Very High

Average

Features

Limited

Developer can decide

Limited

Security

Custom Security Required

Custom Security Required

Custom Security Required

External Entities as part of the process

No

No

Yes


Abhishek Mishra
Good experience in working with BPM technologies like Savvion, JBPM. Founder and Chief Editor of BPMGeek.com. Founder of Savvion Business Manager Mobility Framework Savmobify| View my BPMGeek Profile
|
best grammar app

About BPMGeek

BPMGeek is an initiative to collaborate and communicate with the growing Business process management community out there. The goal is to help developers connect with experts, ask questions, post their learning and get understanding of BPM Concepts. Often tool specific knowledge of niche areas end up developers perplexed and confused - especially when there are very less number of resources available. We will be coming up several several new features. Have a look at our Roadmap here

BPMGeek is an independent entity not associated with any Product. All BPM product professionals are invited to contribute. The Logos and Names used across the site belong to their respective owners. The viewpoints mentioned by Individual contributors are their own. BPMgeek cannot be held liable for any issues arising out of it.


BPMgeek is promoting the Nounshoun English Grammar App - developed by Constellation Software.