Hinzugefügt
- Das Fehlerprotokoll, in der Verwaltung (System → Monitoring → Fehlerprotokoll). Kein FTP- oder Serverzugang
mehr nötig, um zu wissen, was fehlgeschlagen ist: die Fehler der Website, gruppiert, vom neuesten zum ältesten, nach
Schwere sortiert, nach Zeitraum oder Wort filterbar. Der Installationspfad, Passwörter, Schlüssel und Tokens werden
auf dem Bildschirm maskiert, E-Mail- und IP-Adressen teilweise; die Datei lässt sich herunterladen und leeren (die
alte wird daneben aufbewahrt). Das Monitoring meldet die Fehler der letzten 24 Stunden und einen Ordner
logs/, in den die Website nicht mehr schreiben kann. - Die Diagnosewerkzeuge werden aus der Verwaltung eingeschaltet (Monitoring → Diagnose), für eine Stunde, ohne
config/neofrag.phpper FTP zu bearbeiten:- der Debug-Modus — was er anzeigt, die Leiste unten auf der Seite und die Details der Fehler, wird jetzt nur angemeldeten Administratoren gezeigt; eingeschaltet wurde er allen Besuchern angezeigt, Abfragen und Besuchsdaten eingeschlossen;
- die Seitenablaufverfolgung, die sich endlich in der Verwaltung lesen lässt: die zuletzt ausgelieferten Seiten, ihre Abfragen und ihre Dauer, mit maskierten sensiblen Werten;
- die Übersetzungsprüfung, mit der Liste der fehlenden Texte pro Sprache und pro Erweiterung; die Flagge, die sie vor übersetzte Texte setzt, wird jetzt nur Administratoren gezeigt.
- Die Verwaltung in neun Bereiche geordnet: Inhalt, Community, Aktivitäten, Gaming, Wissen, Medien, Verbreitung, Support, Monetarisierung (und System). Die bisherigen sechs mischten den Kalender mit den Medien oder den Bugtracker mit der Community, und dreizehn Module landeten in „Andere Module“.
- Das Menü „Navigation“ des Live-Editors folgt denselben Bereichen, als aufklappbare Untermenüs, mit einer Suche; es reihte mehr als vierzig Seiten hintereinander auf.
- Die Adresse der Website lässt sich aus der Verwaltung korrigieren (Monitoring → Adresse der Website). Nach einem
Domainwechsel führten die Links der E-Mails weiter zur alten, bis man
config/url.phpper FTP bearbeitete. - Eine Referenz für jeden Fehler. Ein Besucher, der auf einen Fehler stößt, liest eine Referenz aus acht Zeichen; der Administrator sucht sie im Protokoll und landet auf der richtigen Zeile.
- Uhrzeiten in der Zeitzone jedes Einzelnen. Ein Mitglied wählt seine Zeitzone in seinem Profil; sonst verwendet die Website die seines Browsers, und sonst die der Website, eine neue Einstellung unter Einstellungen → Allgemeine Einstellungen. Die in Formularen eingegebenen Uhrzeiten werden in der Zeitzone dessen verstanden, der sie eingibt. Die Liste der Zeitzonen ist nach Region gruppiert, mit in der Sprache der Website benannten Städten.
Behoben
- Die Uhrzeiten stimmen wieder. Die Website zeigte sie in Serverzeit — Weltzeit — für alle an: zwei Stunden zurück für einen Besucher in Frankreich im Sommer. Die Zeitzone des Mitgliederprofils galt ihrerseits nur auf den Profilseiten und verschob die Daten, die dieses Mitglied speicherte. Der Kalender, das Wiki, der Bugtracker, archivierte Unterhaltungen und der Dateimanager schrieben ihre Uhrzeiten ohne Umrechnung; die „Live“-Sendung des Webradios wurde in Serverzeit gelesen.
- Der Kalender: Beginn und Ende eines Ereignisses werden in einer Datumsauswahl gewählt, und nicht mehr in einem Textfeld im Format „YYYY-MM-DD HH:MM:SS“; ein Titel mit Akzenten zeigt seine Akzente nicht mehr als HTML-Code; die formatierte Beschreibung zeigt ihr Markup nicht mehr; der Kalenderexport erhält sauberen Text.
- Listen mit Suche sagen „Keine Ergebnisse“ in der Sprache der Website, nicht „No results found“.
- Der Live-Editor bietet jetzt an, die Seiten Forum, Galerien, Teams, Kontakt und Auszeichnungen zu gestalten: Sein Menü ließ sie aus, da es ihre Startseite nicht erkannte.
- Eine abstürzende Seite sagt „Ein Fehler ist aufgetreten“ (500), mit ihrer Referenz, statt „Seite nicht gefunden“, was eine falsche Adresse vermuten ließ.
- Keine weißen Seiten mehr. Ein schwerer Fehler, oder ein außerhalb einer Seite ausgelöster Fehler, zeigt eine Fehlerseite in der Sprache des Besuchers. Ebenso eine unerreichbare Datenbank (503), statt einer rohen englischen Meldung, und der Ausfall wird endlich im Protokoll verzeichnet.
- Eine fehlschlagende Aktion sagt es: Ein Dialog, der sich nicht öffnet, eine abgelehnte Übermittlung, ein Server, der nicht mehr antwortet, zeigen eine Meldung, mit der Referenz des Fehlers — statt einer grau bleibenden Schaltfläche ohne ein Wort. Das Monitoring hält seine Sanduhr an, wenn es nicht aktualisieren kann.
- Sicherung und Update sagen die Wahrheit. Sie kündigten „Sicherung gespeichert“ oder „Aktualisierung erfolgreich abgeschlossen“ auch nach einem Fehlschlag an; sie kündigen jetzt den Erfolg nur an, wenn der Server ihn bestätigt, und sagen sonst, was fehlgeschlagen ist. Die Sicherung prüft auch, dass sie ihr Archiv wirklich geschrieben hat: In einem nicht beschreibbaren Ordner oder auf einer vollen Festplatte meldete sie Erfolg — und das Update, das sich darauf stützt, um zurückzurollen, hätte nichts wiederherzustellen gehabt.
- Der Fehler eines Formularfelds wird unter dem Feld angezeigt, und nicht mehr nur beim Überfahren eines kleinen Symbols.
- Zwei interne Fehler hinterlassen keine Spur mehr im Protokoll: ein ohne eines seiner Felder abgeschicktes Formular, und eine Datenbankabfrage, die nichts zu lesen zurückgibt — letztere ließ die Seite abstürzen.
- Die Debug-Leiste wird wieder angezeigt: Ein numerischer Wert ließ sie abstürzen, seit der Code seine Typen strikt prüft, und ihre Zeitleiste war falsch.
- Die Ankündigung des Updates ist wieder sichtbar. Sie war in der oberen Leiste zu einem farblosen „1.2.x“ geschrumpft: Ein Aufräumen der Stile der Verwaltung hatte ihre eigenen weggefegt. Sie bekommt einen Kasten unter dem Logo zurück — „Update verfügbar · NeoFrag X.Y.Z“ — und ein lesbares Abzeichen in der oberen Leiste.
- Das Update-Fenster zeigte einen leeren Block und hinterließ eine Warnung im Protokoll: Es sagt jetzt, welche Version kommt, dass die Website vor dem Start gesichert wird und bei einem Fehlschlag in ihren vorherigen Zustand zurückkehrt, mit einem Link zu dem, was die Version bringt.
Entfernt
NEOFRAG_LOGS_DB, das nichts las: Neue Installationen schreiben es nicht mehr inconfig/neofrag.php. Eine bestehende Installation kann es behalten; es hat keine Wirkung.