Jump to content

Wikifunctions:Status-Updates/2025-04-16

From Wikifunctions
This page is a translated version of the page Wikifunctions:Status updates/2025-04-16 and the translation is 100% complete.
Wikifunctions Status-Updates Translate

Abstrakte Wikipedia über Mailingliste Support-Team Abstrakte Wikipedia auf IRC Wikifunctions auf Telegram Wikifunctions auf Mastodon Wikifunctions auf Twitter Wikifunctions auf Facebook Wikifunctions auf Youtube Website von Wikifunctions Translate

Wikifunctions-Integration in der Dagbani-Wikipedia (und Test-Wikipedia und, oh mein Gott, Wikifunctions) live!

Wir freuen uns, bekannt geben zu können, dass wir diese Woche erstmals die Möglichkeit aktiviert haben, Wikifunctions-Funktionen innerhalb eines Wikis aufzurufen: Das Pilotprojekt ist die Dagbani-Wikipedia.

Dagbani ist eine unserer fünf Fokussprachen. Es ist eine Niger-Kongo-Sprache (gehört zum Gur-Zweig) und wird im Norden Ghanas gesprochen. Dagbani hat etwa 3 Millionen Muttersprachler. Die Dagbani-Wikipedia enthält über 12.000 Artikel. Die Schreibweise basiert auf dem lateinischen Alphabet.

Wir sind der Dagbani-Community für ihre Zusammenarbeit in den letzten Jahren bei der Entwicklung von Wikifunctions dankbar!

Wir haben auch eine Bitte an Beitragende. Wenn du Dagbani nicht beherrschst und nicht Mitglied der Dagbani-Community bist, veröffentliche bitte keine Beiträge in der Dagbani-Wikipedia. Respektieren wir die Dagbani-Wikipedia und die Dagbani-Community.

Wir verstehen jedoch, dass die Nutzer die neue Funktionalität ausprobieren möchten. Deshalb planten wir, die Wikifunctions-Integration auch auf test2.wikipedia.org bereitzustellen. Leider funktionierte dies nicht — es stellte sich heraus, dass eine Inkompatibilität mit der Erweiterung für Gesichtete Versionen bestand. Glücklicherweise verwendet Dagbani keine Gesichteten Versionen, sodass wir die Integration trotzdem auf Dagbani durchführen konnten.

