Open To All: Bringing Collaborative Editing to the Drupal Node
A new open source editor to streamline content workflows and enable realtime peer-to-peer collaboration
For Drupal developers, it’s no secret that there aren’t many options for text editors. Traditional picks favor out-of-the-box support over customizability, and those with robust functionality can command high prices.
This poses a paradoxical problem for our clients, many of whom operate within higher education and government spaces. These institutions embrace Drupal for its open source model, as its community-driven framework decreases long-term operating expenditures that are often difficult to approve on a multi-year basis. Additionally, Drupal offers a wealth of options for managing complex workflows across many users. However, these options seldom extend to the node edit form, leading our clients to look towards Microsoft 365, Google Workspace, and other collaborative editing suites to facilitate the early stages of content development. This can create a cumbersome editorial workflow.
In late 2022, we began work on a project to migrate a content revision workflow into Drupal. Our client’s current workflow involves up to twenty editors and reviewers, each of whom create or review content drafts and revisions , make inline comments and suggestions, and push content through multiple disparate systems in order to publish and version their content. Most importantly, the entire process begins with concurrent editing in Microsoft SharePoint.
Though we could integrate versioning and reviewal processes using modules such as Content Moderation, in order to fully consolidate this workflow into Drupal, we needed to find a solution for collaborative editing. At first, we looked toward the tools used in Drupal core. The premium version of CKEditor5 offers collaborative editing, but its subscription-based model is a prime example of the recurring costs our clients wish to avoid. Additionally, CKEditor5 collaboration is limited to the editor pane itself, meaning that users cannot collaborate across different field types.
To combat these limitations, we are creating a new text editor for Drupal 10. Built on the ProseMirror rich-text editor framework, the editor will support node-level collaboration, enabling us to develop complex editorial workflows that start and end in Drupal.
By building a collaborative editor in Drupal, we are addressing key issues in current Drupal editorial workflows:
- Editors will collaborate within the node edit form, eliminating the need for third-party services in order to perform editorial tasks.
- The node edit form will save in real time, meaning that content will no longer be susceptible to data loss due to page timeouts.
- Editorial workflow efficiency will improve drastically by affording content editors a unified space in which to collaboratively edit, review, publish, and revise content.
Most importantly, this editor will be released as open source and available to the Drupal community, making it easier for us to implement the customizations our clients require. We’ve opted to implement peer-to-peer collaboration for this reason, as it will make collaboration more widely accessible than traditional client-server models. Since our editor leverages the Drupal plugin system, it will be easier for developers to create and contribute new functionality. By sharing this tech with the community, we hope to empower Drupal developers to create robust, seamless editing experiences for their users.
We expect to release the editor in mid-2024 and will be publishing updates on this work as development continues. If you have any questions, please let us know.