Skip to content

feat: add Documentation link to Admin Sidebar (fixes #3320)#5077

Open
JorgeEscire wants to merge 1 commit intoDSpace:mainfrom
JorgeEscire:Issue/3320
Open

feat: add Documentation link to Admin Sidebar (fixes #3320)#5077
JorgeEscire wants to merge 1 commit intoDSpace:mainfrom
JorgeEscire:Issue/3320

Conversation

@JorgeEscire
Copy link

References

Fixes #3320

Description

This PR adds a "Documentation" link to the Admin Sidebar menu. The link URL is automatically generated based on the DSpace backend version retrieved from the REST API root endpoint (e.g., DSpace 10.0.0 → https://wiki.lyrasis.org/display/DSDOC10x). No manual configuration is needed.

Additionally, this PR adds support for MenuItemType.EXTERNAL in AdminSidebarSectionComponent, which previously only supported internal routerLink navigation. External links now open in a new browser tab.

Instructions for Reviewers

List of changes in this PR:

  • Created DocumentationMenuProvider that reads dspaceVersion from the REST API root endpoint, extracts the major version, and builds the documentation URL dynamically
  • Modified AdminSidebarSectionComponent (.ts and .html) to support MenuItemType.EXTERNAL links with target="_blank" rendering
  • Registered the new provider in app.menus.ts under MenuID.ADMIN
  • Added i18n keys menu.section.documentation in en.json5 and de.json5
  • Includes error handling: if the API fails or the version cannot be parsed, falls back to https://wiki.lyrasis.org/display/DSDOC/

How to test:

  • Log in as a Site Administrator
  • Verify the "Documentation" link appears at the bottom of the Admin Sidebar with a book icon
  • Click on "Documentation" and verify it opens the correct DSpace documentation wiki in a new tab (e.g., https://wiki.lyrasis.org/display/DSDOC10x for DSpace 10.x)
  • Verify the link URL matches the major version of your DSpace backend

Checklist

  • My PR is created against the main branch of code
  • My PR is small in size
  • My PR passes ESLint validation using npm run lint
  • My PR doesn't introduce circular dependencies
  • My PR includes TypeDoc comments for all new public methods and classes
  • My PR passes all specs/tests
  • My PR aligns with Accessibility guidelines
  • My PR uses i18n keys instead of hardcoded English text
  • My PR includes details on how to test it
  • If my PR includes new features or configurations, I've provided basic technical documentation in the PR itself

@tdonohue tdonohue added improvement usability 1 APPROVAL pull request only requires a single approval to merge labels Feb 3, 2026
@tdonohue tdonohue moved this to 🙋 Needs Reviewers Assigned in DSpace 10.0 Release Feb 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1 APPROVAL pull request only requires a single approval to merge improvement usability

Projects

Status: 🙋 Needs Reviewers Assigned

Development

Successfully merging this pull request may close these issues.

Add link to Documentation from within DSpace User Interface

3 participants