Page MenuHome SharvaniharanJan 7 2025, 4:23 AM
Tags
Referenced Files
None
Subscribers

Description

Background

In previous quarters, we focused on developing a local prototype to integrate Wikifunctions with Wikipedia. This involved conducting research, designing solutions, building software prototypes, and performing usability testing to validate our concept. This quarter, our objective is to operationalize this integration by releasing it on Dagbani Wikipedia, making it the first wiki where Wikifunctions can be used to improve content.

Approach

Phase 0: Get functionality ready to deploy
  • Function calls can be made in wikitext: {{#function Z801|"hello"}} → "hello" or {{#function Z12345|2020-04-10|parselang=en|renderlang=en}} → 10 April 2020
  • [Partially done; rest is blocked by ACF: T374870] Call results are made over the network to WF.org
  • Results of function calls are cached in the WF-specific memcached system, and shared between different wikis
  • Errors are flagged and findable via tracking categories
  • [Partially done] Results are updated when the relevant function is updated, and show up in RC/Watchlist/etc. – part of T383156
  • [Partially done] Results are updated when the relevant Wikidata item is updated, and show up in RC/Watchlist/etc. – part of T383156
Phase 1: Deploy on production test2wiki (testable for functionality)
  • Deploy above to test2wiki to demonstrate that desktop editors of test2wiki can make a simple function edit by calling Wikifunctions.

Then, develop the MVP design version (not including the user education enhancements):

  • [Partially done; blocked by T373253] Integration with VisualEditor and 2017 wikitext editor to insert and edit these calls in a guided way
    • Basic raw integration available
    • Insertion search tool uses an API that filters functions to the ones people can use
    • Rich WF.org function calling code integrated into the dialog
      • Support for plain text values
      • Support for enum values
      • Support for parsed values
      • Function errors are shown as designed
      • Tweaks to i18n fallback chains for display
      • Colourful icons for the Function and for Wikifunctions logo
    • [Stretch; working with Editing team] Mobile VE toolbar adjusted so that the "Insert" menu shows up, so WF can be meaningfully used on mobile devices too.
Phase 2: Deploy on Dagbani Wikipedia (usable for Dagbani)
  • Agree in the team that we've achieved the final MVP design and we're ready to go.
  • Agree with the team's stakeholders (SRE, Security) that we're ready to go.
  • Before the feature is switched on, we will give the community a heads-up through collaboration channels.
  • Work with the Wikifunctions community to ensure there are useful Functions; probably Age, Intro for year, and [Stretch goal] Conversion (contingent on extra UX work)
  • Roll the feature out, including a visible tool in the VE and 2017 source desktop editors

Acceptance Criteria

  • The Wikifunctions client integration is enabled and working on the Dagbani Wikipedia.
  • The experience is based on the MVP design shown to the community, with filtering
  • Mobile menu option is available
  • We create a how-to guide in the weekly update (and translated into Dagbani) to help Dagbani Wikipedia editors to insert and edit Wikifunctions calls in their articles.
Stretch Goals (optional)
  • We extend the client integration to show suggested functions in the dialog when it first opens, controlled by the local community.
  • The language and UI components used throughout the user experience should be simple and unambiguous, and should be tested with a control group before release

Success metrics

  • Release is sufficiently early in the Quarter to give opportunity for the team to adjust/course-correct, and to inform wider team work on deployment to other Wikipedias.
  • Evidence that the feature is being used organically by community members
  • No major revert-wars around usage
  • Positive feedback from working group

Details

SubjectRepoBranchLines +/-
mediawiki/extensions/WikiLambda
Sharvaniharan updated the task description. (Show Details)
Sharvaniharan updated the task description. (Show Details)
Z21121? Asking because I created them and feel a responsibility for maintaining them.

Change #1126135 had a related patch set uploaded (by Genoveva Galarza; author: Genoveva Galarza):

[mediawiki/extensions/WikiLambda@master] Fix FunctionCallHandler to perform calls with parsers/renderer

Change #1126135 merged by jenkins-bot:

[mediawiki/extensions/WikiLambda@master] Fix FunctionCallHandler to perform calls with parsers/renderer

Change #1126660 had a related patch set uploaded (by Jforrester; author: Jforrester):

[operations/mediawiki-config@master] [test2wiki] Enable Wikifunctions client mode

Change #1126661 had a related patch set uploaded (by Jforrester; author: Jforrester):

[operations/mediawiki-config@master] [wikifunctionswiki] Enable Wikifunctions client mode