Wikimedia Developer Summit/2017/Global preferences
Chronology: Ryan is kicking off
- Extension lego built: https://www.mediawiki.org/wiki/Extension:GlobalPreferences
- This extension is currently in-use at ShoutWiki. E.g. http://commandos.shoutwiki.com/wiki/Special:GlobalPreferences
- It creates a new page, Special:GlobalPreferences and leaves the normal Special:Preferences alone, except for adding a single new option in the "User Profile" tab, for "Set your global preferences".
- You have to check every setting to mark them as global. This means hundreds of clicks, if I want almost everything to be global and non-default.
- Would it be better to have 1 button to make everything global, with "don't make this global overrides" ?
- Needs some design work :)
- Kunal suggested doing a pass at the preferences structure
- Has some downsides
- Could spiral out of control (manageability-wise).
- What are some use cases for global preference
- Max: When travelling it is really annoying to have to change my timezone on every wiki
- Roan: I want my interface English in every wiki except those where I speak/understand the content language
- Ryan: Right, so then this extension would currently not suit your needs.
- Ryan: I'd like to turn off global notifications on all wikis except my local wiki....
- Erica: I'd like global preferences to turn on/off products and beta features on all wikis.
- Quiddity: Watchlist for enhanced etc
- Quiddity: Preferences for searching namespaces, which (the namespaces available) can be different on every single wiki
- Not all preferences exist on all wikis, e.g. Education extension. or PageTriage
- Ryan: It quickly becomes really complicated...
- TheDJ: What if we show a pop-up/dialog where we tell them existing global settings and ask them if they want to switch?
- MaxS: How about killing off most preferences? :)
- Research UI ideas, ask people who voted.
If you set a global preference, it shows this at a local special:preferences page: https://i.imgur.com/nOvlTfX.png The problem here, is you can set a global preference, but cannot override it per-wiki. It does cover the simplest use-case, which is perhaps the majority of the needs? But it might not cover the most far-reaching edge-cases. E.g. polyglot users who want one global language preference in most places, but overrides at 1 or more wikis.
We don't currently create new projects very often (last was WikiVoyage in 2013). New languages are frequently created, but are primarily visited by stewards/SWMT folk.
Maybe we should experiment with this using a much more limited form of implementation in Gadget UI, just copying preferences to every wiki using JS and api.
- Gets us data about how much this is actually used
- Not disruptive
- Link from the Special:Preferences page (use a hook )
- More freedom to experiment with UI concepts for this, which seems to be a rather complex part.
- Could have 'sets of preferences' that users could override and allow you to specify on which wikis