workflow-plugin-cms

module
v0.0.0-...-a606fa7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 21, 2026 License: MIT

README

workflow-plugin-cms

⚠️ Experimental — This plugin compiles and passes its unit tests but has not been validated in any active GoCodeAlone-internal production deployment. Use with caution. Please open an issue if you adopt it so we can promote it to verified status.

License Go Reference

Multi-tenant CMS engine for the workflow engine. Foundation plugin of gocodealone-multisite.

What it provides

  • Tenant resolver (cms.tenant_resolver) — Host header → tenant_id; unknown domain → 404 neutral.
  • Static-wins routing (cms.static_serve_before_dynamic) — static files match before any CMS route is considered.
  • CMS engine (cms.engine) — page CRUD, dynamic-section render, theme resolver, bundle fetcher, ingest webhook, upload handler.
  • Analytics injection (analytics.injection) — per-tenant Google Analytics injection delegated to workflow-plugin-analytics.
  • Pipeline stepsstep.cms_render_page, step.cms_bundle_activate.

Status

v0.1.0-alpha — scaffold + stub module implementations. Full implementations track against gocodealone-multisite SPEC.md §T tasks T3–T28.

Install

# wfctl.yaml
plugins:
  - name: workflow-plugin-cms
    version: v0.1.0-alpha
    source: github.com/GoCodeAlone/workflow-plugin-cms
wfctl plugin install

Local development

git clone https://github.com/GoCodeAlone/workflow-plugin-cms.git
cd workflow-plugin-cms
GOWORK=off go build ./...
GOWORK=off go test ./...

License

MIT. See LICENSE.

Directories

Path Synopsis
Package adminui serves the minimum-viable admin web app for the multisite host.
Package adminui serves the minimum-viable admin web app for the multisite host.
Package analytics injects per-tenant analytics snippets into served HTML.
Package analytics injects per-tenant analytics snippets into served HTML.
Package audit emits HMAC-signed audit-chain entries for admin mutations.
Package audit emits HMAC-signed audit-chain entries for admin mutations.
Package bundle owns the per-tenant static-content bundle lifecycle: HMAC-verified ingest webhook → authenticated GH release tarball fetch → un-tar into versioned directory → atomic swap of `current` symlink.
Package bundle owns the per-tenant static-content bundle lifecycle: HMAC-verified ingest webhook → authenticated GH release tarball fetch → un-tar into versioned directory → atomic swap of `current` symlink.
cmd
workflow-plugin-cms command
Command workflow-plugin-cms is a workflow engine external plugin providing the CMS host functionality for gocodealone-multisite.
Command workflow-plugin-cms is a workflow engine external plugin providing the CMS host functionality for gocodealone-multisite.
Package editor defines the WYSIWYG editor provider interface for workflow-plugin-cms.
Package editor defines the WYSIWYG editor provider interface for workflow-plugin-cms.
editorjs
Package editorjs implements the alternative Editor.js WYSIWYG provider — example T23 / SPEC V10.
Package editorjs implements the alternative Editor.js WYSIWYG provider — example T23 / SPEC V10.
tiptap
Package tiptap implements the TipTap WYSIWYG editor.Provider for the CMS engine.
Package tiptap implements the TipTap WYSIWYG editor.Provider for the CMS engine.
Package host wires the workflow-plugin-cms components into a single http.Handler suitable for a standalone multisite host binary.
Package host wires the workflow-plugin-cms components into a single http.Handler suitable for a standalone multisite host binary.
Package internal implements the workflow-plugin-cms plugin — the CMS engine used by gocodealone-multisite to serve multi-tenant content sites from a single workflow app.
Package internal implements the workflow-plugin-cms plugin — the CMS engine used by gocodealone-multisite to serve multi-tenant content sites from a single workflow app.
Package media implements tenant-scoped media upload + retrieval.
Package media implements tenant-scoped media upload + retrieval.
Package monitoring exposes per-tenant request counters and a Prometheus-compatible /metrics endpoint.
Package monitoring exposes per-tenant request counters and a Prometheus-compatible /metrics endpoint.
Package render handles dynamic-section substitution in served HTML.
Package render handles dynamic-section substitution in served HTML.
Package store defines persistence interfaces + an in-memory test implementation for the CMS engine.
Package store defines persistence interfaces + an in-memory test implementation for the CMS engine.
Package theme resolves the active theme for a tenant page render.
Package theme resolves the active theme for a tenant page render.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL