// How to generate the SVG file:
// dot -Tsvg -odocs/DomainModel/DomainModel.svg docs/DomainModel/DomainModel.dot
digraph phpListDomainModel {
//
// Layout basics
//
fontname = "Bitstream Vera Sans, Arial"
fontsize = 8
node [
fontname = "Bitstream Vera Sans, Arial"
fontsize = 8
shape = "record"
]
edge [
fontname = "Bitstream Vera Sans, Arial"
fontsize = 8
]
//
// Entities
//
subgraph clusterIdentityContext {
label = "IdentityContext"
style = filled
fillcolor = grey95
color = green1
Administrator [label = "Administrator"]
Attribute [label = "AdministratorAttribute"]
AdministratorPasswordRequest [label = "AdministratorPasswordRequest"]
AdministratorToken [label = "AdministratorToken"]
}
subgraph clusterSubscriptionContext {
label = "SubscriptionContext"
style = filled
fillcolor = grey95
color = green1
SubscriberAttribute [label = "Attribute"]
SubscriberAttributeValue [label = "AttributeValue"]
SubscribePage [label = "SubscribePage"]
SubscribePageData [label = "SubscribePageData"]
Subscriber [label = "Subscriber"]
SubscriberHistory [label = "SubscriberHistory"]
Subscription [label = "Subscription"]
SuppressionList [label = "SuppressionList"]
SuppressionListData [label = "SuppressionListData"]
}
subgraph clusterMessagingContext {
label = "MessagingContext"
style = filled
fillcolor = grey95
color = green1
Attachment [label = "Attachment"]
Bounce [label = "Bounce"]
BounceRegEx [label = "BounceRegEx"]
Campaign [label = "Campaign"]
CampaignBounce [label = "CampaignBounce"]
CampaignData [label = "CampaignData"]
CampaignForward [label = "CampaignForward"]
SubscriberList [label = "SubscriberList"]
Template [label = "Template"]
TemplateImage [label = "TemplateImage"]
}
subgraph clusterSystemContext {
label = "SystemContext"
style = filled
fillcolor = grey95
color = green1
Configuration [label = "Configuration"]
Internationalization [label = "Internationalization"]
LogEntry [label = "LogEntry"]
SendProcess [label = "SendProcess"]
UrlCache [label = "UrlCache"]
}
subgraph clusterTrackingContext {
label = "Tracking Context"
style = filled
fillcolor = grey95
color = green1
LinkTrackForward [label = "LinkTrackForward"]
LinkTrackMessageLink [label = "LinkTrackMessageLink"]
LinkTrackUmlClick [label = "LinkTrackUmlClick"]
}
//
// Associations without labels
//
edge [
label = ""
arrowtail = ""
dir = ""
arrowhead = "open"
arrowsize = .4
]
AdministratorToken -> Administrator [taillabel="*" headlabel="1"]
Bounce -> Subscriber [taillabel="*" headlabel="0..1"]
Campaign -> Attachment [taillabel="1" headlabel="*"] // constraint="false"
Campaign -> CampaignData [taillabel="1" headlabel="*"]
Campaign -> Subscriber [taillabel="*" headlabel="*"]
Campaign -> Template [taillabel="*" headlabel="1"]
CampaignForward -> Campaign [taillabel="*" headlabel="1"]
LinkTrackMessageLink -> Campaign [taillabel="*" headlabel="1"]
LinkTrackMessageLink -> LinkTrackForward [taillabel="*" headlabel="1"]
LinkTrackUmlClick -> LinkTrackMessageLink [taillabel="*" headlabel="1"]
LinkTrackUmlClick -> Subscriber [taillabel="*" headlabel="1"]
SubscriberList:s -> Campaign [taillabel="*" headlabel="*"]
SubscriberList:sw -> Subscription [taillabel="1" headlabel="*"]
SubscribePage -> SubscribePageData [taillabel="1" headlabel="*"]
Subscriber -> CampaignForward [taillabel="1" headlabel="*"]
Subscriber -> SubscriberAttributeValue [taillabel="1" headlabel="*"]
Subscriber -> SubscriberHistory [taillabel="1" headlabel="*"]
SubscriberAttributeValue -> SubscriberAttribute [taillabel="*" headlabel="1"]
Subscription -> Subscriber [taillabel="*" headlabel="1"]
SuppressionList -> SuppressionListData [taillabel="1" headlabel="*"]
Template -> TemplateImage [taillabel="1" headlabel="*"]
//
// Associations with labels
//
edge [
arrowtail = ""
dir = ""
]
SubscriberList -> Administrator [taillabel="*" headlabel="1" label="owner"]
//
// Inheritance
//
edge [
taillabel = ""
headlabel = ""
arrowtail = "empty"
dir = "back"
label = ""
arrowsize = 1
]
//
// Notes
//
node [
fontname = "Bitstream Vera Sans, Arial"
fontsize = 8
shape = "note"
style = filled
color = cornflowerblue
fillcolor = white
]
edge [
style = dashed
arrowtail = "none"
arrowhead = "none"
label = ""
color = cornflowerblue
]
//Note_Foo [label = "This,\nThat"]
//Note_Foo -> Foo
//
// Invisible edges to improve the layout
//
edge [
style = invis
label = ""
]
TemplateImage -> LinkTrackMessageLink
//
// Questions
//
node [
fontname = "Bitstream Vera Sans, Arial"
fontsize = 8
shape = ellipse
style = filled
color = orange
]
edge [
style = dashed
arrowtail = "none"
arrowhead = "none"
label = ""
color = orange
]
}