Page MenuHomePhabricator

Actor support for social tools
Open, Needs TriagePublic

Description

Need to add a new _actor column to all supported extensions' relevant tables and potentially use it, depending on the value of $wgActorTableSchemaMigrationStage. MediaWiki-User-rename has a nice method called getActorMigrationStage in /extensions/Renameuser/includes/RenameuserSQL.php that we'll likely want to copy over to the relevant classes.

Also need a new, relevant index.

When would it be safe to ditch the "older" _user/_user_text columns; MW 1.34 or 1.35?

mw:Actor migration

Affected extensions and tables:

  1. AJAXPollajaxpoll_vote (stores username and IP address but not user ID?!)
  2. Challenge — not really maintained right now, so not a huge priority; challenge, challenge_rate, challenge_user_record
    1. https://gerrit.wikimedia.org/r/561349
  3. MediaWiki-extensions-CommentsComments, Comments_block, Comments_Vote
    1. CommentsPage#getComments does a LEFT JOIN againt SocialProfile's user_stats.stats_user_id when SP is installed
  4. FanBoxesfantag, user_fantag
    1. https://gerrit.wikimedia.org/r/561868/ (Open as of 5 January 2020)
  5. LinkFilterlink
    1. https://gerrit.wikimedia.org/r/521982
    2. https://gerrit.wikimedia.org/r/561333/ (Open as of 5 January 2020)
  6. MediaWikiChatchat, chat_users (used on Brickimedia)
    1. Per discussion with @lcawte on 2 January 2020, we'll likely be dropping this extension and not implementing actor support for it
  7. MiniInviteuser_email_track
    1. https://gerrit.wikimedia.org/r/562070
  8. NewSignupPageuser_register_track
    1. https://gerrit.wikimedia.org/r/562267 (Open as of 6 January 2020)
    2. https://gerrit.wikimedia.org/r/562268 (SocialProfile part; open as of 6 January 2020)
  9. PictureGamepicturegame_images, picturegame_votes
    1. https://gerrit.wikimedia.org/r/561955 (Open as of 5 January 2020)
  10. PollNYpoll_question, poll_user_vote
    1. https://gerrit.wikimedia.org/r/561594/ (Open as of 5 January 2020)
    2. Also needs changes in SocialProfile's /extensions/SocialProfile/UserProfile/includes/UserProfilePage.php which queries one of PollNY's DB tables directly via the user ID
  11. QuizGamequizgame_answers, quizgame_questions, quizgame_user_view
  12. SocialProfileuser_board, user_profile (only stores user ID as up_user_id currently, has no knowledge of the user's name), user_fields_privacy (ditto), user_points_archive, user_points_monthly, user_points_weekly (need to remember to keep the column name the same between these 3 tables!), user_stats, user_system_messages, gift, user_gift, user_system_gift, user_relationship, user_relationship_request
  13. SiteMetrics — doesn't introduce any custom tables on its own, but references many extension and core-created tables, like revision
    1. https://gerrit.wikimedia.org/r/561329/ (Open as of 5 January 2020)
  14. SportsTeams — sport_favorite
    1. This is trickier than what it looks at first, because at least SportsTeams#getUsersByPoints does a LEFT JOIN against SocialProfile's user_stats table and specifically its stats_user_id column, and needless to say, we can't do a direct comparison between an actor ID and a user ID as they aren't the same thing! So this can't be done until user_stats has an actor column...
  15. UserStatususer_status, user_status_vote
    1. https://gerrit.wikimedia.org/r/561411
    2. https://gerrit.wikimedia.org/r/561413 (SocialProfile part, open as of 5 January 2020)
  16. Video extensionoldvideo, video
    1. https://gerrit.wikimedia.org/r/561901 (Open as of 5 January 2020)
  17. WikiForum — not really maintained right now by us, but quite a few people seem to be using it; also, it's a mess; wikiforum_category, wikiforum_forums, wikiforum_threads, wikiforum_replies (all tables store UIDs + IPs, but not user names)
    1. https://gerrit.wikimedia.org/r/562053 (Open as of 5 January 2020)
  18. VoteNYVote (stores username and IP address but not user ID?!)
    1. https://gerrit.wikimedia.org/r/525330/
    2. https://gerrit.wikimedia.org/r/561326/
    3. Also note the need for changes in extensions which directly query the Vote table, like BlogPage and also SocialProfile (https://gerrit.wikimedia.org/r/561341/ and https://gerrit.wikimedia.org/r/561342/, respectively)
      1. Ideally things like BlogPage or SocialProfile wouldn't query the DB table directly...

Details

SubjectRepoBranchLines +/-
mediawiki/extensions/SocialProfilemaster+7 -3
mediawiki/extensions/SportsTeamsmaster+3 -3
mediawiki/extensions/QuizGamemaster+9 -5
mediawiki/extensions/SocialProfilemaster+5 -3
mediawiki/extensions/SocialProfilemaster+1 -1
mediawiki/extensions/SocialProfilemaster+1 -1
mediawiki/extensions/Challengemaster+6 -2
mediawiki/extensions/SocialProfilemaster+6 -6
mediawiki/extensions/SocialProfilemaster+1 -1
mediawiki/extensions/Commentsmaster+108 -1
mediawiki/extensions/SocialProfilemaster+1 -1
mediawiki/extensions/SocialProfilemaster+70 -28
mediawiki/extensions/SocialProfilemaster+1 -1
mediawiki/extensions/SocialProfilemaster+6 -2
mediawiki/extensions/SocialProfilemaster+6 -2
mediawiki/extensions/SocialProfilemaster+1 -1
mediawiki/extensions/BlogPagemaster+6 -13
mediawiki/extensions/SocialProfilemaster+5 -0
mediawiki/extensions/LinkFiltermaster+0 -15
mediawiki/extensions/LinkFiltermaster+11 -8
mediawiki/extensions/FanBoxesmaster+32 -29
mediawiki/extensions/SiteMetricsmaster+7 -14
mediawiki/extensions/Commentsmaster+448 -176
mediawiki/extensions/NewSignupPagemaster+74 -62
mediawiki/extensions/WikiForummaster+308 -63
mediawiki/extensions/PictureGamemaster+21 -34
mediawiki/extensions/Videomaster+202 -118
mediawiki/extensions/FanBoxesmaster+200 -101
mediawiki/extensions/PollNYmaster+194 -91
mediawiki/extensions/AJAXPollmaster+130 -40
mediawiki/extensions/QuizGamemaster+402 -116
mediawiki/extensions/SocialProfilemaster+2 K -1 K
mediawiki/extensions/SportsTeamsmaster+360 -225
mediawiki/extensions/ImageRatingmaster+27 -16
mediawiki/extensions/SocialProfilemaster+15 -9
mediawiki/extensions/SocialProfilemaster+22 -11
mediawiki/extensions/MiniInvitemaster+11 -26
mediawiki/extensions/UserStatusmaster+91 -139
mediawiki/extensions/Challengemaster+436 -277
mediawiki/extensions/LinkFiltermaster+141 -48
mediawiki/extensions/VoteNYmaster+84 -28
mediawiki/extensions/SocialProfilemaster+126 -53
Show related patches Customize query in gerrit

Related Objects

Mentioned In
rESPRd0504a4f3103: Fix purgeAvatarKeysFromMemcached.php so that it has a chance of actually working
T282944: PictureGame: Unbreak SQLite support
rESPRc162f8c30e91: Fix a fatal in the RandomFeaturedUser parser tag hook + improve escaping while…
rESPRc15f05559947: Don't compare actor IDs to user IDs, they're two separate concepts...
rESPR95eca5cbe902: Fix path to migrateOldUserStatsUserColumnsToActor.php in hooks
rESPR0d2711697bc1: UserRelationship: fix E_NOTICE about undefined property
rESPR9d54fdec3411: UserRelationship: fix undefined variable after adding a foe/friend
rESPRf16ac0d391eb: Add a bunch of "does the old field even exist?" checks to the actor migration…
rESPR5769a5897039: Fix viewing of private user board messages on Special:UserBoard
rESPR54c84ae47650: Fix E_NOTICE about undefined indexes on Special:SendBoardBlast
rESPR3cddc75f88eb: Fix E_NOTICE about undefined indexes on Special:GiveGift with the gift_id URL…
rESPR0ffd65bf49f2: Fix QuizGame integration in UserProfilePage to not refer to the now-dropped…
T244656: Trying to play QuizGame on a Miraheze Wiki, you can't get past the "Loading" display
rESPRc809ead786a9: Fix a very fatal typo
rESPR4e943fcd61d8: Fix broken migrateOldUserBoardUserColumnsToActor script
rEPGAe08c06f0accd: Actor support, requires MW 1.34+
rENSU5bbbb975ebfd: Actor support (in a breaking manner), requires MW 1.34+ and manual DB admin…
rESPRcd2dbcf8171b: Actor support, now requires MW 1.34+
T241811: LinkFilter needs uses of global $wgUser removed
rEIMRab46eb32cdf9: Actor support, requires MW 1.34+
T242939: WikiForum needs uses of global $wgUser removed
T242938: FanBoxes needs uses of global $wgUser removed
T242868: Drop the unused userft_order column from the user_fantag table
T242689: SocialProfile: classic CSRF (no token check) in various special pages which perform write actions
T242679: SocialProfile needs uses of global $wgUser removed
rESPRb19be427a077: Adjust UserActivity#setNetworkUpdates for recent UserStatus actor-related…
rESPR8e86199ea676: Actor support in things which use(d to use) rev_user/rev_user_text &…

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Change 562267 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/NewSignupPage@master] Actor support (in a breaking manner), requires MW 1.34+ and manual DB admin intervention if user_register_track table existed

https://gerrit.wikimedia.org/r/562267

Change 561413 merged by jenkins-bot:
[mediawiki/extensions/SocialProfile@master] Adjust UserActivity#setNetworkUpdates for recent UserStatus actor-related changes

https://gerrit.wikimedia.org/r/561413

Change 562907 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/AJAXPoll@master] Actor support, now requires MW 1.34(+)

