Skip to content

Added External System/Person, Component and the core diagram examples from c4model.com #1

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

Merged
merged 11 commits into from
Nov 9, 2018

Conversation

adrianvlupu
Copy link
Member

@adrianvlupu adrianvlupu commented Sep 18, 2018

Hi,

I have been using this cool puml file to create some diagrams but noticed there is no internal System or Component type.

So I added them with their respective color schemes and attached 3 more samples for the type of core diagrams.

Nice use of plantuml by the way !

Update

Sorry, forgot to update the readme and snippet files.

@adrianvlupu adrianvlupu changed the title Ex Added External System/Person, Component and the core diagram examples from c4model.com Sep 25, 2018
@@ -90,12 +90,12 @@ Rel(web_app, twitter, "Gets tweets from", "HTTPS")

## Snippets for Visual Studio Code

Because the PlantUML support inside of Visual Studio Code is excellend with the [PlantUML extension](https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml), you can also find VS Code snippets for C4-PlantUML at [.vscode/snippets/diagram.json](.vscode/snippets/diagram.json).
Because the PlantUML support inside of Visual Studio Code is excellent with the [PlantUML extension](https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml), you can also find VS Code snippets for C4-PlantUML at [.vscode/C4.code-snippets](.vscode/C4.code-snippets).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.code-snippets files have a slightly different schema than snippet JSON files since they need to specify which languages the snippets apply to. Simply renaming .vscode/snippets/diagram.json to .vscode/C4.code-snippets won't work according to VS Code documentation, or will lead to the snippets appearing everywhere, not just in PlantUML diagrams.

Your PR should add the scope property to each snippet as described in the docs, or better yet roll back the project-level snippet stuff and give it its own PR since it is disjoint from the purpose of this PR.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. Rolling it back. Forgot to switch branch before pushing

@@ -2,8 +2,11 @@
' ##################################
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changing the file name breaks everyone who currently uses the !includeurl macro to load the C4 library from the main C4-PlantUML repository. Name should stay C4_Container.puml so as to not break existing users.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True. Changing it back

@coldacid coldacid mentioned this pull request Oct 25, 2018
@RicardoNiepel RicardoNiepel self-assigned this Oct 30, 2018
Copy link
Collaborator

@RicardoNiepel RicardoNiepel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot to both of you for helping me!

I need to request a bigger change from your side before I can merge it:
I'm in the process to introduce IntelliSense for PlantUML macros into the VSCode PlantUML extension.
For making this useable, we need to ensure, that each element can only be used (and correct IntelliSense) in the correct diagram type.
This means, you need to split up your work into separate files: C4.puml, C4_Context.puml, C4_Container.puml, C4_Component.puml

Please also ensure that all images are updated with your changes - you can use http://www.plantuml.com/plantuml/ for generating the IMG URL.
Or the VSCode PlantUML extension.

@adrianvlupu
Copy link
Member Author

Ok, will do!

coldacid added a commit to coldacid/C4-PlantUML that referenced this pull request Oct 31, 2018
- Require that boundaries always have a label.
- Make the `package` boundary default.
- Add `boundary`-stereotyped `rectangle`s for dashed line boundaries.
- Add `Enterprise_Boundary_Rect` for dashed line enterprise boundaries.

When we get other boundary macros from PR plantuml-stdlib#1, we should ensure that
those boundaries _also_ get `_Rect` macros to match up with the graphic
style from the c4model.com website.
updated styles to be flat
boundary is now a dashed rectangle
updated README with new image urls
@adrianvlupu
Copy link
Member Author

I think this is what you wanted. If not, let me know and I will update.
The includes are now in cascade.
If you only need the context diagram the Component and Container types are not included.

@RicardoNiepel RicardoNiepel merged commit b6cd5ad into plantuml-stdlib:master Nov 9, 2018
@AnotherDevBoy
Copy link

@RicardoNiepel @adrianvlupu, apologies for the PR necromancy but this is something that came up today while I was using C4 and I was wondering if you could expand more on it.

What's the meaning of an External Person in the C4 Model? I haven't been able to find any direct references to it other than this PR.

Thanks!

adrianvlupu added a commit that referenced this pull request Nov 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants