• 1.17.0 - Adresse mit oder ohne www, Rollen wie versprochen, Gesamtpruefung
    CMS quality / php (8.2) (push) Canceled after 0s
    CMS quality / php (8.4) (push) Canceled after 0s
    CMS quality / browser (push) Canceled after 0s
    CMS quality / mysql (push) Canceled after 0s
    Stable

    kantarci released this 2026-09-15 18:16:22 +00:00 | 107 commits to main since this release

    Die Website heißt mit oder ohne www – das entscheidet SITE_ORIGIN, die andere Schreibweise leitet dorthin um. Die Rollen tun, was die Rollenhilfe verspricht. Dazu die Ergebnisse einer Gesamtprüfung von Backend, Betrieb, Editor, öffentlicher Ausgabe und Autorisierung.

    Eine Adresse

    • SITE_ORIGIN in .env legt fest, ob die Website mit oder ohne www heißt. Die jeweils andere Schreibweise antwortet mit 301 auf die eingetragene Adresse, mit Pfad und Abfrage, auch für die Verwaltung. Ein anderer Host (Vorschauadresse des Hosters, IP-Adresse, localhost) bleibt erreichbar. Der www-Block in public/.htaccess entfällt; HTTPS bleibt dort.
    • Neu: php bin/console cms:site:origin https://www.meine-firma.de prüft und schreibt die Adresse. Der Bildschirm „System“ zeigt sie mit Quelle und warnt, wenn die Verwaltung gerade unter einer anderen Adresse läuft.

    Rollen – bitte vor dem Update lesen

    • Redakteur: Entwürfe von Seiten und Beiträgen, Medien, Statistik, eigenes Konto.
    • Veröffentlicher: dazu veröffentlichen, Bereiche (Kopf, Fuß, Sektionen), Menüs, Formulare, Weiterleitungen, 404-Seite.
    • Administrator: dazu Design, Unternehmensdaten samt Einwilligung und Spamschutz, Benutzer, System, Aufgaben, eigene Skripte, endgültiges Löschen.
    • Bisher genügte für Design, Einstellungen, Bereiche, Menüs und Formulare die Rolle Redakteur. Bestehende Redakteurskonten verlieren diese Bildschirme; wer sie braucht, wird unter Benutzer zum Veröffentlicher oder Administrator. Die Navigation zeigt je Rolle nur, was sie öffnen darf.

    Sicherheit

    • Der Installer öffnete sich wieder, sobald die Datenbank nicht antwortete (Wartung beim Hoster, gedrehtes Passwort). Jetzt zählt die Marke der Installation, und eine tote Verbindung heißt „gestört“.
    • Nach cms:admin:path war keine Anmeldung möglich, weil das Sitzungscookie auf /admin blieb.
    • Die Einwilligung nimmt nur noch Entscheidungen von dieser Website an und springt nur auf eigene Pfade zurück.
    • </script> in einem Seitentitel oder einer FAQ-Antwort konnte die strukturierten Daten und den Seitenkopf zerreißen.
    • Eigenes CSS konnte mit einem Komma im Selektor andere Elemente treffen. Eine wiederhergestellte Fassung prüft Skripte wie das Speichern.

    Betrieb

    • Ein MySQL- oder SMTP-Passwort mit Sonderzeichen ließ die Website nach dem Installer bei jeder Anfrage abbrechen.
    • Update-Downloads bleiben auch über Weiterleitungen bei HTTPS. Composer und Git bekommen aus dem Web-Update eine Umgebung, die PHP-Kommandozeile wird gesucht statt aus PHP_BINARY geraten. Ein unerwarteter Fehler im Updater nimmt den Rückweg.
    • Eine geplante Veröffentlichung, die scheitert, hält die anderen nicht mehr auf. Unter einer Seite im Papierkorb entsteht keine Unterseite mehr.

    Editor

    • Menü, Beitragsliste und Slider ließen sich in älteren Dokumenten nicht speichern (Schemafassung). „Gestaltung einfügen“ und „Als Vorlage speichern“ waren fälschlich aktiv und konnten eine Gestaltung oder Vorlage löschen. „Ausrücken“ und ein Zug im Strukturbaum folgen den Elternregeln. Ein Bild auf ein Akkordeon meldet sich statt zu scheitern. Abgelehnte Einfügungen hinterlassen keinen leeren Verlaufsschritt.

    Öffentliche Seiten

    • Schatten bei Überfahren oder Scrollen erben Versatz und Weichzeichnung. Tabs und Bildbetrachter in Kopf, Fuß oder verknüpften Sektionen bekommen ihr Skript. Das Archiv escaped alte Klartext-Bereiche. Sitemap-lastmod folgt der Fassung, der Feed rechnet in UTC, eingebettete Videos dürfen ins Vollbild.

    Beim Update

    Keine Migration und kein neues Dokumentschema. .env bleibt erhalten; SITE_ORIGIN einmal prüfen (mit oder ohne www, so wie die Website heißen soll).

    Geprüft

    • 551 PHP-Tests (PHP 8.4), 33 JavaScript-Tests, Editor-Durchlauf mit Playwright und axe, Twig/YAML/Container-Lint, php-cs-fixer.
    Downloads