c5dec

Transformer

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.

Import SSDLC data

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.

SSDLC transformer import function

Export SSDLC data

The export function follows the same logic as above, just in reverse.

SSDLC transformer export function

Publish SSDLC data

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.

SSDLC transformer publish function

Convert data

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.

SSDLC transformer convert data function

CLI

Publishing documentation and technical specifications

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:

C5-DEC CAD SSDLC - CLI publish.

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.

C5-DEC CAD - Technical specifications published.

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