sebadorn.de

Aktueller CMS-Stand

CMS Create

Einige Tage ist es her, dass ich den aktuellen Entwicklungsstand meines BlogCMS aestas2 hochgeladen habe und damit den vorigen Stand ablöste, der, mit nun wieder mehr studiumsverschuldeter Erfahrung betrachtet, grauenvoll gecodet und schrecklich ineffizient war. Knapp 90 Datenbankabfragen um die Seite anzuzeigen? Oh woe is me, the shame!

Read more

aestas 1.3.0

aestas 1.3.0 Interface

Interface

Als Texteditor steht nun TinyMCE zur Verfügung. Man hat auch noch die Wahl den alten mehr oder weniger von mir zusammengeschusterten oder gar keinen zu verwenden (Direkteingabe von Quelltext).

Kommentare lassen sich in der Übersicht komplett darstellen anstatt wie vorher nur gekürzt. Man klickt auf „zeigen“ und der Text klappt aus. Ein Link zum Kommentar ist auch gleich dabei.

Sehr praktisch wie ich finde: Stellt man den Status eines Eintrages auf „wird vorbereitet“ und speichert, kann man direkt weiterschreiben. Der Eintrag wird den Besuchern noch nicht angezeigt.

Kategorien lassen sich zusammenlegen. Wird man in der Praxis nicht sehr häufig brauchen, aber wenn doch, spart es viel Arbeit.

Kommentare

Kommentare können moderiert werden. Bedeutet: Neue Kommentare müssen erst abgesegnet werden. Optional kann man sagen, dass Kommentare von einer einmal bestätigten eMail-Adresse immer gleich angezeigt werden.

Es wird ein Cookie gesetzt, das automatisch Name, eMail und URL ins Kommentarfeld einträgt, wenn bereits einmal kommentiert wurde. (Gilt nur für diesen einen Blog und nicht anderswo.)

Wer will, kann den Gravatar-Dienst einbinden. Bildmaße und Standardgrafik lassen sich über das Interface einstellen.

Wer will, kann – intern – in den Kommentaren volles XHTML nutzen. (Nicht die <br /> vergessen!)

Newsfeed

Neue Optionen für den Newsfeed: Bilder anzeigen oder nicht, komplett die Formatierung entfernen, kürzen, Anzahl der Einträge.

Ein zusätzlicher Newsfeed für Kommentare. Sowohl für Kommentare insgesamt als auch je Eintrag.

Usability

Kategorien und Stichwörter zu Einträgen werden nun alphabetisch sortiert. Ist so angenehmer zu lesen.

Blättern bzw. Seitenwahl überarbeitet: Neueste, Älteste und Vierer-Schritte in der Seitenwahl.

Und schließlich noch eine „Archiv“-Liste der Einträge nach Monat und Jahr. Muss natürlich nicht verwendet werden. Wenn man es aber möchte, ist es etwas umständlich mit PHP einzubinden.

Sonstiges

Trackbacks. Allerdings so gut wie gar nicht getestet – Weder was Senden noch Empfangen betrifft. Man darf Fehler erwarten. Verzeiht.

Schöne Permalinks insofern mod_rewrite unterstützt wird. Eine feine Sache <ironie>und es war ein Heidenspaß es zu implementieren</ironie>.

Passwortgeschützte Einträge und Seiten. Vielleicht ist nicht jeder Eintrag für die ganze Welt bestimmt?

Das Veröffentlichungsdatum lässt sich beliebig bestimmen, so also auch in die Zukunft legen.

Sowohl Installation als auch das Upgradeverfahren habe ich überarbeitet. Übersichtlicher und sicherer (hoffentlich).

„Dublin Core“ und ein paar andere Meta-Angaben sind rausgeflogen. Nutzt ja eh keiner und belegt unnötig Platz sowohl in Datenbank als auch im Interface.

Apropos Datenbank: Die MySQL-Tabellen sind ein wenig überarbeitet und dadurch minimal flotter.

Neues für z.B. die Seitenleiste: Vielschreiber, Einträge von vor <x> Tagen. Leider immer noch umständlich über PHP einzubinden. Für die Zukunft als verbesserungswürdiger Punkt vorgemerkt.

