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.
-
Are you editing that users profile as them or as a keymaster?
What is supposed to happen (once the role map is set) is that the user will receive a bbPress role if they either login, or visit the site with a valid cookie.
I just checked and I can reproduce that error logged in as Key Master when I go to edit their profile.
If someone registers via WordPress, all the roles show up as:
Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in <b>/domain.com/forums/bb-includes/functions.bb-template.php on line 2021
Below that, under ‘Allow this user to …’ I get this
Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /home/jorjafox/public_html/forums/bb-includes/functions.bb-template.php on line 2036
It’s not pulling the data correctly, since if I manually set them to Member, it works fine. Previously on 1.0alpha1 and alpha2, when I had users on bb with ‘no’ role, I could re-apply the WordPress Role link up (just click save) and magically everyone was fixed.
Hello all,
I’m integrating WPMu 2.7 trunk, bbPress 1.0 alpha 4 and the latest BuddyPress Combo. I got everything up and running fine, and bbPress is reading the wp_users table and updating the users once they login to the WPMu account as members (I used the roles plugin recommended here, thank you).
The only issue I have remaining is that WPMu and bbPress are not sharing cookies, so when you log into the WPMu homepage, you are not automatically logged into bbPress, but you can login and out of each independently without an issue.
I installed Sam Bauer’s plugin for integration, and included the necessary details in the wp-config file, I’m also mirroring the unique values I have in my wp-config file in my bbPress config file. My bbPress config file looks like so:
define( ‘BB_AUTH_KEY’, ‘my_unique_key_is here’ );
define( ‘BB_LOGGED_IN_KEY’, ‘my_unique_key_is here’ );
define( ‘BB_SECURE_AUTH_SALT’, ‘my_unique_key_is here’ );
define( ‘BB_NONCE_KEY’, ‘my_unique_key_is here’ );
define( ‘BB_AUTH_SALT’, ‘my_unique_key_is here’ );
define( ‘BB_LOGGED_IN_SALT’, ‘my_unique_key_is here’ );
define( ‘BB_SECURE_AUTH_KEY’, ‘my_unique_key_is here’ );
/**#@-*/
define(‘COOKIE_DOMAIN’, ”);
define(‘COOKIEPATH’, ‘/’);
All these values exactly match what I have in my wp-config file, but still no shared cookie love. Anyone have any idea what might be wrong here?—or am I just pushing too soon with the WPMu trunk and bbPress 1.0 alpha?
The two things I had a problem with were the auth cookies (I had to repaste it all it) and the cookie_domain
I set, on both BB and WP, my cookie_domain to .domain.net and it started working.
Great, integration is working!
Turns out i had a configuration problem, entirely my own fault.
The issue with roles has actually been since I remember integration starting with 2.7/1.0 series. It’s basically because there is no role set and no role map set for the bbPress side of it.
This issue should only occur if the user registers via WordPress. If they register via bbPress, it shouldn’t happen…
…I think…
Yes, I’m viewing that as the Key Master. I’ll run another test with a new user to see what’s happening as well.
Yes, this has been a problem since the 2.7/1.0 integration. Registration through bbPress works fine, but that won’t be an option for me once going live.
Update:
I tried adding a user through WordPress, then logging in with that profile in bbPress. No user role was set. Then, I checked it with the Key Master account and got the same error I posted above.
Users are still logged in fine across both installations.
The issue with roles has actually been since I remember integration starting with 2.7/1.0 series. It’s basically because there is no role set and no role map set for the bbPress side of it.
The issue with roles being set as INACTIVE is expected and worked without issue (once the user logged in, all was fine). But having the roles show up as an ‘error’ is new since 1.0a4.
No, I can assure you it was that way since beta2, since that’s when I first started trying to research this whole integrating thing and noticed this issue myself. I assumed then that it was bad integration on my part, or that one of the several plug-ins or modifications I’ve made was causing it. Because I personally plan on avoiding that profile page all together, I skipped the error and prioritized my efforts more towards integrating logins and themes.
I can confirm that I’ve experienced this issue as early as alpha 2 as well.
Topic renaming fixed in trunk.
Is this supposed to be fixed in the nightlies as well? I installed the latest one yesterday and the issue is still persistent.
You can either define the COOKIEHASH in WPMU or define each cookie name individually in WPMU
The COOKIEHASH is the letter jumble part of each cookie name after the last underscore.
Your issues with the edit form are now resolved in trunk.
The issue with users not receiving a role on login still has to be looked at. Please make a trac ticket for it.
I’ve sync’ed the keys/salts between bbPress and WPMU, defined COOKIE_DOMAIN (‘.domain.com) and COOKIEPATH (‘/’) in wp-config, installed the wordpress plugin, and defined the COOKIEHASH in WPMU (wp-settings.php) based on the speed-up settings in bbPress and still no luck with cookie sharing.
I’m running bbPress 1.0-alpha-4 and WPMU 2.7.
Is there anything I’ve left out and/or overlooked?
Thanks!
That worked beautifully, many, many thanks.
@gogoplata, see my reply to jimgroom two posts above yours.
A quick note… A new user registered and not only do I get the error message when trying to edit their profile, the role map tool also doesn’t seem to want to line his profile up.
I think I’m going to dive into phpMyAdmin and delete the role maps all together, then see if the tool works.
I’m guessing that because the Role Map Alignment tool doesn’t overwrite existing values, that the partial values the integration are setting up aren’t enough, so even though the admin tool thinks they have a role, their profile doesn’t…
I’ll have more time to look into this after the weekend.
@sambauers – Should I define COOKIEHASH in wp-settings or wp-config? I’ve seen both methods mentioned in various places and am curious if one is preferred/required? Thanks!
Okay, so I deleted the entries for the members in “bb_capabilities” aside from the keymasters, and when I try to run the user role map, it doesn’t actually work. I haven’t tried to track this function down yet but as a suggestion I almost wonder if that role map might actually work better as a role alignment tool, overwriting the values with the new ones for all users.
I may just make that a plug-in actually because my trouble shooting attempt may have been a bad idea haha!
I’ve added the issue to Trac:
https://trac.bbpress.org/ticket/1016
This is actually my first time submitting a ticket, so I hope I done everything correctly.
Wow, this thread has attracted some really well-known (infamous?) WordPress people.
I was in need of a quickfix for the user-role problem, so I wrote a really ugly plugin for it.
Whenever the page is shown, it checks whether or not the user is able to “write_post”. If not, it sets the user role to “member”.
IMPORTANT: This means the plugin won’t be usable for all of you who are in the need of setting users as ‘inactive’ or ‘blocked’! In my case, I probably won’t need ‘inactive’ or ‘blocked’ users before bbPress 1.0 is released.
Here is the code for the plugin if you would like to check it out before download. And by the way, I’m not really used to writing plugins for bbPress yet, so if I’ve made any really bad flaws (especially on the security-side) please sort me out.
function inactive_to_member() {
$userID = bb_get_current_user_info( 'id' );
$user_obj = new BP_User( $userID );
if(!bb_current_user_can('write_post')) {
$user_obj->set_role('member');
}
}
add_action ('bb_head', 'inactive_to_member', 5, 0);I hope this might help some of you out.
I’ve updated the plugin to cope with forums using blocked and inactive users as well.
function inactive_to_member() {
$userID = bb_get_current_user_info( 'id' );
$user_obj = new BP_User( $userID );
$user = bb_get_user( bb_get_user_id( $userID ) );
if(empty($user->capabilities)) {
$user_obj->set_role('member');
}
}
add_action ('bb_head', 'inactive_to_member', 5, 0);The only flaw I can find with this plugin is that it won’t update the user’s role until the next time the user refreshes the page. I guess it could be fixed with a simple redirect/refresh in the plugin however.
WordPress : 2.7
bbPress : 1.0 Alpha 4
Can not login user, just login admin for bbPress.
- The topic ‘bbPress 1.0-alpha-4 released’ is closed to new replies.