https://gerrit.wikimedia.org/r/562907

Change 564787 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/ImageRating@master] Actor support, requires MW 1.34+

https://gerrit.wikimedia.org/r/564787

Change 561342 abandoned by Jack Phoenix:
User actor IDs when dealing with VoteNY's Vote table

Reason:
Will submit this as a part of the new version of https://gerrit.wikimedia.org/r/561337/

https://gerrit.wikimedia.org/r/561342

Change 565779 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/SocialProfile@master] Actor support, now requires MW 1.34+

https://gerrit.wikimedia.org/r/565779

Change 565783 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/QuizGame@master] Actor support, now requires MW 1.34+

https://gerrit.wikimedia.org/r/565783

Change 566368 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/SportsTeams@master] Actor support, PostgreSQL support, documentation tweaks, random bug fixes esp. wrt. the UserStatus integration

https://gerrit.wikimedia.org/r/566368

Change 566372 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/Comments@master] Actor support, now requires MW 1.34+

https://gerrit.wikimedia.org/r/566372

Change 564787 merged by jenkins-bot:
[mediawiki/extensions/ImageRating@master] Actor support, requires MW 1.34+

https://gerrit.wikimedia.org/r/564787

Change 566368 merged by jenkins-bot:
[mediawiki/extensions/SportsTeams@master] Actor support, PostgreSQL support, documentation tweaks, random bug fixes esp. wrt. the UserStatus integration

