Wikifunctions:Status-Updates/2025-07-10
| ◀ | ▶ |
Längenbeschränkungen für Bezeichnungen und Beschreibungen
Funktionsbezeichnungen werden an vielen Stellen verwendet: in Kompositionen und für Beitragende, beim Einbetten eines Funktionsaufrufs in Wikipedia, bei der Suche nach einer Funktion und anderem. Deshalb ist es notwendig, die Länge dieser Bezeichnungen zu begrenzen: Funktionsnamen mit Hunderten von Zeichen sind schwer zu verwenden.
Das Front-End begrenzt die Länge von Bezeichnungen bereits auf 50 Zeichen und die Länge von Beschreibungen auf 200 Zeichen. Diese Einschränkung besteht bereits seit etwa einem Jahr, das Back-End hat diese Begrenzungen jedoch noch nicht umgesetzt, da dies zu Datenverlust oder der Unmöglichkeit bestimmter Beiträge hätte führen können.
Wir haben eine statische Liste aller Objekte mit zu langen Bezeichnungen und Beschreibungen erstellt und bitten um deine Mithilfe bei der Behebung dieser Probleme. Derzeit sind 1620 Bezeichnungen und Beschreibungen zu lang. Versuchen wir, diese Zahl zu reduzieren!
Verbesserungen der Front-End-Leistung
Wir haben die Erstellung und Nachverfolgung der Front-End-Komponenten im Front-End-Store grundlegend überarbeitet und sind von einer flachen Tabelle auf verschachtelte Objekte umgestiegen (T396360). Um die Auswirkungen dieser Arbeit verständlicher zu machen, haben wir ein Video erstellt:
Wir sind 2022 ursprünglich von verschachtelten Objekten auf eine flache Tabelle umgestiegen, da wir uns über die Geschwindigkeit von Tree-Walking-Operationen bei Bearbeitungen Sorgen machten. Drei Jahre später entschieden wir jedoch, dass der Mehraufwand dieser Hin- und Her-Umwandlung die Vorteile einfacherer Bearbeitungsoperationen deutlich überwiegt, wie sie bei der Anzeige großer Objekte (insbesondere von Objekten aus Wikidata, deren Verwendung bereits häufig ist und mit der Entwicklung komplexerer Funktionen durch die Wikifunctions-Community zunimmt) zu beobachten sind.
Infolgedessen haben wir das gesamte Speichersystem auf ein neues Modell migriert, das deutlich schneller ist (insbesondere für komplexere Objekte). Dies umfasst auch die Namensraumanpassung der Speichertabellen und die Reduzierung der Komplexität beim Löschen getrennter Objekte (T391136). Wir haben außerdem einige Fehler bei Randfällen gefunden, während wir den Großteil des Front-End-Testcodes neu geschrieben und die Testabdeckung für diesen kritischen Bereich des Front-Ends erweitert sowie ungenutzten Code und Konstanten entfernt haben. Damit schließen wir unsere Arbeit an der Front-End-Leistung für das letzte Quartal ab (T390560).
Neuigkeiten zu Typen: Typen für Wikidata-Datentypen
Kürzlich haben wir Typen und Importcode für drei wichtige, in Wikidata häufig verwendete Datentypen bereitgestellt. Die drei neuen Wikifunctions-Typen sind Wikidata-Menge, Wikidata-Geokoordinaten und Wikidata-Zeit. Diese Typen ermöglichen es Wikifunctions, Wikidata-Aussagen zu importieren, deren Werte einem der Datentypen Menge, Geokoordinaten und Zeit entsprechen. Solche Aussagen werden nun in Wikidata-Entitäten (Datenobjekten, Eigenschaften, Lexemen, Lexemformen und Lexemsinnen) angezeigt, wenn sie mit einer der Wikidata-Abruffunktionen abgerufen werden.
Einige Schlüssel dieser Typen verwenden andere Typen, die zuvor durch Arbeit der Community erstellt wurden, darunter Rationale Zahl, Datum des Gregorianischen Kalenders und Tag des Römischen Jahres.
Der Import von Wikidata-Menge und Wikidata-Zeit muss fehlende Werte in einigen Eigenschaften berücksichtigen, die in Wikidata-Inhalten konzeptbedingt optional sind. In der Wikidata-Menge gehören dazu die Eigenschaften (Schlüssel) Untergrenze und Obergrenze. In der Wikidata-Zeit fehlen häufig Monat und Tag, die in Instanzen von Tag des Römischen Jahres importiert werden.
Nach einiger Diskussion haben wir uns für die Konvention entschieden, den Sonderwert Z24/leer einzufügen, wenn Werte für Untergrenze, Obergrenze und Monat fehlen. Im Fall von Tag wird ein fehlender Wert durch 0 (Null) gekennzeichnet, wie es in Wikidata üblich ist.
Neue Funktionen mit Eingaben vom Typ Wikidata-Menge oder Tag des Römischen Jahres sollten so geschrieben werden, dass sie diese neue Konvention berücksichtigen (es sei denn, sie werden nie mit aus Wikidata importierten Inhalten verwendet). Außerdem müssen einige der bestehenden Funktionen mit Tag des Römischen Jahres, einschließlich Umwandlungs-, Anzeige- und Lesefunktionen, aktualisiert werden, um die neue Konvention zu berücksichtigen.
Letzte Änderungen an der Software
Zusätzlich zu den oben aufgeführten größeren Leistungsänderungen haben wir diese Woche auch eine Reihe kleinerer Korrekturen vorgenommen.
Wir haben eine Korrektur für das "Favicon" der Seite (wird in Browsern verwendet, um die Seite z. B. in den Beschriftungen von Registerkarten zu identifizieren) bereitgestellt, sodass es in Browsern mit dunklem Design besser angezeigt wird. Unser großer Dank geht an Jon Harald Søby für seine Arbeit daran (T326094).
Wir haben die Schlüssel für zwei der neuen Typen für Wikidata-Zeitpunkt korrigiert, deren Verwendung die Oberfläche hätte beeinträchtigen können (T391208). Wir werden dies diese Woche manuell vor der Einführung bereitstellen, um den Fehler zu beheben.
Wir haben den Datenbankcode und die searchZObjectLabels-API geändert, um die Suche nach zusammengesetzten Rückgabetypen zu korrigieren. Dies führte dazu, dass einige Verwendungen typisierter Listen nicht mehr funktionierten (T396433). Vielen Dank an 99of9 für den Bericht, damit wir das Problem schnell beheben konnten!
Wir haben einige Folgekorrekturen für die Verwendung der Codex-Dialog- und Nachrichtenkomponenten vorgenommen, da wir nun alle Codex 2.0+ verwenden. Außerdem haben wir unsere Jest-Front-End-Unit-Tests auf das modernere Ereignisauslösesystem umgestellt (T370511). Außerdem haben wir einen Fehler in unserem Produktionsmonitoring behoben, der in manchen Fällen die korrekte Protokollierung der Eigenschaften verhinderte und so die Fehlerbehebung erschwerte.
Anstehendes NLG-SIG-Treffen
Das nächste Treffen der NLG SIG (Natural Language Generation Special Interest Group) findet am kommenden Dienstag, 15. Juli 2025, von 18:00-19:00 MESZ auf Google Meet statt. Cory Massaro wird eine Sitzung zu unserer anstehenden Arbeit leiten, bei der wir NLG-Inhalte demonstrieren und Sätze in vielen Sprachen erstellen. Alle sind herzlich eingeladen, daran teilzunehmen!
Z-Vorlage ist defekt
Wir sind uns bewusst, dass die Z- und Z+-Vorlagen derzeit nicht funktionieren. Mithilfe der Seitenwerkzeuge kannst du zum alten Parser wechseln, um sie wieder zum Laufen zu bringen. Wir untersuchen das Problem (T399081).
Freiwilligentreffen diese Woche
Wir haben das Freiwilligentreffen dieser Woche bewusst nicht aufgezeichnet, da wir gemeinsam mit den anwesenden Community-Mitgliedern beschlossen haben, es für einen informellen Chat und eine Frage-und-Antwort-Runde zu nutzen. Außerdem werden wir das Freiwilligentreffen im August ausfallen lassen, da es sich mit der Wikimania überschneidet. Das nächste Freiwilligentreffen ist für den 8. September geplant.
Wöchentliche neue Funktionen: 42 neue Funktionen
Diese Woche hatten wir 42 neue Funktionen. Hier ist eine Liste von Funktionen mit Implementierungen und bestandenen Tests, um einen Eindruck davon zu bekommen, welche Funktionen erstellt wurden. Vielen Dank an alle für ihre Beiträge!
- n weeks earlier (Z25912)
- Serbian Latin to Serbian Cyrillic (Z25924)
- same Wikidata geo-coordinate (Z25932)
- rational from sign degrees minutes and seconds (Z25950)
- βγ from speed (Z25959)
- Plus Code from co-ordinates (Z25963)
- US CPI for year (Z25966)
- USD inflation calculator (Z25970)
- dir attribute (Z25974)
- is year in a standard format? (Z25982)
- multiply Wikidata quantity by rational number (Z25985)
- read year in a standard format (Z25991)
- read year, mul (Z26011)
- read year, Italian (Z26017)
- read Gregorian year, en (dmy) (Z26029)
- read Gregorian year, dag, en (mdy) (Z26033)
- read Gregorian Date in Chinese (Z26046)
- Week Number (ISO) (Z26059)
Eine vollständige Liste aller Funktionen, sortiert nach Erstellungsdatum, ist verfügbar.