Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Many fixes #73

Merged
merged 4 commits into from
Feb 3, 2025
Merged

Many fixes #73

merged 4 commits into from
Feb 3, 2025

Conversation

jsheunis
Copy link
Collaborator

@jsheunis jsheunis commented Feb 3, 2025

Major changes:

  • Replace default data+shapes+classes with dlschemas-based info, and update the same in config
  • Add to config:
    • new things-v1-based id_iri
    • new flag for showing or hiding shapes without id path
  • Show shacl-vue page on startup instead of overview page
  • The main problem of recursive updates to the NodeshapeEditor component that caused major UX challenges has been circumvented by redesigning the approach of recursive form rendering completion. The form-within-dialog approach has been replaced by an approach at the top-level-component that uses expansionpanels and provides/injects functions for adding and removing forms to/from that set of panels. This required several changes to code along the whole hierarchy of components.
  • Some minor styling changes to the main shacl-vue display
  • Both as part of an attempt to solve the first issue mentioned above, as well as to finish up a component-refactoring that started long ago, the instancesSelectEditor was refactored to make use of the same base input composable functionality used by all other matchable components. With its updates setup, it now also uses the modelValue and v-input wrapper which means it does not have the need anymore to inject formData in order to update its value.
  • URL query parameter matching has been introduced: sh:NodeShape can be passed in order to show a list of known metadata objects with the matched type; and id cann be passed in order to identify a specific object. This is currently a staggered query matching process, i.e. first type then id. This should strictly not be a requirement, and either should suffice as query parameters on their own -> implementing this remains a TODO.
  • To uncomplicate the known mixup between fields in a form that should be ignored vs sh:ignoredProperties (an issue for this exists), the code was changed to NOT IGNORE any properties, i.e. render all.
  • A new config variable allows the deployment to specify whether it wants all shapes to be displayed in the startup list, or rather only those shapes that specifically have an id as the sh:path of any of its properties. This allows hiding so-called association classes in an attempt to hide their complexity from users.
  • To prioritise transparency, the flag in the formeditor component for showing all fields vs only some priority fields was set to all by default.
  • For cases where some nodeshape properties have sh:group annotations, but the associated sh:PropertyGroup does not exist in the shacl shapes graph, a fallback was inserted to still allow displaying those properties under no heading, instead of erroring out.

- new default source file urls
- new things-v1-based id_iri
- new flag for showing or hiding shapes without id path
- The main problem of recursive updates to the NodeshapeEditor component
  that caused major UX challenges has been circumvented by redesigning
  the approach of recursive form rendering completion. The form-within-dialog
  approach has been replaced by an approach at the top-level-component that
  uses expansionpanels and provides/injects functions for adding and removing
  forms to/from that set of panels. This required several changes to code
  along the whole hierarchy of components.
- Some minor styling changes to the main shacl-vue display
- Both as part of an attempt to solve the first issue mentioned above, as
  well as to finish up a component-refactoring that started long ago, the
  instancesSelectEditor was refactored to make use of the same base input
  composable functionality used by all other matchable components. With its
  updates setup, it now also uses the modelValue and v-input wrapper which
  means it does not have the need anymore to inject formData in order to
  update its value.
- URL query parameter matching has been introduced: sh:NodeShape can be passed
  in order to show a list of known metadata objects with the matched type;
  and id cann be passed in order to identify a specific object. This is
  currently a staggered query matching process, i.e. first type then id. This
  should strictly not be a requirement, and either should suffice as query
  parameters on their own -> implementing this remains a TODO.
- To uncomplicate the known mixup between fields in a form that should be
  ignored vs sh:ignoredProperties (an issue for this exists), the code was
  changed to NOT IGNORE any properties, i.e. render all.
- A new config variable allows the deployment to specify whether it wants
  all shapes to be displayed in the startup list, or rather only those shapes
  that specifically have an id as the sh:path of any of its properties. This
  allows hiding so-called association classes in an attempt to hide their
  complexity from users.
- To prioritise transparency, the flag in the formeditor component for
  showing all fields vs only some priority fields was set to all by default.
- For cases where some nodeshape properties have sh:group annotations, but
  the associated sh:PropertyGroup does not exist in the shacl shapes graph,
  a fallback was inserted to still allow displaying those properties under
  no heading, instead of erroring out.
@jsheunis jsheunis merged commit e36567d into main Feb 3, 2025
1 check passed
jsheunis added a commit to jsheunis/annotate-trr379-demo that referenced this pull request Feb 14, 2025
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