Releases: soulspace-org/overarch
Releases · soulspace-org/overarch
Release 0.39.0
Main Features
- enhanced sprite support in Plantuml C4 diagrams
- proper rendering of roles on relations in code diagrams
Changelog
- added
rendered-elements
, used to resolve sprites - added using the first resolved sprite of the technologies
- added a default list of sprite libs, if no sprite-libs are defined in view
- default list:
[:awslib :azure :devicons :devicons2 :font-awesome-5 :logos]
- added distinct on generated import statements
- default list:
- added rendering of roles for
:association
,:aggregation
and:composition
in code-view - removed :id->children index from model
- added
elements
andnamespaces
functions to model - added
views-by-criteria
function to model - added role model categories
- added
:permission
node - added
:granted-for
andpermission-of
relationships - added functions to build specific indices in model-reader
- updated data model
- fixed missing skinparams in plantuml rendering
Release 0.38.0
Main Features
- added
:ids
selection criterium - all selection criteria can be negated by prepending an
!
in front of the name, e.g.:!ids
- if an element has a comma separated string of
:tech
, the first technology will be used for the icon in C4 diagrams - no need for the
:spec
map in views anymore, just put the attributes (e.g.:selection
or:plantuml
) directly in the view - cleaned up deployment-views to show only nodes, containers, artifacts and links
- edn files generates via templates are formatted with zprint
Changelog
- spec keys (e.g. :selection, :plantuml) can be defined in the view directly
- no need for the
:spec
map anymore :spec
map attributes wil be added to view map on load
- no need for the
- added conversion of
:tech
string value into ordered set on load- the string value gets tokenized on commas (
,
) - to get back to the stringin templates instead of
(:tech e)
use(str/join ", " (:tech e))
- the first tech will be used for sprites in C4 diagrams
- the string value gets tokenized on commas (
- added selection criterium
:ids
, which takes a set of element ids - all selection criteria can be negated by prepending them with an exclamation mark
- e.g.
:!ids
or:!el
- e.g.
- cleaned up deployment-views
- removed
:system
nodes and added:artifact
nodes, e.g. for certificates - removed architecture relations, e.g.
:request
or:subscribe
- removed
- refactored model reading to enable supporting different input formats and sources
- added criteria query functions to model-repository, delegating from model-repository to model
- added formatting of generated edn files with zprint
- moved implementations from adapter layer to application layer
- moved functions from analytics to element and model namespaces
- removed analytics namespace
- updated templates and generation config
- updated dependencies
- updated example model and README
Release 0.37.0
Main Features
- improved model selection with
:from
,:to
,:refers
and:referred
criteria, which can have selection criteria as values.
Changelog
- dropped :ct key in loaded model nodes
- enhanced element hierarchy and model API for process model elements
- added criteria-predicate function to model API
- returned predicate functions for search criteria directly to get rid of partial
- enhanced :from/:to selection criteria to handle selection criteria as parameters
- enables relation queries based on the properties of the related nodes
- added :refers/:referred selection criteria
- enables node queries based on the properties of the relations referring to them
- enhanced export templates
- fixed test views
- enhanced assertions for selection criteria
Release 0.36.0
Main Features
- generalized and enhanced templates and reduced the number of templates
- many diagrams (except C4 and UML diagrams) are created via templates
- added a default generation configuration in the templates directory
- made the model api more flexible by using selection criteria instead of set of element types for graph navigation
- enhanced error reporting on model load
- fixed the generation of the list of views per namespace
Examples
For examples of Overarch models and scripts take a look at
Changelog
- breaking changed referring-nodes, referring-relations, referred-nodes and referred-relations
- the functions now take selection criteria instead of a set of element types
- this allows for more flexible model graph navigation
- the signatures have been updated in the model api
- the templates have been updated to reflect those changes
- report model file name on exception in import
- report missing or duplicate element ids and parent overrides
- added
:collapsed
key to mark nodes that should not be expanded in a C4/UML view:collapsed true
should be added on a:ref
to the node in the content of the view
- added flexibility in view attributes
- added predicates for resolvable elements and relations
- moved traversal step functions from element to model
- moved model building to repository
- prepared merging of models
- added cycle prevention to traverse to make it a general depth first graph traversal function
- added generic transitive search capabilities based on traverse
- fixed model argument in selected-elements
- fixed child check for elements without ids in model building
- fixed a bug in union-by-id that could result in ref attributes not merged for content in views
- added filtering for rendered model elements in view selections before applying include directives
- added a process view definition
- added multiline description formatting for graphviz rendering
- reduced number of templates
- enhanced model view graphviz template to be usable for concept and process views
- added a markdown model node template to replace more specific markdown templates
- added a markdown view template to replace more specific markdown templates
- added glossary view markdown template
- added a default generation config in templates dir
- fixed generation of views per namespace markdown page
- updated docstrings
- updated docs
- updated dependencies
- refactored test models and views
- first steps towards a tools.deps build
Release 0.35.0
Changelog
- added generic model navigation functions
- added special handling for plantuml c4 deployment diagrams
- extended
external?
criterium to relations- a relation is considered external, if any of the related nodes is external
- refactored model node collection for views
- fixed parent index for modelled
:contained-in
relations - fixed missing sprites in plantuml c4 diagrams
- fixed model test data
- enhanced doc templates
- added CONTRIBUTING document
Release 0.34.0
Changes
- added negated selection criteria
:!namespace
,:!id
,:!from
and:!to
- added
:expand-external
spec key for container and component views, default is false - refactored error handling and commandline output of the artifact generation
- fixed
descendant-nodes
to work with modelled:contained-in
relations - enhanced doc templates
Release 0.33.0
Main Features
- process model enhancements
- new negated selection criteria
- breaking removed view type :class-view
- breaking link/image link generation for markdown templates
Changelog
- breaking removed view type :class-view
- use :code-view in your views
- breaking link/image link generation for markdown templates
- renamed view-link/relative-view-link functions to diagram-link/relative-diagram-link in markdown api
- added new view-link/relative-view-link functions to render normal links to docs for the views in markdown api
- added
:required-for
,:input-of
and:output-of
relations for process model - added process model predicates
- added negated selection criteria
- added order vectors for model elements and views
- added file and image link functions in markdown api
- fixed relative link functions in markdown api for empty namespace elements
- enhanced doc templates
Release 0.32.0
Main Features
- added new process model elements
- added and enhanced documentation templates
- created new example models
Changelog
- added model navigation functions for state machines
- added generic model navigation functions
- added organization model predicates
- added
:capability
,:process
,:artifact
,requirement
anddecision
nodes - added
:role-in
and:implements
relations - fixed relative link functions in markdown api
- fixed organization structure views
- enhanced doc templates
- added best practices to usage docs
- added links to example model repositories
Release 0.31.0
Changelog
- added an option to set a namespace prefix for the internal
scope
- lets you combine models from different sources/projects
- overrides the
:external
key in the model and views
- views with
:external
set totrue
are not rendered - fixed model-api calls for organization navigation
- added relative link functions to markdown api
- enhanced documentation templates
- added a deps.edn file
- updated dependencies
- added best practices topic
Release 0.30.0
New Features
- new organization model to model organization structure, responsibilities and collaborations
- new views for org charts, system structure and deployment structure (generated with templates)
- new view showing a graph of the whole model/selection (generated with template)
- new
:step
relation type for C4 dynamic views
Change Log
- added a organization model with
- nodes
:organization
and:org-unit
- relations
:responsible-for
and:collaborates-with
- nodes
- added relation type
:step
to be used in dynamic views instead of plain:rel
- added a
:model-view
that contains all selected elements - added graphviz template for
:model-view
as an example for customizable rendering - added
:system-structure-view
,:deployment-structure-view
andorganization-structure-view
for organigrams - added plantuml templates for
:system-structure-view
,:deployment-structure-view
andorganization-structure-view
- enhanced rendering of abstract methods and static fields/methods in
:code-view
for PlantUML - refactored the handling of contained element hierarchies
- synthetic
:id
s are generated for children missing an id (e.g. fields or methods in classes) - syntethic
:contained-in
relations are created to represent hierarches graph (replaces:contains
relations) :contained-in
relations can also be used in models to replace:ct
- the children function is used to navigate down the hierarchy in the model graph instead of the :ct key
- synthetic
- added criteria for sets of namespace prefixes on elements and relations
- enhanced model navigation functions to handle ids and refs as input
- added fallback on name or id when rendering view titles
- added template-api, graphviz-api and markdown-api to use in templates
- enhanced model-api and view-api
- moved single-line function from model-api to template-api
- added analytics functions
- added and enhanced documentation templates
- refactored template handling
- refactored model loading, check spec on file level
- enhanced model warnings
- fixed some docstrings on architecture relation navigation functions
- fixed typos in example models
- simplified logical data model
- updated data model and spec
- updated documentation