{"ref":"artifact:cogniac-sap-pod-extension","page":"/artifacts/cogniac-sap-pod-extension","json":"/artifacts/cogniac-sap-pod-extension.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"cogniac-sap-pod-extension","name":"Cogniac SAP DM POD 2.0 Extension","artifact_type":"package","ecosystem":"digital-manufacturing","domain":"ui-and-frontend-bridge","origin_ring":"independent","use_as":"dependency","description":{"one_line":"A POD 2.0 plugin for [SAP Digital Manufacturing](external:sap-digital-manufacturing) that captures an image through a proxy in front of [Cogniac EdgeFlow](external:cogniac-edgeflow) inference hardware and draws the returned detections over it inside an operator's POD panel.","short":"SAP Digital Manufacturing POD plugin for Cogniac image detections","what_it_solves":"Vision inference runs on hardware on the local network, and its result has to reach the operator working on an SFC. This plugin puts the result in the POD: a widget triggers a capture against a proxy URL set per POD in the POD Designer, then renders the returned image with the detections drawn over it in six variants, from bounding boxes and point sets through area masks, OCR text and count badges to classifications that carry no spatial data, under scroll-to-zoom, click-to-pan, subject toggles and a confidence slider. When detections come back, a Raise Nonconformance panel appears, and logging one records an incident against the active SFC with the captured image attached and the workCenter, resource and routing step resolved from the current POD filter context. The SAP calls sit in the POD widget class, which hands the React app `getNcCodes()` and `logNc()` through `parentWidget`, so the viewer holds no SAP API logic. Neither the proxy nor the EdgeFlow hardware is in the repository: it carries the extension manifest, the widget and the React app, zipped and uploaded under Manage Pods 2.0.","when_not_to_use":"The proxy URL is a widget property the browser calls, so the [EdgeFlow Proxy API](external:cogniac-edgeflow-proxy) has to be reachable from the SAP DM client itself, on a local network and over HTTPS: its own repository asks for a certificate the browser trusts and documents generating one for the Pi's LAN IP. NC logging needs an SFC selected in the work list: without one the request is rejected with an error message.","to_build_on_it":"The capture contract is one GET returning a base64 JPEG and a detections array of six documented variants, so another inference source can answer the same shape. The repository's API notes describe POD Notification as the channel for pushing results from an external service into a running POD, with a `PodEventBus` subscription on the plugin side, which is a different direction from the capture the widget triggers."},"links":{"repo":"https://github.com/Cogniac/sap-pod-extension"},"provides":[{"capability":"capability:pod-plugins","what_it_does":"Ships a POD 2.0 IntegrationWidget that embeds a React image viewer in a POD panel, takes the EdgeFlow Proxy URL as a property set in the POD Designer, and is deployed as a zipped extension uploaded under Manage Pods 2.0.","sources":[{"url":"https://github.com/cogniac/sap-pod-extension","title":"Cogniac/sap-pod-extension — README, Architecture Overview","checked":"2026-10-17","quote":"Embeds the React viewer into a POD panel; configurable with the proxy URL via the SAP POD designer; exposes `getNcCodes()` and `logNc()` to the React app via `parentWidget`"},{"url":"https://github.com/cogniac/sap-pod-extension","title":"Cogniac/sap-pod-extension — README, Deployment","checked":"2026-10-17","quote":"**Deploy** the plugin by locating the extensions tab under Manage Pods 2.0 in your DM tenant and upload the zipped folder."}]}],"requires":[{"ref":"external:sap-digital-manufacturing","for":"The product the plugin runs in: the extension is uploaded into a DM tenant and the widget is placed on a panel in the POD Designer.","requirement":"required","basis":"binding","role":"framework","sources":[{"url":"https://github.com/cogniac/sap-pod-extension","title":"Cogniac/sap-pod-extension — README, Prerequisites","checked":"2026-10-17","quote":"SAP Digital Manufacturing with POD 2.0 support"}]},{"ref":"external:cogniac-edgeflow-proxy","for":"The HTTP endpoint the widget calls to capture an image and read the detections back.","requirement":"required","basis":"binding","role":"capture-endpoint","sources":[{"url":"https://github.com/cogniac/sap-pod-extension","title":"Cogniac/sap-pod-extension — README, Prerequisites","checked":"2026-10-17","quote":"[EdgeFlow Proxy API](https://github.com/Cogniac/sap-pod-proxy-ef) deployed on a Raspberry Pi (or equivalent) and accessible from the SAP DM client"}]},{"ref":"external:cogniac-edgeflow","for":"The hardware behind the proxy that runs the inference whose detections the viewer draws.","requirement":"required","basis":"binding","role":"inference-hardware","sources":[{"url":"https://github.com/cogniac/sap-pod-extension","title":"Cogniac/sap-pod-extension — README, Prerequisites","checked":"2026-10-17","quote":"Cogniac EdgeFlow hardware on the local network"}]}],"connects":[{"ref":"external:cogniac-edgeflow-proxy","kind":"data","direction":"outbound","style":"sync","for":"Triggers a capture and reads back the base64 JPEG and the detections rendered over it.","sources":[{"url":"https://github.com/cogniac/sap-pod-extension","title":"Cogniac/sap-pod-extension — README, EdgeFlow Proxy API Contract","checked":"2026-10-17","quote":"The React widget sends a `GET` request to the configured proxy URL and expects a JSON response in the following shape:"}]},{"ref":"external:sap-digital-manufacturing","kind":"data","for":"Reads the enabled primary nonconformance codes from the catalogue at widget initialisation, and logs an NC incident against the active SFC with the captured image as an attachment.","sources":[{"url":"https://github.com/cogniac/sap-pod-extension","title":"Cogniac/sap-pod-extension — README, Features","checked":"2026-10-17","quote":"the operator selects an NC code from the SAP DM catalogue and clicks \"Log NC\" to record an incident against the active SFC, attaching the captured image"},{"url":"https://github.com/cogniac/sap-pod-extension","title":"Cogniac/sap-pod-extension — README, NC Logging","checked":"2026-10-17","quote":"NC codes are loaded once at widget initialisation via `NonconformanceApiClient.findEnabledPrimaryNonconformanceCodesByName(\"\")`."}]}],"provenance":{"discovered_via":[{"source":"source:github"}],"first_seen":"2026-10-17"},"drafted_with_ai":true,"maintainers":["actor:cogniac"],"contributors":["actor:mgcogniac"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"1 contributor, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-06, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no DIGITAL-MANUFACTURING release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no DIGITAL-MANUFACTURING release lines in the atlas"},{"label":"Maintainer's CI","tier":"good","evidence":"Release green, 2026-06-02"}],"practice":[{"label":"Tests","tier":"good","evidence":"1 test file"},{"label":"Docs","tier":"good","evidence":"docs/ with 8 pages, README 9 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":1,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":1,"forks":0,"open_issues":2,"archived":false,"pushed_at":"2026-06-03","license_spdx":null,"org_owned":true,"default_branch":"main","created_at":"2026-05-06T15:23:37Z","open_prs":1,"tree_truncated":false,"test_files":1,"workflows":2,"other_ci":false,"readme_bytes":9697,"docs_files":8,"changelog":false,"license_file":false,"dts_files":0,"first_commit":"2026-05-06","last_commit":"2026-06-02","commits":23,"contributors":1,"ci_status":"success","ci_run_at":"2026-06-02","ci_workflow":"Release","ci_event":"push","readme_path":"README.md","readme_sha":"5d121ff4db641578c8f7347e03aabc285c576482","repo_read":"2026-10-24"},"release_notes":{"license":null,"quotable":false,"source":{"kind":"github-releases","url":"https://github.com/Cogniac/sap-pod-extension/releases"},"format":"github-releases","releases":[{"version":"2026.06.02-17085d8","date":"2026-06-02","date_source":"github","heading":"v2026.06.02-17085d8","url":"https://github.com/Cogniac/sap-pod-extension/releases/tag/v2026.06.02-17085d8","sections":[],"hash":"eb2c1b2d6bcbc699"},{"version":"2026.05.25-b823d71","date":"2026-05-25","date_source":"github","heading":"v2026.05.25-b823d71","url":"https://github.com/Cogniac/sap-pod-extension/releases/tag/v2026.05.25-b823d71","sections":[],"hash":"0193a1ac0d68c190"},{"version":"2026.05.22-e4a9ec2","date":"2026-05-22","date_source":"github","heading":"v2026.05.22-e4a9ec2","url":"https://github.com/Cogniac/sap-pod-extension/releases/tag/v2026.05.22-e4a9ec2","sections":[],"hash":"63b175b4ad63a1e1"},{"version":"2026.05.22-da742d1","date":"2026-05-22","date_source":"github","heading":"v2026.05.22-da742d1","url":"https://github.com/Cogniac/sap-pod-extension/releases/tag/v2026.05.22-da742d1","sections":[],"hash":"785b17c10a560860"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:cogniac","name":"Cogniac","json":"/actors/cogniac.json"}],"contributors":[{"ref":"actor:mgcogniac","name":"mgcogniac","json":"/actors/mgcogniac.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}