Das Verzeichnis „deine-dateien“ sollte umbenannt werden zu „media“. Mir ist bewusst, dass dies in Hinsicht auf ältere Einträge Probleme bedeutet, wenn der Pfad zur Grafik plötzlich nicht mehr stimmt etc., dennoch halte ich es für einen wichtigen Schritt.

Bugfixes

  • In der Liste der letzten Einträge (last-posts.php) erscheinen nicht mehr die Überschriften von solchen Einträgen, die nicht angezeigt werden sollen.
  • Suchergebnisse werden jetzt wirklich nach Datum sortiert.
  • Erstellen fehlerhafter Wiederherstellungen sollte das Zeichen „\“ vorkommen.
  • Dateien im Ordner „includes“ abgesichert
  • Blättern funktioniert nicht, wenn Meldung angezeigt wird
  • Es wird geprüft, ob eine Datei "favicon.ico" hinterlegt ist, bevor versucht wird, eine solche einzubinden
  • Nun gibt es wirklich volle UTF-8-Unterstützung
  • Unter PHP < 5 ließen sich keine Kommentare eintragen, dies ist nun behoben
  • Gesperrte Einträge waren trotzdem einsehbar, wenn es der neueste Eintrag war und eine nicht existente Eintrags-ID in die Adresszeile eingegeben wurde
  • Ändert man die ID eines Eintrages, werden nun auch die Kommentare korrekt zugeordnet
  • Admins können nun nicht mehr ihre eigene Klasse ändern
  • Befindet man sich auf dem Blog und es existieren keine Einträge, wird nun keine Fehlermeldung mehr ausgegeben
  • POST/GET/COOKIE abgesichert, sollte magic_quotes_gpc deaktiviert sein
  • Mehrere kleine MySQL-Sicherheitsmakel behoben
  • Andere Berechnungsmethode der verbleibenden Zeit zum Kommentarbearbeiten welche keinen Fehler in der Stundenanzahl birgt

Schöne Permalinks aktivieren

Aufgepasst! Ganz so einfach von wegen Einstellung speichern und fertig ist es leider nicht. Legt in eurem Installationsverzeichnis eine Datei mit Namen .htaccess an. Dort schreibt ihr folgendes hinein:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Sollte aestas in einem Unterordner liegen, müssen die Zeilen RewriteBase und RewriteRule angepasst werden:

RewriteBase /verzeichnis/
RewriteRule . /verzeichnis/index.php [L]

Sollte bereits eine .htaccess dort liegen: Nicht löschen! Wenn ihr euch auskennt, editiert sie, ansonsten besser vorerst auf Permalinks verzichten.

Bitte verzeiht die Umständlichkeit. :)

Epilog

aestas wurde nicht in allzu vielen Szenarien getestet. Die meisten Erkenntnisse stammen von meinem eigenen Betrieb hier, auf meinem Webspace.
Bei Problemen versuche ich gerne zu helfen.

Es gilt die GNU GPL 2. Das Lizenzabkommen sollte man auch lesen.

aestas 1.3.0 Download

Installation: aestas-1.3.0.zip
Upgrade von 1.2.x: upgrade-aestas-1.3.0.zip
Eine knappe Installations- bzw. Upgradeanleitung liegt bei.


Umstellung – aestas 1.3.0

Soeben das Versionsupgrade auf Version 1.3.0 vollzogen. Es funktioniert deutlich mehr nicht, als ich erwartet hätte. Auf den Segen schöner Permalinks muss aus unbekannten Gründen weiterhin verzichtet werden.

Für jene die meinen Newsfeed abonniert haben: Ihr hattet ihn abonniert. Aufgrund einiger Änderungen, müsst ihr, wer will, den Newsfeed neu abonnieren.

Ich frickel dann noch ein wenig hier herum … *zu sich selbst gegrumelt* Ich wette die Trackbacks funktionieren auch nicht …

Nachtrag
Ein Schritt weiter. Die schönen Permalinks funktionieren nun für die Einträge (nicht aber z.B. Seiten).

Nachtrag 2
Noch ein Fehler behoben. Im Anschluss große Rätselrunde, wie viele davon Schusselfehler waren. ;)

Nachtrag 3
Noch einen dicken Fehler totgeschlagen. Alle schönen Permalinks tun ihre Arbeit! Ihr seht mich Tränen der Freude vergießen. T_T

