2011: A New Kind of Forum Software is Born

2011 has brought the creation of a new and creative bulletin board software with it – bbPress.ย It is one of the most simple and fast forum packages available out there. Until now there was a standalone version of it, but recently, efforts have been made to convert it into a WordPress plugin. Well, we can’t say convert because it is entirely written from scratch, we’re just duplicating the same functionality which you would have found in bbPress standalone, and adding some new bits which would make your forum look super cool! ๐Ÿ˜‰

Features

So what all are the things which have been already coded into the new plugin? Here’s an overview!

#0 Overview

As every forum, there are three basic things – forum, topic and reply. A forum is a collection of topics and a topic is a collection of replies. bbPress uses WordPress custom post types features for all the three things. Additionally, there are tags. As you might be knowing, tags are used for tagging topics to a particular word and all those tagged topics can be accessed by going to the link for the word. bbPress uses custom taxonomies for this.

Developer Note: At some places (in the code), the word ‘post’ is used. It is used for referring to topic and reply both.

#1 TwentyTen Child Theme

TwentyTen Child Theme

bbPress bundles a neat and clean child theme of the TwentyTen theme. It implements all the current available features in bbPress. You may find some chunks of more details here.

#2 Administration

The Settings Page

Much like the bbPress standalone, you get to manage forums, topics, replies, topic tags, settings and do things like recounts to get your forum counts back in sync.

#3 Forum Type, Status*, Visibility*

Forum Type, Status and Visibility

Forum type means.. um.. forum type ๐Ÿ˜› – ok, whether the forum is a normal forum or a category. Topics can be made in forums, but not in categories. Status means whether the forum is closed or open and visibility defines whether the forum is visible to all or is it private.

#4 Topic Actions

Edit, Trash, Close, Stick Topics, Merge and Spam Topics

In bbPress, you can edit the topic, close the topic, stick it, mark it as spam, merge it with another or trash or restore or permanently delete it.

#5 Reply Actions

Edit, Trash, Spam Replies & Split Topics

Like the standalone, you can edit replies, mark them as spam, trash or restore or permanently delete them and split the topics.

– # Splitting and Merging*

Split Topics
Merge Topics

As shown in the above two captures, you can split and merge topics too! These are an essential part of the forums as generally people start up unrelated discussion on a topic, making it necessary to actually delete the replies. Instead, you can just split the topic. If you find two similar topics, just merge them.

– # Trashing, Restoring and Deleting*

The plugin makes use of the internal WordPress functions to help you trash topics and replies instead of permanently deleting theme. Once you’ve trashed them, the plugin would show you the options for restoring or deleting them.

– # Stickies

Sticky Topic

Stickies are announcements. You can stick topics to their respective forums or the front page of the forums.

#6 Revision Log*

Enter Modification Reason Form on Topic Edit Page
The Revision Log below the Topic

The bbPress plugin brings a very innovative feature with it. That is a revision aka modification aka change aka edit log. This makes use of the WordPress revisions feature and stores a revision when a topic or a reply is edited. We may probably add revert to a revision feature in the future too (though you can already do that from the admin section!).

#6 Loginless Posting

Loginless Posting Form

You might not have seen the loginless feature on bbPress standalone, it is one of the features which would be introduced in bbPress 1.1. The bbPress plugin, too allows you to make topics and replies without logging in. This can be disabled by a single click from the settings page.

#7 Favorites et Subscriptions

Favorites and Subscriptions

The bbPress plugin allows you to mark topics as favorites or subscribe to them. Both the features work in a very similar way, except for the fact that your favorites generate a feed for you and are shown to all the users while only you and administrators can see your subscriptions and you get mailed when a new reply is made to the topic you subscribed to.

#9 Views

View – No Replies

You may define views as “predefined search queries”. When you create a view (or a plugin creates it for you), a link is generated to that so that the user can go to that and view the associated topics. Examples of views are no replies (see the capture and notice the number of replies on the topic), un-tagged etc.

#10 Statistics

Statistics & Popular Topics

bbPress creates a statistics page for you and displays information such as the number of forums, topics, replies, registered users, topic tags etc. Additional information is shown to moderators and administrators (like hidden i.e. private, spammed and trashed topics).

#11 Dashboard Widget

Dashboard Widget

