CMS Domain
UML diagrams for content management, publishing workflows, and magazine production
CMS Domain
The CMS domain handles content creation, editorial workflows, publishing, and magazine/publication management.
Domain Overview
graph TB
subgraph "Content Management"
POST[Posts/Articles]
PAGE[Pages]
MEDIA[Media Library]
TYPE[Content Types]
end
subgraph "Editorial"
WORKFLOW[Publishing Workflow]
REVIEW[Review Process]
SCHEDULE[Scheduling]
VERSION[Versioning]
end
subgraph "Publishing"
PUBLISH[Publish]
CHANNELS[Multi-Channel]
SEO[SEO Optimization]
end
subgraph "Magazine"
MAG[Magazine]
EDITION[Editions]
LAYOUT[Layout]
end
POST --> WORKFLOW
PAGE --> WORKFLOW
WORKFLOW --> REVIEW
REVIEW --> SCHEDULE
SCHEDULE --> PUBLISH
PUBLISH --> CHANNELS
PUBLISH --> SEO
MAG --> EDITION
EDITION --> LAYOUT
LAYOUT --> PUBLISH
style POST fill:#e1f5fe
style WORKFLOW fill:#fff3e0
style PUBLISH fill:#e8f5e9Entity Relationship Diagram
erDiagram
TENANT ||--o{ POST : has
TENANT ||--o{ POST_TYPE : defines
TENANT ||--o{ MAGAZINE : has
POST }o--|| POST_TYPE : of_type
POST }o--|| USER : authored_by
POST ||--o{ POST_VERSION : has
POST }o--o{ CATEGORY : belongs_to
POST }o--o{ TAG : tagged_with
POST ||--o{ COMMENT : has
MAGAZINE ||--o{ MAGAZINE_EDITION : contains
MAGAZINE_EDITION ||--o{ EDITION_ARTICLE : includes
MAGAZINE_EDITION }o--o{ POST : features
POST {
string id PK
string tenantId FK
string postTypeId FK
string authorId FK
string title
string slug
text content
text excerpt
enum status
timestamp publishedAt
timestamp scheduledAt
json seoData
int viewCount
}
POST_TYPE {
string id PK
string tenantId FK
string name
string slug
json fields
json template
boolean hierarchical
}
POST_VERSION {
string id PK
string postId FK
int versionNumber
text content
string createdBy FK
timestamp createdAt
string changeNote
}
MAGAZINE {
string id PK
string tenantId FK
string name
string description
enum frequency
boolean active
}
MAGAZINE_EDITION {
string id PK
string magazineId FK
string issueNumber
string title
timestamp publishDate
enum status
string coverImage
}Content States
stateDiagram-v2
[*] --> DRAFT: Create Content
DRAFT --> PENDING_REVIEW: Submit for Review
DRAFT --> DRAFT: Save Draft
PENDING_REVIEW --> IN_REVIEW: Reviewer Assigned
PENDING_REVIEW --> DRAFT: Return to Author
IN_REVIEW --> APPROVED: Approve
IN_REVIEW --> CHANGES_REQUESTED: Request Changes
IN_REVIEW --> REJECTED: Reject
CHANGES_REQUESTED --> DRAFT: Author Revises
APPROVED --> SCHEDULED: Schedule Publication
APPROVED --> PUBLISHED: Publish Now
SCHEDULED --> PUBLISHED: Scheduled Time
PUBLISHED --> ARCHIVED: Archive
PUBLISHED --> DRAFT: Unpublish & Edit
ARCHIVED --> PUBLISHED: Restore
REJECTED --> [*]Key Business Processes
Content Workflow
Editorial review and approval process. View Workflow Details
Magazine Production
Magazine edition creation and publishing. View Magazine Details
Multi-Channel Publishing
flowchart LR
CONTENT[Published Content] --> CHANNELS{Channels}
CHANNELS --> WEB[Website]
CHANNELS --> APP[Mobile App]
CHANNELS --> WP[WordPress]
CHANNELS --> RSS[RSS Feed]
CHANNELS --> SOCIAL[Social Media]
CHANNELS --> EMAIL[Email Newsletter]
WEB --> CDN[CDN Delivery]
APP --> API[API Delivery]
WP --> SYNC[WordPress Sync]
RSS --> FEED[Feed Generation]
SOCIAL --> POST[Auto-Post]
EMAIL --> QUEUE[Email Queue]SEO Integration
flowchart TD
CONTENT[Content Created] --> ANALYZE[SEO Analysis]
ANALYZE --> TITLE[Title Optimization]
ANALYZE --> META[Meta Description]
ANALYZE --> KEYWORDS[Keyword Density]
ANALYZE --> READABILITY[Readability Score]
ANALYZE --> LINKS[Internal Links]
TITLE --> SCORE[SEO Score]
META --> SCORE
KEYWORDS --> SCORE
READABILITY --> SCORE
LINKS --> SCORE
SCORE --> RECOMMEND{Score OK?}
RECOMMEND -->|Yes| READY[Ready to Publish]
RECOMMEND -->|No| SUGGEST[Show Suggestions]
SUGGEST --> CONTENT