The transformer module is currently aimed at importing, exporting and publishing content managed via the SSDLC module, which in turn builds on doorstop. Therefore, the three currently implemented functions, i.e., import, export and publish, act as a front-end to doorstop.
The import function can be used not only to import new content into a project repository managed by C5-DEC CAD, but it can also be used to temporarily move content out of the doorstop data store, modify it and have it imported back into the data store, thereby overwriting the content, e.g., exporting requirements to xlsx so they can be edited in MS Excel and then migrated back to the project repository. This is a front-end for invoking the doorstop import function.
The export function follows the same logic as above, just in reverse.
The publish function can be used for viewing purposes and end-user analysis, navigation, etc. it can export to HTML, plain text (.txt), Markdown and LaTeX; it acts as a front-end to doorstop publishing.
The convert data function is currently not implemented, but it is on the roadmap and part of the backlog candidates. The TUI component is however implemented, showcasing the currently planned feature. In the meantime, a similar functionality can be achieved by using Zettlr or pandoc directly. Users can also use the C5-DEC documentation engine (DocEngine), which is still under development; further details can be found in the corresponding entry on the Abstractions Lab GitHub page.
The user can publish all the documentation and technical specification encoded using the open-source Doorstop software used as a key building block of C5-DEC CAD by using the publish
subcommand of the c5dec
CLI:
For instance,
$ c5dec publish -f .html
acts as a wrapper around the underlying Doorstop publish function, complementing it and providing fixes and enhancements, e.g., creating web assets such as CSS and JavaScript dependencies at the required paths and post-processing features correcting errors in the used CSS file, generated by Doorstop. The resulting HTML output is stored at docs/publish
and the user can access and navigate the entire documentation and technical specification by opening the index.html
page at docs/publish/index.html
.
An example of such a publication produced using the specifications of C5-DEC CAD itself is given below.
It is also possible to export the entire documentation and specifications to plain Markdown, which can then for instance be easily and almost immediately migrated to our C5-DEC DocEngine report template.
$ c5dec publish -f .md