strictdoc icon indicating copy to clipboard operation
strictdoc copied to clipboard

Epic: UI: Composable documents

Open stanislaw opened this issue 1 year ago • 0 comments

This epic issue track the work needed for a complete implementation of Composable Documents, see https://strictdoc.readthedocs.io/en/latest/strictdoc_01_user_guide.html#composing-documents-from-other-documents.

  • [x] Make SDoc reader recursively parse fragment files.
  • [x] UI: Editing a fragment section should write back to a fragment file, not a main document file.
  • [x] UI: TOC: Display included documents as child nodes to a parent document.
  • [x] UI: Editing of included document nodes for now.
  • [x] UI: Nav: A click on the included document should follow to anchor in the including document. Currently it is a link to the included document.
  • [x] Verification of incremental generation.
  • [x] Validation: Links to non-existing document.
  • [x] Validation: Prevent multiple includes of the same document for now.

Postponed to the next release:

  • [x] JSON: Export composed documents in expanded form.
  • [x] How to resolve paths cross-project? E.g., FILE: docs/02_low_level/_logging.sdoc.
  • [x] Check the behavior of get_including_document() when the inclusion is nested.
  • [x] Export option --included-documents for JSON.
  • [x] https://github.com/strictdoc-project/strictdoc/issues/1764
  • [x] https://github.com/strictdoc-project/strictdoc/pull/1769
  • [x] https://github.com/strictdoc-project/strictdoc/issues/1765
  • [x] https://github.com/strictdoc-project/strictdoc/pull/1775
  • [x] Cache Grammar to Pickle.
  • [x] Check the behavior of Assets: https://github.com/strictdoc-project/strictdoc/issues/1777
  • [x] https://github.com/strictdoc-project/strictdoc/issues/1692
  • [x] https://github.com/strictdoc-project/strictdoc/issues/1804
  • [ ] Check the behavior of Links / Anchors.
  • [ ] Check document-level .ng_requirements.
  • [ ] JSON: Export documents with LEVEL: None or custom LEVEL.
  • [ ] ReqIF: Export documents with LEVEL: None or custom LEVEL.
  • [ ] UI: Shall display fragments, highlighting their presence along with their sections.
  • [ ] UI: "Add fragment" button / form.
  • [ ] UI: "Delete fragment" button / form.
  • [ ] UI: Moving TOC nodes within fragment, moving TOC nodes in- and outside of the fragment.
  • [ ] UI: How to add a section to a fragment or to a parent? How to distinguish between these cases visually?

Future work

  • [ ] ReqIF: Export composed documents in expanded form. Export option --included-documents for ReqIF.

Known issues

One-to-one document inclusion relation

Not possible to include a given document to more than one parent document. Many additional open questions and implementation topics arise.

Portability

The portability for fragments feature may be limited. ReqIF does not have this concept and neither SPDX. Interoperability with other tools could be limited if a project uses fragments.

stanislaw avatar Mar 10 '24 10:03 stanislaw