Skip to content

FREETEXT-TEXT migration, adding LINKs to arbitrary nodes, improved validation messages

Compare
Choose a tag to compare
@stanislaw stanislaw released this 23 Jun 13:25
· 221 commits to main since this release

This release contains a significant, non-breaking change that affects the entire StrictDoc codebase and the SDoc data model: the FREETEXT-TEXT migration.

The description of the migration and the migration paths are described in the User Guide, https://strictdoc.readthedocs.io/en/stable/strictdoc_01_user_guide.html#freetext-text-migration-june-2024.

StrictDoc_Workspace-FREETEXT-TEXT drawio

/cc @adamgreig @BenGardiner @bernhard-tuvsud @dahbar @elfman2 @fniu @gregshue @haxtibal @i-interprete-on-the-fly @kestewart @lochsh @nicpappler @richardbarlow @RobertoBagnara @simhein @vik378


Other changes in this release:

  • The validation messages for the uniqueness of MID fields were improved for the Document, Section and Requirement/Text nodes. Thanks to @bernhard-tuvsud for the improvement suggestion.

  • Due to the FREETEXT-TEXT migration, it is now possible to add LINKs to arbitrary nodes, such as REQUIREMENT and TEXT. Previously, LINKs could be added only to SECTION nodes. Thanks to @haxtibal for contributing the initial implementation.

  • The UI validations have been added for SingleChoice and MultipleChoice fields. Thanks to @haxtibal for contributing the multiple choice field validation.

  • The experimental Graphviz/Dot traceability graph generator has been removed because this feature didn't show much value, mainly due to the static and non-programmable nature of PDF and SVG outputs produced by Graphviz.


What's Changed

  • UI: Form validation: SingleChoice and REQUIRED fields by @stanislaw in #1829
  • backend/sdoc: validate grammar from file like a normal grammar by @stanislaw in #1831
  • backend/sdoc: instantiate doc/grammar meta models at start time by @stanislaw in #1832
  • backend/sdoc: grammar: teach SDocNodeField to parse FreeText parts by @stanislaw in #1833
  • backend/reqif: --reqif-multiline-is-html: extend the integration test by @stanislaw in #1834
  • tests/integration: add an RST code block test just in case by @stanislaw in #1838
  • backend/sdoc: introduce [TEXT] node by @stanislaw in #1837
  • Feature: LINK to requirements and custom nodes (static export only for now) by @haxtibal in #1835
  • Code climate: remove useless init.py files by @stanislaw in #1840
  • Code climate: Introduce THIS_TEST_FOLDER to increase the portability of most itests by @stanislaw in #1842
  • Feature: [LINK] from all fields of Requirement or other nodes by @stanislaw in #1843
  • export/html, LINK: referenced node shows an anchor link if referenced with [LINK] by @stanislaw in #1844
  • UI: requirement_form_object: improve handling of multiline field boundary by @stanislaw in #1845
  • Code climate: tests/end2end: anchors -> LINK_AND_ANCHOR by @stanislaw in #1846
  • docs: release notes for 0.0.56 by @stanislaw in #1847
  • export/html and UI: Rendering [TEXT] node, basic end2end tests by @stanislaw in #1848
  • UI: Delete section/node: Add validations to the confirmation window by @stanislaw in #1849
  • backend/reqif: when --reqif-multiline-is-xhtml, generate FREETEXT spec type attribute as XHTML by @stanislaw in #1851
  • HTML2PDF: Fail early if feature is not enabled by @haxtibal in #1850
  • UI: Create node: parse and validate LINK/ANCHOR by @stanislaw in #1852
  • UI: Create node: parse, validate, and render LINK/ANCHOR by @stanislaw in #1854
  • html: Rename "parent relations" to "parents" and "child relations" to "children" by @haxtibal in #1855
  • UI: Delete node: incoming links to anchors validation by @stanislaw in #1859
  • UI: Create/Update/Delete node: Implement all existing cases related to LINK/ANCHOR by @stanislaw in #1862
  • UI: HTML markup changes and adjust remaining tests, removing dependencies on FREETEXT by @stanislaw in #1866
  • UI: Diff screen: Ensure escaping of requirement fields by @stanislaw in #1867
  • backend/sdoc: Document: remove .free_texts by @stanislaw in #1868
  • Node machine identifiers (MID): improve uniqueness validation message by @stanislaw in #1869
  • Bump version to 0.0.57a2 by @stanislaw in #1870
  • Remove Graphviz and DocumentDotGenerator by @stanislaw in #1873
  • UI: Edit grammar element relations form: TEXT node can have no relations by @stanislaw in #1871
  • UI: Ensure that documents with HTML markup get rendered correctly when edited by @stanislaw in #1872
  • tasks: remove pylint and flake8, create aliases for most common tasks by @stanislaw in #1874
  • docs: prepare the release notes for FREETEXT-TEXT migration by @stanislaw in #1875
  • UI: Node form validation: allow empty SingleChoice fields when REQUIRED is False by @stanislaw in #1877
  • UI: Support MultipleChoice in requirement form by @haxtibal in #1878
  • UI: Do not auto-generate UID for TEXT nodes for now by @stanislaw in #1879
  • docs: update release notes by @stanislaw in #1880
  • docs: User Guide: implement FREETEXT-TEXT changes by @stanislaw in #1881
  • cli: passthrough: --free-text-to-text option to migrate FREETEXT->TEXT by @stanislaw in #1882
  • docs: User Guide: describe FREETEXT-TEXT migration path by @stanislaw in #1883
  • backend/sdoc: writer: --free-text-to-text for SECTIONs by @stanislaw in #1886
  • export/html: update hints on node control by @mettta in #1885
  • UI: TRM: Exclude text nodes from the list by @stanislaw in #1893

New Contributors

Full Changelog: 0.0.56...0.0.57