In this post, I want to look deeper into BuddyPress Groups and how to make use of groups to collaborative publish posts in WordPress.
WordPress starts as a Bloggin system and is all about blogging. But Blogging was never a part of BuddyPress and it was always surprising to us that the social network builds by core WordPress community not cover collaborative publishing.
The WordPress BuddyPress Blog Network Idea
Every user can get his blog in a BuddyPress multisite install. The blog network gives every user a complete own site to publish and design, but most of the time is quite heavy and It is a complex solution that does not apply to all the use cases.
It was never possible to publish from member profiles or in groups and I believe that BuddyPress missed a huge opportunity in this area.
We start building BuddyForms as a BuddyPress plugin to add this missing functionality. Over time we build more and more tools around it and with the new Post in Groups extension, we get a new publishing experience in BuddyPress.
It’s such a great idea to publish from inside a group with the people responsible for the content. In a group, you have lots of team communication features you need for collaborative content creation.
With BuddyPress Groups, you can already bring people of one topic together, collect and store all relevant media and make it available to all group members. Group members with the correct rights can invite members to join the group. Group administrators and moderators already have the right of access.
For post-management we will need to extend the already created groups to create, edit and delete rights for the post.
The BuddyPress Activity Stream is super useful for internal use and communication Groups and Members have an activity component and this means you can see changes or action in the team(group) easily and keep on with the content creation process.
For content creation, this feels even more stable than slack as the communication around one topic stays in the same place and does not get lost in the timeline.
David Bisset one of the strongest supporters of the BuddyPress project created the BuddySlack to send Activity Stream messages to Slack. This keeps your normal workflow in the team and also makes it your data in the team group of the relevant topic to easily jump there from slack and find it later if you need it and it will not get lost like we found out often happens in the free slack :).
You own the content and you have it stored on your Server and Database
There are other services like Google Docs or publishing services. But then you have your team, and all the data stored on a different server. With WordPress and BuddyPress Groups you have a great place to store your data on your server and on the site where you want to publish the post in the end.
BuddyPress Docs was one similar idea
Boon Georges one of the lead developers of BuddyPress builds the BuddyPress Docs plugin. But the plugin is limited if you want to use it out of its original use case for other sorts of content creation than documents. It’s not supporting different post types and not offer a form builder to support post meta needed by WordPress in many ways.
The WordPress 404 issue
WordPress is not build to edit published posts. of course, it’s possible, but if you change a post in WordPress to draft it will end up in a 404 for all users trying to access the post from the frontend.
Not a good idea or what do you think? We have Build BuddyForms Moderation to solve this issue
BuddyPress Groups already come with great user management and have different member types to generate different views and group functionalities
That means an user can get different member roles to have different rights in the group. With our new post in groups extension, we extend this functionality to also define the member is allowed to create, edit or delete content and how the content is displayed in a group.
The Lock Screen
Right now if you edit a post and someone else starts also edit this post a lock screen message will pop up and will ask you if you want to take over the post. There is no system like in GoogleDocs where you can see other users cursor in a different color.
This is something we are keen to change and in which we already started to work on ideas about how we can build an extension for BuddyForms to solve this issue and make true writing at the same moment possible. There are free frameworks like https://yjs.dev/ to help us build this.
Gutenberg Phase 3
In the State of the Word 2019 Matt Mullenweg says that in phase three, they will introduce a feature that allows multiple authors to collaborate and co-edit posts on a site in real-time and that they partner up with Google to make this happen as it requires some technical difficulties.
So hopefully WordPress will build in a proper system for multiple authors and live editing one day. Right now we are in the middle of phase two and it looks like we will need to wait years to have this in the core. So there is a good reason for us to build it with a third party framework for now and follow the process until WordPress can manage multiple editing by its own system.
Switching the Author and Group
Right now WordPress has a one to one relation. One post below to one author. We have created two new form elements to select the author of the post and assign the post to a group. This means it’s possible to create and edit a post in the group, but in the end, one user needs to be the author. We store the group in the post so it is possible to also list the group members as the author of the post.
Attache Post with Groups
With the Attache Post with Groups extension, you can automatically create a new group if a new post is created and attache the post and the group to each other. You can define if you want to redirect to the group or to the post if the post permalink is clicked and also display the post within the group.
The use of BuddyPress for authors and the fact that they can create and manage content from their profile also inside Buddypress groups has a huge potential for many use cases and It can be a solution for any site trying to create a big content generation workflow and for the ones that do not want to use the backend to manage their authors.
If you are interested in building this workflow check out our Bundle to get all the extension needed for the best offer possible.