Git Product home page Git Product logo

archimate-plantuml's Issues

Technology Process - Missing Sprite

The technology-process while a valid Archimate item doesn't exist as a valid sprite, per this diagram (listsprite):

listsprite

It's possible to use process however to recreate a valid looking entity:

Working Technology Sprite

PlantUML code:

@startuml
!includeurl https://raw.githubusercontent.com/ebbypeter/Archimate-PlantUML/master/Archimate.puml

title Archimate Overview

'LAYOUT_AS_SKETCH
'LAYOUT_LEFT_RIGHT
'LAYOUT_TOP_DOWN

Grouping(B_Group,"Business"){
        Business_Process(BProcess, "Business Process")
}

Grouping(T_Group, "Technology"){

    Technology_Process(TProcess, "Technology Process")
archimate #TECHNOLOGY "Working Technology Process" <<process>>
archimate #TECHNOLOGY "Non-Working Technology Process" <<technology-process>>

}
@enduml

It could be addressed by a simple change in the include define for that macro, (line 104) from:

!define Technology_Process(e_alias, e_label) archimate #TECHNOLOGY "e_label" <<technology-process>> as e_alias

to:

!define Technology_Process(e_alias, e_label) archimate #TECHNOLOGY "e_label" <<process>> as e_alias

I know it doesn't look as nice, but it would fix an error in one of your samples - https://github.com/ebbypeter/Archimate-PlantUML/blob/master/samples/Archimate-Overview.wsd without need to change the code in that sample however.

Nested Group of Archimate Component

Hey can we have grouping by Archimate Component?

Let's say I have requirement to create catalog of many Business Services. Each Business Services consist of many Business Process.

Minor request - flat Technology_Node

Thanks for an eminently useful package. I have a small request:

For the Technology_Service, possible to add a "flat" version of the node graphic?
E.g.:

!define Technology_Node_f(e_alias, e_label) rectangle #TECHNOLOGY "e_label" <<$archimate/technology-node>> as e_alias

This will allow similar look to diagrams created with Archi.

Multiple regressions after last PRs

After all the PR merges some things have broken, several things have reverted, other need to be updated, and some other things were broken before and I just found them:

  • Typo: Influnce โ†’ Influence
  • Regression of assignment arrowhead
  • Regression of access dotted line
  • Regression of using unespecific technology-process/interaction/event icons, which now exist because they where added in plantuml/plantuml#205 last year
  • Missing rounded corners for: business-event related #11
  • Missing horizontal lines in spec to Business_Contrat, Business_Object & Business_Representation
  • Bad icon for Technology_Node, Equipment_Facility, Physical_Facility after their conversion to node
  • Remove unneeded horizontal lines according to spec, from Material, .... TODO
  • Wrong Location color

Application Component as nesting container

