Code Layout
For developers/contributors, the noteworthy parts of this code repository are shown below:
.
├── docs
├── public
├── src
│ ├── assets
│ ├── components
│ ├── composables
│ ├── modules
│ └── plugins
└── tools- docs: this directory contains the sources for these documentation pages
- public: this directory should contain any assets that are to be located in the root of the served address of the built application
- src: this is the source code of the
shacl-vueapplication- assets contain styles, images, fonts, and currently also the default shapes graph (
dlschemas_shacl.ttl), data graph (dlschemas_data.ttl), and class hierarchy information (dlschemas_owl.ttl) that are all loaded into the application on startup. - components contain all VueJS components used by the application. These include all internal components that support the application's built-in functionality, as well as all custom editors that together constitute the application's library of matchable components for form fields.
- composables contain modules with general functionality that can be used across components, specifically:
base.jsfor common functionality of any custom input component, which all new input components should importconfiguration.jsfor interpreting configuration options and setting defaultsrefregister.jswhich provides a means to track references to a parent component's children when validating a formrules.jsfor common functionality used in input field validationtokens.jsfor handling token entry related to external service integrationuseClasses.jsfor managing class hierarchy informationuseData.jsfor managing RDF data that have been taken from forms and saved into a graph storeuseForm.jsfor managing data entered into form fieldsuseShapes.jsfor managing the source shapes graph
- modules and plugins have further modules with helper functionality or functionality that extends the application
- assets contain styles, images, fonts, and currently also the default shapes graph (
- tools: this directory contains scripts and data that are used to generate supporting inputs for the
shacl-vueapplication