@company-manager/docs

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:#e8f5e9

Entity 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