What options do I have to create custom user interface in ActiveMatrix BPM?
Are there APIs? How can I create my own custom clients?
There are many many options for custom UI.
I will summarise as follows in order of complexity (easiest first) - then really really really recommend you start on the appdev/html5 stuff.
Appdev: (HTML5 based - client side scripted apps)
These are HTML5 AngularJS based APIs dev capabilities - remember HTML5 means its easy to create stuff that works on any device, mobile or desktop.
- Business Components
This means you take our existing angular JS components and use them for stuff like worklist, case list, task, business service.
This is easy - and should be your first port of call. You can drop these components into any angular based application.
You have the option of completely changing the look and feel by changing the angular HTML template for each component.
Note: Business Components should be the FIRST place you try with API. They are supported components - why wouldn't you construct your UI from these if they do what you want?
Samples: The product comes with two samples using these components - we call them re-composable Apps - there is a Case Management App and WorkApp. There is also a ComponentShowcase app demonstrating how they work.
- Business Component Services
This means you like the above Business Components but want to create your own angularJS components using the underlying angular JS services.
You can of course include Business Components in your components.
Case Manager Accelerator is mostly constructed of Business Components and Business Component Services.
We do use this in Case Manager Accelerator occasionally when the Business Component Services doesn't do what we need.
NOTE: The Case Management Accelerator is designed to give customers a quick start - your customer should consider taking this and extending it. However, first they should look at the product appdev samples - like Component Showcase since these are very simple apps.
Native product APIs are documented here:
For me these APIs now only really make sense for server side dev or you really want to avoid angularJS:
There is a full REST API you can call if you really want to do direct REST calls.
Web Services API:
There is a full Web Service API you can use if you want to call WS soap/http etc:
Java Service Connector:
If you really want to write java apps - you can use this:
Thanks for your comments.
I answered the appdev UI question here:
But in summary - you can use radjad and your own IDE. In fact that is what I recommend - radjad provides a very easy/quick mechanism for developing the appdev UI.
Question 2: Some of the templates are provided but not all of them (there are a lot!). However, it is possible to pull all the templates from the tibco-components.js in app-cdn if you really want them.
Question 3: We are currently using AngularJS 1.x since it is very mature and supported - we might move to a future AngularJS version in the future but right now its not a priority. You may want to add your idea/request on the ideas portal so product management understand your request:
Finally I just wanted to mention if you want to create/modify UIs in appdev I would strongly recommend you check out the Case Management Accelerator which is a full custom UI implementation in appdev - comprised of lots of new re-usable components:
If you have more queries on this area please feel free to post them as new 'Answers/Questions' and I will try and help.
Thanks for the information. I had some questions when I was exploring appdev capabilities. May be, you can shed some light on these..
1. Are developers supposed to write code in app dev web interface? Sometime, it feels convenient to write code in local environment with a IDE like sublime text. May be, we could have a local copy of the "App Cdn" to refer to tcf.nocache.js etc. Interestingly though, all the sub-directories inside "App Cdn" contains underscores (example "angular_ui_grid") . However, while referencing from html, we refer using hyphens (example "angular-ui-grid").
2. Documentation suggests that sample "workApp" application contains all custom templates for the business components and can be modified to use as per customer's prference of look and feel. We don't seem to find the login html for the component "bpm-login". We can however create our own template for users to enter username/password and refer that template from the component. What happens though if we want to customize the error message (for invalid login. currently, it probably pops up soemthing like "Unauthorized Logon"). Doesn it mean, then - we will rather have to build our own component using the component service "BPMLoginService"?
3. With no hotfix, AMX BPM 4.1.0 supports angular js 1.4.8 (or, that's what it has in its App Cdn). So, if one wants to build an app on angular 2.x, can we still refer to web cdn and not app cdn for that? Or, the recommendation would be to wait for AMX BPM future version/hotfix to refresh and bring in angular latest version?