@ -89,7 +89,7 @@ One thing which is often ignored is the fact, that these software architecture s
Without any proof
Without any proof
* if they are technically possible
* if they are technically possible
* if they can full fil all requirements
* if they can fulfil l all requirements
* if they keep what they promise
* if they keep what they promise
More often these sketches are used by many people as facts and are manifested into their documentations.
More often these sketches are used by many people as facts and are manifested into their documentations.
@ -140,3 +140,123 @@ Rel(web_app, twitter, "Gets tweets from", "HTTPS")


## PERSON_SPRITE_NONE(), PERSON_SPRITE_ACTIVE(), PERSON_SPRITE_C4(), PERSON_SPRITE_3D() or PERSON_SPRITE($person)
With the macros `PERSON_SPRITE_NONE()` , `PERSON_SPRITE_ACTIVE()` , `PERSON_SPRITE_C4()` , `PERSON_SPRITE_3D()` and `PERSON_SPRITE($person)` it is possible to easily change the person related default sprite. `PERSON_SPRITE_ACTIVE()` is the default.
- **PERSON_SPRITE_NONE()** : deactivates the default sprite
- **PERSON_SPRITE_ACTIVE()** : (re-)activates the default sprite
- **PERSON_SPRITE_C4()** , **PERSON_SPRITE_3D()** : activates one of the other prepared sprites
- **PERSON_SPRITE($person)** : activates a customer specific sprite as default sprite
**Using PERSON_SPRITE_ACTIVE()**
```csharp
@startuml PERSON_SPRITE_ACTIVE Sample
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
/' Not needed because this is the default '/
PERSON_SPRITE_ACTIVE()
Person(admin, "Administrator")
System_Boundary(c1, 'Sample') {
Container(web_app, "Web Application", "C#, ASP.NET Core 2.1 MVC", "Allows users to compare multiple Twitter timelines")
}
System(twitter, "Twitter")
Rel(admin, web_app, "Uses", "HTTPS")
Rel(web_app, twitter, "Gets tweets from", "HTTPS")
@enduml
```

**Using PERSON_SPRITE_NONE()**
```csharp
@startuml PERSON_SPRITE_NONE Sample
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
PERSON_SPRITE_NONE()
Person(admin, "Administrator")
System_Boundary(c1, 'Sample') {
Container(web_app, "Web Application", "C#, ASP.NET Core 2.1 MVC", "Allows users to compare multiple Twitter timelines")
}
System(twitter, "Twitter")
Rel(admin, web_app, "Uses", "HTTPS")
Rel(web_app, twitter, "Gets tweets from", "HTTPS")
@enduml
```

**Using PERSON_SPRITE_C4()**
```csharp
@startuml PERSON_SPRITE_C4 Sample
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
PERSON_SPRITE_C4()
Person(admin, "Administrator")
System_Boundary(c1, 'Sample') {
Container(web_app, "Web Application", "C#, ASP.NET Core 2.1 MVC", "Allows users to compare multiple Twitter timelines")
}
System(twitter, "Twitter")
Rel(admin, web_app, "Uses", "HTTPS")
Rel(web_app, twitter, "Gets tweets from", "HTTPS")
@enduml
```

**Using PERSON_SPRITE_3D()**
```csharp
@startuml PERSON_SPRITE_3D Sample
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
PERSON_SPRITE_3D()
Person(admin, "Administrator")
System_Boundary(c1, 'Sample') {
Container(web_app, "Web Application", "C#, ASP.NET Core 2.1 MVC", "Allows users to compare multiple Twitter timelines")
}
System(twitter, "Twitter")
Rel(admin, web_app, "Uses", "HTTPS")
Rel(web_app, twitter, "Gets tweets from", "HTTPS")
@enduml
```

**Using PERSON_SPRITE($person)**
```csharp
@startuml PERSON_SPRITE Sample
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
!define osaPuml https://raw.githubusercontent.com/Crashedmind/PlantUML-opensecurityarchitecture2-icons/master
!include osaPuml/Common.puml
!include osaPuml/User/all.puml
PERSON_SPRITE("osa_user_green_operations")
Person(admin, "Administrator")
System_Boundary(c1, 'Sample') {
Container(web_app, "Web Application", "C#, ASP.NET Core 2.1 MVC", "Allows users to compare multiple Twitter timelines")
}
System(twitter, "Twitter")
Rel(admin, web_app, "Uses", "HTTPS")
Rel(web_app, twitter, "Gets tweets from", "HTTPS")
@enduml
```
