Some up and coming features

February 1, 2007 6:09 am — Development — mdawaffe

bbPress has seen some pretty interesting development over the past weeks. Just to keep people in the know, and since many were expecting bbPress 0.80 to come out a couple weeks ago (we’re still learning here :) ), here’s a short list of some new features that will be in the next release.

  • Better support for right-to-left languages.
  • Some better backend support for search queries.
  • Removal of the topic_resolved column from the database. No more “this topic is not a support question” strangeness for forums that aren’t support forums. Those people that want to keep such functionality around will be very pleased with Aditya’s Support Forum plugin.
  • The ability to delete forums. (No!) Yes!
  • Tags that are multibyte aware (you’ll be able to tag in Japanese).
  • Multiple theme support. You’ll be able to upload a bunch of themes and select which one you want from the Admin panels.
  • A more pluggable database class and user system.
  • Anywhere-you-want-them plugins directory, templates directory, and config.php. This is pretty nice; you’ll be able install a completely “clean” copy of bbPress in, for example, a directory named public_html/forums/ and have your templates stored in public_html/templates/, your plugins stored in public_html/plugins/ and your config.php file in public_html/config.php. None of your custom stuff ever has to be in bbPress’ public_html/forums/ directory, so upgrades will be a snap.

Of course, we’re still working out some bugs and have a few more important things to get done before the next release, but that’s a preview of things to come.

New Mailing List

February 1, 2007 5:48 am — Development — mdawaffe

For those of you interested in keping closer tabs on bbPress development, we now offer a new bbPress Trac Mailing List. Subscribers to this “read-only” list will receive an email every time a ticket on bbPress’ development center is changed. I tried generating an RSS feed for such changes, but my Trac-fu is pretty poor. So, email it is.

The original bbPress Development list is still around, of course, for discussions and ideas.

Sign up for both!

bbPress options API

January 6, 2007 8:16 pm — Development — mdawaffe

In the previous post, I alluded to a place to store options (basically, any arbitrary data) in the database. Plugin developers shouldn’t try to access that data directly; we’ve got an API for you.

bb_get_option( $option_name )

This one function grabs data from all the different places bbPress uses to store such data: hardcoded data, “softcoded” data, and data stored in the database.

First, the function checks to see if $option_name corresponds to some hardcoded value like version, language, or text-direction. If $option_name doesn’t match an hardcoded value, it looks to see if it matches what I call a “softcoded” value. These are the names of the options stored in the global $bb variable such as domain, path, akismet_key and so forth. Finally, if it still hasn’t found anything, it queries the database for $option_name.

It returns the value of the option filtered through the filter bb_get_option_{$option_name}. (So if you asked for the option named “blue”, you could filter the results with the bb_get_option_blue filter.)

bb_get_option_from_db( $option_name )

If you want to bypass all the hardcoded and softcoded data queries that bb_get_option() performs and go straight to the database, use this function. Its results are filtered through bb_get_option_from_db_{$option_name}. In conjunction with the bb_get_option_{} filter, a plugin could use this function to override softcoded data with data from the database.

NOTE: bb_get_option() calls bb_get_option_from_db() when it decides to grab data from the database. So both bb_get_option_{$option_name} and bb_get_option_from_db_{$option_name} may be run on the same result.

bb_update_option( $option_name, $value )

Updates (or adds) the option named $option_name with value $value to the database. You can store any type of variable except NULL.

NOTE: Option names are unique in bbPress.

bb_delete_option( $option_name, $value = '' )

Deletes the option from the database. If you want a sanity check, you may include the value of the option. $value has no other use here, however, since option names are unique; bb_delete_option( $option_name ) works just fine.

bb_cache_all_options()

Options are not loaded into cache by default when bbPress starts up. Each option is cached only after it is queried for the first time; if you grab several options from the database, you will query the database once for each option. This function caches all options from the database in one large query. You may find it increases performance for some applications.

bbPress 0.74

January 6, 2007 1:03 am — Community,Development,Releases — mdawaffe

After a month of waiting, bbPress 0.74 is finally available for download. Even if it did take a while, we’ve fixed a several important things.

