From 80c260fdc8d09e28c3d022371d78aa78444ddb49 Mon Sep 17 00:00:00 2001 From: Mike Kell Date: Mon, 30 Mar 2026 19:12:58 -0400 Subject: [PATCH] Add product publishing dynamic workflow --- .../workspace/dynamic-product-publishing.puml | 29 +++++++++++++++++ .../dynamic/product-publishing.md | 32 +++++++++++++++++++ mkdocs.yml | 1 + 3 files changed, 62 insertions(+) create mode 100644 architecture/workspace/dynamic-product-publishing.puml create mode 100644 docs/architecture/dynamic/product-publishing.md diff --git a/architecture/workspace/dynamic-product-publishing.puml b/architecture/workspace/dynamic-product-publishing.puml new file mode 100644 index 0000000..da55293 --- /dev/null +++ b/architecture/workspace/dynamic-product-publishing.puml @@ -0,0 +1,29 @@ +@startuml +!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Dynamic.puml + +title Product 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(wordpress, "WordPress / WooCommerce", "Website and product publishing platform") + +Container(datarepo, "Shared Data Repository", "Shared Service", "Stores shared product and reference data") +Container(wpmanage, "WordPress Management", "Business Application", "Manages product publishing and site administration") +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(owner, wpmanage, "Approves or governs product publication in") +Rel(staff, wpmanage, "Prepares and updates product content in") + +Rel(wpmanage, datarepo, "Reads product, pricing, and metadata from") +Rel(wpmanage, api, "Submits product publishing request through") +Rel(api, wordpress, "Publishes or updates product in") +Rel(api, notify, "Triggers success, approval, or exception notifications through") +Rel(api, audit, "Logs publishing workflow event to") +Rel(wpmanage, audit, "Logs product administration activity to") +Rel(datarepo, audit, "Logs product data access activity to") + +@enduml \ No newline at end of file diff --git a/docs/architecture/dynamic/product-publishing.md b/docs/architecture/dynamic/product-publishing.md new file mode 100644 index 0000000..05a73b7 --- /dev/null +++ b/docs/architecture/dynamic/product-publishing.md @@ -0,0 +1,32 @@ +# Product Publishing Workflow + +This diagram shows the dynamic workflow used to prepare, approve, publish, and record product updates from the Kell Creations platform into WordPress / WooCommerce. + +## Purpose + +This view explains how product records, shared data, WordPress Management, API orchestration, notifications, and audit logging work together to publish or update products on the website. + +## Diagram Source + +The source for this diagram is maintained as architecture code in: + +`architecture/workspace/dynamic-product-publishing.puml` + +## Diagram + +![Product Publishing Workflow](../../images/dynamic-product-publishing.svg) + +## Included Workflow Participants + +- Business Owner +- Operations Staff +- Shared Data Repository +- WordPress Management +- API Orchestrator +- Notification Service +- Audit & Logging Service +- WordPress / WooCommerce + +## Notes + +This dynamic workflow establishes the publishing pattern for product updates in the Kell Creations platform. Future refinements should distinguish between new product publication, product updates, media synchronization, approval-required changes, and exception handling for failed publish operations. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 46a873e..b395edf 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -52,6 +52,7 @@ nav: - Production Deployment: "architecture/deployment/production.md" - Dynamic: - Order to Fulfillment: "architecture/dynamic/order-to-fulfillment.md" + - Product Publishing Workflow: "architecture/dynamic/product-publishing.md" - Decisions: - ADR Index: "architecture/decisions/index.md" - Policies: