Problem/Motivation
Part I
Currently, the list of "supported" fields in bakery includes all (AFAIK) core-provided user fields except contact and time zone. Of these, only name, mail, and password are always required. The others are available based on configuration settings including module enablement in the case of contact and language.
Contact can be dismissed from this issue as it requires module enablement and a use case is more likely to be argued not to synchronize between sites.
But time zone is "required" by system module and user-configurable based on a setting. I would guess that most sites enable this setting. And, if it is enabled, the user on a slave site will be presented with a message suggesting they set the time zone (as it will not be set due to exclusion from supported fields). Also, each slave site will have to be updated to change this value.
Bakery has only one reference to time zone -- in the fields passed to master during registration from a slave. See _bakery_register_submit().
Part II
Bakery modifies the user edit form on a slave site as follows. First, it removes the name, mail, and password fields and displays a message indicating the name, mail, and password may be set on the master site. Next, the form element for all other synchronized fields will be 1) disabled or denied access, and 2) the description set or appended to indicating this field may only be set on master site.
Why the difference in treatment? Why not remove all synchronized fields and include them in the message indicating the fields which must be set on the master site?
Proposed resolution
Add time zone to the list of "supported" fields in bakery. On the user edit form, remove all synchronized fields and include them in the message indicating the fields which must be set on the master site.
Remaining tasks
Review, test and write cucumber tests, document in code.
User interface changes
None, other than another item in list of supported fields and a cleaner user edit form on slave site.
API changes
None.
Related Issues
#1966826: Allow user fields to be saved during registration from slave
Comment | File | Size | Author |
---|---|---|---|
#1 | 1968934-include-time-zone.patch | 5.66 KB | solotandem |
Comments
Comment #1
solotandem CreditAttribution: solotandem commentedPatch implements proposed resolution.
Comment #1.0
solotandem CreditAttribution: solotandem commentedEnhance.
Comment #1.1
solotandem CreditAttribution: solotandem commentedAdd supporting detail.