From c7cbf09c8b6e271a6d8f34c8ce48fccdb4156225 Mon Sep 17 00:00:00 2001 From: Eric Date: Wed, 9 Jul 2025 17:02:11 -0500 Subject: [PATCH] Website: Update software catalog url and mentions. (#30562) Closes: https://github.com/fleetdm/confidential/issues/10867 Changes: - Updated the route for the /app-library page and app details pages to be at `/software-catalog` and added redirects. - Updated places where we mentioned the app library to say "software catalog" instead. ## Summary by CodeRabbit * **New Features** * Updated all references and navigation paths from "app library" to "software catalog" across the website. * Updated internal links, breadcrumbs, and share URLs to use the new "/software-catalog" path. * Added redirects from old "app-library" URLs to the new "software-catalog" URLs for seamless navigation. * **Style** * Updated descriptive text and metadata to reflect the new "software catalog" terminology throughout the site. --- website/api/controllers/download-sitemap.js | 4 ++-- website/api/controllers/view-app-details.js | 4 ++-- .../js/components/docs-nav-and-search.component.js | 2 +- website/config/routes.js | 14 ++++++++++---- website/views/layouts/layout.ejs | 2 +- website/views/pages/app-details.ejs | 10 +++++----- website/views/pages/app-library.ejs | 2 +- website/views/pages/software-management.ejs | 2 +- 8 files changed, 23 insertions(+), 17 deletions(-) diff --git a/website/api/controllers/download-sitemap.js b/website/api/controllers/download-sitemap.js index 61f5bf38a2..66f4b100f1 100644 --- a/website/api/controllers/download-sitemap.js +++ b/website/api/controllers/download-sitemap.js @@ -74,7 +74,7 @@ module.exports = { '/queries',// « overview page (all subpages are dynamic) '/policies',// « overview page (all subpages are dynamic) '/tables',// « overview page (all subpages are dynamic) - '/app-library',// « overview page (all subpages are dynamic) + '/software-catalog',// « overview page (all subpages are dynamic) '/reports/state-of-device-management',// « 2021 research // FUTURE: Do something smarter to get hand-coded HTML pages from routes.js, like how rebuild-cloud-sdk works, to avoid this manual duplication. // See also https://github.com/sailshq/sailsjs.com/blob/b53c6e6a90c9afdf89e5cae00b9c9dd3f391b0e7/api/helpers/get-pages-for-sitemap.js#L27 @@ -109,7 +109,7 @@ module.exports = { // ║ ║ ║ ╠═╣║╣ ╠╦╝ ║║╚╦╝║║║╠═╣║║║║║ ╠═╝╠═╣║ ╦║╣ ╚═╗ // ╚═╝ ╩ ╩ ╩╚═╝╩╚═ ═╩╝ ╩ ╝╚╝╩ ╩╩ ╩╩╚═╝ ╩ ╩ ╩╚═╝╚═╝╚═╝ for (let appPage of sails.config.builtStaticContent.appLibrary) { - sitemapXml +=`${_.escape(sails.config.custom.baseUrl+`/app-library/${appPage.identifier}`)}`;// note we omit lastmod for some sitemap entries. This is ok, to mix w/ other entries that do have lastmod. Why? See https://docs.google.com/document/d/1SbpSlyZVXWXVA_xRTaYbgs3750jn252oXyMFLEQxMeU/edit + sitemapXml +=`${_.escape(sails.config.custom.baseUrl+`/software-catalog/${appPage.identifier}`)}`;// note we omit lastmod for some sitemap entries. This is ok, to mix w/ other entries that do have lastmod. Why? See https://docs.google.com/document/d/1SbpSlyZVXWXVA_xRTaYbgs3750jn252oXyMFLEQxMeU/edit }//∞ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sitemapXml += ''; diff --git a/website/api/controllers/view-app-details.js b/website/api/controllers/view-app-details.js index bdebe18752..d2104bcf36 100644 --- a/website/api/controllers/view-app-details.js +++ b/website/api/controllers/view-app-details.js @@ -11,7 +11,7 @@ module.exports = { appIdentifier: { type: 'string', required: true, - description: 'the identifier of an app in Fleet\'s maintained app library.', + description: 'the identifier of an app in Fleet\'s maintained software catalog.', example: '1password' }, }, @@ -44,7 +44,7 @@ module.exports = { throw 'notFound'; } // FUTURE: make these better. - let pageTitleForMeta = thisApp.name + ' | Fleet app library'; + let pageTitleForMeta = thisApp.name + ' | Fleet software catalog'; // let pageDescriptionForMeta = 'TODO' // Respond with view. diff --git a/website/assets/js/components/docs-nav-and-search.component.js b/website/assets/js/components/docs-nav-and-search.component.js index 2c9b9bdeb9..c70785d889 100644 --- a/website/assets/js/components/docs-nav-and-search.component.js +++ b/website/assets/js/components/docs-nav-and-search.component.js @@ -39,7 +39,7 @@ parasails.registerComponent('docsNavAndSearch', { Vitals Queries Policies - Software + Software OS settings Data tables diff --git a/website/config/routes.js b/website/config/routes.js index af16cacb97..26f164c51b 100644 --- a/website/config/routes.js +++ b/website/config/routes.js @@ -401,7 +401,7 @@ module.exports.routes = { action: 'view-software-management', locals: { pageTitleForMeta: 'Software management', - pageDescriptionForMeta: 'Pick from a curated app library or upload your own custom packages. Configure custom installation scripts if you need or let Fleet do it for you.', + pageDescriptionForMeta: 'Pick from a curated software catalog or upload your own custom packages. Configure custom installation scripts if you need or let Fleet do it for you.', currentSection: 'platform', } }, @@ -463,7 +463,7 @@ module.exports.routes = { } }, - 'GET /app-library': { + 'GET /software-catalog': { action: 'view-app-library', locals: { pageTitleForMeta: 'Software', @@ -471,7 +471,7 @@ module.exports.routes = { } }, - 'GET /app-library/:appIdentifier': { + 'GET /software-catalog/:appIdentifier': { action: 'view-app-details',// Meta title and description set in view action }, @@ -726,7 +726,12 @@ module.exports.routes = { 'GET /guides/secret-variables': '/guides/secrets-in-scripts-and-configuration-profiles', 'GET /guides/ndes-scep-proxy': '/guides/connect-end-user-to-wifi-with-certificate', 'GET /guides/install-fleet-maintained-apps-on-macos-hosts': '/guides/fleet-maintained-apps', - + 'GET /app-library': '/software-catalog', + 'GET /app-library/:appIdentifier': { + fn: (req,res)=> { + return res.redirect('/software-catalog/'+req.param('appIdentifier')); + } + }, // Release note article redirects. 'GET /releases/fleet-3.10.0': '/releases/fleet-3-10-0', 'GET /releases/fleet-3.12.0': '/releases/fleet-3-12-0', @@ -849,6 +854,7 @@ module.exports.routes = { 'GET /endpoint-ops': (req,res)=> { let originalQueryString = req.url.match(/\?(.+)$/) ? '?'+req.url.match(/\?(.+)$/)[1] : ''; return res.redirect(301, sails.config.custom.baseUrl+'/orchestration'+originalQueryString);}, 'GET /observability': (req,res)=> { let originalQueryString = req.url.match(/\?(.+)$/) ? '?'+req.url.match(/\?(.+)$/)[1] : ''; return res.redirect(301, sails.config.custom.baseUrl+'/orchestration'+originalQueryString);}, + // Shortlinks for texting friends, radio ads, etc 'GET /mdm': '/device-management?utm_content=mdm',// « alias for radio ad 'GET /it': '/observability?utm_content=eo-it', diff --git a/website/views/layouts/layout.ejs b/website/views/layouts/layout.ejs index 0938008604..2bbb482fc2 100644 --- a/website/views/layouts/layout.ejs +++ b/website/views/layouts/layout.ejs @@ -207,7 +207,7 @@ diff --git a/website/views/pages/app-details.ejs b/website/views/pages/app-details.ejs index 90bf0ac467..f14f42605c 100644 --- a/website/views/pages/app-details.ejs +++ b/website/views/pages/app-details.ejs @@ -4,7 +4,7 @@
- Software/ + Software/
<%- thisApp.name %> @@ -29,7 +29,7 @@
  • Navigate to the Fleet Desktop icon in the OS menu bar and select My device.
  • From the Self-service tab, navigate to <%- thisApp.name %> and click Install.
  • -

    Don’t see <%- thisApp.name %> or the Fleet Desktop icon? Send a link to this page to your IT team.

    +

    Don’t see <%- thisApp.name %> or the Fleet Desktop icon? Send a link to this page to your IT team.

    Uninstall <%- thisApp.name %>

    @@ -52,9 +52,9 @@

    Share

    - Share this article on Hacker News - Share this article on LinkedIn - Share this article on Twitter + Share this article on Hacker News + Share this article on LinkedIn + Share this article on Twitter