SAP / open-ux-tools

Enable community collaboration to jointly promote and facilitate best in class tooling capabilities
Apache License 2.0
83 stars 35 forks source link

FEATURE - Include service and base app metadata in adaptation projects on creation #1757

Open cfg74 opened 7 months ago

cfg74 commented 7 months ago

As a developer, I want to be able to use language LSP features for annotation XML files in adaptation projects, so that I can adapt apps faster

Description

Language LSP support for annotation files requires the access to the service metadata to provide annotable entities. In Fiori app development projects the service metadata and annotation XMLs are copied to the local folder webapp/localService. ADP projects shall have the same based on the base app's main service, retrieved on generation time.

In addition to the service metadata also the manifest.json of the base app shall be held as local copy (TBD where to store)

The refresh of the stored data will be covered by a separate item addressed to the Service Manager tool of SAP Fiori tools. Another item will be created for the annotation LSP support of adaptation projects.

Technical Design

What modules need to be created or enhanced? How would the functionality be exposed and how can it be consumed?

Acceptance Criteria

Given the service metadata is available, I can enable LSP support for annotation files in adaptation projects.

Notes

@tobiasqueck @hristotsolev @MN-public

Tasks

cfg74 commented 7 months ago

Added the requirement to also store the manifest.json for future usage in enhanced convenience with Application Modeler, do we potentially could benefit of copying other files?

cfg74 commented 7 months ago

Alternative, download and store the whole base app, would this be feasible?

tobiasqueck commented 7 months ago

Alternative, download and store the whole base app, would this be feasible?

Doable, yes, but it starts to become ugly because the amount of files for an app might be quite high e.g. translations for 26 languages. So, do you store everything or only parts ... So, doable yes, desirable, I don't know.

What is the goal here? The tools support for LSP / AppModeler, or full offline support?

cfg74 commented 7 months ago

@tobiasqueck tools support, if we want to be similar to dev projects, we would also need the files referenced by the original manifest, like extensions, or i18n values. For annotation LSP we may get away with the remote and local annotation files plus the service metadata, and base app manifest (to know the precedence).