{"ref":"artifact:sap-samples-multi-cloud-html5-apps-samples","page":"/artifacts/sap-samples-multi-cloud-html5-apps-samples","json":"/artifacts/sap-samples-multi-cloud-html5-apps-samples.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sap-samples-multi-cloud-html5-apps-samples","name":"SAP-samples/multi-cloud-html5-apps-samples","artifact_type":"sample","ecosystem":"btp","use_as":"reference","domain":"ui-and-frontend-bridge","origin_ring":"sap-official","description":{"one_line":"Example HTML5 apps on the SAP HTML5 Application Repository service, split between a standalone and a managed application router, across Cloud Foundry and Kyma.","short":"HTML5 apps on the HTML5 Application Repository across CF and Kyma","what_it_solves":"Both router options serve static content from the repository, authenticate users and forward requests to other services, and the examples cover both: a standalone router embedded in the app, with variants for XSUAA and destination-service binding, a multi-tenant Fiori app, and Cloud Portal integration; a managed router that needs no application-router module at all, on Cloud Foundry and on Kyma with a JWT-secured backend. The repository states a preference for the managed router in general, reserving the standalone one for cases that need router extensibility. It stops at the routing layer: the apps behind each router are minimal by design, meant to show the wiring rather than a real business scenario."},"links":{"repo":"https://github.com/SAP-samples/multi-cloud-html5-apps-samples"},"type_properties":{"form":{"value":"snippets","sources":[{"url":"https://github.com/SAP-samples/multi-cloud-html5-apps-samples","title":"SAP-samples/multi-cloud-html5-apps-samples — README","checked":"2026-10-18","quote":"This repository contains examples of HTML5 applications for multiple SAP BTP environments."}]}},"identity":{"license":"Apache-2.0"},"demonstrates":["capability:app-hosting"],"maintainers":["actor:sap-samples"],"source_available":true,"provenance":{"discovered_via":[{"source":"source:github-orgs"}],"first_seen":"2026-09-13"},"drafted_with_ai":true,"contributors":["actor:a-thaler","actor:ajinkyapatil8190","actor:arilulu","actor:boyan-velinov","actor:btbernard","actor:ddonchev","actor:gregorwolf","actor:iobert","actor:kdass","actor:nicoschoenteich","actor:raphaelreply","actor:robbymanis","actor:saraherdmann","actor:sbarzaghialteaup","actor:stesap"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"15 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-06, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"good","evidence":"27 test files"},{"label":"Docs","tier":"good","evidence":"README 6 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":153,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":153,"forks":69,"open_issues":1,"archived":false,"pushed_at":"2026-06-08","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2019-06-11T23:23:25Z","open_prs":0,"tree_truncated":false,"test_files":27,"workflows":0,"other_ci":false,"readme_bytes":6469,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2019-06-04","last_commit":"2026-06-08","commits":186,"contributors":15,"readme_path":"README.md","readme_sha":"e839b2e45d517833d24eb32a14382d8c57af2a9d","repo_read":"2026-10-26"},"edges":{"maintainers":[{"ref":"actor:sap-samples","name":"SAP Samples","json":"/actors/sap-samples.json"}],"contributors":[{"ref":"actor:ajinkyapatil8190","name":"Ajinkya Patil","json":"/actors/ajinkyapatil8190.json"},{"ref":"actor:a-thaler","name":"Andreas Thaler","json":"/actors/a-thaler.json"},{"ref":"actor:arilulu","name":"arilulu","json":"/actors/arilulu.json"},{"ref":"actor:boyan-velinov","name":"Boyan Velinov","json":"/actors/boyan-velinov.json"},{"ref":"actor:btbernard","name":"Brian Bernard","json":"/actors/btbernard.json"},{"ref":"actor:ddonchev","name":"Dido","json":"/actors/ddonchev.json"},{"ref":"actor:gregorwolf","name":"Gregor Wolf","json":"/actors/gregorwolf.json"},{"ref":"actor:kdass","name":"kdass","json":"/actors/kdass.json"},{"ref":"actor:iobert","name":"Marius Obert","json":"/actors/iobert.json"},{"ref":"actor:nicoschoenteich","name":"Nico Schoenteich","json":"/actors/nicoschoenteich.json"},{"ref":"actor:raphaelreply","name":"Raphael","json":"/actors/raphaelreply.json"},{"ref":"actor:robbymanis","name":"robbymanis","json":"/actors/robbymanis.json"},{"ref":"actor:sbarzaghialteaup","name":"Samuele Barzaghi","json":"/actors/sbarzaghialteaup.json"},{"ref":"actor:saraherdmann","name":"Sarah Erdmann","json":"/actors/saraherdmann.json"},{"ref":"actor:stesap","name":"Steffen Fröhlich","json":"/actors/stesap.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}