Jump to content

Wikifunctions:Status updates/2025-12-04

From Wikifunctions
Wikifunctions Status updates Translate

Abstract Wikipedia via mailing list Volunteer Response Team Abstract Wikipedia on IRC Wikifunctions on Telegram Wikifunctions on Mastodon Wikifunctions on Twitter Wikifunctions on Facebook Wikifunctions on YouTube Wikifunctions website Translate

And the name is Abstract Wikipedia

In October, we started the naming process for the wiki of language independent content. The process involved two rounds of voting: the first round in order to generate many names and find a few favorites to take to the second round. More than 150 Wikimedians voted in the first round on more than 100 community-submitted proposals, leading to five top proposals. Two weeks ago we then started the second round of voting, and we closed the voting process this Monday during the Volunteers’ Corner (recording below). 209 Wikimedians participated in the second round of voting. We removed votes that did not fulfill the eligibility criteria. Here are the results.

We counted 191 valid votes. In the first round of counting votes, Wikigenerator received the top vote 55 times, Abstract Wikipedia 54, Wikiabstracts 33, Proto-Wiki 28, and Multilingual Wikipedia 21 times. A tight race with the two top options being very close to each other. But since no option received an absolute majority of votes and Multilingual Wikipedia received the lowest number of votes, we removed that option and recounted the votes for the second round.

In the second round of counting votes, Abstract Wikipedia received 62 times the top vote, Wikigenerator 61, Wikiabstracts and Proto-Wiki each 34 times. Again, the two top options remained very close to each other, but again no option received an absolute majority. Since the lowest number of votes was received by both Wikiabstracts and Proto-Wiki, we removed both of these options, and recounted the votes for the third and final round.

In the third round of counting votes, Abstract Wikipedia received 100 and Wikigenerator 91 votes. This means that an absolute majority preferred Abstract Wikipedia over Wikigenerator, and this leads to Abstract Wikipedia winning the community vote.

We then submitted the name for a final legal review, which has since concluded and cleared the name Abstract Wikipedia for the use for the new wiki. We will now proceed with planning and developing Abstract Wikipedia.

We want to express thanks to everyone participating in the process, for making proposals, voting on the proposals, and spreading the word about the vote. We also want to thank all the internal teams who helped with the process, particularly the legal and brand departments.

Demo video for two new features: shareable function calls and custom statement component

Shareable function calls
Custom Wikidata Statement component

Last week, we introduced and demoed a new feature in the newsletter: shareable function calls. It is now possible to link directly to a function call with filled-in arguments. What is 2+2? What day of the week did Wikipedia start?

Daphne Smit has made a video demonstrating that new feature. We hope you enjoy the new feature and find plenty of places you can use it!

Daphne also created a video demonstrating the new custom Wikidata Statements component, which makes the view of Wikidata statements so much more compact.

Recent Changes in the software

Last week was our regular fix-it week, and so it brought a wide range of interface improvements and bug fixes across Wikifunctions.

Based on community feedback, we identified and solved a bug where new custom error types were incorrectly treated as enumerations, requiring elevated permissions. This has now been fixed, and any logged-in user can successfully create new error types (T411332).

We also improved rendering performance. Expanding or collapsing steps in a function no longer triggers repeated API calls to re-render values; Successfully rendered results are remembered, making viewing compositions like this noticeably faster (T409722).

And we also made a lot of interface improvements:

  • Function argument handling received an update (T405839, T368497): we resolved issues that appeared when editing/viewing labels for functions with many arguments (9+).
  • Now, enum dropdowns appear in a sensible order (by ZID), and sorting across several lists has been improved.
  • Browsing large lists in the ZObject selector is smoother now too (T409537); new items get added to the list now instead of being replaced.
  • Test creation has been streamlined so that when creating a new test, the relevant test sections automatically open (T408175).
  • Strings now display exactly as written, including leading spaces, ensuring accurate representation (T343608).
  • Interacting with language components feels more intuitive as well: clicking on an empty language chip in a ZMonolingualString immediately expands to show the editable fields (T402812), and the multilingual string languages button is now using a smaller button so users do not get confused with the “about languages” button (T405629).
  • Finally, we resolved an issue where the publish success message would reappear when navigating with the browser’s back button after publishing (T341672).

Wikidata components handling edge-cases

Components for Wikidata entities strongly depend on the Wikidata entity ID being available so that they can be rendered with the Wikidata entity label and the link to the corresponding page. However, frequently – and often in the context of a composition – Wikidata references in Wikifunctions may have unexpected values. These cases were not handled, and were appearing as red links (as reported in T406970) or empty fields (as described in T380440).

This week we have invested some time into pinning down all these edge cases and making sure that Wikidata entity components can reflect any existing value in view mode, edit mode, and when shown inside a collapsed function call. The edge cases we have identified are:

  • A Wikidata entity reference has an empty ID: in this case, the view component should show some kind of placeholder that identifies its empty state.
  • A Wikidata entity reference has a non-valid ID: In this case, the component should not produce a false (and potentially dangerous) link.
  • A Wikidata entity reference (or its string ID) is defined by an argument reference or a function call: in this case, the component should detail its structure clearly.

In the table you can see how they looked before, and how they look after this change.

Feel free to explore it in the Sandbox composition Z30096! And see more screenshots on the respective task (T380440).

New options for retrieving Wikidata entities

Z6820 / Fetch Wikidata entities has received a major upgrade, with three new filtering arguments. As background, the first argument, unchanged, takes a list of Wikidata entity references, which can be of mixed types including Wikidata item reference, Wikidata property reference, Wikidata lexeme reference, Wikidata lexeme form reference, and Wikidata lexeme sense reference. Previously this function always retrieved the complete content of each requested reference.

The new filtering arguments allow for the retrieval of partial content. They can be used to substantially reduce the size of retrieved entities, which can make the content much easier to browse, and can also have performance benefits.

If desired, it will be easily possible to make wrapper functions which enable various bespoke uses of Z6820 / Fetch Wikidata entities, such as the following:

  • Fetch full Wikidata entities ( <list of entity reference> )
  • Fetch entity statements ( <list of entity reference> )
  • Fetch entity labels ( <list of entity reference> )
  • Fetch entity parts ( <list of entity reference>, <list of parts> )
  • Fetch entity content in languages ( <list of entity reference>, <list of languages> )
  • Fetch entity statements with properties ( <list of entity reference> <list of property reference> )

Each of these could also be written to take a single entity reference in the first argument, rather than a list. Please feel free to create a variety of wrapper functions!

Recording of Volunteers’ Corner

Volunteers' Corner December 2025

This week’s Volunteers’ Corner saw the close of the naming vote, and also us working together on a function for creating the French sentence "Un poulain est un jeune cheval." (A foal is a young horse).

The recording is available, as always, on Commons.

Fresh Functions weekly: 58 new Functions

This week we had 58 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!

A complete list of all functions sorted by when they were created is available.