Aditya has a great overview of the changes, but here’s a few of the bigger ones.

  1. init hook has been changed to bb_init for better compatibility with WordPress.
  2. When users are deleted, they’re really deleted now.
  3. Somewhat simpler installation procedure. When installing, you’ll also be informed if any of those little configuration variables are incorrectly set.
  4. A place to store options in the database! Woo!

We’ve got some slick new features we’re working on for the next release (did someone say “themes”?), so stick around….

In the meantime, read on for some more technical details about this release.

(more…)

Site Cleanup

October 14, 2006 8:12 am — Development,Meta — Matt

We’ve now gone around the site, swept up the corners and shined the mantel. If you visited when things first launched you’ll notice everything is tidier now. Please take a look around! The forums are already starting to buzz.

I’m really excited about getting bbPress out in the public with its first public release. Michael has been doing great work and I think today, just as two years ago when I first wrote bbPress, the forum arena is in dire need of some fresh air.

bbPress is also technically pretty fun if you’re a geek. It’s how I would’ve written WordPress if I could go back in time with everything I know now. The code is clean, fast, consistent, and extensible.

Changes afoot

October 12, 2006 10:24 pm — Development,Meta — mdawaffe

There have been several changes at bbpress.org over the last couple weeks.

First off, the content of this site has been updated substantially. There is now somewhat more thorough documentation, and a more fleshed out about page.

Second, bbPress’ code has been made just that much more pluggable and convenient by syncing several of its core functions with those of WordPress.

Third, Bryan Veloso has whipped up some stylin’ new style for the bbPress default theme. People expect great things from Bryan, and, amazingly, he just keeps raising their expectations. Tips on how to create your own themes can be found in our Customization Documentation.

Fourth, the bbPress Trac has been moved to http://trac.bbpress.org/. The tickets have all been cleaned up to make way for…

Lastly, the imminent release of bbPress 0.72. Expect an announcement and some forums (no!) here on bbpress.org within the next couple of days.

Simpler integration with WordPress

September 19, 2006 10:50 pm — Development — mdawaffe

If you’re looking to integrate bbPress and WordPress, life just got a little easier.

Keep reading for the long of it.

Template Changes

September 11, 2006 12:13 am — Development — mdawaffe

There have been a few template changes recently.

  1. post-form.php should no longer have <form> opening or closing tags. These tags are included by the post_form() template tag.
  2. Same for tag-form.php and tag_form().
  3. edit_form() no longer needs any parameters.
  4. login-failed.php has been moved to login.php.

API changes

September 8, 2006 6:38 pm — Development — mdawaffe

I’ve done a quick pass over the bbPress API to clean up the obvious API oddities. I’ll also soon be looking for redundant actions and filters. This may break some of your plugins, but will hopefully make things easier for everyone in the end.

There will likely be quite a few changes over the next weeks. Look ahead to a better bbPress!

  1. bb_add_user_favorite: used to pass one serialized array. Now passes two parameters.
  2. bb_remove_user_favorite: same.
  3. Action resolve_topic moved to after DB update.
  4. Same for close_topic, stick_topic, unstick_topic.
  5. Action opentopic moved to after DB update and renamed to open_topic.
  6. Filter topic_resolution added: filters resolved status. Passes topic_id as an extra parameter.
  7. bb_already_tagged: used to pass one serialized array. Now passes three parameters.
  8. Same for bb_tag_added.
  9. bb_tag_created: used to pass one parameter. Naw passes two. Order has changed.
  10. bb_tag_removed: used to pass one serialzed array. Now renamed to bb_pre_tag_removed and passes three parameters.
  11. Same with bb_tag_merged. Renamed to bb_pre_merge_tags.
  12. bb_tag_destroyed renamed to bb_pre_destroy_tag.

External DBs

June 23, 2006 5:36 am — Development — Matt

I just checked in a new database layer that allows bbPress to connect to a completely separate database for its user information, in addition to just having custom table names. This is very useful if you want a bunch of blogs and forums running off the same user system, but don't want to stuff them in the same database, or if your user information is hosted on a different server or account than your forums are. 

« Previous PageNext Page »