Skip to content

feat: add UI prototype for Connect Associated Datasets feature#1463

Draft
sven1103 wants to merge 1 commit into
prototype/connect-datasetfrom
prototype/connect-dataset-sonnet4_6
Draft

feat: add UI prototype for Connect Associated Datasets feature#1463
sven1103 wants to merge 1 commit into
prototype/connect-datasetfrom
prototype/connect-dataset-sonnet4_6

Conversation

@sven1103

Copy link
Copy Markdown
Contributor

Adds a development-only demo view at /dev/demo/associated-datasets that covers all 8 user stories from the 'Connect Associated Datasets' feature spec (2026-06-19):

  • Story 01/05: Search & connect open/restricted datasets via a large dialog with InvenioRDM instance selector, live-filtered search field, and single-select result grid
  • Story 02/06: View connected datasets in two Section components (Public Datasets / Restricted Datasets) each backed by a grid showing title, clickable DOI/access link, repository tag, version, connected-by user + date
  • Story 03/07: Remove connection via a danger-confirm dialog
  • Story 04/08: Sync single dataset (row icon) and Sync All (action bar button) with simulated success/info notifications
  • Story 05 extra: dismissible InfoBox warning when opening the restricted search if no access token is configured

All interactions are simulated in-memory; no backend is contacted. The view is gated behind @Profile("development") and @AnonymousAllowed.

Also fixes two missing CSS rules surfaced during visual review:

  • .actionbar: flex-direction row, nowrap, gap — buttons were stacking vertically because the class had no rule in the theme
  • .section-header-row: adds justify-content space-between and align-items center so title and action bar sit on opposite ends
  • .tag.teal: adds background/colour for the FDAT repository tag (TagColor.TEAL was referencing a non-existent CSS class)

Description

Issue and Traceability

Linked Task Issue

  • Closes: #

Requirement IDs Addressed

  • Requirement IDs:

Requirement Update Status

  • Requirements Updated: The corresponding functional/non-functional requirements in docs/requirements.md have been updated to reflect this implementation.
  • Justification Provided: This PR does not change externally observable behavior, so no requirement update is needed. (Provide brief justification below)

Justification (if applicable)

Changes Summary

Modified Areas

  • Domain layer (domain/model/, domain events, aggregates)
  • Application layer (application/ services, use cases)
  • Infrastructure layer (JPA repositories, external integrations, config)
  • UI / Views (views/ components, Vaadin routes)
  • Database schema (sql/, DDL changes)
  • Tests (unit, integration, or Spock specs)
  • Documentation, CI/CD, or build configuration
  • Other (describe):

Behavioral Changes

  • No behavioral changes (internal refactoring, optimization, test addition, etc.)
  • Yes, behavior changes:

Sensitive Changes Requiring Review

  • Database schema changes (sql/complete-schema.sql, table/column DDL)
  • Spring Security configuration (security/, ACL setup, authentication/authorization)
  • FAIR / RO-Crate export format (docs/fair/, RO-Crate builder logic)
  • Artemis messaging topics (JMS topic names, consumer configuration)
  • Requirement file edits (docs/requirements.md)
  • None of the above

Pre-Submission Checklist

  • Issue Linked: PR references a Task issue (see "Linked Task Issue" section above)
  • Requirements Listed: All functional (R) and non-functional (NFR) requirement IDs are listed above
  • No Constraint IDs: No C (constraint) IDs are listed in the Requirement IDs section
  • Behavior vs. Requirements: Requirement update confirmed OR explicit justification provided
  • Code Style: Code follows Google Java Style Guide (run formatter before commit)
  • Tests: New tests added or existing tests updated to cover changes
  • No Secrets: No hardcoded credentials, API keys, passwords, or secrets committed
  • Documentation: Updated relevant docs if the change affects user-facing behavior or public APIs

Notes for Reviewers

Adds a development-only demo view at /dev/demo/associated-datasets
that covers all 8 user stories from the 'Connect Associated Datasets'
feature spec (2026-06-19):

- Story 01/05: Search & connect open/restricted datasets via a
  large dialog with InvenioRDM instance selector, live-filtered
  search field, and single-select result grid
- Story 02/06: View connected datasets in two Section components
  (Public Datasets / Restricted Datasets) each backed by a grid
  showing title, clickable DOI/access link, repository tag, version,
  connected-by user + date
- Story 03/07: Remove connection via a danger-confirm dialog
- Story 04/08: Sync single dataset (row icon) and Sync All (action
  bar button) with simulated success/info notifications
- Story 05 extra: dismissible InfoBox warning when opening the
  restricted search if no access token is configured

All interactions are simulated in-memory; no backend is contacted.
The view is gated behind @Profile("development") and
@AnonymousAllowed.

Also fixes two missing CSS rules surfaced during visual review:
- .actionbar: flex-direction row, nowrap, gap — buttons were
  stacking vertically because the class had no rule in the theme
- .section-header-row: adds justify-content space-between and
  align-items center so title and action bar sit on opposite ends
- .tag.teal: adds background/colour for the FDAT repository tag
  (TagColor.TEAL was referencing a non-existent CSS class)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant