You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The CALM Visualizer tool is an essential component to help users build CALM documents. It is due to be committed as its own workspace. The current visualiser module under shared was due to be deleted. However, there is consensus that a separate visualizer module should be created to support and integrate with docify workflows. This modular visualizer would allow docify and other tools to leverage visualization capabilities independently of the CLI and the tool and would make Feature Request: Markdown Parser for Inline CALM Document Rendering #782 possible.
The translator module, currently written in Java, was also discussed. We agreed it would be imported into the visualizer module
It is possible that the visualiser cli endpoint is not needed as will be exposed by document generator commands.
SchemaDirectory Duplication:
The SchemaDirectory functionality (responsible for resolving CALM references and obtaining additional related schema files) is duplicated across multiple submodules in shared. The Validator module uses AJV to load schemas. The Generator using the SchemaDirectory to load calm schemas from the file system leveraging document ids to make appropriate guess as to expected file. The Visualizer only supports a file upload currently and does not have any ref resolving and the Docify POC relies on some registering URL links to file locations as to where to resolve referenced documents.
We all agreed that the SchemaDirectory should be moved into its own module such that it can be leveraged by multiple modules in the future. The SchemaDirectory should abstract away from Validate and Generator functions about where the CALM references are resolved from e.g. CalmHub vs Local Directory
There was also discussion around the term bundling and whether we should remove from liturgy to avoid confusion with typescript bundling.
Introduce a New Doc Publisher Module under shared:
We discussed that to reduce dependency, the visualizer and generator should assume already validated documents have been published. We agreed we need to add a new Doc Publisher module.
This could be rolled out into two phases:- Phase 1: Implement endpoints for publishing CALM documents into the SchemaDirectory (See point1). This would be supported both from the CLI and CLI Server. This would allow for folks to leverage the generator and validator without needing a CALM Hub to get started e.g. they would publish documents first to CLI Server and then call validate on the top level architecture document. Phase 2: Extend functionality to support CALM Hub integration, enabling both registry publishing and CALM Hub interaction.
Define one CALM Model under shared:
Submodules like generate, validate, and visualize each define their own versions of the CALM model (flows, controls, patterns, etc.).
This inconsistency complicates interactions between modules and hinders collaboration.
Review this discussion in the next working group meeting. Discuss when the work above should be prioritised. The General thought is that this would occur after Milestone 1
Raise issue for detailed spec issue for the new Doc Publisher Module and CLI Server endpoints. (@Budlee, @Thels )
Discussed use of AJV as unclear if plan is to continue to use
The text was updated successfully, but these errors were encountered:
Background
Over recent discussions with developers (@aidanm3341, @oliviajanejohns, @willosborne, @Thels, @Budlee, @YoofiTT96, @Adwoa-Konadu-Appiah), we’ve been reviewing the current CALM codebase and future pull requests around documentation generation, CALM visualisation and the CLI server.
The current structure of the project uses the following organization:
shared
: Contains submodules likegenerate
,validate
, andvisualize
.cli
: Published separately to npm and includes CLI-specific logic.docs
: Documentation-related functionality.Relevant future contributions include:
Refactoring Discussed
Visualizer as a module to remain.:
SchemaDirectory Duplication:
shared
. The Validator module uses AJV to load schemas. The Generator using the SchemaDirectory to load calm schemas from the file system leveraging document ids to make appropriate guess as to expected file. The Visualizer only supports a file upload currently and does not have any ref resolving and the Docify POC relies on some registering URL links to file locations as to where to resolve referenced documents.bundling
and whether we should remove from liturgy to avoid confusion with typescript bundling.Introduce a New Doc Publisher Module under
shared
:Phase 1: Implement endpoints for publishing CALM documents into the SchemaDirectory (See point1). This would be supported both from the CLI and CLI Server. This would allow for folks to leverage the generator and validator without needing a CALM Hub to get started e.g. they would publish documents first to CLI Server and then call validate on the top level architecture document.
Phase 2: Extend functionality to support CALM Hub integration, enabling both registry publishing and CALM Hub interaction.
Define one CALM Model under
shared
:generate
,validate
, andvisualize
each define their own versions of the CALM model (flows, controls, patterns, etc.).Next Steps
The text was updated successfully, but these errors were encountered: