02-23-2017 05:51 PM
I'm interested in wiring workflows up to non-traditional interfaces like SMS, phone, or chat. This requires me to get into some of the nitty-gritty details of the structure of tasks and so on. Any tips?
The first bit of detail I'm poking around in is the userTask, as that seems to be the primary place where a workflow requests input. The API docs are quite sparse and are missing quite a few of the classes I'm interacting with as I work with the various bits of the engine. The manual is also mute on this topic.
Any help is welcome.
Thanks!
02-24-2017 02:51 PM
You're right in your assertion surrounding the userTasks; they're where user input, and user interaction in general are located.
I think, in my mind at least, interacting with external services makes a lot more sense when done through a lower level than the UI components provided in something like the designer. I don't think that was your intended attempt, but what I really mean is that implementing these features within Java, then wiring them with service task would be a more optimal, and much more modular utilization of the available resources.
For example, relating to your SMS connectivity:
There are several Java packages available, some of them are open source, and some of them are packages meant to integrate services like Twilio - which is paid messaging platform. Either way, plenty of options - so you have the ability to develop that however you'd like to, following standard Java patterns. Then, within Activiti, you can simply make a call to that Java code, via a service task (there is a 'Class' field in the Service Task, that allows you to call any custom class, and you can specific inputs, etc).
If you could expand a little bit more on the various bits you're interacting with and having to get nitty-gritty with, I can probably elaborate on those a little bit
EDIT: I didn't notice your original question in the title. I'm not sure I understand exactly what you mean, however, there are REST endpoints built in that allow you to query for variables inside of a task, and for retrieving values in form-fields. Check out the API calls here, in the developer guide - maybe those are along the lines of what you're thinking? If not - we'll dig deeper.
Hope this helps as a start,
-JEarles
bp3
Explore our Alfresco products with the links below. Use labels to filter content by product module.