Page 1 of 1

s2Member + Register Plus Redux (plugin compatibility report)

PostPosted: July 4th, 2011, 9:23 pm
by PseudoNyhm
This post is primarily to report my (preliminary) testing with s2Member + Register Plus Redux (RPR) plugin.

Purpose: The RPR plugin enhances user registration beyond the standard WordPress process. Since s2Member takes over part of the registration process, I have (preliminarily) tested whether they cause any problems with each other.

Quick result: They work together, if you avoid certain conflicts.

s2Member Configuration:
  • Open Registration: Yes
  • Login/Registration Design: Set background and logo
  • Member Profile Modifications: Yes (redirect and admin protection work)
  • Custom registration fields: Not yet tested (could conflict with RPR custom fields)
  • Collect First/Last Names: No (also No in RPR)
  • Allow Custom Passwords: No (but set to Yes in RPR)
    • When set to Yes in RPR, auto-generated password will not be sent in email (despite this statement in the s2Member configuration)
    • Do not enable both s2Member and RPR passwords, or there will be two pairs of password fields
    • I chose to use the RPR field because I liked how it showed up better, but either seems OK (not fully tested)

RPR Configuration:
  • Logo: Do not set (works best if only set in s2Member configuration)
  • Email Verification: Yes
  • User Set Password: Yes
  • Custom registration fields: Not yet tested (could conflict with s2Member custom fields)
  • No custom Login CSS or Registration CSS (I preferred to use s2Member's background and logo configuration)

Conclusion: This seems to work for me so far. Hopefully this report helps clarify which settings are best applied to each plugin to avoid conflicts. There are still many other features to configure and test (I'm just focusing on my specific use case).

Other notes:
  • I disagree with the practice of sending passwords in email. I prefer to use an email verification link, which was a primary motivation for installing RPR. This seems to work fine, and does not confuse s2Member (because the user cannot log in until they verify their username)
  • I'm using RPR's email configuration, which seems to take precedent over any other registration emails WordPress would otherwise send out.
  • It is my personal preference not to collect First/Last names. If I were, RPR appears to have better control over these fields. There is one glitch if you do not collect First name (see this plugin topic, and help if you can!)
  • I have also installed WP-reCAPTCHA plugin (as referenced in the RPR plugin docs), which seems to work well to add reCAPTCHA to the login page (Note that s2Member Pro says it has its own built-in reCAPTCHA support)
  • Notice that Register Plus plugin was apparently abandoned and Register Plus Redux took over from there.

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: July 4th, 2011, 11:15 pm
by Cristián Lávaque
Awesome! Thank you for your review and sharing your settings to make these two work. I'm sure it'll help many users here. :)

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: July 7th, 2011, 10:00 am
by PseudoNyhm
The following issues arise from using the Register Plus Redux plugin with s2Member. I understand that s2Member cannot be compatible with all plugins, but in this case I feel that s2Member is overstepping its bounds in regard to handling user registration. If technically possible, I'd rather s2Member left registration to other plugins.

Even though these are mainly aesthetic, I find them to be very important, because sloppiness here gives the user a poor first impression:

  • If username or email are not filled in, the user gets an ugly "--- Oops, you forgot something. ---" popup. Aside from being visually unpleasing, this is inconsistent with other fields, in which RpR shows a nice red box above the registration area with the problems listed. It seems that s2Member's logic is handling some fields, but RpR handles the rest.
  • When the registration form is entered/exited or reloaded due to error messages, there is some awkward blipping of the page. I suspect this has to do with s2Member's wrangling of the login/registration workflow, trying to keep users from the default WordPress behavior. Or perhaps both plugins adding fields causes problems with page formation/layout.

Can s2Member's registration control be switched off? Am I even correct in my assessment of how this is functioning? Any assistance in improving my user's registration experience would be greatly appreciated.

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: July 7th, 2011, 11:35 am
by PseudoNyhm
Similarly, I agree with providing end users a custom profile editor (instead of the unusable WordPress dashboard), but s2Member's [s2Member-Profile /] is not exactly what I need. I see a lot of posts regarding customizing this. I recommend that s2Member needs to make this more customizable, or allow other plugins to handle this. (For example, I want to restyle the form, but some of the elements do not have an id/class, so I'll have to go find the php code and hack s2Member... which is not at all desirable.)

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: July 8th, 2011, 4:29 pm
by Jason Caldwell
PseudoNyhm wrote:Similarly, I agree with providing end users a custom profile editor (instead of the unusable WordPress dashboard), but s2Member's [s2Member-Profile /] is not exactly what I need. I see a lot of posts regarding customizing this. I recommend that s2Member needs to make this more customizable, or allow other plugins to handle this. (For example, I want to restyle the form, but some of the elements do not have an id/class, so I'll have to go find the php code and hack s2Member... which is not at all desirable.)
Thanks for the great suggestion. Yes, this is definitely on our TODO list. We also have plans to externalize some of the HTML so it can be modified through your theme directory if/when needed.

