{"ref":"artifact:miyasuta-cap-ui","page":"/artifacts/miyasuta-cap-ui","json":"/artifacts/miyasuta-cap-ui.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"miyasuta-cap-ui","name":"cap-ui","artifact_type":"sample","ecosystem":"cap","domain":"operations-and-runtime","secondary_domains":["ui-and-frontend-bridge"],"origin_ring":"independent","description":{"one_line":"An MTA that deploys a CAP service, a HANA HDI container and a Fiori elements app into the HTML5 Application Repository, with two destinations to the same CAP service configured side by side.","short":"MTA deploying CAP, HDI container and a Fiori elements app","what_it_solves":"One `com.sap.application.content` module uploads `miyasutabooksui.zip` to the `app-host` instance of the [SAP HTML5 Application Repository service for SAP BTP](artifact:btp-html5-application-repository); a second creates the instance destinations, among them `cap-ui-srv2`, an `OAuth2UserTokenExchange` destination built from the xsuaa service key with `HTML5.DynamicDestination: true`. Beside it the destination service's own `init_data` creates `cap-ui-srv3`, `NoAuthentication` with `HTML5.ForwardAuthToken: true` against the same `~{srv-api/srv-url}`, and a third variant is left commented out with the note that it needs a `ServiceInstanceName`, so the two routes to the service stand next to each other in one descriptor. The service module runs on `@sap/cds ^6` with `db.kind: hana-cloud` and `hdb`, and `app/books-ui` carries its built `dist` in the repository. Two GitHub Actions workflows sit beside the project, `main.yml`, named \"Build MTA & Deploy it to BTP\", which checks out, sets up Node 18 and installs `mbt` and the dependencies, and `merge-pr.yml`, which runs `pascalgn/automerge-action` on pull requests to main."},"links":{"repo":"https://github.com/miyasuta/cap-ui"},"compat":{"runtimes":["node"],"deployment":["cf"]},"demonstrates":["capability:deployment","capability:app-hosting","capability:destinations"],"requires":[{"ref":"artifact:btp-html5-application-repository","for":"The built Fiori elements app is uploaded to an app-host instance of it rather than served by the CAP service.","sources":[{"url":"https://raw.githubusercontent.com/miyasuta/cap-ui/main/mta.yaml","title":"miyasuta/cap-ui — mta.yaml, resources","checked":"2026-10-15","quote":"- name: cap-ui-repo-host\n  type: org.cloudfoundry.managed-service\n  parameters:\n    service: html5-apps-repo\n    service-name: cap-ui-html5-srv\n    service-plan: app-host"}]},{"ref":"artifact:btp-destination","for":"Both routes from the app to the CAP service are destinations: one created as an instance destination from the xsuaa service key, one in the destination service's own init_data.","sources":[{"url":"https://raw.githubusercontent.com/miyasuta/cap-ui/main/mta.yaml","title":"miyasuta/cap-ui — mta.yaml, resources","checked":"2026-10-15","quote":"- name: cap-ui-destination-service\n  type: org.cloudfoundry.managed-service\n  requires:\n    - name: srv-api # Add\n  parameters:\n    config:\n      HTML5Runtime_enabled: true"}]}],"maintainers":["actor:mio-yasutake"],"contributors":["actor:mio-yasutake"],"use_as":"reference","provenance":{"discovered_via":[{"source":"source:github","channel":"miyasuta"}],"first_seen":"2026-10-15"},"drafted_with_ai":true},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"poor","evidence":"84 months since release"},{"label":"Continuity","tier":"fair","evidence":"2 contributors, 1 publisher"},{"label":"Repository","tier":"poor","evidence":"pushed 2024-06, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"poor","evidence":"no release since @sap/cds 10 shipped (July 2026)"},{"label":"Maintainer's CI","tier":"fair","evidence":"workflows present, no completed run on the default branch"}],"practice":[{"label":"Tests","tier":"good","evidence":"8 test files, npm test"},{"label":"Docs","tier":"poor","evidence":"README 1 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":4,"unit":"installs/week"},{"value":0,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","latest_version":"2.10.3","majors":{"2":{"version":"2.10.1","date":"2019-10-28"}},"license":"MIT","first_release":"2019-10-28","last_release":"2019-10-28","releases":3,"cadence_days":0,"maintainers":1,"repository":"git+ssh://git@github.com/ElemeFE/element.git","repository_directory":null,"peer_cds":null,"dependencies":6,"node_engine":null,"test_script":true,"types":true,"downloads_weekly":4,"downloads_monthly":21,"stars":0,"forks":0,"open_issues":10,"archived":false,"pushed_at":"2024-06-21","license_spdx":null,"org_owned":false,"default_branch":"main","created_at":"2023-05-19T04:35:57Z","open_prs":10,"tree_truncated":false,"test_files":8,"workflows":2,"other_ci":false,"readme_bytes":675,"docs_files":0,"changelog":false,"license_file":false,"dts_files":0,"first_commit":"2023-05-18","last_commit":"2023-10-19","commits":15,"contributors":2,"readme_path":"README.md","readme_sha":"d18474235339ae351787f5d911596633cb257612","months_since_release":84,"dormant":true,"repo_read":"2026-10-25"},"release_notes":{"license":"MIT","quotable":true,"versions":[{"version":"2.10.3","date":"2019-10-28"},{"version":"2.10.2","date":"2019-10-28"},{"version":"2.10.1","date":"2019-10-28"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:mio-yasutake","name":"Mio Yasutake","json":"/actors/mio-yasutake.json"}],"contributors":[{"ref":"actor:mio-yasutake","name":"Mio Yasutake","json":"/actors/mio-yasutake.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}