I have a theme i ported over to wp and bbpress. It has the option of being one, two and three column’s layout. Im working on getting the other columns ported over i have the basic three column working now.
Theres links under the header to click to switch to each column layout. I want to keep this feature to offer my members. My question is there a simple way for me to let users switch columns? Like using a theme switcher or some other way? Ive searched the support forum here and so far i havent found a user theme plugin switcher on here. Is there one made that im overlooking? Even if there was one just because a user switched themes in the forum doesnt mean it would switch themes in the wordpress….
Can someone help me figure out to accomplish this?
website url: http://slickwhenwet.com/forum <– work in progress
Oh I didn’t realize xcache is just an opcode cache. I already use eaccelerator which seems to have zero quirks compared to other solutions. But yeah, any opcode cache for wordpress/bbpress is a must for any active site.
I already create the sidebar statically across my sites, saves a lot of work and repetition on the db.
the wp-cache “plugin” has flaws in it’s logic. I noticed that unregistered visitors were getting edit links on posts, not good, even if they couldn’t actually edit. Then it has an exclude feature to keep certain parts dynamic, but you can’t have wordpress calls in those dynamic parts because wordpress isn’t actually loaded, which is the whole point. so it won’t work and gives error (#1 confusion to most people trying to use it)
In the end, I hacked wp-cache to only cache the RSS feeds which were causing the most requests, yet the most static of all the content. Caching rss feeds on bbpress should be an easy, useful thing too, but then on a forum I highly doubt the use of rss feeds on anything but the latest discussions.
What really worries me about the 0.84 release is the xml-rpc pingbacks. bbpress is going to become known as the spammers forum of choice with a bad rep, until novices are given an easy option to turn it off, or better yet it’s off by default. I cannot disagree more highly with the entire feature idea. It defeats the entire purpose of a forum. What they are trying to do is have a universal way to cross post across forums but the whole point of a forum is *community* and getting people to actually visit, not stay away.
What they really should do instead of pingbacks if they want easy cross communication, is have a universal login based on a database at wordpress.com – Basically anyone with a wordpress account could visit your wordpress or bbpress site and instantly post if they wanted as “wp.membername” without having to register again and again. Sure there are security issues to be tackled but it’s better than anonymous spam heaven on pingbacks. Akismet won’t protect pingbacks, I see spam in my wordpress.com account every week.
I’m using xcache with very good luck for wordpress, wordpress mu and bbpress on the same server. Also using mysql caching with very good success.
On a forum, the cache probably shouldn’t be the entire page, but rather sections of it or at least the more expensive queries. A visitor who isn’t logged in should probably see an almost completely cached version of the page.
wp-cache2 for wordpress seems to handle this pretty well, and the built-in caching in wordpress mu also seems to work quite well.
> I have to eventually code it to store the country data in the usermeta. But there’s the issue that their IP/location can change on a per-post basis
An upcoming feature is post tagging, you’ll be able to store this data in an “invisible” post tag I believe.
From what I remember the inbuilt cache in bbPress (when turned on) is just an optimised list of topics, posts, forums etc. Not entire pages of html.
MySQL caching is definitely a good idea. I’ve had trouble with eAccelerator in the past though – it used to munge multi-dimensional session data (can’t say if that’s still the case, or if it is a problem for bbPress).
How do you handle caching a page with items only a moderator should see, and then pages that are okay for subscribers, and then pages that are for open public? The cache will have to be rather smart. And then you can’t show any personal information on the page like the user’s name if it’s going to be cached.
bbpress still has some non-optimised routines that don’t use the soft cache, for example on the topic page, I’ve noticed it does a query at the end to fetch all the forums names for the moderator “move this topic” tool. Those should definitely be in the cache but it’s not used.
For a logged out user, I have my topic pages down to 15 queries. That’s the most “expensive page”. It uses 3 more queries for a logged in user (one of them listed above).
But I’ve got this geoip flag function that I wrote to show country flags and unfortunately it’s very “expensive” and adds an extra query for every unique poster on the topic page. There’s no way to stack requests since it must search by range (researched it like crazy but no solutions). I have to eventually code it to store the country data in the usermeta. But there’s the issue that their IP/location can change on a per-post basis and that sometimes I have to patch the geo information because the db gets it wrong. Oh well.
I’ve been posting my optimizations into each of the official forum threads for the plugins… I’m not sure if any of yours were affected or not… can’t remember at this point.
Thanks, Sam.
I’m not sure whether to even touch your last suggestion, about using the latest trunk rather than the latest release. I see the trunk code browser at https://trac.bbpress.org/browser/trunk but I don’t know where to find it as one downloadable archive. And surely the trunk has new bugs and unfinished features, which is why it hasn’t been turned into a new release, right?
Can you give us any hints about what has changed that plugin writers need to know about?
P.S. Where do I find BB_Query?
I applied that fix to my Wp and bbpress from your intergration method so1o and it works great! I put a member cp in my sidebar section for bbpress with the latest comments from wp expecting to cringe from the errors and i never got one. Plus i also have some tags in my footer calling from my wp and that works as well. Im loving this!
The only part i didnt apply on your tutorial was the template intergration where you said to pull the header and footer in. Since the themes i use are the same as my wp themes i didnt see the point in doing that. Glad to say it worked even without using that method though. Keep up the excellent work!
@HowToGeek
Would you mind sharing the work you did to optimise the plugins, I’d be interested if any of them are ones I take care of?
the problems should be fixed in the trunk..
get the trunk version here..
https://bbpress.org/plugins/topic/12/page/2?replies=39#post-479
@Null good idea.. i’ll see what i can do..
There is soft user/topic caching, but there’s no hard caching yet. If you look at the code, in cache.php, you’ll see that it’s written to enable file-based caching in bb-cache/, but doesn’t seem to do so at the moment. It probably will in future I guess? If you fiddle you could probably turn it on. mdawaffe is now working on xml-rpc when he’s working on bb at all, so it’s not the next feature at least. I also think he was planning something else for .8.4.
I’m using xcache and mysql query caching with quite a bit of memory assigned to each, I just don’t like going to the database unless there’s an actual need for it.
Few queries? That doesn’t seem right. If you are logged in, the amount of queries is ridiculous, especially if you are using plugins.
I’ve hacked most of the plugins to make them more efficient, but a topic with 5 posts is doing 20 queries or so.
Right now, it’s not a big deal since my forum isn’t even doing 1k pageviews/day, but I’m planning ahead for growth, and would like to have some type of caching somewhere.
bbpress uses so few queries that caching has got to be a low priority, especially when the point of a forum is to have very dynamic updates customised for the logged in member – it’s very different than a wordpress environment
as long as you have the mysql cache turned on, it should be very responsive – just look at the main wordpress support forum – eaccelerator would take care of caching the php opcode and that can’t be too far behind a static page
the bonus is that on an active forum, everything will be very dynamic as it happens…
Looking in the code, I see a lot of references to object caching, but I don’t think it’s actually used anywhere.
Does anybody know the state of the caching system, or what the problems were that required disabling it? Will it ever be enabled again?
And yes, I already posted to the mailing list quite a while ago and got nothing.
Cool, this is exactly the kind of bbPress-specific best practices I need to know and am not going to get from “PHP and MySQL in 30 Minutes”!
Is topicmeta documented anywhere? I’m looking at the code and can’t say it’s entirely clear…
Okay anyone wanna see a prototype?
You can’t vote yet, but you can create a fake poll and see what it looks like so you can give me feedback and ideas.
I gave up on migrating an existing poll program after realising all the issues with custom bbpress integration, even from a wp port.
I’ve locked the demo to moderators (and higher) for now so even when you create a poll, no one else should be able to see it, or the options.
http://ckon.wordpress.com/files/2007/08/bb-polls.txt?v001
rename .txt to .php, install, activate
create a new topic of any sort and then look below the meta at the top for the option to create the poll
try creating one with a few options, it should be saved and then you’ll see some randomised results for a little colourful demo.
I’m sure that folks have thought of that but I think that like official documentation that’s a post-1.0 priority.
MMember
I’ve been using subversion on my personal site for a while now, and I absolutely love it. However, I’m working on more than one project. Should I create a new repo for each project, or should I make subfolders like the bbPress plugins-svn site? Other than version numbers, what’s the difference? I should be able to check out just one subfolder, right?
Did you try downloading from the plugin browser? https://bbpress.org/plugins/topic/56
Trent if you see this could you take out the rapidshare link from the first post and replace it please?
It’s a good question and something I vaguely remember reading before around here.
In theory (don’t try it until you hear from others) you could rename the bbpress user + usermeta tables for wp, and then tell bbpress to look at the wp tables like a typical integration.
You’ll also need to install several plugins and tweaks to make sure that wp registrations are properly handled on the bbpress side.
(whatever you do, backup first!)
Maybe somebody can help:
I have a workin’ installation of bbPress with lots of users and content. Now i want to get a fresh copy WP up and running and want to get all registered users from bbPress into WP.
As far as I know, I can’t just tell WP to use bbPress-Usertable. Maybe somebody can give me some tipps know how to get it done.
I assume most people are using bbPress to replace comments in WordPress. At least that is what we are doing. We’d like to redirect trackbacks to the corresponding bbPress thread instead of comments in WordPress. Has anyone already done that? Or is there a plugin that does it?