TYPO3 Forge Issue #14277 was reported in August 2004 and remains unsolved as of 2025.
TYPO3's cache invalidation architecture is event-driven (invalidates when data changes) but doesn't handle temporal dependencies (when time passes).
The cache system supports:
- ✅ Event-driven invalidation: Invalidate when page edited/deleted
- ✅ Tag-based invalidation: Flush specific cache entries by tag
- ✅ Relative TTL: Cache for N seconds from NOW
But it's missing:
- ❌ Temporal invalidation: Invalidate at absolute timestamp
- ❌ Time-aware caching: Understand time-based visibility rules
When pages or content elements have starttime or endtime values set:
- Expiring Content:
- Pages with
endtimeremain visible in menus after expiration until cache is manually cleared. - Scheduled Content:
- Pages with
starttimedon't appear in menus when their scheduled time arrives until cache is manually cleared. - Content Elements:
- Content blocks with
starttime/endtimedon't update automatically in cached page output. - Other Components:
- Sitemaps, search results, breadcrumbs, and any cached listings don't reflect time-based visibility changes.
This affects ALL TYPO3 installations using:
- Navigation menus (HMENU)
- Scheduled content publication
- Content elements with time restrictions
- News/blog posts with publication dates
- Event calendars
- Any extension using
starttime/endtimefields
Severity: HIGH
- Core CMS functionality (content scheduling) is unreliable
- No automatic solution exists in TYPO3 core
- Manual cache clearing required for every time-based transition
- Affects production sites' editorial workflows
- Age: 20+ years unresolved (2004-2025)
- Watchers: 5+ users actively tracking
- Versions: Confirmed affecting v9.5.7 through v14
- Scope: System-wide architectural limitation
The issue manifests differently across components:
- Menus:
- "Page is live but not in navigation"
- Content Elements:
- "I had to clear cache to make scheduled content appear"
- Search:
- "Search results show expired pages"
Same root cause, different symptoms - making systematic diagnosis difficult.
Important
Extension Status: This extension is stable and production-ready. The code is thoroughly tested, follows TYPO3 best practices, and is professionally maintained.
Approach Status: The temporal cache solution is experimental. This extension implements Phase 1 as a pragmatic workaround with known limitations (site-wide cache synchronization) until TYPO3 core provides native temporal cache support (Phase 2/3).
Implements Phase 1 of a three-phase solution:
- Phase 1 (This Extension): Dynamic cache lifetime based on next temporal transition - works TODAY with current TYPO3 versions
- Phase 2 (Future Core): Absolute expiration API in TYPO3 cache system (planned for v15/v16)
- Phase 3 (Future Core): Automatic temporal cache awareness (long-term vision)
See :ref:`phases` for complete roadmap, migration path, and detailed explanation of why Phase 1 is necessary today.
Installation:
composer req netresearch/typo3-temporal-cache
Configuration:
None required! Extension works automatically after installation.
Result:
✅ Menus update when pages reach starttime/endtime ✅ Content elements appear/disappear automatically ✅ Sitemaps and listings stay current ✅ Zero manual cache clearing needed
- :ref:`installation` - Detailed setup guide
- :ref:`architecture` - Technical implementation details
- :ref:`phases` - Complete three-phase roadmap