-
Notifications
You must be signed in to change notification settings - Fork 140
Upgrade PlantUML version to 1.2023.10 #2311
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
Conversation
|
Before should_ be like this (as per https://markbind.org/userGuide/components/imagesAndDiagrams.html#diagrams)? |
Thanks @damithc, you are right 🙂 . I have since updated my comment to be clearer and better reflect the changes. |
|
hi @lesterong! thanks for the work! perhaps it would be good to check out how the cs2103 website would look after the bump as it is one of our most content heavy websites which is heavily used. feel free to ping me if you need any help! |
|
Hi @lesterong thanks so much for the work! It looks p good. |
Hi @yucheng11122017, yes that is correct. It appears that PlantUML is now using a different font, and it no longer fits in the bar. I tried increasing the length of the 'Hire test writers' bar, and the text fits in the bar as expected. |
yucheng11122017
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Minor point for anyone reviewing: the images in the deploy preview are still the old ones since absolute links are used instead of relative ones.
May need to update this as well
hi @yucheng11122017, what about the |
hi @itsyme, great idea! Upon some initial testing, I also found that the new version of PlantUML seems to be having some issues rendering the underlines if they are specified using the Creole syntax ( Using the Creole syntax with object diagrams seems to work fine as well. |
Does it work if you apply the fix that you mentioned? |
Hi @tlylt, yes it does. For example, we can provide an alias @startuml
left to right direction
skinparam packageStyle rectangle
actor customer
actor clerk
'alias provided for checkout
rectangle checkout as c {
customer -- (checkout)
(checkout) .> (payment) : include
(help) .> (checkout) : extends
(checkout) -- clerk
}
@endumlThe diagram generated will be as follows: Let me know if this is the desired workaround. |
Yes, that would suffice. Could you draft up a migration guide for this PlantUML update in the PR description, highlighting the noticeable changes and the required settings/changes needed to handle cases such as the above? This would greatly help current users and will be included in the release note. |
Hi @tlylt, I have drafted up a migration guide in the PR description, do take a look and let me know if there are any changes to be made! 🙂 |
Thanks @lesterong, looks good to me. Could you help with:
|
Hi @tlylt, I have added in some screenshots for the migration guide, do take a look and let me know if there are any changes to be made! As for the GraphViz dependency, I'm still playing around and testing with the version that uses Smetana (a Java port of Dot). Here's the link to PlantUML's Smetana page for reference. |
Do help to check if the use of Smetana has any limitations or undesirable changes. If it's all good, we can consider passing in that directive when we invoke Plantuml to have the layout engine use Smetana by default |
Hello @tlylt, I did some more testing with Smetana and it seems like there are still some issues with Smetana, particularly with arrows and nested layouts. For example, the With GraphViz Dot
With Smetana
Another example would be the With GraphViz Dot
With Smetana
Similar issues are also reported in PlantUML's repo:
|
Thanks for checking, @lesterong! In that case, I see no reason to update our setup to use Smetana by default. Could you help me with adding a side note on that alternative (and the issues around it - just the high level description in a few sentences) in https://markbind-master.netlify.app/userguide/components/imagesanddiagrams#diagrams ? Other than that will get this PR merged soon 👍 |
Great @tlylt! I have added a bullet point on Smetana here. Do take a look and let me know if there are any changes required! |
tlylt
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. @damithc do you have any comments/concerns with the diagrams generated by the new version? If not will be merging this PR in.
damithc
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks for the good work @lesterong and for the reviews (@tlylt @yucheng11122017). Just a minor comment only.
d029a52 to
7f98993
Compare
@lesterong sorry I think this item is not completely done:
On top of the alternative layout engine, the new version also brings the possibility of omitting the Graphviz installation on Windows machines. Could you verify? Also, curious how did you generate and update the images in UG? I think this process is not captured in our DG. For the above, we may need to update the docs if necessary (hopefully this is the last thing to do in this PR :) |
My apologies, I will check on it by this weekend with a Windows PC, and update on it.
I generated the diagrams using the PlantUML plugin in IntelliJ. |
Hmm...best to generate them via MarkBind as well, to verify that it's actually working. |
I did serve the site locally to test as well, I used the plugin mainly for convenience. But I will double check on this to be sure! 👍🏼 |
|
As of 12 July 2023, it seems like PlantUML has just released V1.2023.10. Do I upgrade to that version, or leave it at V1.2023.9? The change log from PlantUML is linked here.
|
Sure @lesterong if it doesn't take too much time (need to verify that things still work), ideally I would like the PR to be ready soon or by tmr, to make the cut for v5 release. Meaning if it is going to take longer than that, would be great if you could wrap up this PR first and keep that as a follow-up item. |
No worries, I'll get it up by tomorrow afternoon 🙂. I'm currently testing it on Windows. |
35d5c82 to
bae6901
Compare
bae6901 to
603c18d
Compare
Hi @tlylt, I have verified that on Windows, PlantUML works without a Graphviz installation. I used a Windows 11 machine without a Graphviz Dot installation, and tested it using
I have also re-tested generating all the
With that said, do I go ahead and update the user and developer guides to specify that a Graphviz installation is not required for Windows? |
Thank you. Could you update the docs to mention that & in dev docs add in the steps you took to generate and update the puml images properly (basically how-to guide for upgrading puml) ? (Under Development -> Workflow -> Dependency management, add at the end of that) |
Sure. I will do up a draft by tonight, so we can get it sorted out by tomorrow. 👍🏼 |
Guys, is this regarding the UML diagrams used to illustrate the image annotation feature? In that case, we can just keep using the same images as before (i.e., they don't need to be updated every time PlantUML is updated) because that feature has nothing to do with PlantUML, right? |
Correct me if I'm wrong, but I believe @tlylt is referring to all the diagrams in the user guide, not just the annotation diagrams, i.e. all the png images that has been updated in this PR. |
@damithc we reused two UML diagrams for image annotation, which resulted in this coupling. I think would be good to decouple it for the reason you mentioned. @lesterong could you undo the annotation.md changes and copy the two original UML images used (and rename them) and put them in docs/images (so that they are tgt with annotateSampleImage.png). Update the link in annotation page accordingly. |
Hi @tlylt, I have reverted the changes in
I have also updated the user guide and developer guides to point out that Graphviz is optional in Windows: Updated user guide Updated developer guide
And also added a section on updating PlantUML in the workflows page
Do take a look and let me know if there are any changes to be made. Thanks! |
@lesterong this change is not pushed? I don't see it anywhere. |
|
My apologies, will push it now |
tlylt
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thank you @lesterong 🚀
















What is the purpose of this pull request?
Overview of changes:
Left: Before

Middle: After
Right: After, annotation positions adjusted
Top: Before

Middle: After
Bottom: After, annotation positions adjusted
Anything you'd like to highlight/discuss:
class.pumlas PlantUML has changed how they handle namespaces. This behaviour can be disabled usingset separator none.Left: Before

Right: After
usecase.pumldiagram as it no longer allows for two elements with the same name, though this can be fixed by providing an alias.Proposed commit message: (wrap lines at 72 characters)
Bump PlantUML to 1.2023.10
Checklist: ☑️
Migration Guide
The PlantUML plugin has been updated from 1.2020.7 to 1.2023.10.
Changes
(For detailed changes, please view them on plantuml website)
skin rosedirective.set separator nonecommand.<u>Class Name</u>will render an underline, but not__Class Name__.