Page MenuHomePhabricator

Investigation to create first tasks for the new IP Info extension [4H]
Closed, ResolvedPublicAug 25 2020

Description

Goal
  • Technical investigation to plan the initial work for the new extension (creating the extension, making a basic popup, etc)
  • What's the maximum amount of work we can do before we can get data from the IP vendor(s)?

Details

Due Date
Aug 25 2020, 4:00 AM

Event Timeline

ARamirez_WMF renamed this task from Creating first tasks for the new extension to Investigation to create first tasks for the new extension.Aug 5 2020, 7:00 PM
ARamirez_WMF renamed this task from Investigation to create first tasks for the new extension to Investigation to create first tasks for the new extension [4H].Aug 6 2020, 4:51 PM
ARamirez_WMF changed the subtype of this task from "Task" to "Deadline".
dbarratt added a subscriber: Tchanders.

Based on the mockup F31936550, I think this is what we can do:

  1. Come up with a name for the new extension, request a repository, and request a new project (or takeover IP Info).
  2. Create a basic extension.json file and a new wikipage for the extension on MediaWiki.org
    • Deploy the extension to The Good Place
    • Add the extension to translatewiki.net (this may require creating a logo for it)
    • Create a ResourceLoader Module that is loaded with a hook (like BeforePageDisplay or HtmlPageLinkRendererEnd, the hook used could change) that displays a popup with fixed mock data when hovering over an IP address on the specialized page.
    • Create an API endpoint (either Action API or REST API) that accepts a log id or revision id and returns mock data about the IP address on that log or revision. The endpoint would return data for anon actions (and may return data for logged in users if the user has the proper permission, like checkuser)
  3. Remove the static mock data from the popup and make a request to the API endpoint for dynamic mock data.
  4. Request the necessary reviews before deployment.
  5. Deploy to beta cluster.
  6. Deploy to test.wikipedia.org.

At this point, everything should be working, the last task will be to replace the dynamic mock data being returned by the API with real data. We are making a small assumption that the data will be accessible from MediaWiki and not a completely independent service/database (still within our infrastructure). If that ends up being the case, we'll most likely remove the API endpoint we've created (not a huge loss).

@Tchanders & @Niharika If this makes sense, I'll convert this into tasks. :)

@dbarratt Thanks for making this comprehensive list!

I think we should request the performance and security reviews as early as possible, perhaps just after the extension is deployed to TheGoodPlace?

  • The performance review needs to be requested before the start of the quarter in which it will take place
  • The security review needs to be done with 30 days' notice

I suspect these reviews could be done at the mock data stage, as long as we have the plans in place for getting real data.

Looks good to me otherwise. @Niharika Do you have anything to add?

@dbarratt This all looks good to me. Thanks for the investigation. I think a lot of this can be re-used in the future whenever we think about creating new extensions. Perhaps we should document this on the wiki. Maybe under our team page?
I agree with @Tchanders' point about getting security and performance reviews early.

Oh and IP Info is for this project. I made it a few days ago.

Aklapper renamed this task from Investigation to create first tasks for the new extension [4H] to Investigation to create first tasks for the new IP Info extension [4H].Aug 13 2020, 5:07 PM

@Niharika Here is our road to deployment: T260597 (from bottom to top on the task graph)

I have also documented the general steps on the wiki: https://www.mediawiki.org/wiki/Anti-Harassment_Tools/New_Extensions

Thanks @dbarratt! I linked that page from the team page (under Helpful Links) so we can find it easily.