BPT Custom Taskbox

BPT Custom Taskbox


There have been some questions around custom rules for user/group/team assignment as well as activity manipulation outside of the provided BPT's EPA (taskbox).

I'd like to share with you an example espace of how you can use BPT's API/data model to create your custom taskbox as well as add extended properties to activities or processes and have it seamlessly into your application.

I’ve tried to keep the espace as simple as possible to show only the required information. I think it is quite self explainable except for the “Inbox query” (Actions\BPM_GetUserActivities\GetUserActivities). Still, I think you won’t have to customize that query a lot (except for the filtering/ordering for which sections are commented). It already supports Multilanguage in case you are translating your activities/processes.
It uses EnterpriseManager with the Roles/Groups feature. You’ll need to import the espace to import the privileges/permission areas, create some roles that use those privileges, create some teams and give the users those roles in each team. If you check the code, the group for the activities in the Project process are assigned based on the Project’s team.
It also shows how to use an extension entity to hold some more information for the activity (in this case I’ve included an IsUrgent flag and a “Extra information” attribute (check ACTIVITY_INBOX and how it is filled in the generic Process callbacks and/or a specific activity callback)
There is also the notion of a “Session current activity”, maintained by the custom inbox and showing a section in the top right corner with the current activity information (and actions on it). Note that this is not the same as opening an activity via the BPT builtin taskbox, as the session variable that holds that information is not the same.

Hope it helps ;)
Gonçalo Borrêga
Very cool!

Just had a quick look and, although it seems a bit harder to setup, it looks very useful if you need to something a bit more custom than EPA's taskbox.

It would be so nice to have the BPT-API available without having to use Enterprise Manager.
Move it all to EPA-taskbox eSpace or Service Center.
I also posted this on WoC.

We're using an external system for user mgt and authorization.
That way we can't (don't want to) use Enterprise Mgr.

Any suggestions ?
Hi Joost,
The api is on EM because some of those actions actually refer to EM entities (GROUP). Anyway, you can just move them to another eSpace if you like.
I'm sure that if it is on WOC it will be reviewed and, if the API is not EM related, it can easily be moved to EPA_TaskBox, or even better, to an isolated espace (I am not using EPA_TaskBox for instance... only custom inboxes)

To isolate the functions in a seperate eSpace, to me, is a must :-)
Don't force organisations to implement the dragon EM if it is not used...

I've been digging a little deeper and saw in the tutorial it's using the UserMaster table from EM ...

So tell me is the default EPA taskbox responding on (system)User or on (EM)UserMaster table
If the user logs in and the taskbox should be showing tasks for the user ??
Hi Joost,

The EPA_taskbox responds to User.
The EPA_taskbox however also supports EM Groups. Imagine you want to assign an activity to a team instead of a single user... EM's groups/roles/privileges support all these complex patterns, so EM has it's own API to assign a user to a group... EPA_Taskbox supports this and instead of showing only the logged User (System.User) activities it also shows those for the teams in which he has the required privileges.

If you want "non-EM" group assignment (or any other assignment rule beside direct System.User) you'll need to build a custom taskbox to use the BPT model to get the open activities for that custom rule.


To me this sounds a little strange.
EPA Taskbox reacting on system.user AND on em.group

To keep it straight I think it should be reacting on
1. system.user and system.permissionarea (as I can select those in the human activity)
2. em.usermaster and em.groups

Preferably I would suggest the first option. And move all (API) functionallity to a separate eSpace or combine it in the EPA Taskbox eSpace.
I will dig a little deeper in your custom taskbox. I've seen a glimpse and it looks suitable for our solution.

Sorry I meant Joop, not Joost.
Thanks for the warning Joost ;)
Actually it does react on all of them.
EM maps UserMaster to system.User via a foreign key and also Permission Areas to EM Privileges... so when you use EM as a user provider we are talking about the same user and permission areas/privileges
I just did a review of the sample uploaded by Gonçalo.
My new sample shows how to create a custom inbox using the user provider “Users” (and not the Enterprise Manager).  
Hi Paulo,

Nice initiative..This sample will help the new members of our community (mainly the ones that started working with the new user model) to understand how we can adapt and customize the BPT taskbox, according to the client needs, and of course using the new model provided by the User's eSpace.

Best Regards,
Gonçalo M.

Great Paulo!
What if we publish it in the Forge?
It would be interesting to see it grow as a list of patterns that can be reused on common process oriented applications... I'll join the component team! :) 
Excelent idea Gonçalo!
That kind of list of patterns can be an excelent place to compile BPT patterns according to the best practices..
This will surelly boot the agile development using BPT in a correct and optimized way, from a simple to a complex process, driving into a faster identification of real-life problems and Workflows, with the advantage that we can reuse those well performed patterns.

Just a tip: Please write some explanations about each step of your Workflow to help a person who have to look at each pattern..

Gonçalo Martins
I needed a Custom Taskbox to display Activities & Notifications
more info here.
So I extended Gonçalo Borrêga's & Paulo Garrudo's  Taskbox and came up with this.
For anyone using Oracle, see the attachment for a corresponding version (Garrudo's eSpace will work in Sql Server only).
Sorry for necromancing this thread, but is there a more recent example for making a custom taskbox? The original example is from 2010 (platform 5 - does anyone even recall it?), and no doubt many things have changed (Enterprise Manager being depricated, for one).

The more recent examples in this thread, submitted by Paulo Garrudo (Sql Server) and me (Oracle), should still work.

You can also check the Taskbox Plus component.

HI Paulo,

Thanks for the swift answer, I'm checking it out right now.
Hello Kilian, 

there's also an example of a custom taskboc on the Credit Request app, available on Forge.

Pedro Cardos