Repository navigation
feat: rename organization to company across insights - #2497
Conversation
Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
Refs linuxfoundation/lfx-cdp-insights-ops#1006 Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
PR SummaryMedium Risk Overview Routing and URLs: company profile pages move from Small UX tweak: geographical distribution map tooltips pluralize the series label via Unchanged by design: Reviewed by Cursor Bugbot for commit 3306664. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
🟡 Changes recommended
The shared map tooltip formatter incorrectly pluralizes “Company” as “Companys,” affecting country hover text in both the geographical distribution widget and drawer.
1 open issue
What changed in this PR
Renames user-facing “Organization” terminology to “Company” throughout Insights while preserving existing API paths, data keys, and backend contracts.
Changes:
- Moves company pages and company leaderboards to new URLs, with redirects from legacy paths.
- Updates UI copy, metadata, documentation, and widget documentation links.
- Adds leaderboard slug mapping and updates navigation, sitemap generation, and related tests.
| File | Description |
|---|---|
frontend/test/config/health-breakdown-templates-org-diversity.test.ts |
Updates company-diversity assertions. |
frontend/setup/caching.ts |
Adds leaderboard redirects and company-page caching. |
frontend/setup/caching.test.ts |
Tests redirects and company caching rules. |
frontend/server/api/seo/sitemap/leaderboards.ts |
Uses public leaderboard slugs. |
frontend/server/api/organization-page/[orgSlug]/kpis.get.ts |
Updates not-found wording. |
frontend/server/api/organization-page/[orgSlug].get.ts |
Updates not-found wording. |
frontend/public/llms.txt |
Uses company terminology. |
frontend/docs/more/glossary/index.md |
Renames the company definition and references. |
frontend/docs/more/faq/index.md |
Updates affiliation terminology. |
frontend/docs/metrics/health-score/index.md |
Renames company diversity documentation. |
frontend/docs/metrics/contributors/index.md |
Updates company metric headings and explanations. |
frontend/docs/introduction/what-is-insights/index.md |
Updates introductory copy. |
frontend/docs/introduction/maintainers/index.md |
Updates affiliation wording. |
frontend/docs/introduction/lf-oss-index/index.md |
Updates company participation descriptions. |
frontend/docs/introduction/data-quality/index.md |
Updates company data-quality terminology. |
frontend/docs/introduction/contributor-affiliations/index.md |
Updates affiliation explanations. |
frontend/docs/features/organization-page/index.md |
Renames documentation without changing its URL. |
frontend/docs/features/community-collections/index.md |
Updates company metric names. |
frontend/docs/.vitepress/config.ts |
Renames the sidebar entry. |
frontend/config/leaderboard-slugs.ts |
Maps stable leaderboard keys to public slugs. |
frontend/config/health-breakdown-templates.ts |
Updates company-diversity descriptions and plurals. |
frontend/app/pages/report/cncf-france.vue |
Updates report metadata. |
frontend/app/pages/project/[slug]/repository/[name]/contributors.vue |
Updates repository contributor metadata. |
frontend/app/pages/project/[slug]/repository-group/[groupSlug]/contributors.vue |
Updates repository-group contributor metadata. |
frontend/app/pages/project/[slug]/contributors.vue |
Updates contributor titles and metadata. |
frontend/app/pages/organization/[...slug].vue |
Redirects legacy paths, preserving query and hash. |
frontend/app/pages/leaderboards/[key].vue |
Resolves public slugs to leaderboard keys. |
frontend/app/pages/company/[orgSlug]/index.vue |
Updates company-page metadata fallback. |
frontend/app/pages/company/[orgSlug].vue |
Updates company-page error text. |
frontend/app/pages/collection/details/[slug]/development.vue |
Updates collection metadata fallback. |
frontend/app/pages/collection/details/[slug]/contributors.vue |
Updates collection contributor metadata. |
frontend/app/components/shared/types/routes.ts |
Points the route constant to company pages. |
frontend/app/components/shared/layout/search/search.vue |
Updates search prompt. |
frontend/app/components/shared/layout/search/search-result.vue |
Updates company tabs and empty states. |
frontend/app/components/shared/layout/search/search-modal.vue |
Updates search placeholder. |
frontend/app/components/shared/layout/footer.vue |
Updates introductory footer copy. |
frontend/app/components/modules/widget/config/contributor/retention/retention.vue |
Uses display labels for retention headings. |
frontend/app/components/modules/widget/config/contributor/retention/retention.config.ts |
Updates retention description. |
frontend/app/components/modules/widget/config/contributor/organizations-leaderboard/organizations-leaderboard.vue |
Updates leaderboard controls and error text. |
frontend/app/components/modules/widget/config/contributor/organizations-leaderboard/organizations-leaderboard.config.ts |
Updates widget copy and documentation anchor. |
frontend/app/components/modules/widget/config/contributor/organizations-leaderboard/fragments/organization-leaderboard-drawer.vue |
Updates drawer error text. |
frontend/app/components/modules/widget/config/contributor/organization-dependency/organization-dependency.vue |
Updates dependency labels and error text. |
frontend/app/components/modules/widget/config/contributor/organization-dependency/organization-dependency.config.ts |
Updates dependency copy, benchmarks, and documentation link. |
frontend/app/components/modules/widget/config/contributor/geographical-distribution/geographical-distribution.vue |
Updates company tabs and map labels. |
frontend/app/components/modules/widget/config/contributor/geographical-distribution/geographical-distribution.config.ts |
Updates geographical-distribution description. |
frontend/app/components/modules/widget/config/contributor/geographical-distribution/fragments/geographical-distribution-drawer.vue |
Updates drawer tabs and map labels. |
frontend/app/components/modules/widget/config/contributor/active-organizations/active-organizations.vue |
Updates chart, snapshot, and error labels. |
frontend/app/components/modules/widget/config/contributor/active-organizations/active-organizations.config.ts |
Updates widget copy and documentation anchor. |
frontend/app/components/modules/widget/components/contributors/fragments/organizations-table.vue |
Updates table labels and company links. |
frontend/app/components/modules/report/health-score-coverage/config/signals.ts |
Renames the diversity signal label. |
frontend/app/components/modules/report/health-score-coverage/components/signal-scores.vue |
Updates diversity score label. |
frontend/app/components/modules/report/health-score-coverage/components/signal-availability-lf.vue |
Updates diversity availability label. |
frontend/app/components/modules/report/cncf/views/cncf-report.vue |
Updates report description. |
frontend/app/components/modules/report/cncf-country/views/cncf-country-report.vue |
Updates report headings, metrics, and methodology copy. |
frontend/app/components/modules/report/cncf-country/components/cncf-country-split.vue |
Updates affiliation segment labels. |
frontend/app/components/modules/report/cncf-country/components/cncf-country-organizations.vue |
Renames the company table header. |
frontend/app/components/modules/report/cncf-country/components/cncf-country-comparison.vue |
Updates comparison labels. |
frontend/app/components/modules/project/config/yaml-generation/shared/components/yaml-core-member-item.vue |
Updates affiliation placeholder. |
frontend/app/components/modules/project/config/yaml-generation/shared/components/yaml-administrator-item.vue |
Updates affiliation placeholder. |
frontend/app/components/modules/project/components/overview/health-breakdown-section.vue |
Renames the company-diversity row. |
frontend/app/components/modules/project/components/list/project-list-item.vue |
Updates company-count label. |
frontend/app/components/modules/organization/components/overview/projects-section.vue |
Updates company-name fallback. |
frontend/app/components/modules/organization/components/overview/locked-contributors-section.vue |
Updates company call-to-action copy. |
frontend/app/components/modules/organization/components/overview/kpi-row.vue |
Updates company-name fallback. |
frontend/app/components/modules/organization/components/overview/contributors-chart.vue |
Updates company-name fallback. |
frontend/app/components/modules/organization/components/overview/activity-chart.vue |
Updates company-name fallback. |
frontend/app/components/modules/organization/components/header.vue |
Updates share-title fallback. |
frontend/app/components/modules/leaderboards/config/top-100-organizations.config.ts |
Renames leaderboard copy while retaining its key. |
frontend/app/components/modules/leaderboards/config/most-active-organizations.config.ts |
Updates company leaderboard and metric labels. |
frontend/app/components/modules/leaderboards/components/sections/leaderboard-sidebar.vue |
Uses public slugs in sidebar links. |
frontend/app/components/modules/leaderboards/components/sections/leaderboard-mobile-nav.vue |
Uses public slugs in mobile navigation. |
frontend/app/components/modules/leaderboards/components/sections/leaderboard-card.vue |
Updates navigation and share URLs. |
frontend/app/components/modules/explore/components/explore-header.vue |
Updates introductory copy. |
frontend/app/components/modules/collection/views/collection-details.vue |
Updates dependency column heading. |
frontend/app/components/modules/collection/components/details/filters.vue |
Renames company sorting option. |
frontend/app/components/modules/collection/components/details/dependency-details.vue |
Updates dependency labels and pluralization. |
frontend/app/components/modules/collection/components/details/dependency-column.vue |
Uses company pluralization. |
frontend/app/components/modules/collection/components/details/badge-details.vue |
Uses public leaderboard slugs. |
frontend/app/components/modules/badges/config/badges/active-organizations.config.ts |
Updates badge title and description. |
frontend/app/components/modules/badges/components/badges-popover.vue |
Uses public leaderboard slugs. |
Review effort: Balanced
| const label = computed(() => (model.value.activeTab === 'contributors' ? 'Contributor' : 'Organization')); | ||
| const activeTabLabel = computed(() => tabs.find((tab) => tab.value === model.value.activeTab)?.label); | ||
|
|
||
| const label = computed(() => (model.value.activeTab === 'contributors' ? 'Contributor' : 'Company')); |
Refs linuxfoundation/lfx-cdp-insights-ops#1006 Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
Refs linuxfoundation/lfx-cdp-insights-ops#1006 Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
Refs linuxfoundation/lfx-cdp-insights-ops#1006 Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
Refs linuxfoundation/lfx-cdp-insights-ops#1006 Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
Refs linuxfoundation/lfx-cdp-insights-ops#1006 Signed-off-by: Gašper Grom <gasper.grom@gmail.com>

