Skip to content

feature: add custom diagrams (RDFA-364)#71

Open
tarn-soptim wants to merge 10 commits intomainfrom
feature/RDFA-364-custom-diagrams
Open

feature: add custom diagrams (RDFA-364)#71
tarn-soptim wants to merge 10 commits intomainfrom
feature/RDFA-364-custom-diagrams

Conversation

@tarn-soptim
Copy link
Copy Markdown
Collaborator

Description

Test Checklist

General Behavior

  • Components reload automatically when data changes
  • Editing features are disabled in readonly datasets
  • Dialogs pre-select current dataset/graph
  • Required fields are validated in dialogs
  • Discarding unsaved changes opens a discard cancel confirm dialog

Global MenuBar

  • Navigate to home page works
  • File menu:
    • Import → Graph/SHACL works
    • Export → Graph/SHACL works
    • Share Snapshot works
    • Delete → Dataset/Graph works
  • Edit menu:
    • New → Class works
    • New → Package works
    • Edit/View → Create/Edit/View Ontology works
    • Edit/View → Package works
    • Undo/Redo (Ctrl+Z / Ctrl+Y) works
    • Enable/Disable editing works
    • Manage/View namespaces works
    • Delete → Ontology/Package works
  • View menu:
    • Changelog opens and shows current graph
    • Compare Graphs opens
    • Full SHACL works
  • Help menu:
    • Help link works
    • Submit Feedback link works
    • About navigation works

Welcome Page

  • Navigation to Editor works
  • Tips are displayed
  • Security and data information displayed
  • Copyright and version information displayed

Editor - MenuBar

  • Search function works with all filters (All Datasets, Current Dataset, Current Graph, Current Package)
  • Search finds classes, attributes, associations, packages
  • "Enable Editing" button appears for readonly datasets

Editor - Navigation

  • Hierarchical display (Datasets → Graphs → Packages) works
  • Selection is highlighted
  • Selecting a class does not change dataset/graph/package selection
  • Class selection stays open/highlighted when switching dataset/graph/package
  • Datasets and graphs are collapsible
  • Single click selects; double click or chevron toggles expand/collapse
  • State persists on reload (non-browser)
  • Context menus act on the dataset/graph/package they were opened on
  • Hover labels show prefixes when configured
  • Dataset context menu:
    • Import graph works (disabled in readonly datasets)
    • Share Snapshot works
    • Enable/Disable editing works
    • Manage/View namespaces works
    • Delete dataset works
  • Graph context menu:
    • New package works (disabled in readonly datasets)
    • Undo/Redo works (only enabled when available)
    • Create Ontology
    • Edit Ontology (View Ontology in readonly)
    • Delete Ontology
    • Changelog navigation works
    • Compare dialog works
    • SHACL import/export/full view works (import disabled in readonly datasets)
    • Export graph works
    • Delete graph works (disabled in readonly datasets)
  • Package context menu:
    • Create new class works (disabled in readonly datasets)
    • View/Edit package works
    • Copy URL works
    • Delete package works (disabled for external/default packages and readonly datasets)
  • Class context menu:
    • Open class (editor) works
    • SHACL works
    • Delete class works (disabled in readonly datasets)

Editor - Package View

  • Class diagram displays correctly
  • Moving nodes works and layout changes persist after reload
  • Loading animation shows while loading
  • Info cards show when no package or no classes available
  • Drag and zoom diagram works
  • "Reset View" button works
  • "Filter View" works
  • "Reset Layout" button resets diagram to auto-generated layout
  • Click on class opens class editor

Editor - Class Editor

  • Display and edit class properties: UUID (readonly), Label, Namespace, Package, Derived from, Abstract, Stereotypes, Attributes, Associations, Comment
  • Delete class works
  • Save changes works
  • Discard changes works
  • Attribute Editor works
  • Association Editor works
  • attribute/association SHACL View works
  • Class SHACL View works

Prefixes Page

  • View, add, remove and edit namespaces works

Changelog Page

  • Select graph and display write operations works
  • Operations shown in reverse chronological order
  • Detailed view of changed triples works
  • Restoring graph to a version works

Compare Page

  • Compare two graphs works

Comment thread backend/src/main/java/org/rdfarchitect/database/inmemory/diagrams/CustomDiagram.java Dismissed
@tarn-soptim tarn-soptim force-pushed the feature/RDFA-364-custom-diagrams branch 2 times, most recently from 5c685f1 to b6ae184 Compare April 16, 2026 12:12
@tarn-soptim tarn-soptim force-pushed the feature/RDFA-364-custom-diagrams branch from 58212fc to 84cb86d Compare April 22, 2026 11:24
@tarn-soptim tarn-soptim marked this pull request as ready for review April 23, 2026 10:23
Copy link
Copy Markdown
Collaborator

@rema-soptim rema-soptim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First few things i noticed:

  • deleting a custom dataset view doesn't work
  • dataset views don't render
  • dataset views are not expanded when creating them (could be intentional but I think it would make sense)
  • When selecting a class that exists in multiple views only the one clicked at is highlighted in the package navigation, instead of all occurrences
  • I think it feels strange that it's not possible to onclick highlight the dataset/profile navigation entries like for datasets/graphs, even though it probably has no use.
  • Would it make sense to not show the custom diagram section, when it's empty? And move the create functionality to the dataset/graph context menu. To me it feels visually disruptive when it's not used, especially since it reoccurs for every graph and has a unique spacing because of the separator
  • Maybe the option for "Add to Profile Diagram" and "Add to Dataset Diagram" in the class context menu should be disabled when there are no existing diagrams or let the user create a new diagram from here too.
  • Missing header text for the create profile and dataset diagram dialog.
  • Rn it's only possible to select a class in the create diagram menu by clicking the checkbox directly, maybe it would make sense to use the whole class entry as the button and the checkbox only as the indicator.
  • Double clicking a checkbox too fast expands/closes the dataset/graph in the create dialogs
  • The console is spammed with "invalid ownership mutation" in the create dialogs
  • There is a "deselect all" button, but not a "select all"
  • The filter view dialog doesn't make sense for custom diagrams

This is not a complete test, only the things i noticed when checking out whats new, before doing the actual review.


private String getDiagramName(DiagramLayout diagramLayout, GraphIdentifier graphIdentifier, CIMCollection cimCollection, UUID diagramUUID) {
if (diagramUUID == diagramLayout.getDefaultPackageMRID().getUuid()) {
return graphIdentifier.getGraphUri() + "/" + DEFAULT_PACKAGE_NAME;
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this be separated by '#'?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i only extracted that bit from existing code, so i would assume its correct if it has been working so far?

Comment thread frontend/src/lib/rendering/svelteflow/svelteFlowWrapper.svelte
selectedDataset: new StateValuePair(),
selectedGraph: new StateValuePair(),
selectedPackageUUID: new StateValuePair(),
selectedCustomDiagramUUID: new StateValuePair(),
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like its kinda strange having 2 states that can never be turned on at the same time, maybe it's possible to unify them. But im not sure if this creates other problems im not thinking about.

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.

3 participants