{"ref":"content:create-your-first-cap-plugin","page":"/content/create-your-first-cap-plugin","json":"/content/create-your-first-cap-plugin.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"create-your-first-cap-plugin","title":"Create your first CAP plugin","url":"https://community.sap.com/t5/technology-blog-posts-by-members/create-your-first-cap-plugin/ba-p/13957925","content_type":"blog","explains":["capability:plugin-authoring",{"ref":"artifact:lemaiwo-cds-plugin-handlers","what_it_covers":"Shown as the author's TypeScript-based plugin that readers can study to see the possibilities of plugin authoring.","offers":["example"]},{"ref":"artifact:lemaiwo-ui5-cap-serverside-rendering-plugin","what_it_covers":"Shown as the author's JavaScript plugin example readers can study to see the possibilities of plugin authoring.","offers":["example"]},{"ref":"artifact:spreadsheetimporter-cds-spreadsheetimporter-plugin","what_it_covers":"Pointed to as a work-in-progress plugin readers can look at alongside the author's own for more plugin-authoring possibilities.","offers":["example"]}],"summary":"A step-by-step guide to the cds-plugin.js extension point: scaffold a package, add an index.cds for shared model artifacts, and test it locally against a throwaway CAP project before publishing to npm, with a separate section on building the same plugin in TypeScript and compiling it with tsc. Points to the author's own [cds-plugin-handlers](artifact:lemaiwo-cds-plugin-handlers) and [ui5-cap-serverside-rendering-plugin](artifact:lemaiwo-ui5-cap-serverside-rendering-plugin) as worked examples.","short":"Step-by-step guide to building and testing a CAP plugin","authors":["actor:lemaiwo"],"published":"2024-12-09","provenance":{"discovered_via":[{"source":"source:sap-community"}],"first_seen":"2026-09-11"},"drafted_with_ai":true,"published_on":"source:sap-community"},"readings":{"liveness":[{"label":"Checked against the source","tier":"unknown","evidence":"nobody has checked it"},{"label":"Source reachable","tier":"unknown","evidence":"not crawled"},{"label":"Age","tier":"fair","evidence":"published 22 months ago"}],"compatibility":[{"label":"Version","tier":"unknown","evidence":"no version declared"},{"label":"Moved since?","tier":"good","evidence":"no recorded change after 2024-12-09"},{"label":"Findings","tier":"good","evidence":"none flagged"}],"reach":[{"value":4312,"unit":"views"},{"value":0,"unit":"comments"},{"value":9,"unit":"likes"}]},"signals":{"views":4312,"likes":9,"comments":0,"metrics_at":"2026-10-25"},"series":null,"edges":{"authors":[{"ref":"actor:lemaiwo","name":"Wouter Lemaire","json":"/actors/lemaiwo.json"}]}}