Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
manuel_baehr
Explorer
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.

 

Developing SAPUI5-tasks


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.

WM FLP

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:

  1. 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.

  2. For new projects:

    1. Also use the Yo-generator to create a 'fiori-module' and then the template SAPUI5 Application, compare the blog post (starting later in: 'Get our feet wet...').

    2. Then you have to manually add the workflow-coding to your SAPUI5-application. That could be really error-proune.



  3. 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.

6 Comments
tobias_steckenborn
Active Participant
Hello Manuel,

Maybe you should make it a bit more specific in terms of wording. You are not talking about tasks or activities in the strict sense, but about custom task UIs for User Tasks based on SAPUI5.

Presumably, this also applies to Start UIs based on SAPUI5. Also for Start UIs based on Forms, as far as I know, a "custom" FLP is necessary.

Best regards,

Tobias
manuel_baehr
Explorer
0 Kudos
Hello Tobias,

That would be a good idea for further enhancement.

Currently I was focusing on the custom user tasks, since I think that's a bit more hidden at the moment. Since it's not a direct work on a FLP element, but on a element inside one of the applications delivered.

It in generally also holds for the Start UI's, as I know. I don't want to adjust the current blog post, since it needs some more considerations around FLP's in general.

But thanks for the hint.

Kind Regards,

Manuel
0 Kudos
Hi manuel.baehr

I do not see the existing projects under User Task Interface when assigning custom UI in BAS-it is not there-neither for migrated projects from webIDE nor for newly created in BAS.



empty selection BAS


 

Also - I have combed through sap resources - I have not found single documentation or official blog that talks and guides through migration of workflows from webIDE to BAS...

 

Thanks,

Shan
manuel_baehr
Explorer
Hi diamar

Unfortunately I had a similar behavior sometimes.

But a workaround would be to provide the App name by your own (manually).

Therefore, you could find the name in the manifest.json of your SAPUI5-application, under the section: "sap.app" --> "id"

Provide this id, without the dots, for 'HTML5 App name' in the workflow's UI-selection screen.

And the id, with the dots, as 'SAPUI5 Component'.

Then it should work.

 

Kind Regards,

Manuel
0 Kudos
Thanks, yeah figured that much 🙂 also found out that selection is available from projects view, but not if project opened as workspace.

Regarding migration guides on existing WF apps from webIDe - are there any docs or blogs?

I have imported from git (from webIDE) and I compare it to the newly created workflow in BAS - and I see quite a lot differences - how the project from webIDE should be adapted?

Did not find any information on Workflow migration....

Thanks,

Shanir
manuel_baehr
Explorer
0 Kudos
As far as I know, there are no complete migration guides, that was one of the reasons why I wrote this blog to reach a bit clearance.

But the main part, which changes on migration between the two IDE's only, of a workflow-project are the user-tasks in UI5. The workflow itself should remain the same, since you targeted the same workflow runtime from your Web IDE.

For the UI5 user-tasks, analog to each UI5-application, there have been some changes already in the build process during usage of the Web IDE (compare the documentation) and for the deployment of these apps in general. That should be the reasons, why the new created project differs that much.

Therefore, it should help you if you find a migration guide for UI5-applications (just an example).

Kind Regards,

Manuel