The on-wiki version of this newsletter can be found here: https://www.wikifunctions.org/wiki/Wikifunctions:Status_updates/2025-06-15 -- Closing the consultation about the location of Abstract Content
We are closing the consultation about the location of Abstract Content https://meta.wikimedia.org/wiki/Abstract%20Wikipedia/Location%20of%20Abstract%20Content. Thanks to everyone who contributed, directly on meta wiki, and in any other way to the consultation. We will now discuss the arguments and options internally. We plan to make a decision and set up a plan on how to implement it in the upcoming Quarter. Again, thanks to everyone in the community who contributed to the consultation! Natural Language Generation Special Interest Group meeting on June 17
The next meeting of the NLG SIG (Natural Language Generation Special Interest Group) https://www.wikifunctions.org/wiki/Wikifunctions:NLG_SIG#Upcoming_meeting will be on this upcoming Tuesday, June 17, 2025, at 16:00-17:00 UTC https://zonestamp.toolforge.org/1750176000 on Google Meets https://meet.google.com/xzn-kqer-mah. Mahir256 https://www.wikifunctions.org/wiki/User:Mahir256 will lead the session on the suggested topic *“Exploring Sources for Constructs used in Abstract Content”*. Everyone is invited to join! Recent Changes in the software
We have made a lot of progress on things this week, especially around our commitments for work this Quarter.
The most immediately-visible change this week is the 'error' mode for embedded Wikifunctions calls (T390554 https://phabricator.wikimedia.org/T390554). In the original design shared with communities last year, these had been slim, in-line notices, but to get the system out and tested sooner we initially shipped the very "heavy", boxy, disruptive, standard MediaWiki error box. We have now completed the design and implementation of the inline form, showing as a "pill" in read mode. Inside the visual editor, you can interact with them to find out what has broken and how you can fix it. We're keen to hear your thoughts on this, and all our systems, as always.
Another one of our bigger pieces of work this Quarter has been to cache Objects in the back-end services rather than fetch them from the wiki ( T390743 https://phabricator.wikimedia.org/T390743). This week the last piece was put into place, where each creation of or edit to an Object submits it to this cache, needed to avoid split-brain breakages (T391971 https://phabricator.wikimedia.org/T391971). Each Object fetch from Wikifunctions.org could take up to 50ms, which for the Function and then its Implementation could end up dominating the few milliseconds of execution time, using up server resources (and making users wait for things to load). As of late on Wednesday UTC, we switched the caching service on, and immediately saw some speed improvements for simple and complex Functions alike.
Our work on light-weight enum Types (T390558 https://phabricator.wikimedia.org/T390558) nears completion, with implementation of the UX interface for creating these (T391916 https://phabricator.wikimedia.org/T391916), and a selector for using them (T391917 https://phabricator.wikimedia.org/T391917). We will demonstrate the system soon, once it's complete. Related to this work, we fixed a UX issue in the Object selector component when it was set to allow multiple different Types, which meant that you could be shown two identically-named Objects and not know which was e.g. the Type 'foo and which was a Function called 'foo'; in these cases, we now show an icon to help you distinguish between them. We also fixed a bug in our code that meant we were sending malformed Objects, spotted in integration testing (T396034 https://phabricator.wikimedia.org/T396034). Finally, we extended the general Type selector to include Functions that return a generic Object in the default view, rather than apply this assumption made for editing Functions to other contexts (T396324 https://phabricator.wikimedia.org/T396324).
Our work on supporting more forms of data from Wikidata also continues ( T390559 https://phabricator.wikimedia.org/T390559). We have created the Types for these items — Z6010 (T391212 https://phabricator.wikimedia.org/T391212), Z6011 (T391213 https://phabricator.wikimedia.org/T391213), and the set of Z6060, Z6061, Z6062, Z6063, & Z6064 (T391208 https://phabricator.wikimedia.org/T391208). This included some testing scaffolding with the underlying community-contributed Types that power these (T394960 https://phabricator.wikimedia.org/T394960).
We have developed and implemented a new, more compressed protocol for communication between the back-end services, which should fix a number of issues related to Types getting vastly expanded and then breaking (T394314 https://phabricator.wikimedia.org/T394314, and related issues T394658 https://phabricator.wikimedia.org/T394658, T394664 https://phabricator.wikimedia.org/T394664, and T395371 https://phabricator.wikimedia.org/T395371).
We fixed the 'preview' pane in the visual editor integration on client wikis to work with blank (default) values for Gregorian calendar dates ( T396035 https://phabricator.wikimedia.org/T396035), as a final follow-up to that feature being released last week.
We added OpenTelemetry monitoring code to our core APIs, so we can track better where server time is spent and where there might be issues we can fix so the service works more smoothly and reliably (T394360 https://phabricator.wikimedia.org/T394360). We also made sure to re-use MediaWiki's "request-wide" trace instance where it is available, so we can track the complete lifecycle of requests (T396167 https://phabricator.wikimedia.org/T396167).
We refactored our client-wiki, server-side code a little further to split out our cache-accessing code from our "business logic", like we do for database access. We upgraded our test code's version of Codex, catching up with the MediaWiki release last week. We fixed a cache check typo (before it reached production) that would have meant that all cache results would have been ignored. Finally, we corrected some out-of-date developer documentation that was pointing to the wrong way to run browser tests, changed since we switched to using the new Catalyst system.
We added support for two new languages, as part of wider work to support them in MediaWiki: Z1972/yua (T395223 https://phabricator.wikimedia.org/T395223) and Z1973/dlg (T395396 https://phabricator.wikimedia.org/T395396). News in Types
For our current work to support import of more Wikidata content (T390559 https://phabricator.wikimedia.org/T390559), discussion and implementation as per update above on three new types proposals are ongoing: Wikidata time https://www.wikifunctions.org/wiki/Wikifunctions:Type_proposals/Wikidata_time , Wikidata quantity https://www.wikifunctions.org/wiki/Wikifunctions:Type_proposals/Wikidata_quantity, and Wikidata geocoordinates https://www.wikifunctions.org/wiki/Wikifunctions:Type_proposals/Wikidata_geocoordinates. The discussions are close to winding down. Fresh Functions weekly: 55 new Functions
This week we had 55 new functions. Here is a list of functions with implementations and passing tests to get a taste of what functions have been created. A lot going on with dates! Thanks everybody for contributing.
- Gregorian date to Dagbani calendar date (Z24880) https://www.wikifunctions.org/wiki/Z24880 - Gregorian calendar date identity (Z24884) https://www.wikifunctions.org/wiki/Z24884 - time between two dates with unit in English (Z24901) https://www.wikifunctions.org/wiki/Z24901 - day of year from calendar date (Z24936) https://www.wikifunctions.org/wiki/Z24936 - year from calendar date (Z24948) https://www.wikifunctions.org/wiki/Z24948 - date from day of year and year (Z24962) https://www.wikifunctions.org/wiki/Z24962 - previous calendar day (Z24968) https://www.wikifunctions.org/wiki/Z24968 - date as English "day Month" string (Z24974) https://www.wikifunctions.org/wiki/Z24974 - display Day of Roman year, Italian (Z24979) https://www.wikifunctions.org/wiki/Z24979 - display Day of Roman year, dag (Z24984) https://www.wikifunctions.org/wiki/Z24984 - display Day of roman year, es (Z24987) https://www.wikifunctions.org/wiki/Z24987 - read Day of Roman Year (Z24990) https://www.wikifunctions.org/wiki/Z24990 - is a standard Roman day format? (Z25007) https://www.wikifunctions.org/wiki/Z25007 - read Roman calendar date in standard format (Z25016) https://www.wikifunctions.org/wiki/Z25016 - read Day of roman year, mul (Z25022) https://www.wikifunctions.org/wiki/Z25022 - read Day of roman calendar, Italian (Z25032) https://www.wikifunctions.org/wiki/Z25032 - read Day of roman year, English (day month) (Z25038) https://www.wikifunctions.org/wiki/Z25038 - read Day of roman year, en, dag (md) (Z25043) https://www.wikifunctions.org/wiki/Z25043
A complete list of all functions sorted by when they were created https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest is available.
abstract-wikipedia@lists.wikimedia.org