Page MenuHomePhabricator

Build GoneFishing tool
Open, Needs TriagePublic

Description

A simple tool which allows you to specify between which dates you will be away.

Motivation

For my work account I should actively avoid reading messages during my holidays, on a platform where most interactions are with volunteers ignoring messages for an extended period of time without any explanation risks being misunderstood as wilfully ignoring those messages.

What should it do

On the start date a simple message bar is automatically added to your user page and user talk page on every wiki where one exists explaining that you are away and will not be reading any messages (with optional point of contact for emergencies).

On the end date those messages are all removed again.

This can first be implemented as a script (manually run on start and end), then add on mechanisms for self-scheduling and later expand it as an OAuth:ed tool open for all.

Random thoughts about implementation

  • Finding all existing user/user talk pages needs some basic logic to recognise redirects and soft redirects and not update these.
  • Ensure SUL so that you don't edit the pages of that poor sucker who uses the same username on that one wiki.
  • Centralised userpage on Meta is cool... but the talk page isn't centralised, hence the need for finding all of those other pages.
  • While templates intuitively make sense to use it would require creating this on every wiki. Easier to just run with a blob of html/wikitext.
  • Store any active aways on disc (start+end dates, edited pages, added message) so that they can be batch removed even if the tool crashes halfway through.
  • The text contents of the message will probably need to be set per user/away (thus the need to store the message.)
  • OAuth is key to ensure the tool can never be used for awaying another user.
  • OAuth allows the edits to be made in the users own name meaning you don't trigger "unread message" alerts on all of those wikis.
  • OAuth also means that if you manage to break the escaping so that the bot can't remove the templates then you only have yourself to blame.
  • Worry about how to store aways in a way so that adding a new one doesn't interfere with the automatic removal of another.

Cool but non-basic features

  • List all active aways
  • Add an opt-out to the above listing
  • Optionally specify which wikis to activate it on (think checkboxes for wikis where a page was found)