bbPress 1.0-alpha-4 released
-
A bug fix release of the 1.0 alpha series is now available from the download page.
Should fix issues that people had with integrated cookies with WordPress in 1.0-alpha-3 without reverting any new features in it.
We are edging towards a complete WordPress integration solution and to aid setup on the WordPress side I’ve created a new plugin, using it will fix the problem that people have experienced where they login via WordPress an have no access to the bbPress admin area. http://wordpress.org/extend/plugins/bbpress-integration/
The plugin is available through the WordPress plugin site and so is also installable via the built-in WordPress 2.7 plugin installer.
Also, WordPress users without a role will now receive one by simply visiting the bbPress site with a valid WordPress cookie set. Previously the user had to login to bbPress for this to occur.
-
I’m not sure it fixed everything. Or at least not with root cookies.
If I log in via bbpress I’m logged into bbPress AND WordPress Admin but NOT WordPress user. If I try, subsequently, to login as WordPress user, it acts like I’m logged in, but if I go back to a regular page, it doesn’t work. If I then logout on bbPress, I can log in to WordPress. This happens in reverse as well. I can’t be logged into BOTH at once.
The ‘fix’ to that was to add this to wp-config.php
// Cookies
define('COOKIE_DOMAIN', '.domain.net');
define('COOKIEPATH', '/' );Which has the even WEIRDER side effect of logging me out between apps. Log in to bbPress, fine. Log in to WordPress, logged OUT of bbPress. Ad nasuem.
The ‘fix’ to that is to disconnect
$bb->logged_in_cookie = 'wordpress_logged_in';
Which is sooo wrong.
FWIW:
- WordPress 2.7 is installed in /blog and I’m using Giving WordPress its Own Directory While Leaving the WordPress Index File in the Root Directory
- bbPress 1.0alpha4 is installed in /forums
- I have shallow integration, where just cookies are being shared
- I have the new bbPress Integration plugin turned off (though I tested it on and off)
updated to 1.0a4 and installed the wordpress plugin. Here is the issue i found:
if i login to wordpress, i still need to log in to bbpress.
BUT
if i login in bbpress, it logs me into wordpress too.
And another issue:
If I login to bbpress, I can’t log OUT of wordpress. I see this WordPress failure Notice:
— You are attempting to log out of **blog title**Please try again.
I second thenokiablog’s remark on WP 2.7 + bbIntegration Plugin and bbPress A4.
I don’t receive the failure notice though.
Sam…
Logged in as KeyMaster, using the BBP1.0alpha4 (non trunk) and using the BBP Integration plugin for WP (trunk) I can confirm that all cookies, logins, logouts, and admin panels appear to be working from every direction.
WordPress installed in “ROOT/” directory.
bbPress installed in “ROOT/forums/” directory.
Pat yourself on the back soldier, we have lift-off.
Once I am comfortable with my findings and can test this more thoroughly I’ll write a detailed how-to integrate topic ASAP.
Side note: It also all appears to still work even with deep integration in the bb-config.php file. Still testing so stay tuned with that.
Using deep integration inside the bb-config.php, I’ve been able to include all of the WP functions normally included in the WP/header.php file successfully. This has allowed me to replace the bbPress login/registration with the WordPress one and actually use the WP login/logout function from within BBP.
So far Sam, I am calling this a huge success.
People having issues with cookies etc need to remember to configure the WordPress plugin and also follow it’s instructions to modify the wp-config.php file in WordPress.
Further to this, you should clear out any manual settings you have made to bb-config.php in bbPress and re-check your settings in the “WordPress integration” page in bbPress admin.
Then clear all your cookies and retest.
This is what I like to hear!
I’ve also briefly tested the deepest integration possible with a cross include; including BBP into WP config, and WP into BBP config, thus allowing all functions in all areas.
Aside from the really painful overhead and the possible plug-in conflicts, it seems to work that way also.
I do highly recommend clearing out all cookies once you’ve got everything setup.
Sam, I’ve got homework I need to do for the next few hours, but I promise by tomorrow morning I’ll have a write-up for you.
On a side note Sam…
I’d like to try to head the project to include the bbPress administration area into the WordPress admin area as a plugin… It sounds like a major task, but I really don’t think it will be that hard since all of the functions are written for me already…
I noticed that you tucked your plugin under the WP Settings menu, which is where I think it belongs for now. However, once integration becomes more popular, I suspect users may want a centralized administration panel, possibly requiring a separate WP root menu for bbPress related settings.
I know I’m thinking light years ahead here, but perhaps starting to think about an integration standard now before we get too far into things might not be a bad idea?
I’ve also briefly tested the deepest integration possible with a cross include; including BBP into WP config, and WP into BBP config, thus allowing all functions in all areas.
You are a braver man than me.
In your wp-config.php file, right after you include bbPress you should probably clear out all filters and actions so that nothing in bbPress alters WordPress unexpectedly. Use this code right after the include to do that:
// Remove filters and action that have been set by the included bbPress
if ( defined( 'BB_PATH' ) ) {
$wp_filter = array();
$wp_actions = array();
$merged_filters = array();
$wp_current_filter = array();
}I checked all my settings again and it looked like I did not put in my define(‘LOGGED_IN_KEY’, on bbconfig.php. That is now fixed and running smoothly.
Haven’t found problems logging in/out either bbpress or wordpress. Thanks sam.
Question: what is define(‘BB_NONCE_KEY’, ”); on the bb-config file? It is currently empty and don’t remember having it on 1.0a2.
bb-config.php shouldn’t need a LOGGED_IN_KEY definition – you may as well remove it.
BB_NONCE_KEY is a new key for making unique nonce values – this doesn’t affect cookies.
Looks like cross integrating the bb-load.php file into wp-config.php breaks the WP admin styling completely. It causes the header to output all funky and out of order. Trying to track it down now, but for the time being don’t try it! Yikes! Haha!
Alright I figured it out now for my case.
In wp-config.php I had to add both lines
define('COOKIE_DOMAIN', '.domain.com');
define('COOKIEPATH', '/');as opposed to just
define('COOKIEPATH', '/');
which the WP Plugin suggests to do.
The WP Integration Settings in the bbP Admin section got this part right but not the Plugin Settings in WP.
Anyways it’s working now all the way. Great achievement Sam!
Are you using a subdomain of some kind?
Nope, my blog is on http://chocolatebydeath.com/ and the forum on http://chocolatebydeath.com/forum
configure the WordPress plugin and also follow it’s instructions to modify the wp-config.php file in WordPress.
Did that.
Further to this, you should clear out any manual settings you have made to bb-config.php in bbPress and re-check your settings in the “WordPress integration” page in bbPress admin.
Did that.
Then clear all your cookies and retest.
Did that (went in to Firefox’s cookies and after logging out, whacked everything from my domain).
Result: Login is not shared as I think it should be.
If I login on bbPress I can get into my WordPress admin area, but I do not show up as logged in on the WordPress ‘regular’ side. If I go to comment, it says I’m not logged in.
Also, if I have this line in, I can’t log in to both at the same time:
$bb->logged_in_cookie = 'wordpress_logged_in_<long string>';
I think clearly something’s wrong on my end, but damned if I can sort out what!
EDIT!
I watched my cookies as I logged into bbPress after being logged into WordPress.
WordPress makes two entries for
wordpress_logged_in_<long string>
! Both have ‘Domain’ of.domain.net
, and then path of/
and/blog/
bbPress has one entry and it has Host of
domain.net
(no leading . ) and path of/
I fixed the host/domain part by setting
$bb->cookiedomain = '.domain.net';
but I’m pretty convinced this double existence of the logged_in cookie is what’s screwing me up.It might be worth noting that in my working version, I have not modified either of the -config.php files other than what the WP plug-in states. Basically I did not modify the bb-config.php with what the admin integration speed up thing asked me to. I never could get that manual stuff working right.
Okay, I made a ‘double’ cookie by doing this:
$bb->sitecookiepath = '/blog/';
but it still won’t let me be logged into BOTH at once. Grr. I can be logged into WP and WPAdmin, or BB and BBAdmin and WPAdmin, but never BB and WPIf I don’t modify the bb-config file, I can’t log in at all to bbPress. Am I the only one who has WordPress loaded in a subdirectory, with the index kicking back to the main root? That’s about the only thing I have left to try and I really don’t want to screw up my permalinks.
Of possible relevance, the logged_in cookie never gets removed from my cookie jar on Firefox when I log out of bbPress OR WordPress.
Edit: Or maybe I’m just a frackin’ idiot.
I repasted in the Auth Keys and now it’s working… Dude. I keep telling people at work that the average IQ drops 50 points between Thanksgiving and New Years (which is how I explain people making boneheaded mistakes). The new guy asked ‘Does that mean us to?’ and I said “Of course! Watch, you’ll make the stupidest, most obvious screw up in your life in a week or so.” Today was mine, apparently.
I’m going to hang my head in shame.
Hi!
I’m giving a try to a deep integration. I want to load bbpress in my wordpress theme so I have a modified bbpress kamukei where I load wp header, sidebar and footer.
I installed bbpress 1.04a, I activated the new plugin, edited wp-config.php as plugin required, I founded that all this still didn’t load wp header and I modified bbpress bb-config.php with;
define('WP_BB', true);
if ( !defined('DB_NAME') ) {
require_once( dirname(__FILE__) . '/../wp-config.php');
}Now, it seems everything works ok; bbpress loads wp-header, I have access to bbpress control panel, both, admin and users can post, I can log out… I’m going to keep my beta-testing and I’ll further report but I think Sam did it so CONGRATULATIONS.
I’m not sure that I’ll want to load bbpress functions into wordpress so far because what I need is all the contrary; to load wordpress into bbpress so I can have a very simple and integrated forum. However, having the bbpress control panel integrated into the wordpress panel would be great.
The idea of bbpress as a plugin is very nice but Sam is totally right when he stated that we have a stronger foundation as a stand alone. Perhaps that little plugin as a “bridge” is the way to go.
I’m still attempting to integrate bbPress with WPMU 2.7 and BuddyPress. Is this plugin compatible with WPMU 2.7 and BuddyPress? Is it required to get cookies shared? Where should it be installed in WPMU (plugins vs. mu-plugins)?
Thanks in advance for your help!
Hey Sam, when registering through WordPress, did you mention that your WP Integration plug-in would adjust the role in bbPress somehow also? I have a new user that registered through WP and while I’m not sure if they’ve ever logged in or not, they do not have a role set in the BBP side. I could manually map them…
What would help you in this situation? Would you like me to dump the meta data for that user along with their respective user table entry?
I’ve tracked your “.” prefix issue down. There should be a new version of the plugin available soon to correct this problem.
I suspect that user just never visited the bbPress portion of your site.
There are four ways a user will get their role set in bbPress once the role map is setup:
- If they register through bbPress (will also give them a role in WordPress)
- If they register through WordPress, then visit bbPress whilst logged in
- If they register through WordPress, then logout, then log back in through bbPress at some stage
- If they register through WordPress, then an admin re-saves the role mapping in bbPress
- The topic ‘bbPress 1.0-alpha-4 released’ is closed to new replies.