New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auto-generate PlantUML SVG that is currently statically generated. #437

Closed
gitchiu opened this Issue Nov 4, 2017 · 1 comment

Comments

Projects
None yet
2 participants
@gitchiu

gitchiu commented Nov 4, 2017

From ef4ab49 by @ScalaWilliam:

Currently, /docs/architecture.plantuml is generated into /web/dist/www/af-arch-plant.svg by hand.
In Play, it's served currently via static file. This is how it looks online.

The process involves:

  1. Go to http://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000
  2. Paste the plantuml source code
  3. Click Submit
  4. Click 'View as SVG'
  5. Paste it into the SVG file.

There are two points at which we can do the generation:

  1. Build-time (SBT)
  2. Run-time (Play)

There are multiple ways of doing it as well:

  1. Using plantuml JAR - http://www.mvnrepository.com/artifact/net.sourceforge.plantuml/plantuml - while it's self-contained, I don't know how well it does with memory leakages.
  2. Using plantuml as an external command eg java -jar plantuml.jar ....
  3. Using plantuml HTTP API - unfortunately it uses some funny JS hacks to compress & then base64-like encode the stuff before passing it to the PlantUML url. Here's how it's implemented. Note that I won't serve directly from plantuml.com because it's HTTP and actionfps.com is HTTPS https://twitter.com/PlantUML/status/926742305750388736.
  4. Using Gravizo rendering - http://www.gravizo.com/ - and perhaps then replacing it with a non-proprietary implementation that generates plantuml HTTP API on glitch.me that other people can use for themselves.

Goal of this is to implement the best approach to doing this rendering automatically without intermediate steps.

It would be nice to be able to edit the plantuml source and automatically see it reflected in the ActionFPS development page output when I'm doing sbt web/run. This task may require Play knowledge.

If you have suggestions for a better approach, do share them and then we can change the ticket around. There is possibility of scope-creep here but I'll try my best to segregate the work.

For this work I'll pay US$35. If you want to do this, comment: "I am taking on this task per ScalaWilliam Work Rules".

@ScalaWilliam ScalaWilliam changed the title from PlantUML is currently statically generated to SVG to Auto-generate PlantUML SVG that is currently statically generated. Nov 4, 2017

@laughedelic

This comment has been minimized.

Show comment
Hide comment
@laughedelic

laughedelic Nov 4, 2017

Contributor

I am taking on this task per ScalaWilliam Work Rules.
I'm going to do it with the PlantUML Java dependency. I don't see any point in using remote rendering if it can be done locally and integrated with the build process.

Contributor

laughedelic commented Nov 4, 2017

I am taking on this task per ScalaWilliam Work Rules.
I'm going to do it with the PlantUML Java dependency. I don't see any point in using remote rendering if it can be done locally and integrated with the build process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment