Hello everyone,
Apologies for cross-posting.
Gentle reminder that the Fall 2025 MediaWiki Users & Developers Conference<https://www.semantic-mediawiki.org/wiki/MediaWiki_Users_and_Developers_Conf…> will be held on October 28-30th, and hosted by the TIB Leibniz Centre in Hanover, Germany.
On behalf of the Program Committee with this email we want to extend an invitation for tutorial proposals on any topic related to MediaWiki usage, deployment or development, including the MediaWiki extension ecosystem (Wikibase, Semantic MediaWiki, etc). Tutorials can be up to 90 mins long and held in hybrid format.
The call for contributions<https://www.semantic-mediawiki.org/wiki/MediaWiki_Users_and_Developers_Conf…> remains open until September 5th. To propose a tutorial or any other form of contribution talk for this conference, just fill out this form<https://www.semantic-mediawiki.org/wiki/Special:FormEdit/Talk?Talk%5BConfer…>.
Everyone is encouraged to attend, to meet and discuss MediaWiki-related topics relating to both the Wikimedia world and uses within companies, organizations, etc.
Thank you, and I hope to see many of you in Hanover!
Lozana Rossenova, on behalf of the conference team
The on-wiki version of this newsletter can be found here:
https://www.wikifunctions.org/wiki/Wikifunctions:Status_updates/2025-09-12
----
More than 3,000 functions on Wikifunctions
Since last week, thanks to the diligent work of the volunteer contributors,
we now have more than 3,000 functions available on Wikifunctions! We want
to congratulate the community on this milestone. That is about *four new
functions every single day* since WIkifunctions has been launched.
Thank you!
In order to mark this occasion, we have identified the 3000th Function and
look at it as the Function of the Week section below. (It is a little bit
vague on how to choose the 3000th Function. At time of writing, we sorted
all still existing functions by time of creation, and took the 3000th entry
on that list. Note that this may lead to a different result in the future
if older Functions get deleted).
I can tell you that there is a lot to talk about with this function! But
see below.
A Path to a World Where Everyone Can Share in the Sum of All Knowledge
Veronica Thamaini <https://meta.wikimedia.org/wiki/User:VThamaini%20(WMF)>
and Denny Vrandečić
<https://www.wikifunctions.org/wiki/User:DVrandecic_(WMF)> published a
short perspective for the MacArthur Foundation, discussing the Abstract
Wikipedia proposal, one of five finalists for MacArthur’s ongoing
100&Change program <https://www.100andchange.org/>.
You can read the text here: A Path to a World Where Everyone Can Share in
the Sum of All Knowledge
<https://www.macfound.org/press/perspectives/a-path-to-a-world-where-everyon…>
Cory presenting at the CEE 2025 meeting
The Wikimedia CEE Meeting
<https://meta.wikimedia.org/wiki/Wikimedia%20CEE%20Meeting%202025> will be
held in Thessaloniki, Greece, 26-28 September, organized by Wikimedia UG
Greece. Our own Cory Massaro
<https://www.wikifunctions.org/wiki/User:CMassaro_(WMF)> will hold a
presentation on Wikifunctions and Abstract Wikipedia there. He will discuss
the kinds of natural language content that can currently be generated with
Wikifunctions, then give a brief exploration of existing functions that
work in multiple languages.
Recent Changes in the software
This week, most of our landed work has been addressing issues found in
usability testing (T397411 <https://phabricator.wikimedia.org/T397411>).
We have extended the Function search system to split user inputs if they
contain spaces, so searching for 'fish count' will find 'counts of fishing'
and 'levels of fish' and 'fishing' and 'counting' which would have been
hidden before; previously we used the whole term only (T400268
<https://phabricator.wikimedia.org/T400268>). We also clarified the message
shown when there are no results, which might prompt people to try a
different term. We know that this will not work for languages that do not
use spaces or where users don't know what term to use, but we hope that
this will help users in more cases to find Functions with different names
to what they type in, and we're keen to re-test the experience (T395477
<https://phabricator.wikimedia.org/T395477>).
When you add or edit a function call, the dialog checks your inputs for
validity. We have changed how often it does this, rather than waiting for
you to click out of the field, which should give feedback faster and let
you click the "Insert" button more swiftly (T395476
<https://phabricator.wikimedia.org/T395476>). We have changed the design
for the search dialog in the visual editor integration to be more
prominent, so that suggested functions and search results look more
different (T395474 <https://phabricator.wikimedia.org/T395474>).
We believe that we have fixed a user-facing bug that meant the "details"
link in some cases would not work but instead silently crash, if the result
was 'wrong' but no error was given (T403834
<https://phabricator.wikimedia.org/T403834>). We re-wrote and so improved
the speed of the database query when fetching labels based on the user's
requested languages, hopefully making the interface much snappier and less
load on the databases when doing this step.
We fixed some of our internal tests that broke when MediaWiki's fall-back
language for Asturian switched from Spanish to English (T292750
<https://phabricator.wikimedia.org/T292750>). We have tweaked the
definition of some of our APIs so that they don't error when the help
descriptions are generated on client wikis (T403151
<https://phabricator.wikimedia.org/T403151>). We added some logging to
track down a noisy error related to incomplete data (T402670
<https://phabricator.wikimedia.org/T402670>). We switched the test version
of Codex to v2.3.1 to match MediaWiki's (T403722
<https://phabricator.wikimedia.org/T403722>).
Next round of Wiktionaries to receive embedded Wikifunctions calls
Next week, we plan to deploy the ability to embed calls to Wikifunctions to
another set of Wiktionaries. We currently plan to deploy to the following
60 languages: Kannada, Lithuanian, Telugu, Ido, Norwegian (Bokmal and
Nynorsk), Malay, Arabic, Burmese, Khmer, Afrikaans, Azerbaijani, Esperanto,
Estonian, Limburgish, Danish, Croatian, Sanskrit, Breton, Slovak, Albanian,
Swahili, Mon, Georgian, Latin, Occitan, Slovenian, Basque, Tagalog, Kyrgiz,
Javanese, Sango, Lao, Min Nan, Sicilian, Urdu, Sinhala, Irish, Kazakh,
Luxembourgish, Low German, Latvian, Western Frisian, Lombard, Welsh,
Saraiki, Oriya, Pashto, Pa’O, Nepali, Bosnian, Fijian, Marathi, Nauru,
Tatar, Oromu, and Kabardian.
They will join the 64 Wiktionary language editions that already have access
to embedded Wikifunctions calls. Later this year, we plan to expand to
further Wiktionaries.
News in Types: Grammatical number (singular / dual / plural) and Chemical
elements
In some languages, there isn’t just a singular and a plural – there’s also
a dual <https://en.wikipedia.org/wiki/Dual%20(grammatical%20number)>, a
specific form only used when there are exactly two items. Based on the proposal
by Dv103
<https://www.wikifunctions.org/wiki/Wikifunctions:Type_proposals/Grammatical…>,
we have no created a lightweight enumeration: Grammatical number (singular
/ dual / plural) (Z28215) <https://www.wikifunctions.org/wiki/Z28215>
We are looking forward to creating more of the requested lightweight types,
but I’d like to see more people voting, reviewing, and discussing them. I
think just one vote in addition to the proposer isn’t really enough. Please
join the proposal discussions
<https://www.wikifunctions.org/wiki/Wikifunctions:Type_proposals>.
The situation around the chemical elements (Chemical element (Z27951)
<https://www.wikifunctions.org/wiki/Z27951>) type has improved, and they
seem to work in most functions, but their display is still showing QIDs
instead of labels (T404353 <https://phabricator.wikimedia.org/T404353>).
Until this is resolved, I am keeping that type in the “In progress”
category.
Upcoming NLG SIG meeting on 23 September[edit source
<https://www.wikifunctions.org/w/index.php?title=Wikifunctions%3AStatus_upda…>
]
The next NLG SIG Meeting
<https://www.wikifunctions.org/wiki/Wikifunctions:NLG_SIG#Upcoming_meeting> was
planned next Tuesday. Due to some conflicting meetings we are moving the
meeting by one week, to Tuesday, 23 September, 16:00-17:00 UTC. Denny
Vrandečić will be presenting on abstract representation.
Function of the Week: name for table header (Z27885)
Name for table header <https://www.wikifunctions.org/wiki/Z27885> is a
Function that takes a Wikidata item reference
<https://www.wikifunctions.org/wiki/Z6091> and a language
<https://www.wikifunctions.org/wiki/Z60>, and returns a text representing
that Wikidata item in the given language. This is specifically for using it
in tables.
The interesting part is how clever the function is in order to get a good
name for an item – and certainly something that can be reused or built upon:
First, it looks for a Lexeme that is connected to the item. If there is
none, it takes the Label of the Item, also going through a fallback chain
<https://www.wikifunctions.org/wiki/Z27899>. If there are Lexemes, it takes
the best Lexeme for the given Item
<https://www.wikifunctions.org/wiki/Z27327> and then picks the representation
string that is better matching
<https://www.wikifunctions.org/wiki/Z27327> against
a set of grammatical features: singular, singulative, nominative, no
mutation.
These are three quite complex Functions working together, with the goal to
get a good representation for a given Item and increase coverage. Each of
these Functions would be worthwhile to dive into and understand. This also
reminds me of Mahir Morshed’s talk in March on finding lexemes for concepts
<https://elemwala.toolforge.org/static/nlgsig-18march.html>, where he
explores many more paths to finding the right Lexeme.
This is a fascinating and useful Function.
Recording of September Volunteers’ Corner
This week, our Volunteers’ Corner stumbled over some service outages by
Google Meet. Quite a few people who wanted to join, couldn’t, and others
had issues with audio or video. We still had a corner, although with a
number of improvisations. The recording of the September’s Volunteers’
Corner is, as always, available on Wikimedia Commons
<https://commons.wikimedia.org/wiki/File:Abstract_Wikipedia_Volunteer_Corner…>
.
Fresh Functions weekly: 27 new Functions
This week we had 27 new functions. Here is an incomplete list of functions
with implementations and passing tests to get a taste of what functions
have been created. Thanks everybody for contributing!
- quantities have identical units (Z27979)
<https://www.wikifunctions.org/wiki/Z27979>
- UTC time of sunset for coordinates on date (Z27999)
<https://www.wikifunctions.org/wiki/Z27999>
- UTC time of sunset for Wikidata location on date (Z28005)
<https://www.wikifunctions.org/wiki/Z28005>
- sum of finite zero-centred power series (Z28009)
<https://www.wikifunctions.org/wiki/Z28009>
- defining role sentence in German (Z28018)
<https://www.wikifunctions.org/wiki/Z28018>
- default defining role sentence (Z28019)
<https://www.wikifunctions.org/wiki/Z28019>
- defining role sentence in English (Z28026)
<https://www.wikifunctions.org/wiki/Z28026>
A complete list of all functions sorted by when they were created
<https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderb…>
is
available.