https://gerrit.wikimedia.org/r/566368

Change 565779 merged by Jack Phoenix:
[mediawiki/extensions/SocialProfile@master] Actor support, now requires MW 1.34+

https://gerrit.wikimedia.org/r/565779

Change 565783 merged by Jack Phoenix:
[mediawiki/extensions/QuizGame@master] Actor support, now requires MW 1.34+

https://gerrit.wikimedia.org/r/565783

Change 562907 merged by jenkins-bot:
[mediawiki/extensions/AJAXPoll@master] Actor support, now requires MW 1.34(+)

https://gerrit.wikimedia.org/r/562907

Change 561594 merged by Jack Phoenix:
[mediawiki/extensions/PollNY@master] Migrate to using actor IDs and passing them around, thus requiring MW 1.34+

https://gerrit.wikimedia.org/r/561594

Change 561868 merged by Jack Phoenix:
[mediawiki/extensions/FanBoxes@master] Actor support, requires MW 1.34+

https://gerrit.wikimedia.org/r/561868

Change 561901 merged by jenkins-bot:
[mediawiki/extensions/Video@master] Actor support, requires MW 1.34+

https://gerrit.wikimedia.org/r/561901

Change 561955 merged by Jack Phoenix:
[mediawiki/extensions/PictureGame@master] Actor support, requires MW 1.34+

