{"ref":"content:devtoberfest-2026-dry-cap-plugins","page":"/content/devtoberfest-2026-dry-cap-plugins","json":"/content/devtoberfest-2026-dry-cap-plugins.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"devtoberfest-2026-dry-cap-plugins","content_type":"talk","title":"DRY CAP – Making Sustainable Solutions Through Plugins","url":"https://www.youtube.com/watch?v=3yjKYUtRWHs","published":"2026-10-02","published_on":"source:youtube","author":"SAP Developers","summary":"A Devtoberfest 2026 building-apps session on packaging the things you would otherwise write twice, from in-house API clients and shared data models to validation logic, as a CAP plugin. The presenter builds one live: a cds-plugin.js next to package.json is what makes CAP notice the plugin at all, an index.cds carries a reusable user context and service that the consuming application projects into its own and protects there, and the plugin registers an Express middleware at a chosen step of the bootstrap to put user properties on the request. A feature-flagging plugin his team already uses closes it, and the whole walkthrough is the edge to [Plugin authoring](capability:plugin-authoring).","short":"Packaging shared code as a CAP plugin, built live","explains":[{"ref":"capability:plugin-authoring","applies_to":{"ecosystems":["cap"]}}],"sources":[{"url":"https://www.youtube.com/watch?v=3yjKYUtRWHs","title":"DRY CAP – Making Sustainable Solutions Through Plugins — Devtoberfest 2026, automatic transcript","checked":"2026-10-19","quote":"When you define a plugin, always remember that you need to CDS plugin.js file out in the outer uh scope next to your package.json."},{"url":"https://www.youtube.com/watch?v=3yjKYUtRWHs","title":"DRY CAP – Making Sustainable Solutions Through Plugins — Devtoberfest 2026, automatic transcript","checked":"2026-10-19","quote":"This is how CAP notices that you actually have a plugin."},{"url":"https://www.youtube.com/watch?v=3yjKYUtRWHs","title":"DRY CAP – Making Sustainable Solutions Through Plugins — Devtoberfest 2026, automatic transcript","checked":"2026-10-19","quote":"And you can always define at what step it should happen in the lifetime event."},{"url":"https://www.youtube.com/watch?v=3yjKYUtRWHs","title":"DRY CAP – Making Sustainable Solutions Through Plugins — Devtoberfest 2026, automatic transcript","checked":"2026-10-19","quote":"So this here is our feature flagging service uh plugin"}],"provenance":{"discovered_via":[{"source":"source:youtube","channel":"devtoberfest-2026"}],"first_seen":"2026-10-19"},"drafted_with_ai":true},"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":"good","evidence":"published this month"}],"compatibility":[{"label":"Version","tier":"unknown","evidence":"no version declared"},{"label":"Moved since?","tier":"good","evidence":"no recorded change after 2026-10-02"},{"label":"Findings","tier":"good","evidence":"none flagged"}],"reach":[{"value":null,"unit":"views"},{"value":null,"unit":"comments"},{"value":null,"unit":"likes"}]},"signals":null,"series":null,"edges":{"authors":[]}}