Uploaded image for project: 'OCMUI - OpenShift Cluster Manager UI'
  1. OCMUI - OpenShift Cluster Manager UI
  2. OCMUI-3744

Move support and doc links from installLinks.mjs into other link files

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • None
    • Core UI
    • 3

      Summary

      Reorganize link architecture by moving documentation and remaining support URLs from installLinks.mjs into dedicated files

      Following OCMUI-3196 consolidation of hardcoded access.redhat.com URLs, we now need to complete the link architecture reorganization. Currently, installLinks.mjs contains a mix of installation binaries, documentation links, and some remaining support URLs that should be properly separated.

      This epic will:

      1. Create a new docLinks.mjs file for documentation and educational content
      2. Move remaining access.redhat.com support URLs from installLinks.mjs to supportLinks.mjs
      3. Move documentation URLs from installLinks.mjs to docLinks.mjs
      4. Keep only installation/binary-specific URLs in installLinks.mjs

      Current State (After OCMUI-3196 closes/merges)

      installLinks.mjs: 402 URLs

      • Installation binaries (mirror.openshift.com)
      • Documentation links (docs.redhat.com, developers.redhat.com)
      • Remaining support URLs (access.redhat.com/documentation/*)
      • Educational content (walkthrough videos, learn more pages)

      supportLinks.mjs: 12 URLs

      • Support case management (access.redhat.com/support/*)
      • Knowledge base articles (access.redhat.com/articles/*)
      • Support policies (access.redhat.com/support/policy/*)

      docLinks.mjs: Does not exist yet

      Target Architecture

      installLinks.mjs (Installation & Binaries)

      Purpose: Binary downloads, installation tools, and cluster creation workflows

      docLinks.mjs (Documentation & Educational) NEW FILE

      Purpose: Documentation, tutorials, educational content, and developer resources

      supportLinks.mjs (Support & Troubleshooting)

      Purpose: Support cases, knowledge base, policies, and troubleshooting

      URLs to Move

      From installLinks.mjs → docLinks.mjs (~50-70 URLs estimated):

      • All DOCS_BASE (docs.redhat.com) references and derived URLs
      • All developers.redhat.com URLs
      • Educational content URLs:
        • WHAT_IS_OPENSHIFT, WHAT_IS_ROSA, WHAT_IS_OSD
        • LEARN_MORE_OSD, OSD_INTERACTIVE_WALKTHROUGH
        • OSD_QUICKSTART (YouTube video)
        • Documentation links: IDP_{}{}, }}{}{{_DOCS constants

      From installLinks.mjs → supportLinks.mjs (~10-15 URLs estimated):

      • Remaining access.redhat.com/documentation/* URLs
      • ROSA_CP_DOCS_BASE and derived troubleshooting/support URLs
      • OCM_DOCS_BASE and OCP_DOC_BASE support documentation

      Remaining in installLinks.mjs (~300+ URLs estimated):

      • All mirror.openshift.com binary downloads (nested urls structure)
      • Cloud marketplace URLs (console.cloud.google.com)
      • Pricing pages for products
      • CLI binary download URLs
      • Installation-specific tool downloads

      Acceptance Criteria

      AC1: Create docLinks.mjs File

      • [ ] Create src/common/docLinks.mjs following same pattern as supportLinks.mjs
      • [ ] Implement consistent getLinks() interface using combineAndSortLinks from linkUtils.mjs
      • [ ] Add JSDoc documentation explaining purpose: "Documentation, tutorials, and educational content"

      AC2: Move Documentation URLs

      • [ ] Move all docs.redhat.com/* URLs from installLinks.mjs to docLinks.mjs
      • [ ] Move all developers.redhat.com/* URLs from installLinks.mjs to docLinks.mjs
      • [ ] Move educational/tutorial URLs to docLinks.mjs:
        • WHAT_IS_* product information pages
        • LEARN_MORE_* educational content
        • *_DOCS documentation references
        • Interactive walkthroughs and videos
      • [ ] Update all component imports to use new docLinks constants

      AC3: Move Support URLs

      • [ ] Move remaining access.redhat.com/documentation/* URLs from installLinks.mjs to supportLinks.mjs
      • [ ] Move troubleshooting and support-specific documentation URLs
      • [ ] Update affected component imports to use supportLinks constants

      AC4: Update Architecture

      • [ ] Update getAllExternalLinks() in urlUtils.mjs to include new docLinks.mjs
      • [ ] Update check-links.mjs and dump-links.mjs scripts to include all three link files
      • [ ] Ensure no circular dependencies remain

      AC5: Testing & Validation

      • [ ] All existing unit tests continue to pass
      • [ ] Create unit tests for new docLinks.mjs functionality
      • [ ] Verify yarn find-circular-dependencies passes
      • [ ] Verify yarn check-links validates all URLs from three files
      • [ ] Confirm URL count: installLinks + supportLinks + docLinks = original total

      AC6: Documentation

      • [ ] Update link file comments to clearly describe their purpose
      • [ ] Add README.md section explaining three-file link architecture
      • [ ] Document the categorization rules for future URL additions

      Definition of Done

      • [ ] All URLs properly categorized into logical files
      • [ ] No hardcoded documentation URLs remain in installLinks.mjs
      • [ ] All component imports updated and tested
      • [ ] Architecture supports easy future additions to any category
      • [ ] Link validation scripts work with all three files
      • [ ] Zero circular dependencies
      • [ ] All existing functionality preserved

              dtaylor@redhat.com David Taylor
              dtaylor@redhat.com David Taylor
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: