Skip to content
107 changes: 107 additions & 0 deletions .github/FEATURE_CHECKLIST.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# Feature Checklist

Reference document for manual testing. Verify the areas relevant to your change before marking a PR as tested.

## 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 confirm dialog

## Global MenuBar

- Navigate to home page
- File menu: Import / Export Schema & Constraints, Settings, Share Snapshot, Delete Dataset/Schema
- Edit menu: New Class/Package, Copy/Paste class, Edit/View Profile header & Package, Undo/Redo (Ctrl+Z / Ctrl+Y), Enable/Disable editing, Manage namespaces, Delete Profile header/Package
- View menu: Changelog, Compare Schemas, Schema Migration, Full Constraints (SHACL)
- Help menu: Help link, Submit Feedback link, About

## Welcome Page

- Navigation to Editor
- Tips displayed
- Security and data information displayed
- Copyright and version information displayed

## Editor – MenuBar

- Search 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 → Schemas → Packages)
- Selection highlighting
- Selecting a class does not change dataset/schema/package selection
- Class selection stays highlighted when switching dataset/schema/package
- Datasets and schemas are collapsible
- Single click selects; double click or chevron toggles expand/collapse
- State persists on reload (non-browser)
- Context menus act on the correct node (dataset/schema/package/class)
- Hover labels show prefixes when configured
- Dataset context menu: Add schema, Import schema, New Dataset Diagram, Share Snapshot, Enable/Disable editing, Manage namespaces, Delete dataset
- Schema context menu: New package, New Profile Diagram, Undo/Redo, Create/Edit/Delete profile header, Changelog, Compare, Migrate schema, Constraints import/export/full view, Export schema, Delete schema
- Package context menu: Create class, Add to Profile/Dataset Diagram, Paste class, View/Edit package, Copy URL, Delete package
- Class context menu: Show in diagram, Copy class, Constraints, Add to Profile/Dataset Diagram, Delete class
- Diagram context menu: Edit diagram, Delete diagram

## Editor – Package View

- Class diagram renders correctly
- Moving nodes persists after reload
- Loading animation shown while loading
- Info cards shown when no package or no classes available
- Drag and zoom
- Reset View, Filter View, Reset Layout buttons
- Click on class opens class editor
- Class context menu: Copy class, Delete class, Move between layers
- Pane context menu: Add class, Paste class

## Editor – Class Editor

- Display and edit: Label, Namespace, Package, Derived from, Abstract, Stereotypes, Attributes, Associations, Comment
- Delete, Save, Discard, Close
- Attribute Editor
- Association Editor
- Attribute/association Constraints View
- Class Constraints View

## Editor – Delete Dialog

- Package, Classes, Attributes and Associations listed correctly
- Delete, Keep, Move to default actions
- Set all

## Editor – Custom Diagram View

- Class diagram renders correctly
- Moving nodes persists after reload
- Loading animation shown while loading
- Info cards shown when no diagram or no classes available
- Drag and zoom
- Reset View, Filter View, Reset Layout buttons
- Click on class opens class editor
- Class context menu: Delete class, Remove from diagram, Move between layers
- Pane context menu: Add class

## Prefixes Page

- View, add, remove and edit namespaces

## Changelog Page

- Select graph and display write operations
- Operations in reverse chronological order
- Detailed view of changed triples
- Restore graph to a version

## Compare Page

- Compare two graphs

## Migrate Schema Page

- Schema migration
122 changes: 12 additions & 110 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,117 +1,19 @@
## Description
## Summary

<!-- Describe your changes here -->
<!-- Briefly describe what this PR does and why. -->

## 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
## Related Issues

### 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
<!-- Closes #000 or Refs #000 -->

### Welcome Page
- [ ] Navigation to Editor works
- [ ] Tips are displayed
- [ ] Security and data information displayed
- [ ] Copyright and version information displayed
## Checklist

### 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
- [ ] Tests added or updated (or not applicable)
- [ ] Documentation updated (or not applicable)
- [ ] No breaking changes introduced (or described in the summary above)
- [ ] Commits are signed off (`git commit -s`) for DCO

### 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)
## Testing Notes

### 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: 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
<!-- Describe what you tested manually and which areas you covered.
See the [feature checklist](.github/FEATURE_CHECKLIST.md) for reference. -->