BSS Meteo Widget

TYPO3 extension - Weather data integration - Production solution

BSS Meteo Widget is a custom extension for TYPO3 v13.4 that integrates official MeteoSwiss weather data into TYPO3 sites using a modern data-driven architecture.

TYPO3 13 LTS PHP 8.2+ Scheduler and CLI Content Blocks JSON cache in filesystem

Overview

The project delivers a weather widget with automated data loading, structured caching, and flexible frontend rendering through TYPO3 Content Blocks.

Implemented as a standalone TYPO3 extension, designed for long-term support and real API usage.

Backend architecture and data processing

  • Designed and implemented a data loading pipeline based on TYPO3 Scheduler and CLI commands.
  • Integrated official MeteoSwiss NOWCAST and FORECAST APIs with support for hourly, multi-hour, and daily datasets.
  • Built parsing and normalization logic to handle inconsistent timestamps, partial data, and historical overlaps.
  • Implemented a file-based caching strategy optimized for frontend performance and stability.
/fileadmin/meteoswiss/{frequency}/{parameter}/{stationId}.json

TYPO3 extension and Content Blocks design

  • Built as a clean TYPO3 extension, fully compatible with TYPO3 13 LTS.
  • Frontend integration is based on TYPO3 Content Blocks, allowing editors to configure stations and display modes without code.
  • Clear separation of responsibilities between data processing, configuration, and presentation layers.
BSS Meteo Widget backend

Frontend integration

  • Rendering based on Fluid using pre-generated JSON files.
  • No direct API calls from the browser, ensuring predictable performance and correct caching.
  • Responsive layouts, dynamic weather symbols, and careful asset handling.

Reliability and performance

  • Scheduler tasks are idempotent and safe for repeated runs.
  • Time series are stored in the filesystem to avoid database overload.

Technology stack

  • CMS: TYPO3 13.4 (LTS)
  • Backend: PHP 8.2+, TYPO3 Scheduler, CLI
  • Frontend: Fluid Templates, JS, CSS
  • Data: Official MeteoSwiss APIs, CSV processing, JSON export
  • Architecture: Extension and Content Blocks
BSS Meteo Widget preview