Container View: Gesso CMS
The CMS abstraction layer. Each provider adapts one headless CMS to the shared Gesso CMS interface. Storyblok has two providers, one per API.
flowchart LR
drupal("Drupal Headless<br/>[Software System]")
storyblok("Storyblok<br/>[Software System]")
subgraph gessoCMS["Gesso CMS [Software System]"]
drupalProvider("Drupal Provider<br/>[Container]")
storyblokProvider("Storyblok Provider<br/>[Container]")
storyblokRestProvider("Storyblok REST Provider<br/>[Container]")
end
drupal -. "GraphQL, JSON:API" .-> drupalProvider
storyblok -. "GraphQL" .-> storyblokProvider
storyblok -. "REST" .-> storyblokRestProvider
classDef external fill:#64748b,stroke:#475569,color:#ffffff
classDef container fill:#dbeafe,stroke:#2563eb,color:#1e3a8a
class drupal,storyblok external
class drupalProvider,storyblokProvider,storyblokRestProvider container
style gessoCMS fill:none,stroke:#7d8794,stroke-width:2px,stroke-dasharray:6 4