The Open UX Tools Journey Continues

In November 2021, we started the journey to make the SAP Fiori tools open source (https://blogs.sap.com/2021/11/09/the-open-ux-tools-journey/). We started with templates enabling everyone to generate consistent SAP Fiori freestyle applications. Since then, we have made the existing templates more flexible based on your feedback and added new templates for SAP Fiori elements for OData v2 and OData v4.

Driven by the community’s feedback, we have also started publishing the SAP Fiori tools middlewares. We have chosen not to publish the fiori-tools-proxy as one big module but started carving out the important functionality into separate modules that can be easily reused by themselves and are combined together again as part of the SAP Fiori tools (so no need to change for existing SAP Fiori tools users).

We had initially planned to publish parts of our prompting by now; however, this has been reprioritized to allow us to invest in other modules that have higher demand.

We also published a module I would call a hidden gem: the @sap-ux/axios-extension. The module extends the well known axios module with additional convenience functionality, allowing you to interact with SAP systems. This is especially helpful for interacting with OData services. The module is intended to help you with creating tools that need to seamlessly work locally in VSCode (or your terminal) as well as inside SAP Business Application Studio.

Contributions And Other Engagements

While reading the pronoun “we” so far, you might have assumed that I have been referring to SAP but that is not the case. While we at SAP — and especially we in the SAP Fiori tools and SAP Fiori elements teams — are very active in working on enhancing our open-ux-tools, the project is becoming a community project. We have well-known community members like (Volker Buzek and Lukas Boehm) contributing to the project helping to define and implement best practices for UI5 projects.

However, we also have “hidden contributions”. We have been working with SAP customers that did not feel comfortable discussing their use cases public (yet). The work with them helped to improve our writer modules allowing them to generate customer and context specific Fiori applications. One outcome of the collaboration was the new examples folder (https://github.com/SAP/open-ux-tools/tree/main/examples) in our repository containing examples of using multiple modules together for specific use cases.

New Open Sourced Topics

The open-ux-tools is not the only open source project that got extracted form the SAP Fiori tools. We recently published the Open UX OData modules containing a selection of reusable modules that are very useful when working with OData and annotations. Most importantly, it contains the ui5-middleware-fe-mockserver module, a UI5 tooling middleware allowing to mock OData v4 (and v2) services.

The project started as a fallback for an SAP TechEd keynote demo and then became an important tool for the SAP Fiori elements for OData v4 development team. It is now used inside and outside of SAP when developing SAP fiori applications with an OData v4 service.

We have also published our first VSCode extension as an open source project. The new Guided Answers extension by SAP brings the trouble shooting support from SAP Guided Answers (https://ga.support.sap.com/) into your development environment, so that you can easily access it.

Flexible Programming Model Templates

If you are working with SAP Fiori elements or if you are in our Fiori roundtable then you should know the SAP Fiori elements flexible programming model (FPM). It is a very important topic for SAP Fiori elements because it delivers a flexibility finally allowing you to benefit from SAP Fiori elements even if you do not use the standard page types (floorplans). If you do not know FPM yet, then you better check our FPM explorer.

The functionality to add FPM components to your projects is published in the fe-fpm-writer module. It is partially consumed in the SAP Fiori tools, application modeler extension as well as in the community generator project easy-ui5. Please note, here we integrated the module into the community generator first and plan to start working on getting it into the SAP Fiori tools generator next. It enables the community to work with FPM for any kind of UI5 application and also to learn from its usage before adding to the SAP Fiori tools. The fe-fpm-writer module is far from being feature complete, we are continuously adding new FPM features and are consuming it in more parts of the SAP Fiori tools.

Where are we?

Putting it all together in a picture, you can see that we continued to work on templates (the writer modules), added more generic reusable modules and also started publishing our middlewares. We keep consuming all these modules in the SAP Fiori tools and we work with UI5 community to keep them up-to-date in community projects. We are also very happy to know of SAP customers that started consuming our modules for their specific use cases.

What’s Next?

As mentioned earlier, we are running a little behind with our plan regarding the prompting module, but no worries, we are still working on them and we are still planning to publish them. In addition, we are already working on publishing more of the modules used for processing annotations. This is a complex topic that requires domain experts and we aim to release modules that can be used without requiring a consumer to also have that full domain knowledge.

Last but not least, we are extending the axios-extension (remember: the hidden gem) with convenience functions allowing you to work with select functionality provided by the ABAP development tools (ADT) HTTP services.

Nevertheless, I am sure there is more that we could do. Is there anything missing that you think should be there? Let us know! Open a feature request at https://github.com/SAP/open-ux-tools/issues or start a discussion at https://github.com/SAP/open-ux-tools/discussions.

Commitment to Our Vision

We remain committed to our long-term vision. We want to collaborate with the community and we believe that the best way to do so is to completely open source the SAP Fiori tools and SAP SAP Fiori elements. We still have a long journey ahead of us. The first months on this journey were very rewarding and we are excited and very passionate about what is to come!

Cheers, Tobias!

*this is the current state of planning and may be changed by SAP at any time without notice.