For now though, the s2Member Profile editing panel can be styled via CSS, as it is designed to inherit the styles applied by your theme.

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: July 8th, 2011, 4:45 pm
by Jason Caldwell
PseudoNyhm wrote:The following issues arise from using the Register Plus Redux plugin with s2Member. I understand that s2Member cannot be compatible with all plugins, but in this case I feel that s2Member is overstepping its bounds in regard to handling user registration. If technically possible, I'd rather s2Member left registration to other plugins.

Even though these are mainly aesthetic, I find them to be very important, because sloppiness here gives the user a poor first impression:

  • If username or email are not filled in, the user gets an ugly "--- Oops, you forgot something. ---" popup. Aside from being visually unpleasing, this is inconsistent with other fields, in which RpR shows a nice red box above the registration area with the problems listed. It seems that s2Member's logic is handling some fields, but RpR handles the rest.
  • When the registration form is entered/exited or reloaded due to error messages, there is some awkward blipping of the page. I suspect this has to do with s2Member's wrangling of the login/registration workflow, trying to keep users from the default WordPress behavior. Or perhaps both plugins adding fields causes problems with page formation/layout.

Can s2Member's registration control be switched off? Am I even correct in my assessment of how this is functioning? Any assistance in improving my user's registration experience would be greatly appreciated.
Thanks for the great suggestion. Yes, these two plugins are in direct conflict with each other. However, you can probably hand things over to Register Plus Redux if you create this directory and file.

/wp-content/mu-plugins/s2-hacks.php
Code: Select all
<?php
add_action 
("ws_plugin__s2member_after_loaded""s2_removals");
add_action ("wp_print_scripts""s2_removals"11);
function 
s2_removals ()
    {
        if (
strpos ($_SERVER["REQUEST_URI"], "wp-login.php") !== false)
            
wp_dequeue_script ("ws-plugin--s2member");
        
remove_action ("register_form""c_ws_plugin__s2member_custom_reg_fields::custom_registration_fields");
        
remove_action ("login_head""c_ws_plugin__s2member_login_customizations::login_header_styles");
        
remove_filter ("login_headerurl""c_ws_plugin__s2member_login_customizations::login_header_url");
        
remove_filter ("login_headertitle""c_ws_plugin__s2member_login_customizations::login_header_title");
        
remove_action ("login_footer""c_ws_plugin__s2member_login_customizations::login_footer_design");
    }
?>
* Please let us know how this goes for you.

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: July 8th, 2011, 7:27 pm
by PseudoNyhm
Thanks for this instruction. This appears to have worked. The Login and Registration screens are now controlled by Register Plus Redux. I have found that some of the frustration I had/have was/is actually with the RpR plugin. For example, RpR augments the WordPress registration form with some of its own fields, which are formatted separately (and differently).

My overall assessment is that s2Member's Login and Registration control is much cleaner than the RpR system (or the WordPress default for that matter). I would recommend using the s2Member Login and Registration system for anyone who does not specifically require email verification (without emailing passwords), which RpR provides.

s2Member's style settings also work better. RpR allows me to type in custom CSS, but I had to pick out the style elements to override.

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: July 8th, 2011, 7:39 pm
by PseudoNyhm
Another compatibility inconsistency. When signing up, the RpR plugin provides a password check box with strength meter, but places some strength constraints on the password (e.g., min length 6). When using the [s2Member-Profile] editor, the password change fields look slightly different and do not have the same constraints.

This is mostly visual inconsistency (but users only ever see the registration form once). The only functional problem is that users can change their password to be weaker (and the rules may be otherwise inconsistent).

Could there be a way to centrally obtain one consistent password checker? That is, does the WordPress API provide for this, or is each plugin left to its own devices in this case?

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: July 8th, 2011, 9:25 pm
by Jason Caldwell
PseudoNyhm wrote:Could there be a way to centrally obtain one consistent password checker? That is, does the WordPress API provide for this, or is each plugin left to its own devices in this case?
Sort of. WordPress supplies this JavaScript handler, which is what s2Member makes use of.
/wp-admin/js/password-strength-meter.js
Code: Select all
wp_enqueue_script("password-strength-meter"); 

