Iteration issue: https://github.com/WordPress/gutenberg/issues/74549
Have you been waiting to collaborate in WordPress posts the way you do in Google Docs? Here’s your chance!
Real-time collaboration is the crowning feature of the Gutenberg Project phase 3, and this is the first iteration to land in Core. You can call it RTC for short.
But before it can get there, RTC needs you! (And your friends!) Every part of this groundbreaking functionality, from front-end usability to literal php functions, plus database calls, API endpoints, and more, needs to run this first implementation through its paces.
In short, please ride this hard. Try to break everything! That’s how the folks who’ve been working hard on this for years will know it’s good enough to be in Core.
Testing steps:
- Install WordPress 7.0 Beta 1 on a server that somebody else can reach.
- This should probably be a new installation. maybe on a local network or on a staging server, or something in between—not a production server, but also not a local install on a single machine.
- In the plugin, navigate to Settings > Writing and toggle on “Enable real-time collaboration.
- Open a post for editing. Start with a regular post, of course, but remember that pages are also posts, and custom post types are posts too! There are some exceptions, which you’ll find below.
- Invite a friend or colleague (or two or ten!) to edit the same post.
- Consider joining a video call and sharing your screens so you can each see both experiences.
- Or, collaborate with yourself! To do that, open your install in a separate tab and log in as someone else. See if you can edit as both people!
- Another option: open your site on two machines on the same network.
- If you have some, use real content—real text and images, other data sources and other media. See if you can use your usual workflows.
What to expect
- Real-time collaboration only works when you’re editing posts in the block editor. It won’t function on other admin screens.
- Classic post meta boxes do not sync. Using these boxes still works, but your collaborators will not see updates in real time. They might even overwrite each other’s changes.
- Without looking at the code, it’s not always obvious whether a post meta box is Classic (persisted using a save_post hook) or modern (integrated with the Gutenberg data store). Many plugins still use Classic post meta boxes.
- Most blocks are compatible. Blocks are synced via their attributes, which means that most blocks support real-time collaboration by default. Some blocks might use local state when working with user input, which can result in issues during real-time collaboration.
- The core/freeform (Classic) block is currently incompatible.
- Plugins that integrate with the block editor might have issues. Behavior with plugins is some of the most important feedback you can give.
- Collaborator cursors disappear in the Show Template view.
- Collaborating on the same block can have issues. Please test it anyway, but expect quirkiness around cursor placement. Your feedback may well speed up the fix!
- Syncing happens over HTTP polling, so it’s not instant. It could feel laggy sometimes—please report this! As well, if it feels much smoother at some points than at others, please report that. Performance will directly affect how the community takes to RTC long-term.
What to notice
About overall functionality:
- Did real-time collaboration work the whole time?
- Did you get disconnected? Did it ever feel unresponsive to the point that it interrupted your work?
- Did you lose any content? How about duplication?
In real-life workflows, could you collaborate:
- On custom blocks?
- Inside a plugin’s UI?
- In the site editor?
- On a large document?
- If you added more than one user?
How did RTC do on accessibility? Did it work:
- Only using the keyboard?
- With a screen reader?
- On a mobile device?
Thank you!
Please report your findings to the fine folks at #feature-realtime-collaboration on Make Slack, or directly to the authors of this post. If you’re comfortable with GitHub, the best place to report would be in comments on the tracking issue, #52593.
One more thing: RTC is getting its own table.
That hasn’t merged yet, but if you want to follow its progress, start with the discussion on the ticket at https://core.trac.wordpress.org/ticket/64696#comment:44 and happy testing!
Props to @ankit-k-gupta, @maxschmeling, @czarate, and @annezazu for peer review and collaboration.