Files
VITEC-website/packages/vitec/Configuration/Services.yaml
T
orascheandClaude Fable 5.1 20bcbeb731 Page content check for markets and solutions (vitec_pagecheck)
Sibling of the product check (decision Harry 2026-11-13): new content element vitec_pagecheck with a FlexForm scope (markets | solutions) and PageCheckService/PageCheckJsonRenderer. Overview = one row per page of the tree (11 markets + 24 sub-markets, 8 solution groups + 39 sub-solutions) with 18 checks taken from the page elements (hero image and subline, lead, intro text/image/CTA, cards with visuals, testimonials, products, insights text/cover/CTA, logos, CTA banner), the page properties (meta description, OG image, page media) and the market/solution record behind the page; columns a page type does not have come as ok null. ?check=<pageUid> delivers the page detail (elements in page order with texts, links, images, FlexForm settings; SEO, media, record, children). Always USER_INT, check is cHash-excluded already. New command vitec:pagecheck-pages created /markets/market-check (608) and /solutions/solution-check (609) from the product-check page properties; both live on DEV, rendering is front end work.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-13 11:44:41 +01:00

72 lines
2.5 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
# Fetched via GeneralUtility::makeInstance from the USER func
# ProductCheckJsonRenderer (TypoScript userFunc, no DI there).
Evomedien\Vitec\Service\ProductCheckService:
public: true
Evomedien\Vitec\Service\PageCheckService:
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: systemInfo
title: 'VITEC: SSR / VPS status'
description: 'Live state of the SSR server (release, cache, reachability) and the delivery switch'
iconIdentifier: 'content-widget-text'
height: 'medium'
width: 'medium'
Evomedien\Vitec\Widgets\SsrStatsWidget:
tags:
- name: dashboard.widget
identifier: vitecSsrStats
groupNames: systemInfo
title: 'VITEC: SSR statistics'
description: 'Purge protocol and availability of the SSR server (14 days of history)'
iconIdentifier: 'content-widget-number'
height: 'medium'
width: 'medium'
Evomedien\Vitec\Widgets\SsrErrorsWidget:
tags:
- name: dashboard.widget
identifier: vitecSsrErrors
groupNames: systemInfo
title: 'VITEC: SSR errors & hit rate'
description: 'Render/backend error counters and cache hit rate of the SSR node (/__stats, sampled every 5 minutes)'
iconIdentifier: 'content-widget-list'
height: 'medium'
width: 'medium'