Skip to content

Comments

External Tools SPA Integration#815

Merged
ofahimIQSS merged 58 commits intodevelopfrom
feat/814-external-tools-integration
Oct 1, 2025
Merged

External Tools SPA Integration#815
ofahimIQSS merged 58 commits intodevelopfrom
feat/814-external-tools-integration

Conversation

@g-saracca
Copy link
Contributor

@g-saracca g-saracca commented Aug 29, 2025

What this PR does / why we need it:

The initial scope of this issue was to support File Preview External Tools. However, since the endpoint introduced by @qqmyers in this PR already covers all tool types, I extended this work to support all external tool types used within the app. Not sure if I'm missing something.

Dataset Page:

  • Access Dataset dropdown => Explore Tool options
  • Edit Dataset dropdown => Configure Tool options
  • Files Table => File => Preview and Query buttons
  • Files Table => File => Access File => Explore and Query Tool options
  • Files Table => File => Edit File => Configure Tool options

File Page:

  • Access File dropdown => Explore and Query Tool options
  • Edit File dropdown => Configure Tool options
  • Preview tab => Preview and Query Tool options.
    If only one file applicable tool and is preview, the tab will show "Preview" title. Storybook example.
    If only one file applicable tool and is query, the tab will show "Query" title. Storybook example.
    If more than one file applicable tool, the tab will show "File Tools". Storybook example.

Which issue(s) this PR closes:

Special notes for your reviewer:

Please note that we are using a JS-Dataverse PR generated package version because related backend PR is In Review.
I've fixed some styling related to button groups in vertical mode when buttons inside of it contained tooltips.
I've also moved the loading provider/context to a shared /contexts folder.
I've added some unit tests but not sure if worth or how to add integration tests for this. Also the window.open is not working correctly on the CI tests due to an issue with Electron so I skipped testing that part.

Suggestions on how to test this:

⚠️ Do not merge until related backend and JS-Dataverse issues are closed.

In order to test the visibility of these external tools you will need to first upload them on your local setup with the admin endpoint: /api/admin/externalTools (POST), ping me and I can share some json examples of different tools that I grab from HDV installation, they should be enough to test the visibility of every external tool in the UI.

Compare with the JSF version to validate we are following the same permissions approach.

Does this PR introduce a user interface change? If mockups are available, please link/include them here: Yes.

Access Dataset dropdown => Explore Tool options
dataset_explore_options

Edit Dataset dropdown => Configure Tool options
Screenshot 2025-09-01 at 10 55 18

Files Table => File => Preview and Query buttons
file_preview_and_query_icons

Files Table => File => Access File => Explore and Query Tool options
file_access_query

Files Table => File => Edit File => Configure Tool options
files_edit_options

Access File dropdown => Explore and Query Tool options
file_query_options

Edit File dropdown => Configure Tool options
file_configure_options

Preview tab => Preview and Query Tool options.
file_preview_audio

More than one tool applicable for the file type.
multiple_tools_preview_and_query

Is there a release notes update needed for this change?:

No

Additional documentation:

N/A

@coveralls
Copy link

coveralls commented Aug 29, 2025

Coverage Status

coverage: 97.223% (-0.8%) from 98.052%
when pulling d3df63c on feat/814-external-tools-integration
into 08bc177 on develop.

@github-project-automation github-project-automation bot moved this from In Review 🔎 to Ready for QA ⏩ in IQSS Dataverse Project Sep 16, 2025
@ChengShi-1 ChengShi-1 removed their assignment Sep 16, 2025
@cmbz cmbz added the FY26 Sprint 7 FY26 Sprint 7 (2025-09-24 - 2025-10-08) label Sep 24, 2025
@ofahimIQSS ofahimIQSS moved this from Ready for QA ⏩ to QA ✅ in IQSS Dataverse Project Sep 30, 2025
@ofahimIQSS ofahimIQSS self-assigned this Sep 30, 2025
@ofahimIQSS
Copy link
Contributor

@g-saracca Thanks! Merged!

@ofahimIQSS ofahimIQSS merged commit 905d610 into develop Oct 1, 2025
12 checks passed
@github-project-automation github-project-automation bot moved this from QA ✅ to Merged 🚀 in IQSS Dataverse Project Oct 1, 2025
@ofahimIQSS ofahimIQSS deleted the feat/814-external-tools-integration branch October 1, 2025 16:23
@ofahimIQSS ofahimIQSS removed their assignment Oct 1, 2025
@scolapasta scolapasta moved this from Merged 🚀 to Done 🧹 in IQSS Dataverse Project Oct 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

FY26 Sprint 5 FY26 Sprint 5 (2025-08-27 - 2025-09-10) FY26 Sprint 6 FY26 Sprint 6 (2025-09-10 - 2025-09-24) FY26 Sprint 7 FY26 Sprint 7 (2025-09-24 - 2025-10-08) GREI Re-arch GREI re-architecture-related Original size: 10 Size: 10 A percentage of a sprint. 7 hours. SPA.Q3.2025.10 External Tools SPA

Projects

Status: Done 🧹

Development

Successfully merging this pull request may close these issues.

External Tools integration

7 participants