Nachtrag 4
Offenbar funktionieren nun auch Trackbacks. Also das Empfangen, vermutlich aber auch das Senden. Wow, ich habe alle groben Fehler und Problem damit beheben können. Nur noch ein paar Kleinigkeiten, die Zeit haben. Herrlich. :)


Mal wieder kreuz und quer

Wieder mal so ein „Ach, so kreuz und quer“-Eintrag.

Thema in Projekt 52 für diese Woche: Die Sonne geht unter. Da habe ich vorletzte Woche erst passende Fotos geschossen. Aber auch schon in meinen Blog gestellt und überhaupt will ich Griffe ins Archiv vermeiden. Dummerweise will das Wetter bisher nicht so recht. Aber ein paar Tage bleiben noch. Ziehe ich halt weiterhin abends auf die weiten Felder Sulzbachs aus.

Zu Beginn der Ferien habe ich mir noch vergenommen: Nein, ich werde nicht die Arbeit an aestas 1.3.0 beginnen. Immerhin habe ich es darauf reduziert, mich nur ein wenig mit der Datenbankstrukturumgestaltung zu beschäftigen. -_-

Ja, meine lieben Freunde! Ihr seht mich ab sofort wieder öfters in euren Messengern! Irgendwie mochte ich die ICQ- und MSN-Software zuletzt überhaupt nicht mehr nutzen. Mache ich auch weiterhin nicht. Ich bin umgestiegen auf die (bisher) sympathische lila Taube Pidgin. Ein OpenSource-Projekt, dass es ermöglicht über eben diese eine Software mehrere Messenger gleichzeitig zu verwalten und zu nutzen. (Und noch weitere Funktionen, die bisher nicht von Interesse für mich sind.) Es funktioniert, ich bin glücklich, meine (wenigen) Kontakte sind glücklich. Na also.


Update aestas 1.2.1

Ach, ich sag mal, das Update ist fertig. Bei Problemen stehe ich gerne beratend zur Seite. (Sollten Probleme auftauchen, wäre ich ja vermutlich auch der Urheber.) Also: Update von 1.2.0 auf aestas 1.2.1. Die geringe Änderung der Versionsnummer lässt erahnen, dass ich das Rad nicht neu erfunden habe. In der Tat handelt es sich in erster Linie um ein Bugfix-Release.

Bugfixes

  • Einstellungen -> Datenbank: Fehler beim Erstellen von Datensicherungen für Blacklist und Statistik behoben.
  • Einstellungen -> Datenbank: Die verfügbaren Datensicherungen werden nach Datum sortiert aufgelistet. Neueste am Anfang.
  • Einstellungen -> Datenbank: Das Zeichen "\" wurde nicht aus der Datensicherung übernommen.
  • Verwaltung -> Kategorien: Als Autor wird der Benutzername für die Anzeige bestimmte angezeigt und nicht mehr der interne Name.
  • Verwaltung -> Kategorien: Sortieren nach Namen der Kategorie funktioniert nun.
  • Benutzer: Falls neu angelegt, wird der angegeben Name vorerst sowohl als öffentlich als auch intern verwendet.
  • Benutzer: Klasse wird in deutscher Sprache ausgegeben, anstatt in englischer.
  • Benutzer: Es muss ein Name angegeben werden. Leerzeichen sind kein Name.
  • Benutzer: Editiert man als Admin einen anderen Account, wird man nicht mehr abgemeldet und auf diesem Account angemeldet.
  • Website: Entfernen von "<p>" und "</p>" im Text sollte ein Kommentar nachträglich vom Besucher verändert werden, der ein "<blockquote>"-Zitat enthält.
  • Begrüßungsansicht: Zu der Gesamtzahl an Kommentaren werden nun auch die Kommentare zu Seiten dazugezählt.
  • Sollte das eingestellte Theme (namentlich) nicht existieren (da z.B. umbenannt), wird versucht ein Theme namens "standard" zu benutzen. (Lasst daher am besten immer ein Theme mit dem Namen "standard" im "themes"-Ordner liegen.)
  • Der Newsfeed ist nach einer Installation nicht mehr standardmäßig aktiviert.
  • Passwort-vergessen-Funktion sollte jetzt auch wirklich funktionieren
  • Seiten können nicht mehr ohne Titel gespeichert werden. Wird kein Titel angegeben, wird er nach diesem Muster erstellt: "Seite <<Seiten-ID>>"
  • Suchergebnisse werden absteigend nach dem Datum sortiert
  • Extras -> Statstiken: Zurücksetzen der Statistik funktioniert nun

