Skip to content

feat: meeting integrations surface via the pluggable integration registry (ADR-019)#184

Merged
rubenvdlinde merged 1 commit into
developmentfrom
feature/integration-registry-sidebar
May 12, 2026
Merged

feat: meeting integrations surface via the pluggable integration registry (ADR-019)#184
rubenvdlinde merged 1 commit into
developmentfrom
feature/integration-registry-sidebar

Conversation

@rubenvdlinde
Copy link
Copy Markdown
Contributor

What

Adopts OpenRegister's pluggable integration registry (ConductionNL/openregister#1307, ADR-019) in decidesk and adds a MeetingIntegrations surface that demonstrates it end-to-end.

  • src/main.jsinstallIntegrationRegistry() + registerBuiltinIntegrations() + registerXwikiIntegration() at bootstrap, so the registry is populated before any page mounts.
  • src/App.vue — the #sidebar-slot <CnObjectSidebar> now binds :use-registry and :exclude-integrations from objectSidebarState (the channel CnDetailPage pushes to), plus :custom-components; objectSidebarState gains useRegistry / excludeIntegrations.
  • src/views/MeetingIntegrations.vue (new) — a thin CnDetailPage wrapper with sidebar: { register: 'decidesk', schema: 'meeting', useRegistry: true }. The host <CnObjectSidebar> then renders one tab per registered integration provider: the built-in core tabs (Files / Notes / Tags / Tasks / Audit trail) plus the xWiki "Articles" leaf. Registered in customComponents.js, routed from the manifest at /meetings/:id/integrations.
  • src/manifest.json — adds the MeetingIntegrations page entry.

Verification

Built against the local @conduction/nextcloud-vue integration-registry branch and deployed to the dev Nextcloud:

Why draft

Depends on the @conduction/nextcloud-vue pluggable-integration-registry stack (nextcloud-vue#202..#218) shipping a beta. Until that lands, the new registry exports (installIntegrationRegistry, registerBuiltinIntegrations, registerXwikiIntegration, CnObjectSidebar registry mode, CnDetailPage sidebar.useRegistry) don't exist in beta-30, so npm ci + build will fail in CI. Once the stack publishes, bump @conduction/nextcloud-vue + the lockfile and mark ready.

Related: ConductionNL/openregister#1307 (umbrella), ConductionNL/openregister#1326 (xWiki leaf), ConductionNL/openconnector#755 (the Postgres find() bug surfaced here).

…stry (ADR-019)

Adopts OpenRegister's pluggable integration registry (ConductionNL/openregister#1307)
in decidesk:

- main.js: installIntegrationRegistry() + registerBuiltinIntegrations() +
  registerXwikiIntegration() at bootstrap, so the registry is populated before
  any page mounts.
- App.vue: the #sidebar-slot CnObjectSidebar now binds :use-registry and
  :exclude-integrations from objectSidebarState (the channel CnDetailPage pushes
  to), plus :custom-components; objectSidebarState gains useRegistry/excludeIntegrations.
- New custom view MeetingIntegrations.vue (route /meetings/:id/integrations,
  registered in customComponents.js): a CnDetailPage with sidebar.useRegistry: true,
  so the host CnObjectSidebar renders one tab per registered integration provider —
  the built-in core tabs (Files / Notes / Tags / Tasks / Audit trail) plus the
  xWiki "Articles" leaf.
- manifest.json: adds the MeetingIntegrations page entry.

Verified locally against the integration-registry branches: the page renders, the
sidebar shows all six tabs, and the Articles tab degrades to the AD-23
"reconnect connector" banner when the OpenConnector xwiki source isn't resolvable.

Depends on the @conduction/nextcloud-vue pluggable-integration-registry stack
(nextcloud-vue#202..#218) shipping a beta; until then the registry exports won't
resolve against beta-30 and this PR stays in draft.
@github-actions
Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/decidesk @ 16c1958

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 471/471
PHPUnit
Newman
Playwright ⏭️

Coverage: 0% (0/115 statements)


Quality workflow — 2026-05-12 12:43 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde rubenvdlinde merged commit f5b03e9 into development May 12, 2026
45 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant