We are using BPM to schedule meetings: I am not sure it is the best tool for the job, but that is what we are using.
We want the user who has scheduled a meeting to be able to see on a screen the list of people that have been invited, who of them have accepted the invitation, who have rejected it and who have not answered yet. It seems that Outlook already has this functionality and our client expects to see something like this on BPM.
Any suggestion on how to go about this? Do we have to build our own custom ADF screen, or is there some standard functionality that covers this requirement?
Juan Algaba Colera
Guessing you might already know what I'm going to tell you here, but one approach would be to:
1. Find out what the customer is using for their calendars. See if there is an API that you can use to add meetings to people's calendars. Even though they say they want to use BPM for this, it's not going to be successful if employee's are missing meetings because they don't see the meetings on their calendars.
2. Create an underlying database schema that would be used to store the meetings, the meeting details and who's is invited with their approval status.
3. Add the process. Have it be capable of creating instances (meetings) using a custom ADF form. How you add people to the meeting could be done in a variety of ways. One way would be to use the Shuttle component. The user would fill in the details about the meeting in this page as well. Once submitted, an id for the meeting would be created and an instance in the process would be created. Simultaneously, you'd store the meeting information in the database that you created.
4. You're probably thinking about using a parallel and complex gateway to send instances to the invitees, but you might instead consider using the human task parallel. Reason is because your meeting initiator might want to update the list of attendees (add or delete) and if you go the human task route, you can update the list through that API. If you'd used a parallel complex gateway - adding or removing invitees would be a bit more difficult. You could use the meeting's end date / time as the deadline for the human tasks to expire.
Know you know this, but outside of BPM - you're also going to have to figure out how you want the meeting originator to be able to see the people who have accepted or rejected the request and how the originator can change the metadata for the meeting as well as the invitees.