This content has been marked as final. Show 2 replies
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.