Mr Papa said:
maybe its too early in the morning here, but not following this yet…
If a user is not assigned as a subscriber of the blog with SPF at the time they sign up, they are forever locked out of the forums.
could you explain this better please? subscriber with spf? locked out of the forums? are you saying that they cant view a forum???
do you mean the user was never created in the sfmembers table? Is wpmu doing nonstandard things when creating users? is it not firing the wp hook for creating users? does it have an alternate way from wp for creating users? thats about the only way something like that could happen. if they do, they shouuld have an alternate hook that gets fired.
mabye be speaking too soon here since I am not sure I understand the issue yet, but in 4.1 we are now hooking into user wp profile updates. wouldnt be too hard to ensure the user exists at this point and create if they dont. BUT more important to understand what wpmu is doing differently when creating users.
Frankly, I dont think there is a tenable way to not have different tables for users and permissions. Keep in mind that the permissions stuff is done in many tables (and not sfmembes anyways). I think modifying core wp tables and adding stuff would be a mistake. Besides, if we arent properly creating the sfmembers data, we wouldnt make the modifications necessary to the users table and the same issue would exist. We just need to understand the wpmu method(s) of creating users.
I will try to explain better:
If the User is (-No role for this blog-) of (wpmu sub-blog with SPF forum installed) at the time they are entered into the wp_users table, there is no way to add him to wp_x_sfmembers (wpmu sub-blog with SPF forum installed).
Yes, they are locked out of the forums. Even if they are added as Site-Admin, they are perpetually being directed to their own SPF profile.
The way the user is created is the same as wp, however, SPF may or may not be loaded in that particular sub-blog when that occurs. When a user joins a new blog however, a user role change is all that occurs. Most commonly, -no-role-for-this-blog- is updated to -Subscriber- (could be higher afterward, however subscriber is generally the first step.)
Hooking into the profile update would seem to be a good way to resolve the issue, as directing the user to their profile seems to be the default action being taken. I would think that hooking into a user role change would also be a good way.
I know this may sound like a broken record, and just thinking about what I want to say sounds so, childish, but in programming it actually does make co-operative sence.
Other plugins store user data and options in standard WP Options tables, and in wpmu each can account for data under different sub-blogs.
While saving Group, Forum, Topic, post and even PM and Threading data and options in SPF specific tables makes the most sence; saving extra user profile data, user options and SPF roles, would best be modled after existing, and very popular WP plugins. i.e. Register Plus and Role Manager respectivly, both of which are WPMU cross compatable.
At the same time, having different SPF profiles and WP profiles is making less and less sense, and bringing the wp-login.php and wp-profile.php page to the front of the blog is handled quite well under 'Customising Your Community', even in MU.
Lastly, saving user avatars/gravatars to be used blog wide is also handled very well inside wp-profile.php with the wp/wpmu plugin 'User Photo'
I bring there points up because, although SPF v4.0.1 is VERY GOOD… using the methods detailed in these third party plugins, would make SPF the PERFECT Forums plugin.
Integrating these methods would not only improve performance but would also show a marked decrease in user issues such as plugin incompatability. In Fact you will see a range of cross plugin compatability on a level not previously available.
As for the original issue, being locked out of the forums, I believe the tack being taken is grounds for a report that the issue is being addressed in future versions, however users will want a fix quite soon.