I'd like to reopen #38 to get an implementation into the code.
I am not asking for every component to offer a macro for nesting.
Also, I have no idea how you could implement this. Like, can a macro leave an open { at the end?
So you could do
Application_ComponentNesting(MyAppComp,"My AppComponent)
Application_Function(...)
Application_Function(...)
NestEnd

If it's possible to give examples that show an answer to #38 without requiring that you abandon all the Archimate macros inside your nesting, that would also be fine.
Thanks!

Join https://github.com/plantuml-stdlib and/or migrate there?

Several of us have been making an effort to bring together the projects and people who feed sprites into the official plantuml-stdlib.

We've been doing this under https://github.com/plantuml-stdlib/, with the go-ahead of Arnaud Roques (creator of PlantUML)

This ticket is to ask whether you would be interested in joining that effort and/or migrating this project to the PlantUML-StdLib organization.

The main reason for asking is to see if, by joining forces, we can make sure that any sprites already added to the official plantuml-stdlib remain maintained.

So, what do you think?

Archimate Layers

Why can't we build something that we can define the layers like in the attached image and place the objects in them?
Maybe we can use some syntax like below?

archimate {
    business "Business" as bs {
      passive {
      
      }
      behavior {
      
      }
      active {
      
      }
    }
    application "Application" as app {
      passive {
      
      }
      behavior {
      
      }
      active {
      
      }
    }
    technology "Technology" as tech {
        passive {
        
        }
        behavior {
        
        }
        active {
        
        }
      }
      physical "Physical" as phys {
        passive {
        
        }
        behavior {
        
        }
        active {
        
        }
      }
    }

}

fig-ArchiMate-Core-Framework

Solid line instead of dotted line with Rel_Access_rw

@startuml
left to right direction
skinparam nodesep 4
!include <archimate/Archimate>
Rel_(i5, j5, Access_rw_RIGHT, "<~~>")
Rel_Access_rw(i4, j4, Access_rw_WRONG)
Rel_Access_w(i3, j3, Access_w)
Rel_Access_r(i2, j2, Access_r)
Rel_Access(i1, j1, Access)
@enduml
You can see

Feedback

Just a quick note to thank you.

Its a fabulous project and something that we have been looking for.

Cannot generate an Archimate image according to the manual: 'syntax error'

I am using the last release of plantUML

PlantUML version 1.2019.01 (Sat Feb 09 23:32:04 CST 2019)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 1.8.0_191-b12
Operating System: Linux
OS Version: 4.19.7
Default Encoding: UTF-8
Language: en
Country: US
Machine: mymachine
PLANTUML_LIMIT_SIZE: 4096
Processors: 4
Max Memory: 1,847,590,912
Total Memory: 124,780,544
Free Memory: 119,906,768
Used Memory: 4,873,776
Thread Active Count: 1

The environment variable GRAPHVIZ_DOT has not been set
Dot executable is /usr/bin/dot
Dot version: dot - graphviz version 2.40.1 (20161225.0304)
Installation seems OK. File generation OK

I am trying to use the code from plantuml's guide almost verbatim:

@startuml Internet Browser Example
!includeurl https://raw.githubusercontent.com/ebbypeter/Archimate-PlantUML/master/Archimate.puml
title "Archimate Sample - Internet Browser"
' Elements
Business_Object (businessObject , "A Business Object ")
Business_Process(someBusinessProcess ," Some Business Process ")
Business_Service(itSupportService , "IT Support for Business (Application Service )")
Application_DataObject(dataObject , "Web Page Data \n 'on the fly '")
Application_Function(webpageBehaviour , "Web page behaviour ")
Application_Component (ActivePartWebPage , "Active Part of the web page \n 'on the fly '")
Technology_Artifact (inMemoryItem ,"in memory / 'on the fly ' html/javascript ")
Technology_Service(internetBrowser , "Internet Browser Generic & Plugin ")
Technology_Service(internetBrowserPlugin , "Some Internet Browser Plugin ")
Technology_Service(webServer , "Some web server ")
'Relationships
Rel_Flow_Left(someBusinessProcess , businessObject , "")
Rel_Serving_Up(itSupportService , someBusinessProcess , "")
Rel_Specilization_Up(webpageBehaviour , itSupportService , "")
Rel_Flow_Right(dataObject , webpageBehaviour , "")
Rel_Specilization_Up(dataObject , businessObject , "")
Rel_Assignment_Left (ActivePartWebPage , webpageBehaviour , "")
Rel_Specilization_Up(inMemoryItem , dataObject , "")
Rel_Realization_Up(inMemoryItem , ActivePartWebPage , "")
Rel_Specilization_Right (inMemoryItem ,internetBrowser , "")
Rel_Serving_Up(internetBrowser , webpageBehaviour , "")
Rel_Serving_Up(internetBrowserPlugin , webpageBehaviour , "")
Rel_Aggregation_Right (internetBrowser , internetBrowserPlugin , "")
Rel_Access_Up(webServer , inMemoryItem , "")
Rel_Serving_Up(webServer , internetBrowser , "")
@enduml

But the code doesn't compile:

lockywolf@delllaptop:~/InternetBrowserExample$ java -jar ../.emacs.d/plantuml.jar -v DrMe.iuml
(0.000 - 119 Mo) 114 Mo - PlantUML Version 1.2019.01
(0.004 - 119 Mo) 114 Mo - GraphicsEnvironment.isHeadless() false
(0.004 - 119 Mo) 114 Mo - Forcing resource load on OpenJdk
(0.103 - 119 Mo) 114 Mo - Found 1 files
(0.103 - 119 Mo) 114 Mo - Working on /home/lockywolf/InternetBrowserExample/DrMe.iuml
(0.141 - 119 Mo) 113 Mo - Setting current dir: .
(0.141 - 119 Mo) 113 Mo - Setting current dir: /home/lockywolf/InternetBrowserExample
(0.148 - 119 Mo) 113 Mo - Using default charset
(0.154 - 119 Mo) 113 Mo - Reading from DrMe.iuml
(0.156 - 119 Mo) 113 Mo - Creating AParentFolderRegular /home/lockywolf/InternetBrowserExample
(0.183 - 119 Mo) 112 Mo - Using default charset
(1.561 - 119 Mo) 98 Mo - Reading from https://raw.githubusercontent.com/ebbypeter/Archimate-PlantUML/master/Archimate.puml
(2.314 - 119 Mo) 97 Mo - Using default charset
(2.314 - 119 Mo) 97 Mo - Reading from https://raw.githubusercontent.com/ebbypeter/Archimate-PlantUML/master/Archimate.puml
(2.695 - 119 Mo) 93 Mo - Reading file: DrMe.iuml
(2.697 - 119 Mo) 93 Mo - name from block=Internet Browser Example
(2.697 - 119 Mo) 93 Mo - Checking=Internet Browser Example
(2.697 - 119 Mo) 93 Mo - f=Internet Browser Example
(2.698 - 119 Mo) 93 Mo - Relative, so let's change it
(2.698 - 119 Mo) 93 Mo - f=/home/lockywolf/InternetBrowserExample/Internet Browser Example
(2.698 - 119 Mo) 93 Mo - It's not a directory
(2.699 - 119 Mo) 93 Mo - Internet Browser Example is not taken as a directory
(2.700 - 119 Mo) 93 Mo - We are going to put data in /home/lockywolf/InternetBrowserExample/Internet Browser Example[0]
(3.758 - 150 Mo) 57 Mo - Creating file: /home/lockywolf/InternetBrowserExample/Internet Browser Example.png
(3.871 - 150 Mo) 47 Mo - Creating image 731x132
(3.925 - 150 Mo) 38 Mo - Ok for com.sun.imageio.plugins.png.PNGMetadata
(4.009 - 150 Mo) 38 Mo - Number of image(s): 1
Error line 9 in file: /home/lockywolf/InternetBrowserExample/DrMe.iuml
Some diagram description contains errors

The image, however, has a different error on it:

internet browser example

skinparam defaultTextAlignment center

What to do?

Add directed association relationship, and thicken the association arrow line

The association relationhip can be undirected by default, but also directed. As seen in https://pubs.opengroup.org/architecture/archimate3-doc/chap05.html#_Toc10045321

The directed version it should present a half-arrowhead, but that one isn't available in plantuml, so the next best solution is to mantain consistency with the rest of the dependency relationships and use the same arrowhead as them.

And to avoid confusion with the serving relationship my proposal is to thick the body of the association relationship. As seen in the following diagram (which already has the corrections from PR #19)

imagen

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.