Here’s how it works:
- Internal links are annotated with the page UID (using AfterLinkIsGeneratedEvent)
- Clicking such a link triggers backend navigation to /typo3/module/web/layout?id=303
- You can move around the site in preview mode, while TYPO3 updates accordingly
There are still open issues:
- DataProcessor-generated URLs don’t yet get parameters
- Cross-domain links don’t work
But when I showed it to Rachel Foucard, she said that my approach is fine, and that this kind of navigation would allow editors to bypass the page tree entirely during their work, ultimately adding value for end users.
Current State
The project started small, but it grew into something much bigger. I even created a new organization, T3-UX, to support it. The extension is now called Content Preview (content_preview), because that name best describes the idea.
Right now, there are two working approaches for Content Preview, which you can switch by changing the feature flag:
- PostMessage communication — more features, but domain-limited
- Custom JavaScript injection — experimental, cleaner, but missing some features
Both are usable, and both have pros and cons. Deciding which way to go will require input from the TYPO3 community.
The real challenge to face in the extension is how to make it work for the majority of use cases, as the frontend may differ from implementation to implementation.
Roadmap: Where Content Preview Should Go Next
This is just the first iteration, and while it currently delivers value, there are many ways we can expand it for even greater benefits. Content Preview is available as a public extension, and we should improve it together as a community. Here are some ideas for the future:
- Start/Stop Date Simulation — Content scheduled for the future or set to expire needs simulation. This feature will allow editors to see “what the site will look like tomorrow at 10:00.”
- Frontend User / Group Simulation — Many sites personalize content by user or group. Editors should be able to simulate different roles instantly.
- Workspace Handling — Supporting workspaces is critical for TYPO3. Editors must preview unpublished changes in real workflows. This requires advanced state handling in middleware.
- Preview Modes and Window Options — Editors work differently. Some want a floating window, others prefer a new tab. Content Preview should adapt to both.
- Better Cross-Domain Support — TYPO3 installations with multiple rootpages and domains should not require relogin. This is a long-term technical challenge, but critical for usability.
Conclusion
Looking back, this project started as just a small idea — “Let’s put edit buttons on the frontend.” But step by step, through experiments, wrong turns, and better solutions, it evolved into something much bigger.
Now we have Content Preview:
- A working proof of concept that is usable and can support editors in their day-to-day work
- Two possible approaches to solve the problem
- Experimental navigation directly inside preview
- A clear roadmap for the future
This is not just about technology — it’s about making TYPO3 more editor-friendly, more modern, and more competitive.
Get Involved
The story isn’t finished. The next steps depend on the TYPO3 community. Our number one goal is community adoption. The more editors and integrators use Content Preview, the more feedback we get — and the faster it can mature into a standard feature.
We encourage you to experiment with the extension, give feedback, and report any issues.
Check out Content Preview on GitHub!