https://gerrit.wikimedia.org/r/561955

Change 562053 merged by jenkins-bot:
[mediawiki/extensions/WikiForum@master] Actor support, now requires MW 1.34(+)

https://gerrit.wikimedia.org/r/562053

Change 562267 merged by Jack Phoenix:
[mediawiki/extensions/NewSignupPage@master] Actor support (in a breaking manner), requires MW 1.34+ and manual DB admin intervention if user_register_track table existed

https://gerrit.wikimedia.org/r/562267

Change 566372 merged by jenkins-bot:
[mediawiki/extensions/Comments@master] Actor support, now requires MW 1.34+

https://gerrit.wikimedia.org/r/566372

Change 567378 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/SiteMetrics@master] Remove last remains of user IDs in DB queries, replace with actor references

https://gerrit.wikimedia.org/r/567378

Change 567378 merged by Jack Phoenix:
[mediawiki/extensions/SiteMetrics@master] Remove last remains of user IDs in DB queries, replace with actor references

https://gerrit.wikimedia.org/r/567378

Change 567383 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/FanBoxes@master] Post-actor cleanup and whatnot

https://gerrit.wikimedia.org/r/567383

Change 567383 merged by Jack Phoenix:
[mediawiki/extensions/FanBoxes@master] Post-actor cleanup and whatnot

https://gerrit.wikimedia.org/r/567383

Change 567386 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/LinkFilter@master] Use actor stuff in the Comments support in LinkPage

https://gerrit.wikimedia.org/r/567386

Change 567386 merged by Jack Phoenix:
[mediawiki/extensions/LinkFilter@master] Use actor stuff in the Comments support in LinkPage

https://gerrit.wikimedia.org/r/567386

Change 567394 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/LinkFilter@master] Post-actor cleanup: drop Renameuser hook and the last references to DB colums which are now gone

https://gerrit.wikimedia.org/r/567394

Change 567394 merged by Jack Phoenix:
[mediawiki/extensions/LinkFilter@master] Post-actor cleanup: drop Renameuser hook and the last references to DB colums which are now gone

https://gerrit.wikimedia.org/r/567394

Change 569843 had a related patch set uploaded (by Thiemo Kreuz (WMDE); owner: Thiemo Kreuz (WMDE)):
[mediawiki/extensions/SocialProfile@master] Fix broken migrateOldUserBoardUserColumnsToActor script

https://gerrit.wikimedia.org/r/569843

