diff --git a/architecture/workspace/dynamic-social-campaign-publishing.puml b/architecture/workspace/dynamic-social-campaign-publishing.puml new file mode 100644 index 0000000..c09a459 --- /dev/null +++ b/architecture/workspace/dynamic-social-campaign-publishing.puml @@ -0,0 +1,33 @@ +@startuml +!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Dynamic.puml + +title Social Campaign Publishing Workflow - Dynamic Diagram + +Person(owner, "Business Owner") +Person(staff, "Operations Staff") + +System(system, "Kell Creations Platform", "Unified business applications and shared services") +System_Ext(facebook, "Facebook", "Social publishing platform") +System_Ext(instagram, "Instagram", "Social publishing platform") +System_Ext(xsocial, "X", "Social publishing platform") + +Container(social, "Social Media Management", "Business Application", "Manages campaign content, scheduling, approvals, and publishing") +Container(datarepo, "Shared Data Repository", "Shared Service", "Stores shared campaign, content, and reference data") +Container(api, "API Orchestrator", "Integration Service", "Coordinates publishing and synchronization events") +Container(notify, "Notification Service", "Messaging Service", "Sends approval and exception notifications") +Container(audit, "Audit & Logging Service", "Observability Service", "Captures workflow and publishing events") + +Rel(staff, social, "Prepares campaign content and schedules in") +Rel(owner, social, "Approves or governs campaign publication in") + +Rel(social, datarepo, "Reads campaign, content, and metadata from") +Rel(social, notify, "Requests approval or exception notifications through") +Rel(social, api, "Submits approved campaign publishing request through") +Rel(api, facebook, "Publishes content to") +Rel(api, instagram, "Publishes content to") +Rel(api, xsocial, "Publishes content to") +Rel(api, audit, "Logs campaign publishing workflow events to") +Rel(social, audit, "Logs campaign edits, approvals, and scheduling activity to") +Rel(datarepo, audit, "Logs campaign data access activity to") + +@enduml \ No newline at end of file diff --git a/docs/architecture/dynamic/social-campaign-publishing.md b/docs/architecture/dynamic/social-campaign-publishing.md new file mode 100644 index 0000000..60cbd6f --- /dev/null +++ b/docs/architecture/dynamic/social-campaign-publishing.md @@ -0,0 +1,34 @@ +# Social Campaign Publishing Workflow + +This diagram shows the dynamic workflow used to prepare, approve, schedule, publish, and record social campaign content from the Kell Creations platform to external social platforms. + +## Purpose + +This view explains how campaign planning, shared data, social media management, notifications, API orchestration, external social publishing, and audit logging work together to execute a social campaign publishing workflow. + +## Diagram Source + +The source for this diagram is maintained as architecture code in: + +`architecture/workspace/dynamic-social-campaign-publishing.puml` + +## Diagram + +![Social Campaign Publishing Workflow](../../images/dynamic-social-campaign-publishing.svg) + +## Included Workflow Participants + +- Business Owner +- Operations Staff +- Social Media Management +- Shared Data Repository +- API Orchestrator +- Notification Service +- Audit & Logging Service +- Facebook +- Instagram +- X + +## Notes + +This dynamic workflow establishes the publishing pattern for campaign content in the Kell Creations platform. Future refinements should distinguish between draft creation, approval-required content, scheduled posts, exception handling, platform-specific publishing rules, and engagement follow-up workflows. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index b395edf..ed2d6a8 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -53,6 +53,7 @@ nav: - Dynamic: - Order to Fulfillment: "architecture/dynamic/order-to-fulfillment.md" - Product Publishing Workflow: "architecture/dynamic/product-publishing.md" + - Social Campaign Publishing Workflow: "architecture/dynamic/social-campaign-publishing.md" - Decisions: - ADR Index: "architecture/decisions/index.md" - Policies: