Skip to:
Content

BuddyPress.org

Opened 7 months ago

Last modified 7 months ago

#8055 new feature request

User uploads (avatars, cover images) are site-specific on BP_ENABLE_MULTIBLOG

Reported by: m2sahin Owned by:
Milestone: Awaiting Contributions Priority: normal
Severity: normal Version: 4.1.0
Component: Members Keywords: needs-patch
Cc:

Description

Hi,

My site is multisite. I preferred the multisite method to make my site multilingual.I've been doing research on the cross-site user and user information sync for days. But I didn't get any results and couldn't find a plugin that works correctly.

In short, I want to do: Each site has a separate forum, I want someone who is enrolled in the Greek site to see profile information on the English site, and use the English forum and other things.(Without registration again)

I will explain the problem by example because my English is not very good.

#############################################################################

In this example, I explained what I wanted to do.

My site (multisite)

example.com/
example.com/sub1
example.com/sub2

I want to register on all subsites at the same time when registering from any subsite.

example.com/sub2/register – username: m2sahin (I registered from here)

-—-—-—-—-—-—-—-—-—-

example.com/members/m2sahin - (URL is active)
example.com/sub1/members/m2sahin - (URL is active)
example.com/sub2/members/m2sahin - (URL is active)

When I change user information on any site, I want that information changed on all sites. (Profile photo, cover photo, country, forum, hobbies, etc.)

example.com/members/m2sahin - (profile photo 1 , City: Paris)
example.com/sub1/members/m2sahin - (profile photo 1 , City: Paris)
example.com/sub2/members/m2sahin - (profile photo 1 , City: Paris)

-—-—-—-—-—-—-—-—-—-

example.com/sub1/members/m2sahin/settings - (profile photo 3 , City: New York) - (updated)

-—-—-—-—-—-—-—-—-—-

example.com/members/m2sahin - (profile photo 3 , City: New York)
example.com/sub1/members/m2sahin - (profile photo 3 , City: New York)
example.com/sub2/members/m2sahin - (profile photo 3 , City: New York)

the end

####################################################################

In this example, I will show the problems I encounter. I’m going to tell you about two different situations and their problems.


1- Network Active - BP_ENABLE_MULTIBLOG DISABLE

in this situations, the profile page will only appear on the main site. So a user who registered to the Greek site can only edit their profile on the English site.

example.com/members/m2sahin (URL is active)
example.com/sub1/members/m2sahin ( 404 )
example.com/sub2/members/m2sahin ( 404 )


2- define( ‘BP_ENABLE_MULTIBLOG’, true ); THIS CODE IS ACTİVE.

A user who registered in the Greek site and updated his profile information cannot see the profile information he has changed on the English site.

example.com/sub2/register – username: m2sahin - (I registered from here)

———-

example.com/members/m2sahin - (URL is active) (no profile photos , no other information)
example.com/sub1/members/m2sahin - (URL is active) (no profile photos , no other information)
example.com/sub2/members/m2sahin - (URL is active) (no profile photos , no other information)

-—-—-—-—-—-—-—-—-—-

example.com/sub1/members/m2sahin/settings - (profile photo 1 , Occupation: Lawyer) (updated)

-—-—-—-—-—-—-—-—-

example.com/members/m2sahin - (no profile photos , no other information)
example.com/sub1/members/m2sahin - (profile photo 1 , Occupation: Lawyer)
example.com/sub2/members/m2sahin - (no profile photos , no other information)

The information has only changed on one site. I want the information to be synchronized on all sites.


That is all. I hope you understood me. I believe this problem will be solved. I'm sorry if I was rude, because the main language is not English. Thanks..

Change History (3)

#1 follow-up: @boonebgorges
7 months ago

  • Keywords reporter-feedback added

Hi @m2sahin - Thank you for the detailed report. Your English is quite good :)

The setup that you want is, if I understand correctly, BP_ENABLE_MULTIBLOG. I just tested this setting with a new instance of WordPress Multisite, and I can confirm that it works *correctly*. In other words, when updating profile fields on one site, the changes are reflected on another site.

In your example 2, you are *not* seeing this. I have a few questions:

  1. Are you using a Multi Network plugin, like wp-multi-network? This kind of plugin will cause BP_ENABLE_MULTIBLOG to work in ways that are difficult to predict.
  2. Are you using any persistent caching tools, like Memcached, or a static page caching plugin like W3 Total Cache? Can you try disabling them?
  3. Look at your database tables. There should be a set of tables for each site (wp_posts, wp_comments, etc for site 1, wp_2_posts, wp_2_comments, etc for site 2) but just a single set of BP tables: wp_bp_xprofile_data, etc. Do you see the same thing, or do you see more than one set?

#2 in reply to: ↑ 1 @m2sahin
7 months ago

Replying to boonebgorges:

Hi @m2sahin - Thank you for the detailed report. Your English is quite good :)

The setup that you want is, if I understand correctly, BP_ENABLE_MULTIBLOG. I just tested this setting with a new instance of WordPress Multisite, and I can confirm that it works *correctly*. In other words, when updating profile fields on one site, the changes are reflected on another site.

In your example 2, you are *not* seeing this. I have a few questions:

  1. Are you using a Multi Network plugin, like wp-multi-network? This kind of plugin will cause BP_ENABLE_MULTIBLOG to work in ways that are difficult to predict.
  2. Are you using any persistent caching tools, like Memcached, or a static page caching plugin like W3 Total Cache? Can you try disabling them?
  3. Look at your database tables. There should be a set of tables for each site (wp_posts, wp_comments, etc for site 1, wp_2_posts, wp_2_comments, etc for site 2) but just a single set of BP tables: wp_bp_xprofile_data, etc. Do you see the same thing, or do you see more than one set?

Hello @boonebgorges

I'm sorry to answer you late.

I made a short video for you, I hope you won't get bored while watching.

https://youtu.be/ufWuGV-Pt5Q

note: I did a new WordPress installation, no plugin and the theme is wordpress default theme. Multisite and BP_ENABLE_MULTIBLOG is active. And That's my demo site.

Best Regards :)

#3 @boonebgorges
7 months ago

  • Keywords needs-patch added; reporter-feedback removed
  • Milestone changed from Awaiting Review to Awaiting Contributions
  • Priority changed from high to normal
  • Severity changed from major to normal
  • Summary changed from Intersite user and user information synchronization in Multisite to User uploads (avatars, cover images) are site-specific on BP_ENABLE_MULTIBLOG

@m2sahin Thanks for the video.

I can confirm the following:

  1. On Multiblog, avatar + cover image uploads are site-specific. I guess this is because we use BP_ROOT_BLOG when looking for avatars, and on Multiblog, BP_ROOT_BLOG is always the current blog.
  1. On Multiblog, users are only given a WP role on the network's main site.
  1. Activity and profile data *are* properly reflected across sites. No bug here.

Moving forward:

  • For 1, I see a few options. We could (a) mirror the images on every site, or (b) always switch back to the "main" site to build upload paths, or (c) accept that this is a "feature" of Multiblog. (b) seems like the best to me, but a second opinion from the team would be useful.
  • For 2, I don't see an obvious way to fix the issue. Assigning users to every site on the network will not work - this will not scale on very large MS installations. Given that WP roles are not used by BuddyPress, I'd suggest that there's no reason why BuddyPress has to do it. If someone running a Multiblog install would like WP roles to be synced, they can use a plugin like you installed in the video.

So, I think it's OK to use this ticket to track issue 1. I'm going to change the ticket title accordingly.

Note: See TracTickets for help on using tickets.