Technology Blog Posts by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
23,189
Do you have Fiori Elements applications you use but you really wish you could extend in some way?  For instance, perhaps you have an application that uses the List Report Fiori Element and you’d like to add a couple of filters to the Smart Filter bar?  As of Web IDE version 1809, you can do that!

In Web IDE, you can create a new Adaptation Project, indicate what application you’d like to base it upon, and then easily create a new variant, using the new SAPUI5 Visual Editor.

When you create an Adaptation Project, you are creating a new variant of an existing application. The app variant refers to the original application but contains separate set of changes created in the adaptation project. Also, an application ID is defined for the variant and needs separate registration in Fiori Launchpad.

In our aforementioned use case of adding some filters to the Smart Filter of a Fiori Elements List, you would do the following steps:

  1. Create a new adaptation project

  2. Name the new project’s name and choose the application upon which you want to base the variant. A new project is created and listed in your Web IDE workspace.

  3. Right click on the project and select, SAPUI5 Visual Editor to make changes to the project.

  4. This brings up your project in the SAPUI5 Visual Editor. This editor was formerly known as the UI Adaptation Editor, but the name has changed as its abilities have grown.  In the past, you could preview the application, make changes to the properties of controls in a Fiori Elements application, see an outline view of the controls and see a list of changes that had been made.  That functionality still exists, but now you can also add code fragments and extend with a controller. 




 

Again, changes made via the SAPUI5 Visual Editor are saved to a Changes folder and saved in the layered repository to be applied when the application is run.



From the editor you can preview your changes and ensure everything works. Once you’re satisfied with your changes, you can easily deploy your application and, because it has a different Application ID than the original application, both the original application and the new variant’s tiles will be available.

Technical notes for this initial release:

  • Source applications must be located on an ABAP repository.

  • You can create variants of Fiori Elements based applications. In a future release we will add support of SAPUI5, “freestyle,” applications as well.


Helpful links:

SAPUI5 Visual Editor 

Adaptation Projects for Fiori Elements Applications
77 Comments
former_member600413
Discoverer
0 Kudos
Hi @jessica.merz

 

I have followed your blog. It looks awesome.

I was trying to use this adaption project for Manage decision app, we are already on 1909. https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#/detail/Apps('F2345')/S15OP

But, I while creating adaption project, I am facing below error: Our UI version 1.71+

select a different application. application project does not support the selected application.

Can you suggest any possible issue?

 

Thanks,

 

 
nikhil_haldankar
Associate
Associate
0 Kudos
Hello ,

i have created Adaptation project adding facet.

Sometimes i am getting "Merged descriptor could not be fetched from backend, falling back to non-merged execution"

error, resulting its not able to load the extended change.

I see this message is getting populated from adaptation_index.js file. This is very unsual.

When i open visual editor in the preview mode , i see my new added facet but when i run in the browser, i see this error and extended facet is not visible .

Could you please help here.

Best Regards,

NIkhil H
Margot
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Javier, Vaibhav, Mark,

Extension project and adaptation project pursuing different approaches: While with the extension project you create your own “slim” app that needs to be loaded with the original app, the adaptation project creates a semantic app variants with a separate app descriptors and a change file per adaptation which are merged during runtime with the original app.

A major benefit of the adaptation project is that you are not restricted to one extended/adapted standard app but you can create as many app variants as you need and that your are not restricted to extension points to be able to make your changes.

I’d rather use the adaptation project than the extension project, also because there are no further improvements planned with the extensibility concept while adaptation project evolves.

former_member435529
Participant
0 Kudos
Thanks Margot
roman_g1
Explorer
0 Kudos
How do you fix this issue?
Same with fin.ap.paymentproposal.schedule
0 Kudos


Getting above error in adaptation project from application md_bps1.
hristotsolev
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Poonam,

 

It is not a known issue. Can you please submit support ticket to CA-UI5-FL-ADP-WDE , your issue will be handled right away.

 

Thank you,

Regards,

Hristo
0 Kudos
Hi Hirsto,

Issue is resolved now. I changes sapui5 version to 1.78.

Thanks,

Poonam
0 Kudos
Hi Margot,

For standard fiori elements based applications only adaptation option available?
Margot
Product and Topic Expert
Product and Topic Expert
0 Kudos
With standard Fiori element based applications you have more or less the same options than with standard Fiori freestyle applications. You can adapt the UI but you can also do controller extensions and add custom logic to your app.

See also this more recent blog post from my colleague Hristo Tsolev.
former_member743983
Discoverer
0 Kudos
Hi All,

The whole blog and comments chain was very informative.
I have a requirement where I need to conditionally hide fields in one of my application. Application title is Manage Purchase Requisition Professional. This is a standard fiori elements application in which we need to do some semantic changes. I created a new adaptation project for the same. Now in object page based on document type we need to hide few fields.

Any suggestion for this.

 

Thanks

Manish
sapandre
Discoverer
0 Kudos

SAP Folks, you need to update 2964080 - SAPUI5 Visual Editor cannot load app in adaptation project.

Here is how I solved it:

  1. Do not run SAP WebIDE in incognito mode in Chrome! Many developers happen to have various S-numbers for various customers. Those login contexts conflict with each other!
  2. In Chrome go to Settings, cache. In the popup window titled "Clear browsing data" select "Advanced" tab. In "Advanced" tab select all items and click "Clear data" button.
  3. Close all Chrome sessions and ,then, re-open a Chrome browser session.
  4. Launch SAP WebIDE. Re-create your adaptation project from a standard Fiori App you want to adapt.
  5. Right click on your new adaptation project and go to  Project Settings --> SAPUI5. Set your project SAPUI5 version to 1.78.18 .
  6. Next, here in "Project Settings" go to "Project Types" and make sure to uncheck "Smart Project".
  7. Save the Project Settings and exit back to your project in SAP WebIDE. Right-click on the project and select "Refresh Workspace Items".

