Jump to content

Wikifunctions:Status-Updates/2024-06-20

From Wikifunctions
This page is a translated version of the page Wikifunctions:Status updates/2024-06-20 and the translation is 100% complete.
Wikifunctions Status-Updates Translate

<translate> Abstract Wikipedia via mailing list</translate> <translate> Abstract Wikipedia on IRC</translate> <translate> Wikifunctions on Telegram</translate> <translate> Wikifunctions on Mastodon</translate> <translate> Wikifunctions on Twitter</translate> <translate> Wikifunctions on Facebook</translate> <translate> Wikifunctions on YouTube</translate> <translate> Wikifunctions website</translate> Translate

Neuer Typ: Integer

Wir freuen uns, einen neuen Typ: Integer ankündigen zu können. Integer sind alle positiven und negativen Zahlen sowie Null.

Mit Integern können wir Funktionen haben, die unsere Abdeckung mathematischer Funktionen erweitern, z. B. endet unsere aktuelle Subtraktionsfunktion bei Null. Dies hilft uns auch dabei, herauszufinden, wie wir mit überlappenden Typen umgehen, da die Typen Integer und natürliche Zahlen eng verwandt sind.

Der Typ Integer ist auch unser erster komplexer Typ, der seit dem Start eingeführt wurde. Ein komplexer Typ ist ein Typ, der mehr als einen einzigen Schlüssel hat und daher besonders von den Parser- und Renderer-Systemen profitiert. Wir wissen, dass der Parser und der Renderer sie etwas langsamer machen. Wir arbeiten daran, die Systemleistung zu verbessern.

Wir laden dich ein, Funktionen mit dem neuen Typ zu erstellen und sind gespannt, wie er funktionieren wird.

Letzte Änderungen an der Software

Wir sind kurz davor, das Quartal (April-Juni 2024) abzuschließen, und daher dreht sich ein Großteil der Arbeit in letzter Zeit (und in den nächsten zwei Wochen) um die Fertigstellung dieser acht langfristigen Ziele und die Vorbereitung auf das nächste Quartal (Juli-September 2024), das wir diese Woche geplant haben. Wir werden in Kürze über die Ergebnisse der Planung berichten.

Im Rahmen unserer langfristigen Arbeit an der Typenunterstützung gibt es bei der Eingabeaufforderung für einen Aufzählungstypen (d. h. einen mit Identitätswerten, wie Z16098/Monat des Gregorianischen Kalenders) ein ausklappbares Auswahlmenü anstelle eines Textfelds, in dem du suchen oder bei dem du wissen musst, welche Optionen gültig sind (T366628). Wir haben die Front-End-Erfahrung beim Erstellen von Typumwandlern im Zusammenhang mit Identitätsschlüsseln verbessert und den Code in diesem Bereich allgemein bereinigt (T367159) und es einfacher gemacht, die Benutzeroberfläche zum Erstellen von Typumwandlern zu verwenden, anstatt die API verwenden zu müssen (T367168). Wir haben die Rechte zum Bearbeiten von Typumwandlern aufgeteilt, sodass jeder sie erstellen und bearbeiten kann, wenn sie neu oder nicht verbunden sind, sie aber (wie bei Funktionen) gesperrt sind, sobald sie 'live' sind, damit Benutzer nicht versehentlich alle Verwendungen eines Typs stören können (T367270). Die aktualisierte Dokumentation findest du in unserer Dokumentation der Benutzerrechte. Wir haben außerdem die Definitionen von Z46/Typumwandler in Code und Z64/Typumwandler aus Code aktualisiert, um ihre 'Identitäts'-Schlüssel (Z46K1 bzw. Z64K1) als Identitätsschlüssel zu markieren, indem wir Z3K4/Identität? auf wahr gesetzt haben (T359233).

Im Rahmen des langfristigen Ziels zur Verbesserung unserer Tests (T363389) haben wir unsere Arbeit zur Neufassung unserer Browser-Testsuiten fortgesetzt und nun alle bis auf die letzte Suite fertiggestellt, die sich auf das Verbinden und Trennen von Tests und Implementierungen mit Funktionen bezieht und an der wir als Nächstes arbeiten werden (T349836).

In Bezug auf das langfristige Ziel zur Bereitstellung von Metadaten für Funktionsunteraufrufe (T363384) haben wir Front-End-Unterstützung zum Anzeigen der Informationen hinzugefügt (T363396) und bereiten die Bereitstellung der neuesten Version der Back-End-Dienste mit diesen Informationen vor (T366498) und hoffen, diese Funktion bald aktivieren zu können (T366829).

Die letzte Aufgabe in diesem Quartal für eine bessere UX im Zusammenhang mit Sprache (T363383) bestand darin, dafür zu sorgen, dass Kurzbeschreibungen von Objekten nun ihren Inhalt umbrechen, wenn jemand ein langes Wort ohne Zeichentrennung hinzufügt, anstatt sich in den Inhalt hinein auszudehnen (T360510).

In Vorbereitung auf die Arbeit im nächsten Quartal haben wir im Rahmen des Jahresplans der Wikimedia Foundation für 2024/25, "Wikifunctions-Aufrufe in mindestens einer kleineren Wikipedia-Sprachversion zu aktivieren" (WE2.4), unseren sehr frühen Prototypcode für Wikifunctions-Aufrufe in eine eigene Erweiterung verschoben, WikifunctionsClient. Erwarte bald mehr dazu!

