End goal:
-
Commit-based "news feed" in collab manager
-
Also viewable as standalone HTML report
-
Run in pipeline for newest changes of each commit
-
Run for any arbitrary two commits (e.g. tag BL_10 vs. tag BL_11)
-
Something like: python -m whatevermod --previous COMMITISH --current COMMITISH
-
Produces JSON or YAML report, which can be displayed interactively
-
Some tree structure, commit as tree root
drill down into changed objects:
Commit ABCDEF0 by Guy 1 on <date/time> Changed diagrams: > [SAB] System: 20 changes (click to expand...) > ... v [CDC] Mission Introduced: - Capability 1 Removed: - Capability 7 > ... Changes on OA: > OperationalActivity: 3 created, 5 deleted, 1 modified (click to expand...) > ... v OperationalCapability: | Created: | > New thing A (click to show details) | v New thing B | uuid: 13579BDF-... | name: New thing B | description: <p>...</p> | ... | | Deleted: | - Old Name 1 (12345678-...) | - Old Name 2 (9ABCDEF0-...) | ... | | Modified: | - Capsoup (2468ACE0-...) | Name changed from X to Capsoup Changes on SA: ... Changes on LA: ... ------------------------------------ Changed objects: - Function ABC > new input: ... > input deleted: ... > name changed: ... > child change: - ... > ... Changed diagrams: - Diagram XYZ > Box "Function ABC" added (only semantic changes, layout is ignored / summarized as "layout changes") -> link to diagram cache, or left / right display, visual diff tool, w/e ... and other changes (which we don't know how to show yet) :) // (XML tree diff?) Commit 1234567 by Guy 2 on <date/time>: Changed 200 objects and 20 diagrams (click to expand...)
Objects of interest:
For OA: OperationalActivity, FunctionalExchange, OperationalCapability
Diagrams (OA): COC, OAIB, OPD, OAB, O.MSM, O.STM(?), O.CDB (low-prio)
For SA: SystemComponent (+ Parts) -> distinguish between actor/non-actor; + allocated SystemFunctions
Capabilities + Involvements
Diagrams (SA): CC, SDFB, MCB, SAB
Start with OperationalActivity