The dashboard widget gives you a quick look of all the statistics (#11), and the plugin version you’re using. We’d be probably adding some more like recent topics, replies etc.

#12 Profile + Edit

Profile Page
Excerpt of the Profile Edit Page

The profile page shows the topics you’ve subscribed to, the topics which you’ve marked as favorite and the topics you’ve started. You can also edit your profile from the front-end.

#13 Widgets

Forum Widgets

The bbPress plugin makes use of the WordPress Widgets API and adds various widgets like forums, topics and replies with various available options.

#14 Tag Management

Tag Management

On the tag page, you would find a tag management form with which you can rename it, merge it or destroy/delete it.

@todo

There are some things which still need to be done. You can view a list of all the open tickets here.

Call for Testers

As the plugin has already got so many features, it might have also got a lot of bugs, and would need a great amount of testing. Thus, I request you all to checkout a copy of the plugin branch and test it on your (local) (test) WordPress install! The plugin is still in bleeding edge state, which means if you upload this plugin up on your site, it might be broken or it might break your site or the upgrades might not be as smooth as expected (that’s why it’s bleeding). A beta or alpha might be available in the next month or so, though.

* Means that these were not there in the bbPress standalone, and are new features introduced in the plugin.

31 comments

  1. Helpful review Gautam, I can see you put a lot of work into that!

    My regret is that this kind of energy was not put into the standalone version.

  2. Great article, Gautam, thanks, I enjoyed reading it! ๐Ÿ™‚ Do you have any idea when the plugin will be in production site state? Roughly?

    I also have a question/feature request about the tagging feature: Would it be possible to assign custom taxonomies to posts or topics? That way, topics could be linked to other parts of a website.
    For example, if I have a post type “movies” and use a taxonomy “related movies” to manage relations to that post type, a forum dicussion about a certain movie could be linked to a page about that movie through the respective taxonomy, if the topic author flags it accordingly.

    1. Thanks Chris! I really have no idea how much time it would take to read the stage when it could be used on live production sites.

      Regarding your question, yes, that would be definitely possible (it is, indeed). You would just need some filters and hooks here and there.

  3. Hi Gautam, just one thing to say. Thanks! Thanks for all your (and of course JJJ, and Matt, and …) effort towards the bbp project. It is so cool to see people like you creating really pretty things which help others to communicate. Awesome!

  4. LOVE seeing progress with bbPress and work towards a plugin. bbp/WP cookie integration has been a huge PITA for me (and many others so it seems) and has almost lead me to abandon bbp for other options.

    Testing out the plugin on a site but the one thing I don’t love is how looooooong the urls are: base/slug/parent/forum-name/…

    Thanks for the post!

    1. Thank you! You can actually also edit the slugs. For eg. you can have any of the four for topics (you can do the same for others too):

      1. domain.tld/forums/topic/abc
      2. domain.tld/topic/abc
      3. domain.tld/forum/anything-here/abc
      4. domain.tld/anything-here/abc
  5. (1) I see an option in the settings to specify ‘Throttle time’. What does that mean?
    (2) Does the post/reply supports attachments?
    (3) What about a WYSIWYG editor for the front-end editing?

    ..
    (4) Thank you from my heart :^]

      1. That means the time required for the user to wait before posting again – doesn’t apply to moderators and administrators.
      2. Not yet.
      3. Again, not yet. But this and (2) might come in the future, maybe as a plugin.
      4. Welcome! ๐Ÿ™‚
    1. Yes, you would have to drop the files from /bbp-themes/bbp-twentyten to your template and do a bit of testing and editing to make sure your template looks nice!

  6. Hey Gautam,

    Here is my Wishlist.

    1. Restricting access to WP-Admin to any other user except Admin
    2. Editing User Profile Page using some template page instead of doing from WordPress Admin. This should also include password changes.
    3. User Profile Page should have users number of posting, link to his personal site etc.All the data which can be pulled from WordPress Backend itself.

    Regards,
    Ashish

  7. Great job Gautam!!!!
    Please can you tell me how to use a full width page on the forum?

  8. Great going Gautam. I did see some of your posts in bbpress.org and was wondering that someone has put “a cute boy’s” picture and is posting awesome questions and answers but unbelievably its you yourself! Great and inspired. Keep up the good work. Oh btw, I tried my luck with the new bbpress plugin to have the same look and feel of my parent theme (a whole list of them) but couldn’t get it to work, so defaulted to the standalone install.

    Regards,
    Rajni

  9. I am grateful for all of the work that has gone into the plugin version of bbpress. I’m using it on a multisite installation and hope to contribute from my experience – I’m not a coder but i could potentially help out with tutorials and documentation along the way.

Comments are closed.