Über die vierteljährliche Arbeit hinaus haben wir einige Fehlerbehebungen und Verbesserungen vorgenommen. Wir haben einen Fehler behoben, bei dem neue (leere) Objekte ihre Renderer-Funktion ausführten, obwohl noch keine Eingabe erfolgt war (T367157). Wir haben die Zugänglichkeit der Steuerelemente zum Schließen von Dialogen verbessert, indem wir eine bessere, spezifischere Meldung für Screenreader verwendet haben.

Wir haben die Unterstützung für mehrere Sprachen in Wikifunctions aktualisiert, Codes korrigiert, um sie an den Industriestandard BCP47 als primäre Codes anzupassen, und die von MediaWiki maßgeschneiderten nicht standardmäßigen Codes als sekundäre Codes degradiert. Das bedeutet, dass Z1755/sgs jetzt 'bat-smg' als sekundären Code hat und nicht umgekehrt (T360672); ebenso hat Z1231/de-x-formal jetzt 'de-formal' (T360673) und Z1664/ro-cyrl-md hat 'ro' (T360674); und Z1508/als hat das alte Z1405-Objekt 'gsw' (T360675) und Z1726/egl das alte Z1750-Objekt 'eml' (T360678) integriert, wobei die alten gelöscht wurden.

Einige der Tasks, an denen zuvor bei der "Reparatur" gearbeitet wurde, um technische Rückstände zu beheben, sind angefallen. Wir haben viele Teile unseres Front-End-Testcodes optimiert, um die Anzahl der Warnungen des Vue-Frameworks zu verringern und so das Erkennen tatsächlicher Probleme zu erleichtern (T325412). Wir haben alle Inline-"TODO"-Kommentare in unserem PHP-Code geprüft und sichergestellt, dass sie noch relevant sind. Wenn ja, haben wir einen Phabricator-Task (T296401). Wir haben einen seit langem bestehenden Tippfehler in unserem Code zum Löschen des Cache der Wartungsdatenbank gefunden und behoben, der unserer Meinung nach sprachbezogene Fehler beheben sollte (T343164, T357702), und einige weitere Tests hinzugefügt, um dieses Problem in Zukunft zu vermeiden.

Wir waren Vorreiter in ganz Wikimedia und haben unsere Code-Linting-Werkzeuge (stylelint-config-wikimedia auf 0.17.2 und eslint-config-wikimedia auf 0.28.2) aktualisiert. Dazu gehörte auch die Migration vom expliziten zum Pfeilfunktionsstil. Dies ist der neue Wikimedia-weite Standard, nachdem die Unterstützung für Internet Explorer endgültig eingestellt wurde. Unser Dank gilt unserem Kollegen Ed Sanders, dem Leiter des Editing Teams, für seine Führung und Hilfe in dieser Hinsicht.

Wir und der gesamte von Wikimedia bereitgestellte Code verwenden seit dieser Woche die neueste Version der Codex UX-Bibliothek, v1.7.0. Es sollte keine für den Benutzer sichtbaren Änderungen an Wikifunctions geben. Kommentiere daher bitte in der Projektdiskussion oder erstelle einen Phabricator-Task, wenn du ein Problem entdeckst.

Funktion der Woche: folgender Monat im Igbo-Kalender

Letzte Woche haben wir den Typ Monat des Igbo-Kalenders eingeführt, und heute haben wir ein halbes Dutzend Funktionen mit diesem Typ. Eine der grundlegenden Funktionen für Kalender ist eine Funktion zum Ermitteln des folgenden und des vorherigen Monats für einen bestimmten Monat. Beide dieser Funktionen existieren jetzt für die Monate des Igbo-Kalenders in Wikifunctions.

Die Funktion für den folgenden Monat bietet sechs Tests, darunter den Grenzfall, dass auf den letzten Monat des Kalenderjahres der erste folgt. Die Funktion hat drei Implementierungen und jede von ihnen funktioniert etwas anders:

  • Eine in Python, die die Tatsache nutzt, dass wir die Monate in Zahlen umwandeln. Zuerst wird geprüft, ob das Eingabeargument der letzte Monat ist, also 13 (der Igbo-Kalender hat 13 Monate). In diesem Fall gibt sie den ersten zurück, andernfalls addiert sie einfach 1.
  • Eine in JavaScript, die ebenfalls die Tatsache ausnutzt, dass wir die Monate in Zahlen umwandeln, 1 hinzufügt, dann aber Modulo 13 berechnet, um mit der Überschreitung umzugehen.
  • Eine als Komposition, die den Eingabemonat in eine Zahl umwandelt, die Zahl um eins erhöht und dieses Ergebnis wieder in einen Monat umwandelt. Da diese letzte Funktion robust gegenüber einer Überschreitung und einer Unterschreitung um eins ist, überlassen wir die Behandlung der Überschreitung dieser Funktion.

Vielen Dank an die Community für die fleißige Entwicklung neuer Funktionen, wenn ein neuer Typ herauskommt! Ihr seid großartig!