[trustable-software] Doorstop & Mustard initial comparison
Jim MacArthur
jim.macarthur at codethink.co.uk
Thu Mar 16 18:11:46 UTC 2017
I've spent most of today digging further into Doorstop, and wrote some
thoughts down. As usual, I may have misunderstood some things. Please
correct me.
1) General analysis of Doorstop & Mustard
Doorstop has fewer rules about nodes; you can create any categories for
items and link any items together as you wish, as opposed to Mustard's
explicit categories (requirement, architecture component, work item
etc). Doorstop establishes a hierarchy for categories. The top level
category will usually be "Software requirements document", and one might
then add "high-level design" and "tests" as subcategories of that.
Documents go into (exactly) one of those categories, and can then be
linked to any other documents in any category. However, Doorstop
requires and checks that each document links to at least one document in
its category's parent category.
A document itself is a single YAML file. 'Document' doesn't imply a long
piece of text; it could be a single line. Each YAML file has only one
document in it; there is no tree structure expressed in YAML, although
Doorstop can import and export tree-style YAML documents. I personally
find this much easier to deal with than the deeply nested files found in
Mustard documents. You can lay out data in separate files in Mustard
too, but previous examples haven't. The placement of documents in the
directory tree has less effect than in Mustard; the hierarchy of
categories is not linked to the hierarchy of directories.
A good next step would be to try and transfer some of the Mustard
example documents into Doorstop. Right now I can't think of any reason
why that wouldn't work, but actually doing the translation could well
throw up some issues I've not thought of.
Other things Doorstop has:
* Export and import of .xlsx files, which I think some people will
prefer to edit rather than YAML. Only spreadsheets in the format
Doorstop exports can be imported; there is nothing clever to try and
parse arbitrary spreadsheets, and nothing to deal with Word documents
yet, as DOORS does.
* An experimental desktop front-end in Tk, which is a good start; I
would rather develop the web front end, but some people like desktop apps.
* It also has a 'review' command, which I'm unsure as to the intent of;
from experiments, it looks like the 'reviewed' field is updated whenever
the Doorstop program checks some YAML and finds it to be consistent; it
doesn't look like it's meant for the normal process of reviewing changes
before merging.
Things missing:
* The bare bones of a bottle-based web front end exist, but there's no
navigation at the moment and no way to view different git branches. You
can publish static HTML files, which do have navigation in place.
2) Markdown blockdiag processing.
I've just corrected a bug in markdown_blockdiag which stopped it working
with Python 3; there's still a little setup to do, but you should be
able to publish documents with blockdiag markup in now.
Details are at
https://gitlab.com/trustable/overview/wikis/pages/Doorstop_configuration.
More information about the trustable-software
mailing list