• v1.6.0 05ea703655

    1.6.0 - wiederkehrende Aufgaben ohne Cronjob
    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-14 06:30:13 +00:00 | 178 commits to main since this release

    Sicherung, Statistik kuerzen, geplante Veroeffentlichung, Updatepruefung und Aufraeumen laufen jetzt als Aufgabenplan - eine Zeile je Aufgabe mit Faelligkeit, Sperre und letztem Ergebnis, sichtbar unter "Aufgaben" in der Verwaltung.

    Bis hierher stand in vier Dokumenten "gehoert in einen Cronjob". Auf geteiltem Hosting gibt es den oft nicht. Der Plan haengt stattdessen an Anfragen und an einem Takt aus dem geoeffneten Backend; was faellig ist, entscheidet immer der Server.

    Neue Tabelle. Migration 20260914000100 legt scheduled_task an und nimmt sie beim Zurueckrollen wieder weg. Sie fasst keine bestehenden Daten an. Nach dem Update den zweiten Knopf (Migrationen) druecken, wie gewohnt.

    Der Aufgabenplan ist von Anfragen abhaengig. Ohne Besucher und ohne geoeffnetes Backend laeuft nichts, und minutengenau ist er nicht. Wer einen echten Cronjob hat, faehrt damit weiterhin besser.

    Ausserdem in dieser Fassung

    Alles aus 1.5.0 bis 1.5.5 ist enthalten, darunter die beiden Fehler, die den Editor und die Verwaltung betrafen:

    • Der Editor blieb nach einem Update leer (1.5.3). Die Module trugen keine Fassungskennung, der Browser behielt ein altes editor-model.js.
    • Die Verwaltungsnavigation war am Schreibtisch unerreichbar (1.5.5). Schalter ausgeblendet, Inhalt vom geschlossenen <details> versteckt.
    • Der visuelle Editor bekam seine Bedienung: Werkzeugleiste am Element, Einfuegepunkte, Ziehen in die Vorschau, ein nach Aufbau gruppierter Werkzeugkasten mit Vorschaubildern und Suche, Geraeteschalter an jeder Option, Abstandsrahmen und Ziehfelder.

    Update: Verwaltung, Bildschirm System, Karte "Update einspielen". Oder install.php aus den Anhaengen.

    Downloads
  • v1.5.5 d1ac9d760b

    1.5.5 - Verwaltungsnavigation am Schreibtisch war unerreichbar
    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-14 06:17:56 +00:00 | 179 commits to main since this release

    Empfohlene Fassung. In der Verwaltung fehlte am Schreibtisch die gesamte linke Navigation: Marke oben, Fusszeile unten, dazwischen nichts. Kein Weg zu Seiten, Mediathek oder Einstellungen ausser ueber die Adresszeile. Auf dem Telefon war das Menue in Ordnung.

    Die Navigation steckt in einem <details> - auf dem Telefon ein Klappmenue, am Schreibtisch die stehende Spalte. Am Schreibtisch wurde der Schalter ausgeblendet, aber das Element trug kein open, und ein geschlossenes details versteckt seinen Inhalt selbst. Schalter weg und Inhalt weg.

    Behoben mit ::details-content, das den Inhalt am Schreibtisch zurueckholt, waehrend der Schalter ausgeblendet bleibt. Kennt ein Browser die Regel nicht, faellt ueber @supports die ganze Gruppe weg: dann steht der Schalter da und die Liste ist einen Klick entfernt - statt gar nicht da.

    Wichtig fuer bestehende Installationen

    Keine Aenderung am Dokumentschema (v19) und keine neue Migration. Bestehende Inhalte bleiben unberuehrt. Wer auf 1.5.4 ist, braucht nur diese Fassung; alles aus 1.5.4 ist enthalten.

    Update: Verwaltung, Bildschirm System, Karte "Update einspielen". Oder install.php aus den Anhaengen.

    Downloads
  • v1.5.4 7c3c8671a7

    1.5.4 - Editor nach dem Update reparieren, Werkzeugkasten mit Bildern
    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-14 06:08:31 +00:00 | 180 commits to main since this release

    Empfohlene Fassung fuer alle, die auf 1.5.2 sind. Dort blieb der Editor nach dem Update leer: der Werkzeugkasten zeigte kein einziges Element, und die Browserkonsole meldete "The requested module './editor-model.js' does not provide an export named 'dropList'".

    Ursache war nicht der Code, sondern das Zwischenspeichern. public/.htaccess laesst jede .js-Datei ein Jahr lang als immutable liegen. Die Fassungskennung ?v= haengt aber nur an den Einstiegsdateien - die fuenf Module, die der Editor per import laedt, trugen keine. Der Browser holte das neue editor.js und behielt das alte editor-model.js. Wer frisch installiert hat, war nie betroffen; wer aktualisiert hat, immer.

    Behoben durch eine Importkarte, die die Fassung an jede Moduladresse haengt. Ein Nonce in der Inhaltssicherheitsrichtlinie erlaubt genau dieses eine eingebettete Skript. Ein Neuladen mit leerem Cache ist nicht noetig - die Adressen sind jetzt andere.

    Ausserdem in dieser Fassung

    • Der Werkzeugkasten hat Vorschaubilder. Statt Schriftzeichen ("▣", "☰") zeigt jeder Eintrag eine Strichzeichnung dessen, was er baut. Gezeichnet statt als Bilddatei: ein paar hundert Byte, scharf auf jedem Bildschirm, und gesperrte Eintraege werden von selbst blass.
    • Und eine Suche. Ueber alle Gruppen, auch ueber den Gruppennamen - wer "slider" eingibt, muss nicht wissen, dass er unter "Gruppen" steht.
    • Zwei Suchfelder hiessen gleich ("Element suchen"). Sie heissen jetzt nach dem, was sie durchsuchen: "Element zum Einfuegen suchen" und "Element auf der Seite suchen".

    Wichtig fuer bestehende Installationen

    Keine Aenderung am Dokumentschema (v19) und keine neue Migration. Bestehende Inhalte bleiben unberuehrt.

    Update: Verwaltung, Bildschirm System, Karte "Update einspielen". Oder install.php aus den Anhaengen.

    Downloads
  • v1.5.2 7225ae052e

    1.5.2 - der Editor bekommt seine Bedienung
    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-14 05:35:01 +00:00 | 182 commits to main since this release

    Erste Fassung der Reihe 1.5. Der visuelle Editor bekommt die Bedienung, die bisher fehlte - in drei Schritten (1.5.0, 1.5.1, 1.5.2).

    Die Vorschau wird zur Arbeitsflaeche (1.5.0)

    • Werkzeugleiste direkt am gewaehlten Element: Elternelement, hoch, runter, duplizieren, loeschen. Sie nennt das Element, auf das sie wirkt.
    • Auswahl- und Ueberfahrrahmen mit Beschriftung.
    • Pluszeichen an Ober- und Unterkante: das naechste Element landet genau dort statt am Ende.
    • Elemente lassen sich aus dem Werkzeugkasten in die Vorschau ziehen, mit Ablegemarke zwischen den Elementen und Rahmen um einen aufnehmenden Behaelter. Der Strukturbaum zieht in dieselbe Flaeche.

    Der Werkzeugkasten kennt den Zusammenhang (1.5.1)

    • Nach Aufbau gruppiert statt flacher Liste aus 31 Typen.
    • Eine Zeile nimmt nur Spalten, eine Spalte lebt nur in einer Zeile, und eine Zeile ist kein Seitenanfang. Was an der gewaehlten Stelle nicht hingehoert, ist gesperrt und sagt beim Ueberfahren warum; was moeglich ist, sagt wohin es kommt.
    • Die Zeile wird nach Spaltenzahl angeboten und bringt ihre Spalten mit.
    • Behoben: der Strukturbaum zeigte fuer die Beitragsnavigation "Unbekannt".

    Die Optionen selbst (1.5.2)

    • Geraeteschalter an jeder einzelnen Option. Die Chips zeigen, wo ein eigener Wert liegt, und ein Klick wechselt Bedienfeld und Vorschau gemeinsam dorthin.
    • Innenabstand, Aussenabstand, Rahmenstaerke und Ecken als Rahmenbild: jedes Feld sitzt an seiner Kante. Die Kette in der Mitte zieht alle vier gleich; sie startet aus.
    • Zahlenfelder lassen sich seitwaerts ziehen, Umschalt grob und Alt fein. Tippen und Pfeiltasten bleiben unveraendert. Nur fuer Maus und Stift.

    Wichtig fuer bestehende Installationen

    Keine Aenderung am Dokumentschema (v19) und keine neue Migration. Bestehende Inhalte bleiben unberuehrt. Die neuen Verschachtelungsregeln gelten nur fuer neu eingefuegte und verschobene Bloecke - eine Ueberschrift, die frueher direkt in einer Zeile gelandet ist, wird weiterhin ausgegeben.

    Update: Verwaltung, Bildschirm System, Karte "Update einspielen". Oder install.php aus den Anhaengen.

    Downloads
  • v1.4.6 af5a2cef86

    1.4.6 - Fehlerbehebungen fuer Installationen aus dem Releasearchiv
    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-13 22:04:37 +00:00 | 185 commits to main since this release

    Empfohlene Fassung fuer alle Installationen. Behebt drei Fehler, die nur auf echtem Hosting auftraten:

    • Der Updateknopf endete mit einer 500-Seite. Das Update lief durch, aber die Ergebnisseite starb daran - und damit war der zweite Knopf (Migrationen) unerreichbar.
    • Die Verwaltung zeigte Git-Fehlermeldungen ("fatal: Not a git repository") auf Installationen, die ueber das Releasearchiv eingerichtet wurden, samt roter Vorpruefung fuer Bedingungen, die dort gar nicht gelten. Ohne Git-Arbeitskopie verschwinden diese Karten jetzt.
    • "Sicherung anlegen" endete mit 500, wenn SQLite aelter als 3.27 ist (VACUUM INTO). Dann wird jetzt unter einer Schreibsperre kopiert.

    Ausserdem: Kein Knopf in der Verwaltung endet mehr mit einer 500-Seite, sondern mit einem Satz, der sagt woran es lag. Und jeder Schritt eines Updates steht sofort in var/updates.log - auch dann, wenn die Ergebnisseite nicht erscheint.

    Update: Verwaltung, Bildschirm System, Karte "Update einspielen".

    Downloads
  • v1.4.5 d295757ce0

    1.4.5 - drei Fehler, die nur auf fremden Servern auftraten
    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-13 21:54:18 +00:00 | 186 commits to main since this release

    Fehlerbehebungen. Wer 1.4.3 oder 1.4.4 laeuft, sollte diese Fassung einspielen.

    • Der Updateknopf endete mit 500. Das Update lief durch, aber die Ergebnisseite starb daran - und damit war der zweite Knopf (Migrationen) unerreichbar.
    • Die Verwaltung zeigte Git-Fehlermeldungen auf Installationen, die ueber das Releasearchiv eingerichtet wurden. Ohne Git-Arbeitskopie verschwinden die Git-Karten jetzt.
    • "Sicherung anlegen" endete mit 500, wenn SQLite aelter als 3.27 ist. Dann wird jetzt unter einer Schreibsperre kopiert. Ausserdem endet kein Knopf mehr mit einer 500-Seite, sondern mit einem Satz, der sagt woran es lag.

    Update: Verwaltung, Bildschirm System, Karte "Update einspielen".

    Downloads
  • v1.4.4 4153ba0f65

    1.4.4 - Migrationen im Browser
    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-13 21:15:42 +00:00 | 187 commits to main since this release

    Enthaelt alles aus 1.4.3 (Update aus dem Releasearchiv ohne Git, Farbwaehler, mobiles Verwaltungsmenue, eigene Symbole) und zwei Nachtraege:

    • Der Bildschirm System zeigt eine Karte, sobald Migrationen ausstehen, und fuehrt sie auf Knopfdruck aus. Das ist der Schritt, der bisher eine Konsole brauchte - noetig fuer jedes Update, das von Hand ueber FTP eingespielt wird.
    • Ein fehlgeschlagener Download sagt, woran es lag. Haeufigster Fall auf Webhosting: PHP hat keinen Zertifikatsspeicher.

    Installation: install.php herunterladen, in ein leeres Verzeichnis auf dem Webspace legen, im Browser aufrufen.

    Update einer Installation ab 1.4.3: Verwaltung, Bildschirm System, Karte "Update aus dem Releasearchiv".
    Update einer aelteren Installation: von Hand, Anleitung in docs/UPDATE.md.

    Downloads
  • v1.4.3 d6d476177a

    1.4.3 - Update ohne Git, Verwaltung auf dem Telefon
    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-13 21:01:46 +00:00 | 188 commits to main since this release

    Update aus dem Releasearchiv fuer Installationen ohne Git, Farbwaehler im Designbereich, mobiles Verwaltungsmenue und eigene Symbole.

    Installation: install.php herunterladen, in ein leeres Verzeichnis auf dem Webspace legen und im Browser aufrufen. Der Installer holt das Archiv und prueft die SHA-256-Summe.

    Update einer bestehenden Installation: Verwaltung, Bildschirm System, Karte "Update aus dem Releasearchiv".

    Downloads
  • v1.4.2 ea3dd4ddf2

    KantSites 1.4.2
    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-13 19:56:18 +00:00 | 189 commits to main since this release

    Diese Fassung prüft vor der Installation, ob die Datenbank mitspielt.

    Auf einem Hosting mit älterem SQLite brach die Installation bisher erst beim Anlegen der Tabellen ab – mit SQLSTATE[HY000]: General error: 1 near "(": syntax error. Der Grund: Doctrine liest das Datenbankschema mit Tabellenfunktionen wie pragma_table_info(...), die es erst seit SQLite 3.16 (2017) gibt. Manche geteilten Hostings liefern noch 3.7.

    Jetzt nennt die Systemprüfung die gefundene Fassung, und der Datenbankschritt bietet SQLite gar nicht erst an, wenn sie zu alt ist – mit dem Hinweis, stattdessen MySQL zu nehmen.

    Voraussetzungen

    • PHP ab 8.2
    • SQLite ab 3.16 oder MySQL/MariaDB
    • GD mit WebP für Bilduploads, ZIP für Sicherungen
    • Die Domain muss auf public/ zeigen

    Installation auf einem Webhosting ohne Composer

    1. install.php herunterladen und in den leeren Webordner legen.
    2. Im Browser aufrufen. Die Datei lädt kantsites-1.4.2.zip von dieser Seite, prüft die Prüfsumme, entpackt und löscht sich anschließend selbst.
    3. Dem Assistenten unter /install folgen.

    Archiv: kantsites-1.4.2.zip (4,6 MB, enthält vendor/)
    SHA-256: aa8a7e10d0bcb61447ad6b51b25b3c601e65c35d622860cda31aaace5e12058a

    Auch in dieser Reihe behoben

    • 1.4.1: Dem Archiv fehlten migrations.php und cli-config.php – die Installation brach mit „The configuration file does not exist" ab.
    Downloads
  • v1.4.1 c517173579

    KantSites 1.4.1
    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-13 19:43:56 +00:00 | 190 commits to main since this release

    Diese Fassung behebt einen Fehler, der eine frische Installation unmöglich machte.

    Dem Archiv der Fassung 1.4.0 fehlten migrations.php und cli-config.php. Die Installation brach deshalb im dritten Schritt ab, mit „The configuration file does not exist" – genau dort, wo die Tabellen angelegt werden. Wer 1.4.0 heruntergeladen hat, nimmt bitte diese Fassung.

    Der Weg ist mit diesem Archiv einmal vollständig durchgespielt: 3504 Dateien entpackt, 14 Migrationen ausgeführt, 15 Tabellen angelegt.

    Installation auf einem Webhosting ohne Composer

    1. install.php herunterladen und in den leeren Webordner legen.
    2. Im Browser aufrufen. Die Datei lädt kantsites-1.4.1.zip von dieser Seite, prüft die Prüfsumme, entpackt und löscht sich anschließend selbst.
    3. Dem Assistenten unter /install folgen: Systemprüfung, Datenbank, Migration, Website, Konto.

    Die Domain muss auf public/ zeigen – sonst wären .env und var/ über das Netz erreichbar.

    Archiv: kantsites-1.4.1.zip (4,6 MB, enthält vendor/)
    SHA-256: 9d6bcbdea3fced837ad645e5f6904924b61dca28cd0d11323014875f7954a814

    Alles Neue der Fassung 1.4.0 gilt unverändert: Beiträge optional, Schriften vom eigenen Server, Bildbetrachter, Knopf „nach oben", Rechtszeile als Baustein, Cloudflare Turnstile, frei wählbare Adresse für die Verwaltung.

    Downloads