What are Workspaces?
In 2006, TYPO3 4.0 introduced Workspaces. The feature lets you have multiple versions of any kind of content, not publicly visible, but editable and previewable for editors within TYPO3. The content can be published to the so-called “Live” workspace, the actual website. You don’t need a second TYPO3 installation, the “workspaces” extension shipped with TYPO3 is enough.
At its core, Workspaces handle “versioned content”—an alternative version of a database record created, deleted, or modified in a workspace, which an editor can publish at any given point in time.
In TYPO3, you can build thousands of workspaces with different permission sets, and editors can share multiple workspaces. That makes it possible to work collaboratively on content, with full preview functionality, and then coordinate “going live” with the content.
The third pillar of workspaces are so-called “Stages”. You can think of these as a workflow—a review process. These are especially useful when working in teams, where supervisors in a company’s headquarters will be notified and have the possibility to review and publish the content to the live website. They are also able to send the content back for the editor to improve the content.
Live-Preview of Offline Content
Content that is still in progress, can be previewed and compared side-by-side with the live version. Editors can see every change, either visually or in a list of changes.
What Can You Do With Workspaces?
As with TYPO3 in general, the possibilities with Workspaces are endless.
We’ve seen TYPO3 installations in the wild using Workspaces with 40 editors in one workspace. Multiple times a day, they use a highly customized review process before publishing new bits of content to a news website.
You can use a Workspace to prepare a launch for your new product or business section within a special area in your website, and then go live all at once. With a timed publication workflow, all of the content can go live at midnight, depending on a scheduler task, rather than human interaction.
If you plan to add a new website translation, it’s also possible to use Workspaces to translate your website and review everything before going live with one click.
At the most basic level, with a very simple workflow, you can configure basic editors to only change the content in an isolated workspace. Every change published requires approval by a supervisor, giving full control of what goes live. In a recent tutorial about Content Staging in TYPO3 with Workspaces, my colleague David Steeb shows how to employ a simple workflow, generate a secure preview link, and review proposed changes across multiple languages.
Why Is This Feature Overlooked?
In the past, there were indeed conceptual issues when adding features without keeping Workspaces in mind. Also, some websites had lots of limitations in combination with third-party extensions that did not consider Workspaces. But: We’ve been working hard under-the-hood to improve the situation, by fixing dozens of bugs. There have been some major breakthroughs in solving the conceptual issues in recent years. The unification of the versioned record handling (there were some linear versioning concepts available as well), the implementation of the Doctrine DBAL layer to help extension authors support Workspaces, and the removal of some special field values like “pid=-1”.
Site Handling, introduced in TYPO3 v9—a feature for having speaking URLs out-of-the-box—supported Workspaces from Day 1.
From the feedback of the users who actively work with Workspaces on a daily basis, we’re aware that there are still some issues that need to be solved. So far this year, we’ve improved workspaces with around 50 bug fixes, and we’re confident to have another 50 issues solved in the next 8–12 weeks.
What’s in the Works?
We are only stabilizing the existing functionality, and you can use Workspaces with TYPO3 v10 today! Our mission is to make Workspaces a first-class citizen again, and to improve the code, documentation, user experience, and to introduce more features.
A lot of features have yet to come, and we’re still in the planning phase. Here’s our roadmap, where we’re headed—depending on the user feedback and possible development and sponsorships, we’ll prioritize on the needs of the current users.
Improved User Experience
Workspaces are—UX-wise—very complex for simple tasks. We believe that if workspaces don’t add complexity for editors, then more people will just use it by default. We’re at a point where it’s time to reconsider the Workspace module and its UX concepts as a control center. It would also be good to have Workspaces integrated more closely into other parts of the TYPO3 backend interface.
Easier Configuration of Workspaces
Creating a custom workspace should be a matter of minutes without a huge manual, to rapidly set up a custom review workflow.
TYPO3 supports a basic content history functionality. Wouldn’t it be great to view a state of how your website looked like 2 weeks ago, by having snapshots of your content at any given time? This can be achieved by exchanging the content lifecycle concepts with an Event Sourcing based approach. Event Sourcing is a way of logging changes, in which “All changes to an application state are stored as a sequence of events,” as described by Martin Fowler. Git is a good example of Event Sourcing, where “each commit is stored as an event representing a change of state—files/lines to be added/removed.”
Oliver Hader has been preparing this topic in his Master thesis as a proof-of-concept, which could be picked up and implemented in TYPO3 Core.
Notification Center and Improved Collaboration
Notifications—when content has been sent to the next stage or when it is ready to be published—are currently implemented using Emails. Since TYPO3 v10, these emails look beautiful, but it’s time to introduce a central notification center. This will push TYPO3’s relevance as a tool for managing content between team members. Imagine notifications being sent to external real-time chat applications like Slack, and configuring the notifications to match your existing team workflow instead of the other way around.
Currently, Workspaces is limited to database records, but multiple versions of a file should be included as well. This will put a major focus on TYPO3’s powerful digital asset management features, but it is a long-term goal.
Improve Workflow Complexity
Currently, a stage within a workflow is a simple review process, but a “Four-Eye-Principle” when doing a content review, or an external workflow stage (e.g. external translation memory systems) will eventually make Workspaces the tool to build powerful workflows.
Make Workspaces Shine
With more people using Workspaces, we’re planning on ways to support the further development of new Workspaces features, so stay tuned for more information regarding funding and sponsoring.
Join the #workspaces Slack Channel, and get in touch with me (Benni) or Olivier Dobberkau if you want to support our work and make Workspaces shine.