Change 569843 merged by Jack Phoenix:
[mediawiki/extensions/SocialProfile@master] Fix broken migrateOldUserBoardUserColumnsToActor script

https://gerrit.wikimedia.org/r/569843

Change 570657 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/BlogPage@master] Don't use user_stats.stats_user_id anymore for it's gone, use actor stuff instead

https://gerrit.wikimedia.org/r/570657

Change 570657 merged by Jack Phoenix:
[mediawiki/extensions/BlogPage@master] Don't use user_stats.stats_user_id anymore for it's gone, use actor stuff instead

https://gerrit.wikimedia.org/r/570657

Change 570819 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/SocialProfile@master] Fix a very fatal typo

https://gerrit.wikimedia.org/r/570819

Change 570819 merged by Jack Phoenix:
[mediawiki/extensions/SocialProfile@master] Fix a very fatal typo

https://gerrit.wikimedia.org/r/570819

Change 572490 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/SocialProfile@master] Fix QuizGame integration in UserProfilePage to not refer to the now-dropped user ID column in the quizgame_questions table

https://gerrit.wikimedia.org/r/572490

Change 572490 merged by Jack Phoenix:
[mediawiki/extensions/SocialProfile@master] Fix QuizGame integration in UserProfilePage to not refer to the now-dropped user ID column in the quizgame_questions table

https://gerrit.wikimedia.org/r/572490

Change 574219 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/SocialProfile@master] Fix E_NOTICE about undefined indexes on Special:GiveGift with the gift_id URL param specified

https://gerrit.wikimedia.org/r/574219

Change 574219 merged by Jack Phoenix:
[mediawiki/extensions/SocialProfile@master] Fix E_NOTICE about undefined indexes on Special:GiveGift with the gift_id URL param specified

https://gerrit.wikimedia.org/r/574219

Change 574748 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/SocialProfile@master] Fix E_NOTICE about undefined indexes on Special:SendBoardBlast

https://gerrit.wikimedia.org/r/574748

Change 574748 merged by Jack Phoenix:
[mediawiki/extensions/SocialProfile@master] Fix E_NOTICE about undefined indexes on Special:SendBoardBlast

https://gerrit.wikimedia.org/r/574748

Change 574752 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/SocialProfile@master] Fix viewing of private user board messages on Special:UserBoard

https://gerrit.wikimedia.org/r/574752

Change 574752 merged by Jack Phoenix:
[mediawiki/extensions/SocialProfile@master] Fix viewing of private user board messages on Special:UserBoard

https://gerrit.wikimedia.org/r/574752

Change 574818 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/Comments@master] Ostrzyciel's fix for anons who may not have performed any other actions than commenting or getting their comments blocked

https://gerrit.wikimedia.org/r/574818

Change 574881 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/SocialProfile@master] Add a bunch of "does the old field even exist?" checks to the actor migration scripts

https://gerrit.wikimedia.org/r/574881

Change 574881 merged by Jack Phoenix:
[mediawiki/extensions/SocialProfile@master] Add a bunch of "does the old field even exist?" checks to the actor migration scripts

https://gerrit.wikimedia.org/r/574881

Change 574818 merged by jenkins-bot:
[mediawiki/extensions/Comments@master] Ostrzyciel's fix for anons who may not have performed any other actions than commenting or getting their comments blocked

https://gerrit.wikimedia.org/r/574818

Change 582898 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/SocialProfile@master] UserRelationship: fix undefined variable after adding a foe/friend

https://gerrit.wikimedia.org/r/582898

Change 582922 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/SocialProfile@master] UserRelationship: fix E_NOTICE about undefined property

https://gerrit.wikimedia.org/r/582922

Change 582898 merged by jenkins-bot:
[mediawiki/extensions/SocialProfile@master] UserRelationship: fix undefined variable after adding a foe/friend

https://gerrit.wikimedia.org/r/582898

