rkrug / plantuml

R package to build UML graphs using plantuml
https://rkrug.github.io/plantuml/index.html
GNU General Public License v3.0
76 stars 8 forks source link

Add note concerning dot dependency #5

Closed rkrug closed 1 year ago

rkrug commented 5 years ago

The package plantuml depends on dot to be installed.

A missing dot installation can lead to error messages.

As the installation of graphviz (which includes dot) is different from platform to platform, a missing dot installation should print an informative warning.

Starting point:

Write function instsllationOK(error = TRUE) which

robchallen commented 2 years ago

Hi. This package looks fantastic and I will be giving it a go shortly.

I can't work out if the dot dependency is a dependency of the plantUML java library or a dependency of this R code. If it is the latter I managed to get a javascript version of dot working within R for one of my projects. The code for which is here:

https://github.com/terminological/dtrackr/blob/main/R/dot.R

and the bundled vis.js lib is in inst/lib (N.b. which has to be an old version as they migrated to a complex npm based packaging after this version.)

This has worked for generating dot diagrams for me. You are welcome to rip and re-use if it fits in to this framework, although I see you are heading towards using a remote server setup which also makes sense.

robchallen commented 2 years ago

Ha. I don;t think my last comment will be helpful.

I had a look at the plantuml internals and doesn't look like it uses dot directly anymore. Seems like there are multiple methods of layout out diagrams and only some of them use graphviz directly. It also seems to bundle visjs internally as well. Super confusing.

rkrug commented 2 years ago

Thanks for c x our comment and that you like plamtuml.

Quick answer: it was a plantuml dependency, but not anymore when using a specific argument. I do not know if I applied this but I will. But habe no time in the next weeks. I will answer in more detail later.

Sent from my iPhone

On 24 Jun 2022, at 16:03, Rob Challen @.***> wrote:

 Ha. I don;t think my last comment will be helpful.

I had a look at the plantuml internals and doesn't look like it uses dot directly anymore. Seems like there are multiple methods of layout out diagrams and only some of them use graphviz directly. It also seems to bundle visjs internally as well. Super confusing.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were assigned.

rkrug commented 2 years ago

OK. Longer response.

I have found the reference in the to the internal dot replacement - see https://plantuml.com/smetana02 Smetana.

I am planning to include this (-Playout=smetana) in the call of plantuml, but did not do it yet. This would make a dot installation unnecessary.

In addition, I want to move to a complete generation using a web command structure, using the integrated pico web (https://plantuml.com/picoweb) when local installation exists, otherwise the remote pantuml server.

So there are quite a few things in set pipeline, which I will implement in the dev branch before releasing the next major version (I will not do any further releases of the current master version before the m=next major release). I will also try to bring it to CRAN after the next release.

Please feel free to check out the dev branch, as the final syntax will be more similar than the one in the master branch at the moment.

Cheers,

Rainer

rkrug commented 1 year ago

The package now uses the web server as default, therefore no dependencies needed. For the local plot generation, the picowebserver in plantuml is used and also no dot is needed.

So this problem should be solved.