structurizr / cli

A command line utility for Structurizr.
https://docs.structurizr.com/cli
Apache License 2.0
491 stars 75 forks source link

Sequence diagram is no longer a sequence diagram with plantuml/c4plantuml #39

Closed sjbanner closed 3 years ago

sjbanner commented 3 years ago

With today's release, "dynamic" views no longer generate an actual sequence diagram. It still generates the 2 .puml files, but the "-sequence.puml" file is essentially the same as the non"-sequence" version.

simonbrowndotje commented 3 years ago

Yes, I don't think C4-PlantUML natively supports sequence diagrams, and the sequence diagram export didn't work properly in previous CLI versions; for example (notice how the colours and legend don't match):

image

Some options are:

image

Thoughts?

sjbanner commented 3 years ago

Optimally, I would prefer getting the C4PlantUML support, but I seem to be the only person in our org who likes the sequence diagrams, if it's not there it's not a huge problem.

That said, as you should be able to see (hopefully the file attached Ok), the 1.9.0 version seemed to work quite well, and the Puml file is noticably different from 1.10.0.

The 1.9.0 version looks like:

@startuml(id=cfgAudit_remediation)
!includeurl https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4.puml
!includeurl https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
!includeurl https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
!includeurl https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Component.puml
LAYOUT_WITH_LEGEND()

title DCNet Configuration Audit and Remediation Sequence Diagram
caption DCNet Configuration Audit and Remediation Process

participant "DCNet Configuration Audit System" as 5 <<Software System>> #dddddd
participant "Operations Lead" as 3 <<Person>> #dddddd
participant "Service Management System" as 53 <<Software System>> #1168bd
participant "Network Engineer" as 2 <<Person>> #dddddd
participant "DCNet SSOT Repository" as 56 <<Software System>> #1168bd
participant "Network Devices" as 52 <<Software System>> #dddddd
5 -[#707070]> 3 : 1. Delivers summary reports
3 -[#707070]> 53 : 2. Creates remediation cases for individual devices
53 -[#707070]> 2 : 3. Case assignment and review
2 -[#707070]> 5 : 4. Request Audit data for individual device
5 -[#707070]> 56 : 5. Collect Device SSOT Template
5 -[#707070]> 52 : 6. Collect Device Configuration
5 -[#707070]-> 2 : 7. Return Configuration differences
2 -[#707070]> 52 : 8. Fix individual device configuration
@enduml

Compared to the 1.10.0 Version:

@startuml
title DCNet Configuration Audit and Remediation Process

!includeurl https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4.puml
!includeurl https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
LAYOUT_WITH_LEGEND()

System_Ext(56, "DCNet SSOT Repository", "SSOT Repository on Gitscm")
Person(2, "Network Engineer", "The Network Engineer is responsible for day to day maintenance of the network.")
Person(3, "Operations Lead", "The Operations Lead receives audit summary reports and opens cases for Network Engineers to remediate")
System(5, "DCNet Configuration Audit System", "System for Auditing Network Device Configurations")
System(52, "Network Devices", "Network Devices to be Audited")
System_Ext(53, "Service Management System", "Service Now - Service Management System providing Case Management, etc.")
Rel_D(5, 3, "1. Delivers summary reports", "Email")
Rel_D(3, 53, "2. Creates remediation cases for individual devices", "Web")
Rel_D(53, 2, "3. Case assignment and review", "Web")
Rel_D(2, 5, "4. Request Audit data for individual device", "Web")
Rel_D(5, 56, "5. Collect Device SSOT Template")
Rel_D(5, 52, "6. Collect Device Configuration")
Rel_D(5, 2, "7. Return Configuration differences", "Web")
Rel_D(2, 52, "8. Fix individual device configuration", "SSH,GUI")
@enduml

DCNet Configuration Audit and Remediation Sequence Diagram

simonbrowndotje commented 3 years ago

Thanks. Given the absence of a C4-PlantUML specific sequence diagram, I'm going to prevent the CLI from creating the -sequence variant when using the C4-PlantUML exporter. Feel free to raise an issue on the C4-PlantUML repo and tag me.

sjbanner commented 3 years ago

Fair enough.