Change 582922 merged by jenkins-bot:
[mediawiki/extensions/SocialProfile@master] UserRelationship: fix E_NOTICE about undefined property

https://gerrit.wikimedia.org/r/582922

Change 583063 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/Challenge@master] Fix E_NOTICE about undefined 'user_name' index on Special:ChallengeUser

https://gerrit.wikimedia.org/r/583063

Change 583063 merged by jenkins-bot:
[mediawiki/extensions/Challenge@master] Fix E_NOTICE about undefined 'user_name' index on Special:ChallengeUser

https://gerrit.wikimedia.org/r/583063

Change 593926 had a related patch set uploaded (by Paladox; owner: Paladox):
[mediawiki/extensions/SocialProfile@master] Fix path to migrateOldUserStatsUserColumnsToActor.php in hooks

https://gerrit.wikimedia.org/r/593926

Change 593926 merged by jenkins-bot:
[mediawiki/extensions/SocialProfile@master] Fix path to migrateOldUserStatsUserColumnsToActor.php in hooks

https://gerrit.wikimedia.org/r/593926

Change 626552 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/SocialProfile@master] Don't compare actor IDs to user IDs, they're two separate concepts...

https://gerrit.wikimedia.org/r/626552

Change 626552 merged by jenkins-bot:
[mediawiki/extensions/SocialProfile@master] Don't compare actor IDs to user IDs, they're two separate concepts...

https://gerrit.wikimedia.org/r/626552

Change 649122 had a related patch set uploaded (by Jack Phoenix; owner: Jack Phoenix):
[mediawiki/extensions/SocialProfile@master] Fix a fatal in the RandomFeaturedUser parser tag hook + improve escaping while I'm at it

https://gerrit.wikimedia.org/r/649122

Change 649122 merged by jenkins-bot:
[mediawiki/extensions/SocialProfile@master] Fix a fatal in the RandomFeaturedUser parser tag hook + improve escaping while I'm at it

https://gerrit.wikimedia.org/r/649122

Change 682341 had a related patch set uploaded (by Jack Phoenix; author: Jack Phoenix):

[mediawiki/extensions/QuizGame@master] Fix Special:QuizLeaderboard so that it actually displays user data

https://gerrit.wikimedia.org/r/682341

Change 682341 merged by jenkins-bot:

[mediawiki/extensions/QuizGame@master] Fix Special:QuizLeaderboard so that it actually displays user data

https://gerrit.wikimedia.org/r/682341

Aklapper subscribed.

Removing task assignee due to inactivity as this open task has been assigned for more than two years. See the email sent to the task assignee on August 22nd, 2022.
Please assign this task to yourself again if you still realistically [plan to] work on this task - it would be welcome!
If this task has been resolved in the meantime, or should not be worked on ("declined"), please update its task status via "Add Action… 🡒 Change Status".
Also see https://www.mediawiki.org/wiki/Bug_management/Assignee_cleanup for tips how to best manage your individual work in Phabricator. Thanks!

Change 954962 had a related patch set uploaded (by Jack Phoenix; author: Jack Phoenix):

[mediawiki/extensions/SportsTeams@master] Fix two E_NOTICEs in Special:SimilarFans

https://gerrit.wikimedia.org/r/954962

Change 954962 merged by jenkins-bot:

[mediawiki/extensions/SportsTeams@master] Fix two E_NOTICEs in Special:SimilarFans

https://gerrit.wikimedia.org/r/954962

Change 961254 had a related patch set uploaded (by Jack Phoenix; author: Jack Phoenix):

[mediawiki/extensions/SocialProfile@master] Fix purgeAvatarKeysFromMemcached.php so that it has a chance of actually working

https://gerrit.wikimedia.org/r/961254

Change 961254 merged by jenkins-bot:

[mediawiki/extensions/SocialProfile@master] Fix purgeAvatarKeysFromMemcached.php so that it has a chance of actually working

https://gerrit.wikimedia.org/r/961254