{"ref":"artifact:tiagobalmeida-openui5-camera","page":"/artifacts/tiagobalmeida-openui5-camera","json":"/artifacts/tiagobalmeida-openui5-camera.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"tiagobalmeida-openui5-camera","name":"openui5-camera","artifact_type":"package","source_available":true,"ecosystem":"ui5","domain":"ui-and-frontend-bridge","origin_ring":"independent","use_as":"starting-point","description":{"one_line":"A UI5 control that renders a live camera preview from the device's camera and hands the app the picture as a base64-encoded PNG when the user taps it.","short":"UI5 control for live camera preview and PNG capture","what_it_solves":"The control reaches the device's camera through the HTML5 media capture API, renders the live preview in a view as `<cam:Camera>` and fires a `snapshot` event when the user clicks or taps the preview. The handler reads the picture from `oEvent.getParameter(\"image\")` as a base64-encoded PNG string, which the README attaches directly to the `src` of an Image or posts to a server inside a JSON message. Installing it is not a plain npm dependency: after `npm install openui5-camera` the built `dist/openui5/camera/library-preload.js` is copied into the application and registered through a `resourceRoots` entry under `sap.ui5` in the manifest. The README heads the repository with EXPERIMENTAL CODE and calls the code a proof of concept rather than a finished product.","to_build_on_it":"The README lists where the maintainer stopped: an optional capture button instead of clicking the preview, a configurable image format in place of the fixed PNG, an easy way to get at the actual image pixels, a choice between the front-facing and back-facing camera, and video and audio streams as something still to think about. The code is a handful of JavaScript files that Grunt builds into the `library-preload.js` an application copies, and `npm start` serves the demo page on port 8080 — where, as the README warns, Chrome blocks the camera API over http unless the page is served over https or web security is switched off."},"links":{"repo":"https://github.com/tiagobalmeida/openui5-camera","npm":"https://www.npmjs.com/package/openui5-camera"},"maintainers":["actor:tiagobalmeida"],"provides":[{"capability":"capability:ui5-custom-controls","what_it_does":"Adds a `Camera` control to an application through a resource root in its manifest: it renders the live camera preview and fires a `snapshot` event carrying the picture as a base64 string.","sources":[{"url":"https://github.com/tiagobalmeida/openui5-camera","title":"tiagobalmeida/openui5-camera — README","checked":"2026-10-18","quote":"An UI5 control which uses the HTML5 media capture API to access the device's camera. The control renders a live camera preview and can take pictures when the users clicks/taps on it."}]}],"requires":[{"ref":"artifact:openui5-core","for":"The framework the control is written for and registered in: the application declares it under `resourceRoots` inside `sap.ui5` in its manifest and uses it in an XML view.","requirement":"required","basis":"binding","role":"framework","sources":[{"url":"https://github.com/tiagobalmeida/openui5-camera","title":"tiagobalmeida/openui5-camera — repository description","checked":"2026-10-18","quote":"OpenUI5 SAPUI5 control for accessing the device camera and capturing photos. Pure JavaScript."}]}],"provenance":{"discovered_via":[{"source":"source:github"}],"first_seen":"2026-10-18"},"drafted_with_ai":true,"contributors":["actor:tiagobalmeida"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"poor","evidence":"105 months since release"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"poor","evidence":"pushed 2024-05, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no UI5 release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no UI5 release lines in the atlas"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"good","evidence":"12 test files"},{"label":"Docs","tier":"fair","evidence":"README 4 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":15,"unit":"installs/week","note":"More people watching than installing — noticed deliberately rather than pulled in."},{"value":30,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","latest_version":"0.0.11","majors":{"0.0":{"version":"0.0.1","date":"2018-01-18"}},"license":"MIT","first_release":"2018-01-18","last_release":"2018-02-02","releases":10,"cadence_days":0,"maintainers":1,"repository":"git+https://github.com/jumpifzero/openui5-camera.git","repository_directory":null,"peer_cds":null,"dependencies":0,"node_engine":null,"test_script":false,"types":false,"downloads_weekly":15,"downloads_monthly":32,"stars":30,"forks":18,"open_issues":4,"archived":false,"pushed_at":"2024-05-31","license_spdx":"Apache-2.0","org_owned":false,"default_branch":"master","created_at":"2017-11-15T20:03:12Z","open_prs":2,"tree_truncated":false,"test_files":12,"workflows":0,"other_ci":false,"readme_bytes":3646,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2017-11-15","last_commit":"2024-05-31","commits":25,"contributors":1,"readme_path":"README.md","readme_sha":"a7a95b12d89c1e94916728a2b3014cbf894415f9","months_since_release":105,"dormant":true,"repo_read":"2026-10-24"},"release_notes":{"license":"Apache-2.0","quotable":true,"versions":[{"version":"0.0.11","date":"2018-02-02"},{"version":"0.0.10","date":"2018-02-02"},{"version":"0.0.9","date":"2018-02-01"},{"version":"0.0.8","date":"2018-02-01"},{"version":"0.0.7","date":"2018-02-01"},{"version":"0.0.6","date":"2018-02-01"},{"version":"0.0.5","date":"2018-01-19"},{"version":"0.0.4","date":"2018-01-19"},{"version":"0.0.2","date":"2018-01-18","deprecated":"this version has been deprecated"},{"version":"0.0.1","date":"2018-01-18","deprecated":"this version has been deprecated"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:tiagobalmeida","name":"Tiago Almeida","json":"/actors/tiagobalmeida.json"}],"contributors":[{"ref":"actor:tiagobalmeida","name":"Tiago Almeida","json":"/actors/tiagobalmeida.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_on_to":{"ref":"artifact:openui5-core","name":"@openui5/sap.ui.core","json":"/artifacts/openui5-core.json"},"add_ons":[],"answered_through_parts":[]}}