This is an automated email from the ASF dual-hosted git repository. rusackas pushed a commit to branch bifurcating_user_admin_docs in repository https://gitbox.apache.org/repos/asf/superset.git
commit 53e071ec341ce69480e7d369112fde1430e089f7 Author: Evan Rusackas <[email protected]> AuthorDate: Sat Feb 21 21:54:18 2026 -0800 docs: add missing URL redirects for docs restructuring Add redirects for old /docs/ paths that were moved to /admin-docs/ or /developer-docs/: Configuration: - /docs/configuration/country-map-tools - /docs/configuration/importing-exporting-datasources - /docs/configuration/map-tiles - /docs/configuration/networking-settings - /docs/configuration/timezones Security: - /docs/security/cves - /docs/security/securing_superset Contributing: - /docs/contributing/resources - /docs/contributing/misc - /docs/contributing/pkg-resources-migration Co-Authored-By: Claude Opus 4.5 <[email protected]> --- docs/docusaurus.config.ts | 326 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 278 insertions(+), 48 deletions(-) diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index 336b44d0edd..447e1c21ef4 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -64,27 +64,55 @@ if (!versionsConfig.components.disabled) { ]); } -// Add developer_portal plugin if not disabled -if (!versionsConfig.developer_portal.disabled) { +// Add admin_docs plugin if not disabled +if (!versionsConfig.admin_docs.disabled) { dynamicPlugins.push([ '@docusaurus/plugin-content-docs', { - id: 'developer_portal', - path: 'developer_portal', - routeBasePath: 'developer_portal', + id: 'admin_docs', + path: 'admin_docs', + routeBasePath: 'admin-docs', + sidebarPath: require.resolve('./sidebarAdminDocs.js'), + editUrl: + 'https://github.com/apache/superset/edit/master/docs/admin_docs', + remarkPlugins: [remarkImportPartial, remarkLocalizeBadges, remarkTechArticleSchema], + admonitions: { + keywords: ['note', 'tip', 'info', 'warning', 'danger', 'resources'], + extendDefaults: true, + }, + docItemComponent: '@theme/DocItem', + includeCurrentVersion: versionsConfig.admin_docs.includeCurrentVersion, + lastVersion: versionsConfig.admin_docs.lastVersion, + onlyIncludeVersions: versionsConfig.admin_docs.onlyIncludeVersions, + versions: versionsConfig.admin_docs.versions, + disableVersioning: false, + showLastUpdateAuthor: true, + showLastUpdateTime: true, + }, + ]); +} + +// Add developer_docs plugin if not disabled +if (!versionsConfig.developer_docs.disabled) { + dynamicPlugins.push([ + '@docusaurus/plugin-content-docs', + { + id: 'developer_docs', + path: 'developer_docs', + routeBasePath: 'developer-docs', sidebarPath: require.resolve('./sidebarTutorials.js'), editUrl: - 'https://github.com/apache/superset/edit/master/docs/developer_portal', + 'https://github.com/apache/superset/edit/master/docs/developer_docs', remarkPlugins: [remarkImportPartial, remarkLocalizeBadges, remarkTechArticleSchema], admonitions: { keywords: ['note', 'tip', 'info', 'warning', 'danger', 'resources'], extendDefaults: true, }, docItemComponent: '@theme/DocItem', - includeCurrentVersion: versionsConfig.developer_portal.includeCurrentVersion, - lastVersion: versionsConfig.developer_portal.lastVersion, - onlyIncludeVersions: versionsConfig.developer_portal.onlyIncludeVersions, - versions: versionsConfig.developer_portal.versions, + includeCurrentVersion: versionsConfig.developer_docs.includeCurrentVersion, + lastVersion: versionsConfig.developer_docs.lastVersion, + onlyIncludeVersions: versionsConfig.developer_docs.onlyIncludeVersions, + versions: versionsConfig.developer_docs.versions, disableVersioning: false, showLastUpdateAuthor: true, showLastUpdateTime: true, @@ -121,46 +149,82 @@ if (!versionsConfig.components.disabled) { }); } -// Add Developer Portal navbar item if not hidden from nav -if (!versionsConfig.developer_portal.disabled && !versionsConfig.developer_portal.hideFromNav) { +// Add Admin Docs navbar item if not disabled +if (!versionsConfig.admin_docs.disabled) { dynamicNavbarItems.push({ - label: 'Developer Portal', + label: 'Admins', + to: '/admin-docs/', position: 'left', items: [ { type: 'doc', - docsPluginId: 'developer_portal', + docsPluginId: 'admin_docs', docId: 'index', label: 'Overview', }, { type: 'doc', - docsPluginId: 'developer_portal', + docsPluginId: 'admin_docs', + docId: 'installation/installation-methods', + label: 'Installation', + }, + { + type: 'doc', + docsPluginId: 'admin_docs', + docId: 'configuration/configuring-superset', + label: 'Configuration', + }, + { + label: 'Database Drivers', + href: '/docs/databases', + }, + { + type: 'doc', + docsPluginId: 'admin_docs', + docId: 'security/security', + label: 'Security', + }, + ], + }); +} + +// Add Developer Docs navbar item if not hidden from nav +if (!versionsConfig.developer_docs.disabled && !versionsConfig.developer_docs.hideFromNav) { + dynamicNavbarItems.push({ + label: 'Developers', + to: '/developer-docs/', + position: 'left', + items: [ + { + type: 'doc', + docsPluginId: 'developer_docs', + docId: 'index', + label: 'Overview', + }, + { + type: 'doc', + docsPluginId: 'developer_docs', docId: 'contributing/overview', label: 'Contributing', }, { type: 'doc', - docsPluginId: 'developer_portal', + docsPluginId: 'developer_docs', docId: 'extensions/overview', label: 'Extensions', }, { type: 'doc', - docsPluginId: 'developer_portal', + docsPluginId: 'developer_docs', docId: 'testing/overview', label: 'Testing', }, { type: 'doc', - docsPluginId: 'developer_portal', + docsPluginId: 'developer_docs', docId: 'components/index', label: 'UI Components', }, - { - label: 'API Reference', - href: '/docs/api', - }, ], }); } @@ -307,8 +371,9 @@ const config: Config = { '@docusaurus/plugin-client-redirects', { redirects: [ + // Legacy HTML page redirects { - to: '/docs/installation/docker-compose', + to: '/admin-docs/installation/docker-compose', from: '/installation.html', }, { @@ -324,11 +389,11 @@ const config: Config = { from: '/usertutorial.html', }, { - to: '/docs/security/', + to: '/admin-docs/security/', from: '/security.html', }, { - to: '/docs/configuration/sql-templating', + to: '/admin-docs/configuration/sql-templating', from: '/sqllab.html', }, { @@ -340,11 +405,11 @@ const config: Config = { from: '/druid.html', }, { - to: '/docs/configuration/country-map-tools', + to: '/admin-docs/configuration/country-map-tools', from: '/misc.html', }, { - to: '/docs/configuration/country-map-tools', + to: '/admin-docs/configuration/country-map-tools', from: '/visualization.html', }, { @@ -368,11 +433,11 @@ const config: Config = { from: '/docs/rest-api', }, { - to: '/docs/configuration/alerts-reports', + to: '/admin-docs/configuration/alerts-reports', from: '/docs/installation/alerts-reports', }, { - to: '/docs/contributing/development', + to: '/developer-docs/contributing/development-setup', from: '/docs/contributing/hooks-and-linting', }, { @@ -380,11 +445,11 @@ const config: Config = { from: '/docs/roadmap', }, { - to: '/docs/contributing/', + to: '/developer-docs/contributing/overview', from: '/docs/contributing/contribution-guidelines', }, { - to: '/docs/contributing/', + to: '/developer-docs/contributing/overview', from: '/docs/contributing/contribution-page', }, { @@ -395,12 +460,102 @@ const config: Config = { to: '/docs/faq', from: '/docs/frequently-asked-questions', }, + // Redirects from old /docs/ paths to new /admin-docs/ paths + { + to: '/admin-docs/installation/installation-methods', + from: '/docs/installation/installation-methods', + }, + { + to: '/admin-docs/installation/docker-compose', + from: '/docs/installation/docker-compose', + }, { - to: '/docs/installation/kubernetes', + to: '/admin-docs/installation/docker-builds', + from: '/docs/installation/docker-builds', + }, + { + to: '/admin-docs/installation/kubernetes', + from: '/docs/installation/kubernetes', + }, + { + to: '/admin-docs/installation/pypi', + from: '/docs/installation/pypi', + }, + { + to: '/admin-docs/installation/architecture', + from: '/docs/installation/architecture', + }, + { + to: '/admin-docs/installation/upgrading-superset', + from: '/docs/installation/upgrading-superset', + }, + { + to: '/admin-docs/configuration/configuring-superset', + from: '/docs/configuration/configuring-superset', + }, + { + to: '/admin-docs/configuration/alerts-reports', + from: '/docs/configuration/alerts-reports', + }, + { + to: '/admin-docs/configuration/async-queries-celery', + from: '/docs/configuration/async-queries-celery', + }, + { + to: '/admin-docs/configuration/cache', + from: '/docs/configuration/cache', + }, + { + to: '/admin-docs/configuration/event-logging', + from: '/docs/configuration/event-logging', + }, + { + to: '/admin-docs/configuration/feature-flags', + from: '/docs/configuration/feature-flags', + }, + { + to: '/admin-docs/configuration/sql-templating', + from: '/docs/configuration/sql-templating', + }, + { + to: '/admin-docs/configuration/theming', + from: '/docs/configuration/theming', + }, + { + to: '/admin-docs/security/', + from: '/docs/security', + }, + { + to: '/admin-docs/security/', + from: '/docs/security/security', + }, + // Redirects from old /docs/contributing/ to Developer Portal + { + to: '/developer-docs/contributing/overview', + from: '/docs/contributing', + }, + { + to: '/developer-docs/contributing/overview', + from: '/docs/contributing/contributing', + }, + { + to: '/developer-docs/contributing/development-setup', + from: '/docs/contributing/development', + }, + { + to: '/developer-docs/contributing/guidelines', + from: '/docs/contributing/guidelines', + }, + { + to: '/developer-docs/contributing/howtos', + from: '/docs/contributing/howtos', + }, + { + to: '/admin-docs/installation/kubernetes', from: '/docs/installation/running-on-kubernetes/', }, { - to: '/docs/contributing/howtos', + to: '/developer-docs/contributing/howtos', from: '/docs/contributing/testing-locally/', }, { @@ -412,42 +567,95 @@ const config: Config = { from: '/docs/creating-charts-dashboards/exploring-data/', }, { - to: '/docs/installation/docker-compose', + to: '/admin-docs/installation/docker-compose', from: '/docs/installation/installing-superset-using-docker-compose/', }, { - to: '/docs/contributing/howtos', + to: '/developer-docs/contributing/howtos', from: '/docs/contributing/creating-viz-plugins/', }, { - to: '/docs/installation/kubernetes', + to: '/admin-docs/installation/kubernetes', from: '/docs/installation/', }, { - to: '/docs/installation/pypi', + to: '/admin-docs/installation/pypi', from: '/docs/installation/installing-superset-from-pypi/', }, { - to: '/docs/configuration/configuring-superset', + to: '/admin-docs/configuration/configuring-superset', from: '/docs/installation/configuring-superset/', }, { - to: '/docs/configuration/cache', + to: '/admin-docs/configuration/cache', from: '/docs/installation/cache/', }, { - to: '/docs/configuration/async-queries-celery', + to: '/admin-docs/configuration/async-queries-celery', from: '/docs/installation/async-queries-celery/', }, { - to: '/docs/configuration/event-logging', + to: '/admin-docs/configuration/event-logging', from: '/docs/installation/event-logging/', }, { - to: '/docs/contributing/howtos', + to: '/developer-docs/contributing/howtos', from: '/docs/contributing/translations/', }, + // Additional configuration redirects + { + to: '/admin-docs/configuration/country-map-tools', + from: '/docs/configuration/country-map-tools', + }, + { + to: '/admin-docs/configuration/importing-exporting-datasources', + from: '/docs/configuration/importing-exporting-datasources', + }, + { + to: '/admin-docs/configuration/map-tiles', + from: '/docs/configuration/map-tiles', + }, + { + to: '/admin-docs/configuration/networking-settings', + from: '/docs/configuration/networking-settings', + }, + { + to: '/admin-docs/configuration/timezones', + from: '/docs/configuration/timezones', + }, + // Additional security redirects + { + to: '/admin-docs/security/cves', + from: '/docs/security/cves', + }, + { + to: '/admin-docs/security/securing_superset', + from: '/docs/security/securing_superset', + }, + // Additional contributing redirects + { + to: '/developer-docs/contributing/resources', + from: '/docs/contributing/resources', + }, + { + to: '/developer-docs/contributing/howtos', + from: '/docs/contributing/misc', + }, + { + to: '/developer-docs/contributing/overview', + from: '/docs/contributing/pkg-resources-migration', + }, ], + // Use createRedirects for pattern-based redirects from old developer_portal paths + createRedirects(existingPath) { + // Redirect all /developer_portal/* paths to /developer-docs/* + if (existingPath.startsWith('/developer-docs/')) { + return [ + existingPath.replace('/developer-docs/', '/developer_portal/'), + ]; + } + return undefined; + }, }, ], ], @@ -505,12 +713,15 @@ const config: Config = { if (item.url.includes('/docs/quickstart')) { return { ...item, priority: 0.9, changefreq: 'weekly' }; } - if (item.url.includes('/docs/installation/')) { + if (item.url.includes('/admin-docs/installation/')) { return { ...item, priority: 0.8, changefreq: 'weekly' }; } if (item.url.includes('/docs/databases')) { return { ...item, priority: 0.8, changefreq: 'weekly' }; } + if (item.url.includes('/admin-docs/')) { + return { ...item, priority: 0.8, changefreq: 'weekly' }; + } if (item.url.includes('/docs/faq')) { return { ...item, priority: 0.7, changefreq: 'monthly' }; } @@ -562,30 +773,50 @@ const config: Config = { srcDark: '/img/superset-logo-horiz-dark.svg', }, items: [ + // Users docs - mirrors sidebar structure { - label: 'Documentation', + label: 'Users', + to: '/docs/intro', position: 'left', items: [ { type: 'doc', docId: 'intro', - label: 'Getting Started', + label: 'Overview', + }, + { + type: 'doc', + docId: 'quickstart', + label: 'Quickstart', + }, + { + type: 'doc', + docId: 'using-superset/creating-your-first-dashboard', + label: 'Using Superset', }, { type: 'doc', docId: 'databases/index', - label: 'Databases', + label: 'Connecting to Databases', }, { type: 'doc', docId: 'faq', label: 'FAQ', }, + { + type: 'doc', + docId: 'api', + label: 'API Reference', + }, ], }, + ...dynamicNavbarItems, + // Community section { - label: 'Community Resources', + label: 'Community', to: '/community', + position: 'left', items: [ { label: 'Resources', @@ -617,7 +848,6 @@ const config: Config = { }, ], }, - ...dynamicNavbarItems, { href: '/docs/intro', position: 'right',
