Package 1: SsrPurgeService posts to the node /__purge (endpoint+secret in var/vitec-ssr-purge.env, outside git) and logs every attempt to tx_vitec_ssrpurgelog. DataHandler hooks queue per request and flush once: pages with nav-relevant field changes and all tx_news_/tx_vitec_ records purge everything, other page/content edits purge the hosting page path. Gated by the routing flag and the new Site Set switch vitec.ssr.autoPurge. Flipping the SSR switch ON purges everything once. CLI: vitec:ssr-purge, vitec:ssr-health (samples /__health into tx_vitec_ssrhealthlog, 14 days kept, scheduler-ready). Package 2: dashboard widgets vitecSsrStatus (live health, release, switch, last purge) and vitecSsrStats (purge counts, failures, uptime, response time). Package 3: backend module web_vitecssr with manual purge (paths or everything) and both protocols. Tested end to end against the running node (purge single/all 200, health sample logged). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
54 lines
1.9 KiB
YAML
54 lines
1.9 KiB
YAML
services:
|
|
_defaults:
|
|
autowire: true
|
|
autoconfigure: true
|
|
public: false
|
|
|
|
Evomedien\Vitec\:
|
|
resource: '../Classes/*'
|
|
exclude: '../Classes/Domain/Model/*'
|
|
|
|
# Make our VitecBackendLayoutView the canonical BackendLayoutView.
|
|
# Any service / controller requesting BackendLayoutView gets our override.
|
|
Evomedien\Vitec\View\VitecBackendLayoutView:
|
|
public: true
|
|
|
|
TYPO3\CMS\Backend\View\BackendLayoutView:
|
|
alias: Evomedien\Vitec\View\VitecBackendLayoutView
|
|
public: true
|
|
|
|
# Headless resolves the meta handler via this interface (cacheable listener
|
|
# AND the USER_INT middleware). Pointing the alias at our subclass mirrors
|
|
# the final page title (seo.title) into meta.title as well.
|
|
FriendsOfTYPO3\Headless\Seo\MetaHandlerInterface:
|
|
alias: Evomedien\Vitec\Seo\VitecMetaHandler
|
|
|
|
# The DataHandler hook fetches this via GeneralUtility::makeInstance,
|
|
# which resolves constructor arguments only for container-public services.
|
|
Evomedien\Vitec\Service\SsrPurgeService:
|
|
public: true
|
|
|
|
# SSR dashboard tiles (the WidgetConfigurationInterface argument is
|
|
# injected by the dashboard compiler pass via the tag).
|
|
Evomedien\Vitec\Widgets\SsrStatusWidget:
|
|
tags:
|
|
- name: dashboard.widget
|
|
identifier: vitecSsrStatus
|
|
groupNames: systemInformation
|
|
title: 'VITEC: SSR / VPS-Status'
|
|
description: 'Live-Zustand des SSR-Servers (Release, Cache, Erreichbarkeit) und der Auslieferungs-Schalter'
|
|
iconIdentifier: 'content-widget-text'
|
|
height: 'medium'
|
|
width: 'medium'
|
|
|
|
Evomedien\Vitec\Widgets\SsrStatsWidget:
|
|
tags:
|
|
- name: dashboard.widget
|
|
identifier: vitecSsrStats
|
|
groupNames: systemInformation
|
|
title: 'VITEC: SSR-Statistik'
|
|
description: 'Purge-Protokoll und Verfügbarkeit des SSR-Servers (14 Tage Historie)'
|
|
iconIdentifier: 'content-widget-number'
|
|
height: 'medium'
|
|
width: 'medium'
|