We will add a feature to the WikiLambda stack that powers Wikifunctions, in the WikifunctionsClient extension, allowing users to add function calls from wikitext on developers' local machines, accessible behind a feature flag; it will not be live on Wikifunctions.org. The result will be plain text.
- (T368604) It will work with text inputs, and parse them into inputs as needed if possible.
- (T362252) It will work with text outputs, and render them into plain text as needed if possible.
- It will have user-friendly error handling that adheres to MediaWiki standards.
- (T362254,T362256, etc.) It will be synchronous with the MediaWiki parse process (and so very slow page renders!).
This is preparatory work for the shippable version, T272516: Provide a mechanism by which editors can make Wikifunctions calls in wikitext, which will be based on the "asynchronous fragments" work MediaWiki group are working on from July 2024 onwards.
Acceptance Criteria
- Abstract Wiki team developers can demonstrate use of Wikifunctions calls, including the full successful life-cycle of calls being updated, as well as the failure cases of calls being invalid, not working, or other issues prompting editor attention.
- This demonstration will be of a simple "convert" function or equivalent, e.g. {{#function:Z12345|5|mile|km}} -> "5 miles (8 km)".
- The team will end the Quarter confident they can apply the prototype, alongside the new Asynchronous Content Fragments technology being built in parallel by the MediaWiki team, to cross-wiki function calls asynchronously rendered, next Quarter.
- Demo to the team as a video or live demo.
Goals & Success Metrics
- No regressions or blockers from the actual integration work