abap2UI5 / abap2UI5

Developing UI5 Apps Purely in ABAP
http://www.abap2UI5.org
MIT License
298 stars 59 forks source link

abap2UI5 frontend - Development, Deployment & Contribution #1464

Closed oblomov-dev closed 1 month ago

oblomov-dev commented 1 month ago

Refactored the abap2UI5 frontend: https://github.com/abap2UI5/abap2UI5/pull/1463

We have now three times the identical code: (1) as stringified files in abap2UI5, for out of the box compatibility on any release via HTTP (2) as a bsp application, for compatibility with onpremise launchpads (3) as a normal U5 app, for compatibility with BTP and S/4 Public Cloud Launchpads/ Workzone

So the setup looks like this:

image

For changes of the abap2UI5 frontend i recommend to pull the btp connector project, its a normal UI5 app and can run locally for testing and call via proxy the abap backend. PR to this repository and i can copy the code to the BSP & abap2UI5 repository. (any ideas for automating this process welcome) The best would be connecting all repositories with github actions and auto update after every change.

Before we had only the stringified ui5 code which lead over time to a very dirty codebase. i started with the new setup to refactor the abap2UI5 frontend. for example the debugtools are now in separeated file and can be extended easily. additonally collected all backend requests in server.js. Have in mind to step by step refactor the frontend in the next month and make the codebase easy to understand & extend.

christianguenter2 commented 1 month ago

Get these syntax errors in sample repo image

oblomov-dev commented 1 month ago

ah i forgot to merge the samples update, now https://github.com/abap2UI5/abap2UI5-samples/pull/392

christianguenter2 commented 1 month ago

Hm, unfortunately this one is back https://github.com/abap2UI5/abap2UI5/issues/1447#issuecomment-2370697001 any idea?

First guess, it's going wrong somewhere here: image

That's what the json in val looks like

{
  "S_FRONT": {
    "COMPDATA": {
      "startupParameters": {
        "app_start": [
          "z2ui5_cl_demo_app_000"
        ],
        "app_title": [
          "abap2UI5 - Samples"
        ],
        "sap-ushell-defaultedParameterNames": [
          "[\"app_start\",\"app_title\"]"
        ]
      },
      "technicalParameters": {}
    },
    "ORIGIN": "",
    "PATHNAME": "/sap/bc/ui2/flp",
    "SEARCH": "?sap-client=400&sap-language=EN",
    "T_STARTUP_PARAMETERS": {
      "app_start": [
        "z2ui5_cl_demo_app_000"
      ],
      "app_title": [
        "abap2UI5 - Samples"
      ],
      "sap-ushell-defaultedParameterNames": [
        "[\"app_start\",\"app_title\"]"
      ]
    }
  }
}
christianguenter2 commented 1 month ago

Hm, unfortunately this one is back #1447 (comment) any idea?

Forget about it. Seems like it was a cache problem somewhere. Working now.

oblomov-dev commented 1 month ago

ok nice to hear that it works! and thanks for doing the bold job and pulling from main all the time at the moment ;) big help.

once we have now all the frontend code synchronized i try to autogenerate via actions the bsp and stringified js abap code as a next step. and then we can also setup some proper frontend testing and ui5 linting etc. so hopefully these manual testing work will not be needed anymore from a certain point.

oblomov-dev commented 1 month ago

GitHub Actions are now set up for the automatic generation of the BSP, UI5 stringified, and regular UI5 app for S/4 Public:

image

The coming weeks will show how stable everything I’ve created here truly is :)