That being said, the JavaScript routine is really just a tool for plugin developers to use. The individual implementations are plugin-dependent. Thanks for pointing out the length issue. I think s2Member's JavaScript routine for this could be improved a bit to make it follow the WordPress standard. I'll see what we can do.

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: July 17th, 2011, 11:07 am
by PseudoNyhm
It appears that the s2_removals code above no longer works. Since last testing it, I have updated to WP 3.2.1 (from 3.1.4) and I think there was an s2Member update in there as well (I'm now on 110710).

If I do not enter a Username or Email Address on the registration form, I get the s2Member "Oops, you missed something" popup, instead of the Register Plus Redux plugin handling it with it's own error display.

My s2-hacks.php is the same as shown above.

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: July 20th, 2011, 12:37 am
by Jason Caldwell
Thanks for reporting this. I've updated the code sample above to this. Should work now.
Code: Select all
<?php
add_action 
("ws_plugin__s2member_after_loaded", "s2_removals");
add_action ("wp_print_scripts", "s2_removals", 11);
function s2_removals ()
    {
        if (strpos ($_SERVER["REQUEST_URI"], "wp-login.php") !== false)
            wp_dequeue_script ("ws-plugin--s2member");
        remove_action ("register_form", "c_ws_plugin__s2member_custom_reg_fields::custom_registration_fields");
        remove_action ("login_head", "c_ws_plugin__s2member_login_customizations::login_header_styles");
        remove_filter ("login_headerurl", "c_ws_plugin__s2member_login_customizations::login_header_url");
        remove_filter ("login_headertitle", "c_ws_plugin__s2member_login_customizations::login_header_title");
        remove_action ("login_footer", "c_ws_plugin__s2member_login_customizations::login_footer_design");
    }
?>

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: July 20th, 2011, 10:39 pm
by ZebEl
This issue was quite interesting and I thank you both for sharing it.

Just to be sure, is this issue going to be solved in a coming update or I should take action if I'm interested to implement it? Thank you in advance.

By the way I just should inform you about a couple of dashboard solutions for members that I read about recently:

Front-End Users: http://wordpress.org/extend/plugins/sea ... =front+end
Friendly Admin: http://codecanyon.net/item/friendly-admin-menu/150463

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: July 21st, 2011, 9:57 am
by PseudoNyhm
Jason Caldwell wrote:Thanks for reporting this. I've updated the code sample above to this. Should work now.


Your update appears to have fixed it. Thank you.

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: August 7th, 2011, 2:20 pm
by PseudoNyhm
Now I'm at s2Member 110731 with the latest s2-hacks.php code from above. The same old problem is back: Upon registration, First Name is being populated even though I do not collect First Name.

When you get the chance, could you review this fix again against the latest version. Many thanks.

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: August 7th, 2011, 2:51 pm
by Jason Caldwell
PseudoNyhm wrote:Now I'm at s2Member 110731 with the latest s2-hacks.php code from above. The same old problem is back: Upon registration, First Name is being populated even though I do not collect First Name.

When you get the chance, could you review this fix again against the latest version. Many thanks.

Thanks. Yea, let me see if we can get an option added for this before we release again.

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: August 7th, 2011, 3:09 pm
by Jason Caldwell
I'm having this behavior corrected in the next release. Instead of adding a new option, it seems like the expected behavior would be for s2Member to leave the First Name completely empty if/when the collection of First/Last Names are off anyway. In the mean time, you can patch your existing installation of s2Member v110731 by unzipping and uploading the attached file. Let it override your existing copy of:
/s2member/includes/classes/includes/registrations.inc.php
registrations.inc.php.zip
(9.24 KiB) Downloaded 143 times

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: August 7th, 2011, 3:45 pm
by PseudoNyhm
Oops! For anyone following along, I posted to the wrong topic. The First Name problem is discussed here:

viewtopic.php?f=4&t=10441

I had forgotten my custom hacking on the registrations.inc.php code, indicated in that topic (which is why I lost my changes upon upgrade). This has nothing to do with s2-hacks.php.

Nonetheless, Jason is spot-on. Thanks for the patch.

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: August 8th, 2011, 1:24 pm
by salehul_2011
hi, i have installed s2member plugin and at the same time i want to use Register Plus Redux plugin, but after installing s2 member plugin when i am going to install Register Plus Redux plugin, my screen becoming white,can anyone please help.

Re: s2Member + Register Plus Redux (plugin compatibility rep

PostPosted: August 8th, 2011, 3:38 pm
by Cristián Lávaque
That's probably a PHP error, could you check your error log in the server?