BSS Meteo Widget
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.
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