Closed mgeorge closed 7 years ago
The above syntax would produce the following diagram.
That's great! Congratulation for your work. We will be glad to merge this in the base branch. And we will have a look at the hard-coded black issue. We just have a syntax suggestion: wouldn't it be more logical to use { instead of < to be consistent with exising crowsfoot notation ? That is, using: E }o--o{ F G }|--|{ H
What do you think about it ? (You don't have to do the code modification, we could if you want).
Using '{' is fine by me. If you could make the change during the merge then that would be great.
Also note that the crowsfoot in this version is smaller and narrower than @bminderh's version. This is because the crowsfoot in both versions do not work well with non-perpendicular angles since one leg may overlap the entity while the other dangles. Smaller and narrower makes this effect slightly less obnoxious. The following image demonstrates what I mean.
I thought about trying to dynamically scale the legs to ensure they intersect with the entity, but there are many cases where one leg will never intersect. If users don't like it they always have the option of using the ortho linetype to avoid weird angles.
And thank you for accepting this work, and for your great work on PlantUML. I added the IE notation because we will likely use PlantUML as our primary diagramming tool for teaching several software engineering related courses in the Department of Information Science at the University of Otago (New Zealand).
Here is a beta that integrates your code with { modification. https://dl.dropboxusercontent.com/u/13064071/plantuml.jar
Note that in V8052 we have patched @bminderh version so that non-perpendicular angles are displayed warped. We've just added a projection to Point2D left and right, see https://github.com/plantuml/plantuml/blob/master/src/net/sourceforge/plantuml/svek/extremity/ExtremityCrowfoot.java
The result is not perfect:
Compare for example:
@startuml hide circle hide empty members
foo1 --{ bar1 foo1 --{ bar2 foo1 --{ bar3
aa --o{ bb aa --o{ cc aa --o{ dd @enduml
If you like the result, we could do the same trick with your code. What do you think about it ?
Yes that looks good.
Just noticed a problem with using the '*' character for the new visibility modifier - it conflicts with the creole bold.
I am fine with you choosing another character for the visibility modifier.
Well, we like the * notation :-)
So in the last beta https://dl.dropboxusercontent.com/u/13064071/plantuml.jar we've fixed the following clash:
@startuml
hide circle
hide empty members
entity Entity {
* identifying_attribute
--
* mandatory_attribute **in bold**
**optional_attribute**
}
@enduml
Tell us if you find other issues, Thanks
So to my disappointment, the crows feet notation shown above does not appear to be a feature in PlantUML? It's hard to tell what was included and what was not.
Well, we like the * notation :-)
So in the last beta https://dl.dropboxusercontent.com/u/13064071/plantuml.jar we've fixed the following clash:
@startuml hide circle hide empty members entity Entity { * identifying_attribute -- * mandatory_attribute **in bold** **optional_attribute** } @enduml
Tell us if you find other issues, Thanks
Also this doesn't appear to work, with the curly brace after the name of the entity.
It was merged ages ago. It is not documented yet, but is basically piggy backing off the class diagrams.
Not sure what you other comment refers to - your exact code seem to do what I would expect it to do:
It would appear to be an error with the Atom plantuml-viewer plugin. My apologies. It is giving me a syntax error.
And just to confirm, and I should've done this before but I assumed it was using the plantuml.jar I downloaded, when I run it via command line, I do see what I expect.
Thank you for your reply.
So, any documentation? When?
@mgeorge thank you very much for your implementation work. I would really appreciate some documentation for this feature, even just a quick few paragraphs would help me greatly. You can add it in the wiki: http://wiki.plantuml.net/site/index
@spawnia Done. Thank you for actually pointing out how/where to add the documentation.
@mgeorge thank you very much. I find it more clear to name the page Entity Relationship diagram
. Information Engineering seems more like the discipline associated with creating ER diagrams.
I actually edited that in just now, did not realize the Wiki allows me to just edit that directly. If you want i can revert that, though.
What do you think?
I was thinking the same thing. Keep the edit. I just added a sentence that clarified which notation is being used (there are a bunch of them and Information Engineering is the actual name of the crows foot notation that most people use).
Many thanks for your contributions on documentation. It's now online at http://plantuml.com/ie-diagram
You can go on with further modifications if needed. Thanks again !
Extended @bminderh's crowsfoot work to include the full IE notation except for OR/XOR.
Includes
Diagram example
To do
Couldn't work out how to do the following myself.
Updated to use the '{' brace notation that was actually used in the merged version.