Hier ist das Transkript von Gudule Lapointe’s Rede über den Stand der w4os-Entwicklung, auf der OpenSimulator Community Conference 2022.
Das Video des ganzen Tages ist auf YouTube youtube.com/watch?v=sQqa6GmhvIg verfügbar, insbesondere dieser 20″-Vortrag bei 3:35:51.
Intro
Wir haben das Speculoos World Grid vor 11 Jahren entwickelt (aber wer zählt schon mit?), und wir standen alle vor den gleichen Herausforderungen: ein voll funktionsfähiges Grid zu entwickeln und alle Funktionen anzubieten. OpenSimulator Kern bietet die wichtigsten, aber nicht alle von ihnen.
Sie müssen mindestens eine Weboberfläche für die Benutzerregistrierung, einen Web-Asset-Server, ein paar Hilfsprogramme und für einige einen Währungsserver installieren.
Mindestens ein halbes Dutzend verschiedener Anwendungen, jede von ihnen aus einem anderen Projekt, mit unterschiedlichen Plattformen oder Sprachen, und selbst wenn sie dieselbe Sprache verwenden, nutzen sie unterschiedliche Standards.
Einige von ihnen haben sogar überhaupt keine Implementierung, sondern nur Workarounds, wie die großartigen OpenSimWorld-Projekte, die die In-World-Suche durch ein mit einer Website verknüpftes Beacon ersetzen, oder unser eigenes 2do Events-Projekt (ein Fork von Tom Frosts HYPEvents), das die Eventsuche durch ein In-World-Board ersetzt.
Oh, und natürlich brauchen Sie auch eine Website.
Der Ansatz
Es begann eigentlich vor 6 Jahren als eine einfache Sammlung von damals verfügbaren Helfern, mit einer einheitlichen Konfigurationsdatei und einem Installationsskript, bekannt als „Flexible Helper Scripts“. Dann, 3 Jahre später, wollte mit der Website zu integrieren, so schufen wir w4os, ein „WordPress-Schnittstelle für OpenSimulator“ Plugin, um eine vollständige Lösung zu erhalten.
- Warum WordPress? es ist beliebt, quelloffen, leistungsstark und mehrsprachig
- Eine zentrale Anlaufstelle für alle Bedürfnisse: Benutzerregistrierung, Netzverwaltung, In-World- und Web-Helfer.
- Einfache Einrichtung. Irgendwie schon. Das könnte einfacher sein, wir arbeiten daran.
- Zentralisierte Verwaltung: keine Einstellungen mehr an verschiedenen Orten und mit unterschiedlichen Standards, einheitliche Installationsmethode
Wo waren wir?
Letztes Jahr, als wir das Plugin auf der OSCC zum ersten Mal vorstellten, hatte es bereits eine Reihe von Funktionen. Ich werde nicht ins Detail gehen, das Video ist immer noch auf YouTube verfügbar, aber im Wesentlichen
- Avatar-Registrierung, mit Standardmodellen, Regeln für geschützte Namen, Synchronisierung zwischen Avataren und WordPress-Benutzern und einem grundlegenden Webprofil
- Blöcke, Shortcodes und Seitenleisten-Widgets: Grid-Status, Grid-Info und Anmeldeformular. Blöcke auf WordPress sind cool, sie ermöglichen es Ihnen, einige Details im allgemeinen Layout (wie in Seitenleisten) oder in einer bestimmten Seite (als Blöcke mit Gutenberg oder mit Shortcodes) zu präsentieren.
- Splash-Seite, natürlich anpassbar mit w4os-Blöcken, aber auch mit beliebigen Inhalten von der Website oder anderen Plugins.
- Web Assets Server: dies ist die Brücke, um die Anzeige von Rasterbildern auf einer Webseite zu ermöglichen
- Offline-Nachrichten Mailumleitung
Was haben wir seither getan?
Innerweltliche Verbesserungen
Die In-World-Suche war für mich die am meisten vermisste Funktion. Das sind zwar ziemlich coole Workarounds, aber ich finde es sehr frustrierend, dass ich die Suchfunktionen der Viewer nicht nutzen kann. Das haben wir getan. Und mit den Suchergebnissen, die das w4os-Plugin liefert, können sie auch im allgemeinen Website-Design verwendet werden.
Einstellungen
In den Einstellungen können Sie wählen, ob Sie eine separate Datenbank verwenden möchten. Die Suchdatenbank verwendet das gleiche Schema wie die bestehenden Suchhilfen, ist also austauschbar.
Die Suchmaschine kann von mehreren Grids gemeinsam genutzt werden, um von den Hypergrid-Funktionen zu profitieren. Auch Grids, die nicht w4os verwenden, können das Suchregister und die Suchmaschine nutzen (obwohl sie die richtige OpenSimSearch dll installieren müssten).
Orte
Sobald die Suchmaschine eingestellt ist, erfolgt die Einbeziehung über die Standardeinstellungen des Viewer-Pakets. Aktivieren Sie die Option „Ort in der Suche anzeigen“ auf Ihrer Parzelle und sie wird in den Ergebnissen mit ihrer Beschreibung und ihrem Schnappschuss angezeigt.
Land zu verkaufen
Zu verkaufende Grundstücke werden ebenfalls angezeigt (vorausgesetzt, „Ort in der Suche anzeigen“ ist ebenfalls aktiviert)
Kleinanzeigen
Kleinanzeigen sind ein sehr nützliches Instrument. Obwohl nur lokale Ziele erlaubt sind, können Sie eine Secondlife-ähnliche Url für Hypergrid-Ziele hinzufügen.
Veranstaltungen
Und natürlich Veranstaltungen. Das ist die frustrierendste fehlende Funktion. In-World-Boards sind interessant, aber es gibt bereits eine eingebaute Funktion dafür im Viewer, es wäre schade, sie nicht zu nutzen.
Organisatoren können Veranstaltungen nicht über den Viewer registrieren. Auch in Second Life müssen Veranstaltungen über die Website angemeldet werden. Gegenwärtig stützen wir uns auf 2do Events, das seinerseits auf öffentliche Kalender zurückgreift, aber darüber sprechen wir später.
Ach ja, noch etwas…
Der Clou ist, dass die Ereignissuche mit HyperGrid kompatibel ist. Der Betrachter versteht HG-Ziele nicht wirklich, aber wir fügen eine funktionierende URL oberhalb der Beschreibung ein. Eigentlich zwei, denn derzeit sieht es so aus, als ob je nach Betrachter die URL hop:// oder secondlife:// verstanden wird.
Und außerdem…
Wir haben auch eine Währungsunterstützung hinzugefügt, die derzeit mit „falschen“ Währungen, Podex und Gloebit funktioniert (solange Gloebit funktioniert).
Die Option „Kaufen“ im Viewer ermöglicht eine Schätzung der Kosten und eine Weiterleitung zur Region des Anbieters für Podex oder zur Website für Gloebit.
Wir haben Offline-Nachrichten auf Messaging v2 aktualisiert, um die Kompatibilität mit den aktuellen Kerndatenbankstandards zu gewährleisten.
Front-End-Verbesserungen
Profil
Die Webprofilseite zeigt nun mehr Details, Fähigkeiten, Partner, Sprache, In-world und RL über Text. Alle diese Einstellungen werden vom Viewer aus vorgenommen
Splash-Seite
Der neue Block „Beliebte Orte“ kann auf der Einstiegsseite des Anmeldebildschirms verwendet werden. Und mit einem Klick auf ein Ziel wird die Login-Landing-Region geändert.
Anmeldung / Registrierung
Es gibt auch einige andere Verbesserungen, z.B. können sich Benutzer ohne bestehendes WP-Konto mit ihren Avatar-Anmeldedaten auf der Website anmelden.
Neu registrierte Benutzer erhalten eine Seite mit Anweisungen zur Konfiguration des Viewers.
Was nun?
Vor ein paar Monaten erzählte mir ein Grid-Besitzer, dass er ein Grid mit mehreren Avataren hat, die sich dieselbe E-Mail-Adresse teilen. Dies ist zwar keine häufige Anwendung, aber im OpenSimulator-Kern steht dem nichts entgegen. Da w4os auf der Grundlage entwickelt wurde, dass eine E-Mail nur für einen Avatar verwendet werden kann, ist dies ein Kompatibilitätsproblem.
Hier sind wir also. Umschreiben des Codes, um Avatare von Benutzern zu trennen. Es ist ein riesiger Aufwand, und ich muss zugeben, dass ich dadurch die Entwicklung anderer Teile des Projekts verlangsamen musste. Aber was würde es bringen, neuen Code hinzuzufügen, wenn ich weiß, dass ich ihn bald neu schreiben muss?
Das Gute daran ist, dass es mich dazu bringt, diesen mehrere Jahre alten, aus mehreren Quellen stammenden Code auf eine modularere Weise umzuschreiben. Ich rechne damit, dass Version 3 Anfang 2023 veröffentlicht wird, und danach werden mehrere spannende Funktionen hinzukommen, wie
- KISS : Keep it simple and stupid
- Ein einfacheres Installationsverfahren
- Ein Assistent für die Plugin-Einrichtung
- Geteilte Konfigurationsseite (nur aktivierte Helfer haben ihre Einstellungsseite im Admin-Menü)
- Steuerung der Verwaltungsregion
- Web-Admin-Modelle und technische Kontenliste
- Verwaltung gesperrter Benutzer
- Kontrolle der Benutzerregion und der Parzellen
- Registrierung von Ereignissen (mit der Option, die Veröffentlichung von Ereignissen nur für eigene Parzellen zu erlauben)
- Vollständige Integration von 2do Events (einschließlich 2do Server)
Dankeschön
Ich hoffe, Sie werden es ausprobieren und uns ein Feedback geben. Es gibt bereits eine Reihe von Grids, die das Plugin verwenden, und ihr Feedback ist wirklich hilfreich und wird geschätzt.
Einige Fragen und Antworten
Hier sind einige Fragen, die nach dem Vortrag gestellt wurden und deren Antworten von Interesse sein könnten:
Wird Ihre Arbeit weiterhin auf WordPress basieren oder könnten Sie oder Ihre Kollegen Interesse an der Entwicklung eines Plugins für Lernmanagementsysteme wie Canvas, Moodle und Blackboard haben?
Ich habe versucht, Hilfsprogramme und WordPress-spezifischen Code getrennt zu halten, und ich werde versuchen, dies in v3 noch besser zu machen, so dass der Einsatz auf einer anderen Plattform, wenn nicht einfach, so doch zumindest vereinfacht werden sollte.
Muss WordPress auf demselben Rechner laufen wie OpenSimulator?
Nein, es kann auf einem anderen Server liegen, solange der WordPress-Host in der Lage ist, sich mit dem OpenSimulator-MySQL-Server zu verbinden.
Gibt es etwas über die Einhaltung des Datenschutzrechts?
WordPress hat Möglichkeiten, den Datenschutz gut zu handhaben. Sobald man ihn jedoch mit OpenSimulator verbindet, wird OpenSimulator zum Schwachpunkt in diesem Bereich. Auf der Ebene des w4os-Plugins wird nicht viel mehr offenbart als in-world (vielleicht gar nichts), aber einige Warnungen könnten in Zukunft angezeigt werden.
Ich hatte einmal ein Registrierungssystem für ein Netz, das mehrere Avatare pro Anmeldekonto zuließ, und die Leute schienen diese Funktion nicht zu verstehen oder zu erwarten.
Multi-Avatare sind notwendig, um die Kompatibilität mit Grids zu gewährleisten, die diese Funktion bereits nutzen, aber ich stimme zu, dass es verwirrend sein könnte, und ich werde definitiv eine Admin-Option hinzufügen, um sie für Endbenutzer zuzulassen oder zu verbieten.
Stabile Version
Kandidat
Mit den neuesten Verbesserungen und Funktionen. Etwas nahe an der nächsten stabilen Version, aber es könnten noch einige Bugs vorhanden sein.
Entwicklung
Die aktuelle, instabile Entwicklungsversion. Verwenden Sie es nicht in der Produktionsumgebung. Sie kann (und wird wahrscheinlich) Fehler oder noch nicht abgeschlossene Arbeiten enthalten.