From 7467808852cadbe012b4fcf93a5a98cb1f7ef4af Mon Sep 17 00:00:00 2001 From: Ruben van der Linde Date: Tue, 12 May 2026 12:05:29 +0200 Subject: [PATCH 1/2] feat: adopt the Features & Roadmap menu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Surfaces the in-product Features & Roadmap page (powered by OpenRegister's github-issue-proxy, UI from @conduction/nextcloud-vue) from the Settings section of the nav — manifest-driven, mirroring the procest/pipelinq/scholiq adoptions. - src/views/FeaturesRoadmap.vue — thin wrapper around CnFeaturesAndRoadmapView (repo / features / disabled from loadState() with fallbacks) - customComponents.js — register it as the `FeaturesRoadmap` custom component - manifest.json — add the `FeaturesRoadmap` custom page (route /features-roadmap) + a `FeaturesRoadmapMenu` entry in the settings section - bump @conduction/nextcloud-vue ^1.0.0-beta.31 → ^1.0.0-beta.35 (ships the Cn* roadmap family) Refs: ConductionNL/hydra#251 --- package.json | 2 +- src/customComponents.js | 6 ++++++ src/manifest.json | 6 ++++-- src/views/FeaturesRoadmap.vue | 38 +++++++++++++++++++++++++++++++++++ 4 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 src/views/FeaturesRoadmap.vue diff --git a/package.json b/package.json index f7776e38..fb5ad5ec 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "extends @nextcloud/browserslist-config" ], "dependencies": { - "@conduction/nextcloud-vue": "^1.0.0-beta.31", + "@conduction/nextcloud-vue": "^1.0.0-beta.35", "@nextcloud/auth": "^2.4.0", "@nextcloud/axios": "~2.5.2", "@nextcloud/dialogs": "^3.2.0", diff --git a/src/customComponents.js b/src/customComponents.js index 633e41f9..34338cc4 100644 --- a/src/customComponents.js +++ b/src/customComponents.js @@ -25,6 +25,10 @@ import PageDesignerView from './views/PageDesigner.vue' import ExportJobsView from './views/ExportJobsList.vue' import BuilderHostView from './views/BuilderHost.vue' import TemplateGalleryView from './views/TemplateGallery.vue' +// Features & Roadmap page — thin wrapper around the lib's +// CnFeaturesAndRoadmapView (in-product roadmap surface powered by +// OpenRegister's github-issue-proxy). See ConductionNL/hydra#251. +import FeaturesRoadmapView from './views/FeaturesRoadmap.vue' export default { // Starter dashboard — sample KPIs / activity placeholders. @@ -48,4 +52,6 @@ export default { // Template gallery — browse seeded ApplicationTemplate records and // clone one into a new virtual app (openbuilt-templates-marketplace). TemplateGalleryView, + // Features & Roadmap page (lib's CnFeaturesAndRoadmapView). + FeaturesRoadmap: FeaturesRoadmapView, } diff --git a/src/manifest.json b/src/manifest.json index acc2cb02..bc4e09aa 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -8,7 +8,8 @@ { "id": "Schemas", "label": "Schemas", "icon": "icon-category-customization", "route": "Schemas", "order": 30 }, { "id": "Templates", "label": "Templates", "icon": "icon-category-organization", "route": "Templates", "order": 35 }, { "id": "Exports", "label": "Exports", "icon": "icon-download", "route": "Exports", "order": 40 }, - { "id": "Documentation", "label": "Documentation", "icon": "icon-info", "href": "https://github.com/ConductionNL/openbuilt", "section": "settings", "order": 90 } + { "id": "Documentation", "label": "Documentation", "icon": "icon-info", "href": "https://github.com/ConductionNL/openbuilt", "section": "settings", "order": 90 }, + { "id": "FeaturesRoadmapMenu", "label": "Features & roadmap", "icon": "icon-toggle", "route": "FeaturesRoadmap", "section": "settings", "order": 95 } ], "pages": [ { "id": "Dashboard", "route": "/", "type": "custom", "title": "Dashboard", "component": "DashboardView" }, @@ -19,6 +20,7 @@ { "id": "SchemaDesigner", "route": "/builder/:slug/schemas/:schemaId", "type": "custom", "title": "Schema", "component": "SchemaDesignerView" }, { "id": "PageDesigner", "route": "/builder/:slug/pages", "type": "custom", "title": "Page designer", "component": "PageDesignerView" }, { "id": "Exports", "route": "/exports", "type": "custom", "title": "Exports", "component": "ExportJobsView" }, - { "id": "BuilderHost", "route": "/builder/:slug/:pathMatch(.*)?", "type": "custom", "title": "Virtual app", "component": "BuilderHostView" } + { "id": "BuilderHost", "route": "/builder/:slug/:pathMatch(.*)?", "type": "custom", "title": "Virtual app", "component": "BuilderHostView" }, + { "id": "FeaturesRoadmap", "route": "/features-roadmap", "type": "custom", "title": "Features & roadmap", "component": "FeaturesRoadmap" } ] } diff --git a/src/views/FeaturesRoadmap.vue b/src/views/FeaturesRoadmap.vue new file mode 100644 index 00000000..103e4448 --- /dev/null +++ b/src/views/FeaturesRoadmap.vue @@ -0,0 +1,38 @@ + + + From 2db089f694888eed7a1f489f42dc6fb235fdbfeb Mon Sep 17 00:00:00 2001 From: Ruben van der Linde Date: Tue, 12 May 2026 12:15:00 +0200 Subject: [PATCH 2/2] chore: refresh package-lock.json for the @conduction/nextcloud-vue ^1.0.0-beta.35 bump --- package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index c5453ebd..ad389809 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.2.0", "license": "EUPL-1.2", "dependencies": { - "@conduction/nextcloud-vue": "^1.0.0-beta.31", + "@conduction/nextcloud-vue": "^1.0.0-beta.35", "@nextcloud/auth": "^2.4.0", "@nextcloud/axios": "~2.5.2", "@nextcloud/dialogs": "^3.2.0", @@ -555,9 +555,9 @@ } }, "node_modules/@conduction/nextcloud-vue": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-1.0.0-beta.32.tgz", - "integrity": "sha512-abuMzlf1pAFI0mx1vj+UZQItYD2f12Il0kftzy3HdkX1Au2QNs/wHtUR3uRpiHBu8Gdrjdxo4nCMYFnTsOXQdQ==", + "version": "1.0.0-beta.35", + "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-1.0.0-beta.35.tgz", + "integrity": "sha512-T80Y6z+m/ni2z1yCNVrXAjzacv2WdXFNQcfZYfXHHmtCbJOjdFWLwALZ/WCrGO1FQIQMnjq01G0gBdMXXKQimg==", "license": "EUPL-1.2", "dependencies": { "@codemirror/autocomplete": "^6.0.0",