Skip to content

ADR-0015: Marketing Site Template for Public Web Properties

  • Status: accepted
  • Deciders: ConnectSoft Architecture Team
  • Date: 2026-06-11

Context and Problem Statement

ConnectSoft needs a repeatable way to launch public marketing websites (product pages, landing campaigns, corporate sites) with consistent brand, SEO, analytics, compliance, and observability defaults. Hand-building each site diverges from UIKit standards and duplicates engineering effort already invested in ConnectSoft.MarketingSite.

Decision Drivers

Considered Options

Option 1: Extend Blazor Shell for marketing use cases

  • Blazor Shell targets authenticated portals and MFE hosting — wrong abstraction for public marketing. Rejected.

Option 2: Use a static site generator or headless CMS starter only

  • Fast for content editors but lacks ConnectSoft observability, security, and UIKit integration. Rejected as the primary factory path.

Option 3: Dedicated Marketing Site Template from ConnectSoft.MarketingSite baseline (Selected)

  • Blazor Server template with page packs, JSON content, UIKit + Flowbite, SEO/analytics/consent, and three-tier tests.

Decision

Introduce ConnectSoft.MarketingSiteTemplate as a Factory starter template:

  • dotnet new short name: connectsoft-marketing-site
  • Stack: Blazor Server on net10.0, ConnectSoft UIKit + Flowbite, JSON file-based content
  • Page packs: minimal, standard, growth, full control generated routes and feature flags
  • Scope: Public marketing sites only — not identity providers or SaaS admin portals

Documentation follows the two-tier model:

Initial lifecycle state: Beta (see Templates lifecycle).

Rationale

  • Reuses proven MarketingSite engineering (UIKit, SEO, lead capture, observability).
  • Page packs reduce time-to-first-deploy for lean sites while supporting full B2B SaaS marketing footprints.
  • Aligns with template-driven delivery and UIKit brand governance.

Consequences

Positive

  • Faster, consistent marketing site launches across programs and verticals.
  • Clear separation from portal (Blazor Shell) and documentation (Documentation Template) starters.

Negative

  • Template maintenance must track MarketingSite baseline and UIKit package versions.
  • JSON content layer is not a full CMS — teams needing headless CMS must extend or integrate separately.