Skip to main content
Geneva, Switzerland Call our support
English

Blog post

What we shipped on Struxa this week

A week of storefront polish, plugin reliability, and tooling to run StruxaPoint (and your own Struxa sites) with more confidence.

 

Over the past seven days we pushed more than 100 commits to the Struxa CMS repo — from 1.1.59 through 1.1.90 on main, with 1.1.91 and Struxa Vision 1.0.34 ready to follow. Here’s the story in plain language: what changed, why it matters, and what you’ll notice on a live site like StruxaPoint.


Struxa Vision is the storefront theme

The biggest structural shift: Struxa Vision (struxa-theme) is now the only theme shipped in core. The old default marketing shell is gone from the repo; new installs and updates get a single, opinionated light SaaS look — warm off-white canvas, orange accent, two-tier header, hero illustration, trust bar, blog/news blocks, and GitHub showcase.

Along the way we hardened theme installation on shared hosting (fallback copy, existing directories, false “failed” states) and added theme updates from the catalog or GitHub, the same pattern plugins already use.

Homepage extras: newsletter signup on the Vision homepage blueprint, plus ongoing layout work for blog, KB, and content lists so public pages feel like one product, not a CMS with a plugin bolted on.


Knowledge Base: layout, routing, and richer docs

The Knowledge Base plugin got serious storefront attention:

  • Sidebar + article layout in Vision — wiki-style navigation beside readable article panels.
  • Fixes for /kb and article routes — including a crash when the public content index route didn’t pass PDO into KB bridge code, and layout fallbacks when KB Twig helpers aren’t loaded yet.
  • Visual polish: article body on a white panel (.st-kb-article) so main content matches the sidebar card, not a floating block on the page background.
  • Expanded bundled articles and a feature guide in the plugin catalog (wiki content version bumps so admins can sync from the dashboard).

If you run KB on production: visit Admin → Knowledge Base after updating so bundled articles sync when the content version increases.


Forum: counts, width, and Vision styling

Forum plugin updates (through 1.1.7 in the dist catalog) plus theme CSS (forum-overrides.css) address real StruxaPoint issues:

  • Denormalised counters refresh when threads are created and when you load /forum, so per-forum rows match the hero totals.
  • Width and typography aligned with Vision’s content column (st-page__inner, ~72rem) instead of the plugin’s wider default.
  • Hero search, profile, and index styled to match the rest of the storefront.

Forum still loads its own templates; Vision wraps it in the same header, spacing, and color language as the rest of the site.


Comments you can turn off (globally and per page)

Comments are no longer all-or-nothing:

  • Global toggle in admin settings.
  • Per content type and per page switches — including the ability to disable comments on the Vision homepage while leaving them on blog posts.
  • Theme partial st_comments.twig only renders when the visibility layer says the current entry allows it.

That’s useful for marketing homepages that shouldn’t look like a comment thread, without ripping comments out of the product entirely.


Plugin updates and migrations that actually finish

A cluster of releases made plugin lifecycle less fragile:

  • One-click updates from the installed plugins list.
  • GitHub as the update source when repository_url is set — important on hosts that can’t reach arbitrary ZIP URLs.
  • Migration runner fixes for MySQL unbuffered queries and PDOStatement vs PDO mistakes — deactivate/reactivate and updates no longer die halfway through SQL files.
  • Catalog admin routes register reliably when the struxa-admin plugin row exists; verify scripts and capability checks were tightened.

Dist ZIPs for forum, knowledge-base, and others were refreshed so Admin → Browse catalog matches what’s on GitHub.


Storefront search in the theme

Public search at /search was already opt-in in Admin → Settings → Search. This week we integrated it into Vision:

  • Search icon in the header when search is enabled (hidden otherwise).
  • Modal with query field — open via click or ⌘K / Ctrl+K, close with Esc or backdrop.
  • /search results use the theme layout and Vision styling instead of the old dark standalone page.

Enable search, pick which public content types are indexed, and the icon appears — no template surgery.


Operations: site health, smoke tests, and e2e

For people running staging and production (including us on StruxaPoint):

  • Site health → Stack versions & sync — one table for CMS, active theme, and plugins: installed vs disk vs catalog/GitHub, plus hints (pending migrations, KB wiki sync, etc.).
  • composer smoke:staging — HTTP checklist for //kb/forum/shop (set STRUXA_SMOKE_BASE_URL).
  • Playwright suite under e2e/ for the same public routes.
  • Optional GitHub Actions workflow when STRUXA_SMOKE_BASE_URL is configured as a repo secret.

These don’t replace manual QA on real content, but they catch “route is 500” regressions before customers do.


Smaller fixes that saved real editors

Worth a mention because they unblock day-to-day use:

  • Page save — revision capture on POST, missing Events import, false “failure” flash when the slug didn’t change.
  • 404 page — auth state in the header; removed hardcoded nav CTAs.
  • Entry save revision capture on content routes.
  • Blueprint import — redirect stray GETs to the proper import flow.
  • Dashboard — Struxa news feed, plugin boot fixes, plugins UI polish (1.1.60 era).
  • Docs cleanup — legacy default-theme references removed as Vision became canonical.

Discussion

Comments

Signed-in members can post and like. Plain text only — threads are grouped by conversation.

No comments yet.