Anstelle von test2.wikipedia.org haben wir uns für test.wikipedia.org entschieden. Einige von euch haben unsere Testseite auf test.wikipedia.org bereits gefunden. Es gibt jedoch einen Vorbehalt: Unsere Integration basiert auf Parsoid, test.wikipedia verwendet Parsoid jedoch noch nicht standardmäßig. Es gibt zwei Möglichkeiten, dies zu umgehen:

  1. Füge zu jeder URL den Abfrageparameter ?useparsoid=1 hinzu (wie bei https://test.wikipedia.org/wiki/Wikifunctions?useparsoid=1). Beachte jedoch, dass dieser Abfrageparameter nicht “hängen bleibt”: Wenn du auf die nächste Seite klickst, geht er verloren.
  2. Wenn du angemeldet bist, aktiviere auf test.wikipedia.org die dauerhafte Verwendung von Parsoid in deinen Benutzereinstellungen > Bearbeiten > Entwicklerwerkzeuge.

So kannst du es auf test.wikipedia.org ausprobieren.

Schließlich haben wir uns entschieden, Wikifunctions auch auf Wikifunctions zu integrieren. Also, ja, du kannst es auch hier einfach ausprobieren! ȀAÃ ẠAÂÂ ÃA̧A̰ẢÁA̮A̋ÁA̰ÁÂ? Ich bin sicher, die Wikifunctions-Community wird schnell entscheiden, wie und auf welcher Seite diese Funktion getestet wird. Beachte, dass du Parsoid auch hier aktivieren musst, um die Ergebnisse zu sehen — oder klicke hier.

Ein Tutorial zur Integration von Funktionen wird in den nächsten Tagen zur Verfügung gestellt.

Wenn du einen Fehler, eine Fehlfunktion oder ein Problem findest, lass es uns bitte wissen.

Viel Spaß!

Funktion(en) der Woche: Datum des gregorianischen Osterfestes und Datum des julianischen Osterfestes

Die Funktion der Woche ist eine Kolumne, die von der Community geschrieben wird. Die Planung der Kolumne und die Einreichung von Beiträgen sind hier möglich. Danke an User:99of9 für das Verfassen dieses Beitrags.

Diese Woche diskutieren wir das Datum des gregorianischen Osterfestes und das Datum des julianischen Osterfestes. Beide Funktionen wurden von User:Dv103 geschrieben, einem relativ neuen Beitragenden auf Wikifunctions, der bereits verschiedene italienische Sprachfunktionen und komplexe Datumsfunktionen beigesteuert hat. Für Christen wie mich ist Ostern das wichtigste religiöse Wochenende des Jahres, an dem Jesu Tod und Auferstehung gefeiert werden. Das Datum des Ostersonntags wird nach dem Lunisolarkalender berechnet, variiert aber je nach Tradition. Die meisten orthodoxen Kirchen verwenden den julianischen Kalender, katholische und protestantische Kirchen den gregorianischen. Das Datum hat auch sekundäre soziale und wirtschaftliche Folgen. Als ich beispielsweise vor 25 Jahren Software zur Prognose der täglichen Betriebsaktivitäten eines Unternehmens entwickelte, habe ich die Osterdaten bis 2030 als wichtige Eingabe fest codiert. Mit den aktuellen Funktionen der Woche können wir diese Daten für jedes beliebige Jahr berechnen.

Diese Funktionen nehmen eine Eingabe, nämlich das gregorianische Jahr, in dem wir das Datum von Ostern wissen möchten, und geben den Tag des römischen Jahres zurück, auf den Ostern im Gregorianischen Kalender für dieses Jahr fällt.

Eine Vielzahl von Tests ist verfügbar:

Es ist schön, eine Vielzahl vergangener und zukünftiger Daten zu sehen. Es werden keine Jahre aus der Zeit vor Christus getestet, da diese wenig Sinn ergeben würden, da Ostern damals noch nicht gefeiert wurde. Es wäre schön, einige Daten früherer Ostern zu überprüfen, um die Genauigkeit der Implementierungen über einen Jahrtausend-Zeitraum hinweg zu testen. Aber Vorsicht: Beim Hinzufügen von Tests ist es wichtig, nicht nur die Ausgabe einer Funktion zu verwenden, sondern die tatsächlichen Werte unabhängig zu überprüfen — sonst handelt es sich nicht um echte Tests!

Für jede Funktion ist eine Implementierung verfügbar:

  • Gregorianisch: Der Meeus/Jones/Butcher-Algorithmus in Python basiert auf einem Algorithmus, der 1876 anonym in Nature veröffentlicht und häufig unter verschiedenen Namen neu veröffentlicht wurde.
  • Julianisch: Der Jean-Meeus-Algorithmus in Python, der das Datum zuerst im julianischen Kalender berechnet und dann einen Offset (derzeit 13 Tage) hinzufügt, um es in ein gregorianisches Datum umzuwandeln.

Diese Funktionen erweitern unsere Datumsfunktionen in den kulturellen Bereich und sind ein gutes Modell und eine gute Ressource für andere Ereignisse mit komplexen Datumsmethoden. Ein hervorragendes allgemeines Beispiel, ebenfalls von Benutzer:Dv103, ist die Verwendung des Werts der Wikidata-Aussage zum Tag des Jahres, der auf Wikidata basiert und mit einer Vielzahl verschiedener Datumsmethoden umgehen kann. Vielleicht wird mein ehemaliger Arbeitgeber, wenn der Code, den ich für ihn geschrieben habe, im Jahr 2030 scheitert (oder früher, wenn er die Dokumentation liest), dazu übergehen, unsere Funktionen in der Wikifunctions-API aufzurufen?

Wie sieht es dieses Jahr aus? Zwei letzte Tests: Das gregorianische Osterfest 2025 und das julianische Osterfest 2025 fallen dieses Jahr auf den 20. April. Das letzte Mal, dass diese zusammenfielen, war 2017. Frohe Ostern für immer!

Letzte Änderungen an der Software

Wir haben viel Arbeit im Zusammenhang mit der Wikipedia-Integration erledigt. Wir haben unsere Integration mit MediaWiki überarbeitet, um das neue System für "asynchrone Fragmente" von Parsoid zu nutzen (T388546). Wir haben das wikiübergreifende Update-System fertiggestellt, um bei Bedarf Einträge in die Letzten Änderungen hinzuzufügen, ähnlich wie bei Wikidata (T386020). Wir haben das Bearbeiten flüssiger gestaltet und einen ansprechenden 'Lade'-Zustand eingerichtet, wenn du einen Funktionsaufruf im Visual Edit hinzugefügt oder bearbeitet hast (T391441).

Wir haben umfangreiche Protokollierungsfunktionen hinzugefügt und allgemeine Fehlerbehebungen durchgeführt, um Probleme zu identifizieren, von denen es einige gab. Wir haben die vom wikiübergreifenden Front-End-Editor verwendete URL korrigiert, damit Browser nicht den Eindruck erwecken, wir würden Sicherheitsmaßnahmen verwässern, sondern den Editor arbeiten lassen (T391534). Wir haben einen Fehler in der Funktionssuche im Editor behoben, bei dem der "Weiterlesen"-Link bei zu langen Beschreibungen falsch angezeigt wurde (T387362). Wir haben einige Fehler behoben, die uns in Randfällen im Editor bei der Interaktion mit teilweise geschriebenen Funktionsaufrufen aufgefallen waren. Wir haben die Erstellung des Jobs zur Aktualisierung der wikiübergreifenden Verwendung von Funktionen vereinfacht, um einen Statusfehler zu vermeiden (T391533). Wir haben unseren Code korrigiert, um Benutzern den Zugriff auf die ausschließlich auf Wikifunctions beschränkten Spezialseiten in Client-Wikis zu verweigern (T391594). Wir haben den wikiübergreifenden Kodierungsmechanismus umgestellt, um alle Benutzereingaben zu erhalten, nicht nur die meisten, die wir bei unseren Tests nicht entdeckt hatten (T391584). Schließlich haben wir ein Feature-Flag hinzugefügt, mit dem wir Funktionsaufrufe deaktivieren können, wenn etwas schief geht, ohne vorhandene Seiten zu beschädigen, sodass wir es ohne Bedenken im ersten Wiki einführen können.

Neben all den oben genannten Punkten haben wir auch einige Verbesserungen in anderen Bereichen vorgenommen, teilweise basierend auf den Ergebnissen der Reparaturwoche vor zwei Wochen. Wir haben das Layout der Schaltflächen "Abbrechen" und "Veröffentlichen" beim Bearbeiten des Info-Felds optimiert, damit sie nicht überlaufen, wenn sie zu lang übersetzt wurden (T377403). Aus Sicherheitsgründen haben wir einige Fallback-Ratenbegrenzungen für laufende Funktionen hinzugefügt. Dies sollte keine Auswirkungen haben, da wir bereits eine andere Form der Ratenbegrenzung verwenden, aber wir dachten, es wäre sinnvoll, sicherheitshalber auch das normale System zu verwenden. Wenn du diesbezüglich Probleme feststellst, melde diese bitte! Wir haben den Code, der die "Fußzeile" im Veröffentlichungsdialog generiert, zu einer einzigen Komponente zusammengefasst (T372293).

Wir haben die letzten Codereste entfernt, die auf die alte Beta-Cluster-Version von Wikifunctions verwiesen, die seit einem Jahr nicht mehr funktionierte (T374242). Anschließend haben wir diesen Dienst eingestellt. Wir haben einen unserer API-Integrationstests wieder aktiviert, der beim Testen mit dem Beta-Cluster immer wieder abstürzte.

Wir haben außerdem den wenig genutzten öffentlichen Fetch-Handler überarbeitet, sodass er keinen Fehler mehr ausgibt, wenn Benutzer die optionalen Parameter nicht angeben (T391046). Wir speichern nun eine Kopie der Objekte im Cache, während du sie bearbeitest. Dadurch hoffen wir, dass wir in Zukunft einige Wiki-übergreifende und Back-End-Operationen schneller durchführen können (T390745). Wir haben verschiedene alte PHP-Aliasse durch die aktuellen Klassennamen ersetzt, um die umfangreicheren Umbenennungsarbeiten in MediaWiki zu ermöglichen. Wir haben einige Dokumentationsverweise auf alte Codex-Systeme aktualisiert, die inzwischen umbenannt wurden, um die neue, grundlegende Änderung später in diesem Monat zu veröffentlichen (T390983).

Wir haben die standardmäßig ausgeführten Browsertests erweitert, um alle Browser abzudecken (T391733), um uns auf das neue Catalyst-System unserer Kollegen im Team Test-Plattform vorzubereiten. Wir haben eine alte Technologie aus unseren Browsertests entfernt (T331484), sodass diese künftig auf ein neueres Framework aktualisiert werden können, sobald alle anderen dies getan haben.

Wir haben im Rahmen der Wikimedia-weiten Unterstützung Unterstützung für eine natürliche Sprache, Z1968/hav (Havu), hinzugefügt (T390871).

Wenn du Probleme hast, melde diese wie immer in der Projektdiskussion oder direkt im Phabricator.

Neuigkeiten zu Typen: Datumstyp jetzt mit Lese- und Anzeigefunktionen

Der Typ Datum des gregorianischen Kalenders verfügte bereits seit einiger Zeit über eine Anzeigefunktion, und nun haben wir auch die Lesefunktion Gregorianisches Datum lesen integriert. Dies vereinfacht die Benutzererfahrung bei der Verwendung von Datumsangaben erheblich und ermöglicht die Verwendung von Datumsfunktionen in den verbundenen Wikis. Vielen Dank an Feeglgeef und 99of9 für die Definition der Funktion sowie für die Erstellung der Implementierungen und Tests.

Nächstes NLG-SIG-Treffen am 20. Mai

Das NLG-SIG-Treffen dieser Woche wurde abgesagt, da keine Themen für die Tagesordnung vorgeschlagen wurden. Das nächste Treffen ist für den 20. Mai 2025 geplant, falls jemand ein Thema auf der NLG-SIG-Seite vorschlägt.

Wöchentliche neue Funktionen: 44 neue Funktionen

Diese Woche hatten wir 44 neue Funktionen. Hier ist eine Liste von Funktionen, normalerweise mit Implementierungen und bestandenen Tests, um einen Eindruck davon zu bekommen, welche Funktionen erstellt wurden. Dieses Mal gab es eine große Anzahl von linguistischen Funktionen für Quechua. Vielen Dank an alle für ihre Beiträge!

Eine vollständige Liste aller Funktionen, sortiert nach Erstellungsdatum, ist verfügbar.