Ergänzungen/Änderungen

  • Neue Datei: "einstellungen.php" im Ordner "includes". Bietet weitere Einstellungsmöglichkeiten und lässt sich wie "wortlaut.php" bearbeiten.
  • Gestalten -> Editieren: *.xml-Dateien lassen sich auch bearbeiten.
  • Von Interesse für die Themes: Das <div>, in dem die Suchergebnisse stehen, hat ab sofort zusätzlich die Klasse "page"
  • Neues zum Einbinden in das Randmenü: "cloud-for-cats.php", "cloud-for-tags.php", "last-comments2.php", "last-page-comments2.php"
  • Neu für das Randmenü: Theme-Switcher, CSS-Switcher (Etwas komplizierter einzubauen. Eine Erklärung wird irgendwie zugänglich gemacht. Spätestens im Handbuch wird es stehen.)
  • Suchfunktion: Zusätzlich zur Suche in den Stichwörtern werden jetzt auch die Überschriften auf den Suchbegriff hin untersucht
  • wortlaut.php: Weniges entfiel, etwas kam hinzu.
  • Neue Benutzerklasse: Designer
  • Einstellungen -> Datenbank: AUTO_INCREMENT-Werte lassen sich jetzt auch für Kategorien und Benutzer einstellen.
  • Es wird versucht, die Mikrotypographie/Zeichensetzung in Kommentaren zu korrigieren (Lässt sich über "einstellungen.php" aktivieren und deaktivieren; standardmäßig deaktiviert.)
  • Unterstützung für Smilies in den Kommentaren (Die Smilies müsst ihr aber selbst besorgen.)
  • USER_AGENTs der Besucher auf bestimmte Inhalte untersuchen und entsprechend von der Statistik ausschließen (Bots nicht mitzählen lassen)

Nun noch ein paar erklärende Worte. Die neue Datei einstellungen.php bietet einige neue Möglichkeiten. So lässt sich einstellen, nach wie viel Zeit eine IP erneut für den Tag und online als Besucher gezählt werden soll. Für die neuen Switcher (hippes Wort, was?) lässt sich die Zeit angeben, wann das Cookie für Theme und/oder CSS verfallen soll. Es lässt sich einstellen, wo welche Informationen auftauchen sollen (ob vor oder nach dem Eintrag). Kommentare lassen sich korrigieren (oder auch vollständig verhunzen – aber wer macht sowas schon absichtlich?), allerdings erst bei der Ausgabe. Soll heißen: Die Datenbankinhalte bleiben unangetastet. Und dann noch Smilies. Diese müssen aber selbst besorgt werden. In einem Array legt man dann fest, welcher Text durch welches Smiley ersetzt werden soll. Von der Statistik lassen sich USER_AGENTs mit bestimmtem Inhalt ausschließen, z.B. solche mit dem Inhalt "Googlebot". Wozu sollte man Bots mitzählen?

*Luft hol* Okay, weiter im Text. Neue Dateien zum Einbinden in den Randbereich (oder auch sonstwo). cloud-for-cats.php: Die Katzenwolke ist eine Zusammenstellung aller Kategorien, vielbelegte erscheinen größer. cloud-for-tags.php ist das Gleiche, nur mit Stichwörtern. last-comments2.php und last-page-comments2.php zeigen an, wer wo zuletzt kommentiert hat.

Der Download des Updates: Update aestas 1.2.1

Ein paar mehr Themes stelle ich mal zur Auswahl und Christophs habe ich ein wenig angepasst.

  • sheep.zip (ich nenne es einfach so, hat aber nix mit Schafen zu tun)
  • warm-in-kalt.zip (mein vorletztes Design, hat recht lange durchgehalten)
  • what-is-it-like.zip (mit zwei Stylesheets, einmal mit schwarzen und einmal mit weißem Text-Hintergrund)

Fragen?^^