https://bugzilla.wikimedia.org/show_bug.cgi?id=58196

Krinkle <krinklem...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |krinklem...@gmail.com
            Summary|user_properties table not   |Tool Labs: Provide a view
                   |available on tool labs      |of the user_properties
                   |                            |table

--- Comment #13 from Krinkle <krinklem...@gmail.com> ---
I'm hoping we can get permission to provide this view on Tool Labs without a
whitelist of keys like that and instead allow all, or at least a more liberal
subset.

The main request is to provide what Toolserver provided which is:

An anonimized view of the user_properties table with an extra column that shows
the date (not the time) of when the associated user was last active (which
allows consumers of the data to focus on (or reject) recently active users vs.
abandoned user accounts).

The raw user_properties database in Wikimedia production contains:

- up_user: The user_id of the user, this must of course not be exposed
   because that would allow consumers of the data to know which preferences
   belong to the same user, and in addition, since user ids are already public,
   to also know which user it belongs to).

- up_property: The preference names (disablemail, gender, language, skin,
gadget-Foo, gadget-Bar etc.)

- up_value: The value of the preference. For most preferences these are boolean
values (0 of off, 1 for on). Others are one of a finite set of values (like
"language" and "skin"). And then there are some that take free numerical input
(like "rclimit" which can be any number, e.g. 10 or 500, for the number of
results to show by default on Special:Search or Special:RecentChanges). And
lastly, there are some that take free textual input (like nickname and
fancysig). This last category is usually identifying to a person. So I could
understand why one might keep these hidden (though Luis already said those two
were fine). I imagine it's fine because they're public (people use their
signature and nickname all the time), and anonymised (not connected to other
preferences of that same user).

Of these, the anonimized view would expose:

- up_property
- up_value

This will allow tools to know how popular certain preferences are (e.g. How
many people use the Monobook skin, How many people change their interface
language to French on German Wikipedia). I think however that this view should
not be restricted to certain preferences. Especially because:

 1) Extensions and core add new preferences all the time.

 2) Gadgets are enabled through preferences as well, so if we do use a
    whitelist, it should whitelist any preference starting with "gadget-*".

 3) BetaFeatures also comes and goes with new preferences.
    The case of BetaFeatures is interesting, because it actually tracks
    and exposes the usage of its own preferences publicly (doesn't even
    require making a Tool of some kind).


In addition to these two columns, it would be very useful to have some kind of
indicator to interpret these values. Toolserver did this by adding a shadow
column showing a trimmed part of the timestamp of when the associated user was
last active (trimmed to only show the date in YYYY-MM-DD, not the exact time of
day). With this, statistics about preferences are much more useful due to the
large number of abandoned accounts polluting the results.

Here's a query showing which keys are currently exposed in Toolserver's 
user_properties_anonym table:

krinkle at willow.toolserver.org$ sql nlwiki_p
mysql> SELECT DISTINCT(up_property) FROM user_properties_anonym;
+-----------------------------------------+
| up_property                             |
+-----------------------------------------+
| ajaxsearch                              |
| autopatrol                              |
| ccmeonemails                            |
| cols                                    |
| contextchars                            |
| contextlines                            |
| date                                    |
| diffonly                                |
| disablemail                             |
| disablesuggest                          |
| echo-email-format                       |
| echo-email-frequency                    |
| echo-show-alert                         |
| echo-subscriptions-email-article-linked |
| echo-subscriptions-email-edit-thank     |
| echo-subscriptions-email-mention        |
| echo-subscriptions-email-reverted       |
| echo-subscriptions-web-article-linked   |
| echo-subscriptions-web-edit-thank       |
| echo-subscriptions-web-mention          |
| echo-subscriptions-web-reverted         |
| editfont                                |
| editondblclick                          |
| editsection                             |
| editsectiononrightclick                 |
| editwidth                               |
| enotifminoredits                        |
| enotifrevealaddr                        |
| enotifusertalkpages                     |
| enotifwatchlistpages                    |
| extendwatchlist                         |
| externaldiff                            |
| externaleditor                          |
| fancysig                                |
| forceeditsummary                        |
| gadget-Achtergrondkleur                 |
| gadget-Berichtbalk                      |
| gadget-Diffkleuren                      |
| gadget-Extra_bewerkingsknoppen          |
| gadget-fixhoofdbetekenis                |
| gadget-Geavanceerde_bijdragen           |
| gadget-HideFundraiser                   |
| gadget-HotCat                           |
| gadget-IProject                         |
| gadget-Navigatie_popups                 |
| gadget-purgelink                        |
| gadget-ReferenceTooltips                |
| gadget-Twinkle                          |
| gadget-UTCLiveClock                     |
| gender                                  |
| hideminor                               |
| hidepatrolled                           |
| highlightbroken                         |
| hover                                   |
| imagesize                               |
| justify                                 |
| language                                |
| math                                    |
| minordefault                            |
| newpageshidepatrolled                   |
| nocache                                 |
| norollbackdiff                          |
| numberheadings                          |
| previewonfirst                          |
| previewontop                            |
| quickbar                                |
| rcdays                                  |
| rclimit                                 |
| rememberpassword                        |
| searcheverything                        |
| searchlimit                             |
| searchNs-1                              |
| showhiddencats                          |
| showjumplinks                           |
| shownumberswatching                     |
| showtoc                                 |
| showtoolbar                             |
| skin                                    |
| stubthreshold                           |
| thumbsize                               |
| timecorrection                          |
| underline                               |
| usebetatoolbar                          |
| usebetatoolbar-cgd                      |
| useeditwarning                          |
| uselivepreview                          |
| usenewrc                                |
| variant                                 |
| vector-noexperiments                    |
| visualeditor-enable                     |
| watchcreations                          |
| watchdefault                            |
| watchdeletion                           |
| watchlistdays                           |
| watchlisthideanons                      |
| watchlisthidebots                       |
| watchlisthideliu                        |
| watchlisthideminor                      |
| watchlisthideown                        |
| watchlisthidepatrolled                  |
| watchmoves                              |
| wllimit                                 |
+-----------------------------------------+
102 rows in set


Are there any preferences we would explicitly not want to expose?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to