Clarity on Custom Development for SAP Cloud Platform Workflows
This blog post serves as a idea summary, on what’s possible in which way of custom SAPUI5-task development for SAP Cloud Platform Workflow. Since there is a lot of information there outside, but it’s often difficult to bring it together or even find it on the needed point in time, especially with the changing content today. The aim of the blog post is to get the full picture, what’s in for custom task development, rather than giving the detailed steps (other are linked for that).
Custom tasks development means development of SAPUI5-tasks for User-tasks for a SAP Cloud Platform Workflow. The alternative would be the low-code variant of configuring Forms-tasks. This way is totally fine for several cases, but if it comes to more complex visualization of User-task, or if there are wishes for a lot of special customizing of the visualization only the SAPUI5-tasks work out.
The current situation
In the last weeks an months I saw several customers struggling, combining the best of all the current possibilities. Because there have been to major changes in the last year:
- Publication of SAP Cloud Platform Workflow Management as an accelerator for SAP Cloud Platform Workflow setup
- IDE change for the most SAP Cloud Platform development and also Workflow modelling from WebIDE to SAP Business Application Studio (SBAS)
As a result there are a lot of new possibilities in regards of features and efficiency, but it has to get used in the right combinations. Therefore, I want to give some advice following here.
Whereas SAP Cloud Platform Workflow Management brings a lot of benefits during the setup process in a new account, there is one disadvantage of this automatic setup: it’s directly provided Launchpad (FLP see bellow) could not handle custom SAPUI5 tasks. The reason for that is, that you deploy your SAPUI5-applications into that HTML5-repositoriy (you probably recognized) and since the launchpad from WF Management comes automatically you can’t link this repo.
Nevertheless, I see a lot of benefits using the setup of WF-Management, especially if you want to continue using other tools around Workflow service.
Therefore, as first setup Workflow Management, for example with this tutorial, in each case (using Forms- or SAPUI5-tasks).
In case you want to use only Forms-tasks later, you could continue using the FLP coming from WF Management. Nevertheless, you should only consider this FLP for development and test purposes. Probably you also want to integrate the apps later on in your overall Launchpad.
In cases you want to use also SAPUI5-tasks later, you should do the following:
Take the manuell way for deploying your own FLP, which was also the way before WF-Management for the Cloud Foundry environment. As a result you get the probably known tree apps in one FLP, see bellow.
Hint: Doing this after WF-Management setup has the benefit, you could directly use the WF service instance from WF-Management (link it as existing service in mta) and later on use all capabilities of WF-Management on the same workflows (all apps from both FLP’s will provide the same content, just the MyInbox in WFM-FLP will not correctly shot the SAPUI5-tasks).
Ways to develop SAPUI5-tasks in SBAS
Now the question is, how to develop SAPUI5-tasks in SBAS (SAP Business Application Studio), to fill the Inbox. Unfortunately, it don’t provide that nice templates the WebIDE did.
But there are several ways to get them in SBAS.
Before the ways are getting different, you should consider the basic setup for the Cloud Foundry environment (same as before in WebIDE, if you had workflows for CF):
- For existing projects: best is to import or clone them from your git-repository into SBAS.
- For new projects follow the blog post (starting from: ‘Get our feet wet…’) for creating a MTA-project and workflow-module.
If you have the basic project-setup of MTA-project and workflow-module, I see currently three ways to continue developing the SAPUI5-tasks:
- For existing projects, it’s definitive the best way to continue using your existing project from WebIDE. Probably you have to adjust the build-process of the UI5-applications to ‘npm run build’ in the mta.yaml, compare the documentation.
- For new projects:
- Therefore, I currently see the best way in importing an existing SAPUI5-task, adjust it to your needs and don’t forget to link it to WF and MTA.yaml. You could rather use your own one, or use some published to the community.