Closed ghost closed 5 years ago
Also missing is outcome:
In addition, I'd be happy to align the icons you have semantically to the correct layers if you need.
Nice idea! And thanks for the icons!
So the last beta https://www.dropbox.com/s/koo42q3d9gxw288/plantuml.jar?dl=0
allows now this:
@startuml
rectangle "business strategy-capability" <<$archimate/strategy-capability>>
rectangle "business strategy-course-of-action" <<$archimate/strategy-course-of-action>>
rectangle "business strategy-equipement" <<$archimate/strategy-equipement>>
rectangle "business strategy-facility" <<$archimate/strategy-facility>>
rectangle "business strategy-distribution-network" <<$archimate/strategy-distribution-network>>
rectangle "business strategy-material" <<$archimate/strategy-material>>
rectangle "business strategy-resource" <<$archimate/strategy-resource>>
rectangle "business strategy-outcome" <<$archimate/strategy-outcome>>
@enduml
This will be released in next official release.
That's great. However, some icons are misaligned.
should be: archimate/strategy-capability archimate/strategy-course-of-action archimate/strategy-resource archimate/physical-facility archimate/physical-material archimate/physical-equipment archimate/physical-distribution-network archimate/motivation-outcome
As an added note, I have a massive definitions file I include with every diagram that aligns the icons to the correct scope and colorizes the artifacts to match. There are 2 scopes commented out due to the missing icons. Is there any way you could make it more official as part of the PlantUml build (exact naming conventions not withstanding). Also feel free to ignore the macros.
I love the archimate notation, but not the official tools -- and have been writing a plantuml plugin for visio to help avoid having to use them. This update will help greatly in achieving that.
Thanks.
Sorry, I do not understand the "misaligned" word. All icons are 16x16 pixels. Is this related to their colors ? Or do you want to rename some icon names ? It would be nice if you could give more precise suggestions!
Regards,
Apologies. I meant the names. I've scoped the icons to layers per archimate 3 specification in my definitions file.
So you want to rename "archimate/strategy-capability" right ? It would be great if you could provide something like:
archimate/strategy-capability --> archimate/new-name-for-strategy-capability
Otherwise, we are confuse about the real need. Thanks!
For renaming the icons:
archimate/strategy-capability --> OK archimate/strategy-course-of-action --> OK archimate/strategy-resource --> OK archimate/strategy-facility --> archimate/physical-facility archimate/strategy-material --> archimate/physical-material archimate/strategy-equipment --> archimate/physical-equipment archimate/strategy-distribution-network --> archimate/physical-distribution-network archimate/strategy-outcome --> archimate/motivation-outcome
Does that make sense?
In terms of a change to syntax, it would be nice if I could type something like:
archimate <SCOPE> <NAME> <ICON>
and that would produce the same result as:
rectangle <NAME> <ICON> <COLOUR>
I attached my definitions file a few posts up to give an indication of what I'm using to simplify my usage. I have there the layers colour coded as:
BUSINESS #yellow APPLICATION #A9DCDF MOTIVATION #B19CD9 STRATEGY #F6E4CC TECHNOLOGY #lightgreen PHYSICAL #CCFFCC IMPLEMENTATION #FFA6BF
Example syntax could be:
archimate APPLICATION DoSomething <<$application-function>>
Or simpler (but possibly too abstracted):
archimate DoSomething application-function
to give the same result as currently:
rectangle DoSomething <<$archimate/application-function>> #A9DCDF
I hope that clarifies a few things.
Does that make sense?
Yes, that's perfect, thanks!
So in last beta https://www.dropbox.com/s/koo42q3d9gxw288/plantuml.jar?dl=0
archimate #APPLICATION DoSomething <<application-function>>
Note that we treat #BUSINESS / #APPLICATION / ... as regular colors (it's just new color names to us). It's really a draft and a first proposal : feel free to make other suggestions, especially if you want to change the order of arguments in the new "archimate" command.
So now the following examples are working:
@startuml
rectangle "business strategy-capability" <<$archimate/strategy-capability>>
rectangle "business strategy-course-of-action" <<$archimate/strategy-course-of-action>>
rectangle "business physical-equipment" <<$archimate/physical-equipment>>
rectangle "business physical-facility" <<$archimate/physical-facility>>
rectangle "business physical-distribution-network" <<$archimate/physical-distribution-network>>
rectangle "business physical-material" <<$archimate/physical-material>>
rectangle "business strategy-resource" <<$archimate/strategy-resource>>
rectangle "business motivation-outcome" <<$archimate/motivation-outcome>> #MOTIVATION
@enduml
@startuml
archimate #APPLICATION DoSomething <<application-function>>
archimate #MOTIVATION SomeMotivation
@enduml
The new command works great. I have noticed that I can't use aliases or names with spaces.
For example:
archimate #APPLICATION "Some Function" <<application-function>>
and
archimate #APPLICATION SomeFunction as App_Func1 <<application-function>>
produce errors.
Thanks for your tests, it really helps! We've fixed those in last beta https://www.dropbox.com/s/koo42q3d9gxw288/plantuml.jar?dl=0
There are probably some other issues, so do not hesitate to post again here! Regards,
@arnaudroques Any chance committing (those) changes to GitHub instead of just providing binaries from a private DropBox?
https://github.com/plantuml/plantuml/commits/master does not seems to contain "individual commits" but "source backups" on each release :(.
Also the https://github.com/plantuml/plantuml/pulls seems to be totally ignored :( .
Thank you.
That's working great now. I also have some other suggestions.
2 important and useful features of Archimate are grouping and junctions. Groups are used to show how multiple artifacts aggregate or compose under another concept, artifact or scope. I can use the built-in frame, package, rectangle etc command, but the results are not perfect:
@startuml
archimate #Motivation "Secure Data Transfer" as dataTrans <<requirement-filled>>
frame "VPN Solution" as vpnSolution {
archimate #Technology "VPN Server" as vpnServerA <<technology-device>>
archimate #Technology "Client Server" as vpnServerB <<technology-device>>
archimate #Technology "VPN Gateway" as softwareA <<technology-system-software>>
archimate #Technology "VPN Client" as softwareB <<technology-system-software>>
archimate #Technology "Network Path" as coms <<technology-communication-path>>
archimate #Technology "Internet / Cloud" as network <<technology-network>>
archimate #Technology "VPN Service" as vpnService <<service>>
}
vpnSolution .up.|> dataTrans
vpnService <|.down. coms
coms -left- softwareA
coms -right- softwareB
vpnServerA *-up-> softwareA
vpnServerB *-up-> softwareB
network -left- vpnServerA
network -right- vpnServerB
network .up.|> coms
@enduml
image:
The group should be handled the same way as an individual artifact with the arrow centered on the side it comes from rather than being constrained to the corners. Also, aggregate groups should have a dashed outline, composition groups a full line.
It would be nice if I could have the syntax to specify.
e.g.
Archigroup <NAME> <GROUPTYPE: Aggregate / Composite> {
<OTHER OBJECTS>
}
Junctions indicate decisions and parallel conditions and I would normally implement as below:
@startuml
allow_mixing
circle JunctionAnd #black
circle JunctionOr #whitesmoke
rectangle GO #lightgreen
rectangle STOP #red
rectangle WAIT #orange
GO -up-> JunctionOr
STOP -up-> JunctionOr
STOP -down-> JunctionAnd
WAIT -down-> JunctionAnd
@enduml
The problem with the new Archimate command is that it produces an error if I mix with Circle.
It would also be nice if we could have an Archimate specific syntax to create the Junctions:
Junction-Or <NAME>
Junction-And <NAME>
Also that the border colour defaults to black in both cases.
I hope that explains the requirement adequately and is not too much of an ask.
Thanks.
I've updated the issue title to better reflect the ongoing conversation.
@aadrian Yes, those changes will be committed in next release in GitHub. I understand that this way of working is strange, but right now, we are sticking to this. Sorry about that
@kiebor The "Archigroup" feature is somehow more difficult to implement. It would be better if you create a new issue with this only subject.
About function, we are trying to minimize the number of keywords. For "archimate" keyword, there was no other option than adding a new keyword. For function, we slightly change the way of defining circle:
So now, you can have with last beta https://www.dropbox.com/s/koo42q3d9gxw288/plantuml.jar?dl=0
@startuml
!define Junction_Or circle #black
!define Junction_And circle #whitesmoke
Junction_And JunctionAnd
Junction_Or JunctionOr
archimate #Technology "VPN Server" as vpnServerA <<technology-device>>
rectangle GO #lightgreen
rectangle STOP #red
rectangle WAIT #orange
GO -up-> JunctionOr
STOP -up-> JunctionOr
STOP -down-> JunctionAnd
WAIT -down-> JunctionAnd
@enduml
Even if we focus on UML, we are happy to help Archimate users, as long as we can keep this consistent with UML diagrams. So you can go on with suggestions, even if we do not promise to implement them all :-)
That's great. I can live with using a macro for junctions now that allow_mixing is no longer necessary.
As a solution architect, my primary domain is software/data, and so most of my product specific design work is in UML--but I do often have to branch into TOGAF/archimate territory for integration designs or mapping and modelling boundaries between systems and concerns. This has always meant relying on multiple toolsets. Having always been a software engineer, code is where my strengths are (and a more native mindset) rather than drag and drop interfaces. As such, I really appreciate this project in how it allows me to 'code up' my diagrams and mix disciplines.
Thanks for this awesome service.
I've been using the Archimate feature solidly for a while now and would like to see it keep in line with the current specification.
The icon sets for Strategy and Physical layers are missing. Please find them below.