Closed (duplicate)
Project:
Drupal core
Version:
8.9.x-dev
Component:
base system
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
22 Apr 2012 at 20:40 UTC
Updated:
21 Jan 2021 at 00:11 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #1
damienmckennaYou want to remove the *EXTREMELY* *USEFUL* shared tables functionality when the real problem you danced around is that the user profile image should be a field and not something hardcoded in the users table? Really? Can I mark this "Closed (won't fix)"?
Comment #2
damienmckennaDuplicate of #1292470: Convert user pictures to Image Field.
Comment #3
sunIt looks like you did not understand the problem space. Happy to clarify what's unclear, but not sure what is being unclear.
Comment #4
damienmckennaYou want to remove a core feature because of complications implementing with specific use cases? Seems kinda cutting your foot off because you can't find a shoe that fits. I've been building sites with table sharing since 2009 on both D6 and D7, I know how it works and the problems involved with it.
Again, removing this feature from Drupal the wrong way of approaching this problem.
Comment #5
damien tournoud commentedI would agree that we should just remove all of this help text. Sharing tables between installations is an advanced (and mostly unsupported) use-case. It should not be documented in
defaults.settings.php.Comment #6
sunHm. While not exactly the original goal, I can perfectly live with merely "deprecating" the feature by not exposing it to everyone anymore.
AFAICS, the only code lives in Connection::setPrefix() and surrounding functions, and has no real performance and complexity impact on sites using a single prefix only (see #561422: Replace strtr() with str_replace() for db prefixing).
Comment #7
quicksketchI agree with both sides here. I've used shared tables on multiple projects (including my own latest site for Webform: http://webform.com), so I would definitely prefer it stay intact. That said, settings.php is a disaster of end-user documentation. Removing the database sharing information gets my full support. Another related issue to cleaning up settings.php is #1055862: Require sites.php to opt-in for multi-site support/functionality, which would nix the first 45 lines of irrelevant documentation (multi-site support) for 95% of sites.
Comment #8
cweagansIMO, there's cleaner ways to share user accounts across sites. For instance, http://drupal.org/project/services_sso_client - it will even handle user profile pictures with media_internet.
Sharing a database table between installations seems like you're asking for trouble, because you're essentially joining the sites at the hip. If something happens, then *both* of your sites are completely hosed, whereas with a more decoupled approach, that might not be the case. I would much rather see the shared table functionality totally removed, but I can live with deprecating it. I guess.
Comment #9
sunSo, any objections to the patch in #6, or is it ready?
Comment #10
damienmckennaHow about rewording the example to focus on loading additional data from other sources, e.g. for use with entity API? So, rather than focusing on shared user data it could say:
Comment #11
damienmckennaComment #12
andypostStop promoting is ok. But not removing is no way. I know too much sites with shared tables so loosing this functionality will cause a this sites to move another CMS
Comment #13
sunre #10: Like @quicksketch, I don't think default.settings.php should contain docs for such advanced features. It's too confusing for users, and at the same time, too sparse to document possible pitfalls.
Comment #14
damienmckenna@sun: How about providing a link to a docs page on d.o for full documentation on how to configure it?
Comment #15
marcingy commentedI agree this shouldn't be removed it is a very very useful tool in a dev environment where the size of the db makes it impossible for each dev to have there own copy of it - but not making it common knowledge works in my book. (and Drupal has lots of those undocumented settings!)
Comment #17
sukr_s commentedI won't vote for removing the shared tables. this is a killer feature and removing this will kill many usage scenarions. User's picture can easily be shared by overriding the user_picture theme. see http://www.drupalfx.com/content/sharing-user-picture-across-multiple-dru...
Comment #18
lpalgarvio commentedi agree with #10 and #14.
either reword it, or place a link to docs
"For advanced mult-site functionality, please read the article at http:/xxxxxxxxxx"
Comment #19
moshe weitzman commentedProposed patch looks fine to me. I don't think we need to discuss table loading from an external DB either. Thats what the array of database connections is for (usually).
Comment #20
sun#6: drupal8.settings-prefixes.6.patch queued for re-testing.
Comment #21
chx commentedDespite #1055862: Require sites.php to opt-in for multi-site support/functionality is in, we still carry the multisite baggage in defaults.settings.php
Comment #22
jibran6: drupal8.settings-prefixes.6.patch queued for re-testing.
Comment #32
quietone commentedIt looks like that was overtaken by [#551549], and further work is being done in #3106531: Notify in Status Report that per-table database prefixes are no longer supported, and will throw errors in Drupal 10.0. Closing this a duplicate.
If that is incorrect, set the status to Active and explain what needs to be done here. Thx