There have been several changes in the code over the past few weeks. Rather than explaining them in detail, I’ll just highlight the most interesting ones.
- Profile pages now have a (pluggable) menu through which an increasing amount of administration can be done.
- Like it’s cousin, usermeta, a new table, topicmeta, has joined the bbPress database family. Both meta varieties use the same code, which has seen some substantial efficiency improvements.
- Quick (and arguably dirty) plugination. The API’s a bit different than what’s used over at WordPress, particularly the UI API. It’s not as friendly, but it’s a trooper; it really gets the job done. Expect an simple plugin to be included in the initial release to serve as an example.
- Some bugs related to sharing users and/or usermeta across separate forums/blogs/etc. have been squished in order to make sure Matt tells the truth 😉
PS: A quick reminder that action and filter hooks are always up for grabs. Suggestions welcome!
I just wanted to note that now bbPress can completely and seamlessly integrate and share a user system with any number of bbPress forums, and any number of WordPress or WordPress MU blogs.
To those of you who didn’t find the last post quite as exciting as I did, perhaps you’ll appreciate what the new architecture allows when you hear about its first feature: Customizable RSS feeds.
Users can specify a custom set of topics from which their personal feed will draw recent posts. Currently, users can specify a maximum of 40-100 topics (the exact number more or less depends on the total number of topics in your forums) to follow. If a user adds too many topics, the first ones added will get bumped off the list.
You can check it out by visiting your user profile in the most recent copy of bbPress (and, yes, better upgrading scripts are on the list!).
The users table has been pared down to include only core user information. Additional information about each user can be stored in the new usermeta table. Accessing the information is just as easy as it always was; both the core and the meta information are included in the good ol’ $user object.
For anyone out there twisting their installs around to see what bbPress can do, you only need to know two things:
update_usermeta( $user_id, $meta_key, $meta_value );
- Don’t add to
$user_cache manually; always use bb_get_user( $user_id );
Sorry about all the technical whatnot, but it’s a big, exciting change!
In order to help both those who ask questions in a support forum environment and those who answer them, topics can now be given a resolution status. Moderators and the original poster are able to change a topic’s resolution state to “resolved”, “not resolved” or “not a support question”.
After the appropriate interface decisions have been made, resolution status will also be taken into account and reflected in the various default templates.
Support for tag removal, renaming, destruction and merging has been added in bbPress.
Users can remove their own tags from any post, and moderators can remove any tags from any post. Moderators with sufficient permissions (user_type >= 2) can also rename tags, destroy tags (completely remove them from the database), and merge one tag into another.
bbPress now has rudimentary tag support and gorgeous URIs that don’t require mod_rewrite. You can see both in action on the WordPress forums and I’ll be revving the tag support significantly in the coming weeks. There have also been numerous profile and performance enhancements you may want to check out.
Users can now reset passwords in bbPress, in fact we’ve updated how the system deals with failed logins completely. Feedback is a lot better now if the username or password is wrong.
I’ve caught up on most of the open bbPress bugs, so if you’re running bbPress somewhere I would recommend upgrading to the next nightly. Most notable, users can now edit their profiles and passwords and you can now override cookies to allow for easier integration.
Thanks to Ticket #7 from isharra, bbPress now has mysqli support. I can’t really tell too big a difference in the speed between mysqli and mysql, but every bit helps. If you run MySQL 4.1 and have mysqli support compiled into PHP then the improved functions are automatically used. If not, don’t worry about it.