Summary
Renames user-visible "Organization" to "Company" across Insights: UI copy, SEO meta, docs and llms.txt. Company pages and the two company leaderboards move to new URLs, and the old URLs 301 to them.
Changes
/organization/<slug>→/company/<slug>, and/leaderboards/organizations//leaderboards/active-organizations→/leaderboards/companies//leaderboards/active-companies.app/pages/organization/[...slug].vue,app/pages/leaderboards/[key].vue): a 301 on SSR, the same on in-app navigation, any letter case, query and hash kept. Bare/organizationreturns 404./organization/**rule expands**literally on the client.leaderboardType.config/leaderboard-slugs.tsmaps each key to its URL slug. Links, the[key]page and the sitemap use it.public/llms.txtlearnMoreLinkanchors updated to match the new headings/api/organization-page/*),?widget=keys, enums, tab values and Tinybird columnsOrganization, blog postsapi/src/lib/organizations.tsnow cites/company/{slug}.Test plan
pnpm lint,pnpm tsc-check, vitest (659 tests).router.push('/organization/<slug>')lands on the real company page.organization-dependencyandcontributor-dependencyembeds 500 without ametricparam. This predates the PR and also happens on the untouched contributor embed.Deploy
No migrations or Tinybird changes. The CDP PR renames the admin widget names to match; merge both on the same day.
Closes linuxfoundation/lfx-cdp-insights-ops#1006
CDP counterpart: linuxfoundation/crowd.dev#5289