Now you should be able to launch SAPUI5 Visual Editor.

former_member743983
Discoverer
0 Kudos
SAP Folks, Any help would be appreciated over here.
hristotsolev
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Manish,

While using the Visual Editor of the Adaptation Project, did you try selecting the fields you want to hide and change their Visibility property to false ?

Please share how it went for you,

Regards,

Hristo
former_member743983
Discoverer
0 Kudos
Hi Hristo,

What you suggested I am able to do. But my ask is different. I need to hide a field based on the value of document type. I am not able to achieve conditional hide.

 

Regards

Manish
hristotsolev
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Manish,

Then you have to use the business logic adding ability of Adaptation Project - i.e. adding your own custom controller code which will (lets say OnLoad or whenever you need it) hide/show fields based on your conditions. You can check the documentation for it here :

 

https://help.sap.com/viewer/584e0bcbfd4a4aff91c815cefa0bce2d/Cloud/en-US/172a1fbd68e24a07bc66cf3c243...

 

Regards,

Hristo Tsolev
0 Kudos
Hi Jessica Merz,

Thanks for such a Great explanation.

 

I am having a requirement.

There is standard fiori app. I have extended that using adaptation extension. Now I am facing a problem. That standard app is actually calling from several other standard apps. so how can I enable those apps to call my  extended app instead of standard app.

Do I have to use the same "semanticobject - action" for the extended app as standard app and remove the standard app from my launchpad?  Or is there any better option?
Mr-Musa
Explorer
How to retrieve adapted project (apps) ?
hristotsolev
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Musa,

 

What do you mean by 'retrieve adapted project (apps)' , can you be more specific please? Thanks.

 

Regards,

Hristo
Mr-Musa
Explorer

Hi Hristo,, 

 

Thanks for your replay. 

 

We have the following case; currently let's say I'm creating new adapted project for a standared fiori app.

Then after some time X devloper want to do more enhancment in the same app.

 

1- How X can get to know that this fiori app already has existing adaptation project ?

 

2- How can he import this adapted project to work on new requirements?

 

 

*We are using WebIDE.

 

 

 

hristotsolev
Product and Topic Expert
Product and Topic Expert

Hi Musa,

  1. If the adaptation project is not deployed somewhere, but just sits in someone`s instance of WebIDE, it will not be possible for X to know this. If the adaptation project is deployed to some system, the easiest option for X is to see if there is an app variant of this application deployed to its LREP folder.
  2. X would not be able to use any already deployed adaptation project, for 'further' adaptation'. You can however, during development, use GIT (for example) to preserve your project. I.e. the steps would be -  1. develop adaptation project 2. push it to git. 3 deploy it. - if further adaptation is needed - 4. delete the already deployed project, 5. pull the code for the already developed adaptation project it from git. 6. continue development from the previous state, 7. deploy it again with the new changes on top.

Regards,

Hristo

Mr-Musa
Explorer
0 Kudos

Thanks Hristo.

 

This very much clarify my doubts.

 

I hope that SAP make it possible to retrieve adapted project directly without the need to use git. 

 

Thanks very much. 

Mr-Musa
Explorer
0 Kudos
 

 

You need to create new semantic object which refere to your adpated project.

 

And reuqired a metadata extension for every Apps' CDS  Where the orginal semantic object and action is used, and to extend it with new semantic and action that refere to your adapted app.

 

If you have better way kindly share with us.
former_member424591
Discoverer
0 Kudos
Hi ,

How to disabled the navigation from list page to Object page.

It should not navigate to object page.

hristotsolev
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Roshan,

This should be option for the grid, please check in UI5 documentation which property is regarding the navigation and try to disable it in EDIT mode of the Visual Editor of Adaptation Project.

Regards,

Hristo
sopizaken
Participant
0 Kudos

Hello @Margot @hristotsolev 

We are developing a custom SAPUI5 app that we integrate with our My Inbox. The My Inbox extension that we created is an Adaptation Project, done in Business Application Studio. It was successfully deployed and our My Inbox adaptation app is able to load our custom UI5, but we are having problems with the custom approval that we trigger in the custom app using the scaffolding, since the My Inbox is not using scaffolding anymore.

My question is:

  1. Is it correct that we created an Adaptation Project for the My Inbox or should we have created an Extension Project instead? Our UI5 Version of the deployed My Inbox standard app is 1.120.11.
  2. What is the difference between the Adaptation Project and Extension Project? When should we use Adaptation Project and when should we use Extension Project?
  3. If it should be an Extension Project, how do we do this in Business Application Studio? I have only seen how to create an Adaptation Project in BAS, but not an Extension Project.
  4. If we have implemented correctly (using the Adaptation Project), is there a way to customized the approval of the requests without using scaffolding? 

Appreciate your help on this. Thank you in advance.

Lee3
Active Participant
0 Kudos

Is it possible to create a variant (or several variants) of an adaptation project (via adapt-ui key user extensibility in the user settings) 

Lee3_0-1749750456351.png

and what about if the adaptation app is changed? will the variant still be working?