Does User Synchronization bring all user levels to the sub site?

Hello good people,

I understand that when I tell a sub site to sync with the master site that all users and their roles will now be in the sub site.

I don't want to confuse anyone (any more than I'm already confusing myself ...but will membership levels also be brought into the sub site?

So I have the admins, editors, contributors and subscribers, but I also have paid membership levels such as silver, gold and diamond.

Will those membership levels be brought into the sub site also?

Thank you,

Chris

    Alexander

    Hi there @anotheropus,

    I'm sorry, this actually isn't possible because Membership uses separate database tables that aren't going to be synched with the plugin. This could be possible with some custom development, but there would be issues trying to do it out of the box with both plugins.

    Thanks for being a WPMU DEV member. Let us know if we can be of any further assistance.
    Best regards,

    anotheropus

    Alexander,

    Thank you for the response.

    And... ugh.

    What I'm trying to do here is sync our membership site with our e-commerce site. Both of which are separate WPMU installs on the same server.

    If it were possible to sync and then recognize the fact that the user has a login regardless of our custom levels, then things might work.

    But we plan on offering different promotions and pricing based on membership level (i.e. where Gold members would get better prices than Silver members).

    I'd like to keep this open and active in case anyone else has some input on how we could accomplish this.

    We're using WPMU and s2Member. So the s2Member levels are the custom levels (outside of WP user roles).

    Thank you again.

    Chris

    Alexander

    Hi Chris,

    I thought you were referring to our membership plugin: https://premium.wpmudev.org/project/membership/

    Our plugin uses an extra database table for user data. It's possible that s2Member stores their information in the Wordpress user_meta information rather than user roles. This should end up being synched. Otherwise it could also be in an external db table which wouldn't be synched.

    But I couldn't tell you how s2Member stores it. You might be able to check with them about it, or if you want you can email me a copy of the plugin and I can take a quick look and test it for you. It can be sent to contact[at]wpmudev.org Just include a link back to this thread in the email, and my name in the subject "Alexander Rohmann"

    Best regards

    Alexander

    Hi Chris,

    Ok, here's what I found out. The s2Member plugin stores subscription and level information as meta data attached to the user. This means it will be synchronized.

    So you would need to setup the s2Member site as the master, then have your e-commerce site attach as a subsite.

    Now my only concern here is that if you had s2Member active on both site, there could be cases where users try to modify their membership/ subscription on one the sub site. The changes wouldn't be reflected on the other site.

    However, the membership level data is still going to be there regardless of whether or not you have s2Member active - because it's stored on the user, it's always accessible. So it's possible with some custom development to simply check what level they are on. This might be a safer option.

    Best regards

    anotheropus

    Alexander!

    Wow--very cool info. And thank you for the extra work digging into this.

    I know I'm not the only one in the world who uses s2member and needs to syn multiple sites.

    I would in fact need to have s2Member active on all sites. s2Member does many things but my key need is content access control.

    My work around for anyone changing their profile data, and keeping things in sync, is to create redirect rules such that all profile related links on sub sites would automatically force the master site profile page to be displayed.

    Additionally I can disable all these pages on sub sites--so there are no holes.

    s2Member allows customization of course, so I can always put a message on the top of all registration, sign up, and profile pages--and in terms and conditions, that lets everyone know that SiteX is the master site and Sites A, B, C are sub sites and all changes occur on the master only.

    This really is good news. I was afraid I would be limited to traditional WordPress roles. But if this works out I'll be able to have as many user capabilities as I can imagine!

    I'm under the gun with other projects, but after I get this going I'll be back to post more on this topic.

    Thank you again for the extra effort Alexander!

    Warmest,

    Chris

    anotheropus

    Hello Alexander, and friends,

    Some more info on this subject.

    I learned in another ticket that User Sync only works on single site installs and will not work on multisites.

    Also, I've brainstormed this issue of subsite access to master member profile actions (registrations, updates and cancellations).

    In order to make the Master the guaranteed master, you should:

    1. Absolutely eliminate access to any of the pages on the subsites and

    2. force redirects for these pages to the master site URL

    and...

    ...determine how you will get subsite users to the master site to do do the membership options actions--and how you will return them to the subsite.

    Here's where it gets fun with options:

    -----------------------------------------------------
    Option A - "Simple"
    -----------------------------------------------------
    This is my preferred choice.

    1. Let subsite registrants know that they're registering on a subsite of the master site.

    2. Take them to the master site for registration.

    3. Anytime a member uses a member options page from any subsite they're taken to the master site, knowingly, where they do their updates.

    4. A slightly advanced developer will be able to create return links on these pages so that the user is always able to go back to the subsite once their member options actions are done.

    -----------------------------------------------------
    Option B - "iFrame"
    -----------------------------------------------------
    1. Open all the master site member options pages inside of iFrames on each subsite.

    2. All actions appear to happen on a subsite page, but the real actions are taking place on the master site inside of the iFrame content.

    3. Yes, I KNOW this is not easy

    4. This will require some thought, testing and tuning, but it may be ideal if you do not want subsite registrants to know they're on a subsite of anything.

    -----------------------------------------------------
    Option C - "Modal Window Popup"
    -----------------------------------------------------
    This is similar to the iFrame method, but slightly more cool to see in action!

    1. Open all the master site member options pages inside of modal windows which popusp above each subsite.

    2. All actions literally happen on the master page which is in the modal window.

    3. This is a bit easier than the iFrame method, and...

    4. This method will also require some thought, testing and tuning with the linking.

    5. Besides the cool visual effect of this (if done right), once the user completes their actions and closes the modal window (which could refresh the page under it), the user's member options actions new settings should have already been passed down to the subsite from the master--so they can do what they need to do.

    E.g.

    A level one user decides to upgrade to level two so they can access that level's content. After they use the iFrame, or the modal to do the upgrade, they're returned to the subsite pages and they now have access to level two content.

    So that right and people could enjoy the experience and be impressed.

    -----------------------------------------------------
    Option D
    -----------------------------------------------------
    A hybrid of the above or something else you can think of.

    I'm doing Option A on a master site with two sub sites.
    It's clean, easier than the other options, and it's transparent.

    I have three membership based sites, where the master site has the SSL cert and payment gateways setup through the business, LLC. Additionally I have trust badges there.

    This way I do not need three SSL certificates, three sets of trust badges and text on the subsites that advises they're registering for subsite X, but they're really paying for it through master site A.

    To my mind it's cleaner, transparent and more psychologically positive to let them know that this subsite is operated and managed by Master Site A. Then when they're taken to the master site to register they're delivered to a landing page that eases the transition from the subsite to the master site by tying in the two sites.

    I'm not saying I'm right, or that I know everything, or that this is the way to go.

    It's just the way I'm going to do it

    Warmest,

    Chris

    Alexander

    Hi Chris,

    Some good ideas here. I'd go for "option A" myself as well. Making all signup/registration links redirect to the main site would be the simplest option. You could also make use of using the referring link to redirect the user back to the site they come from.

    Then the user would propagate to the other sites. Unfortunately, yes it is true that User Synchronization only works on single site installs.

    Best regards,

    anotheropus

    Hey Alexander,

    Thank you for the insight and validation. Yes, for my plans I believe option A is the way to go.

    During the next few months I'll be rolling it out on one master site and two subsites.

    I will really, really TRY to keep the model simple

    And after it is up and working I will do the next level setups where I block access to the common user elements on the sub sites. That really shouldn't be too difficult because they can be redirected to the master. And as you mentioned--redirected back to the subsite.

    I'm linking three internet service sites which offer separate but related services. Each site will have public content (blogs, media, training, checklists, etc), private membership content (extended, more valuable content), and private client specific content (secret).

    But all payment processing and membership functions will happen on the master site. Keeps things simple and clean--and presents the opportunity for easier cross selling to existing clients for the related services because their relationship is transparent from the start.

    I'll be back in some time to share what I did and what I learned.

    Warmest,

    Chris