Speedcoding
ProgrammiersprachenChristian Strang ruft in seinem Webdesignblog zum zweiten mal in Folge zum Hochgeschwindigkeitsprogrammieren auf. Ich werde diesmal auch mitmachen und mein Projekt wird das Backend meiner neuen Homepage sein. Das Design habe ich schon seit längerem so gut wie fertig, nur die Programmierung fehlt bis jetzt noch.
Ich habe in den letzten Wochen mehrere CMS-Systeme getestet und ich bin schlussendlich bei Textpattern gelandet. Ich kämpfte mehrere Tage, die Templates nach meinen wünschen in das CMS-System einzubinden, allerdings stellte sich gegen Ende immer mehr heraus, das das System nicht flexibel Genug für meine Wünsche ist. Darum habe ich gestern etwas Aufwandsabschätzung betrieben und bin zu dem Schluss gekommen, das ich nicht auf ein fertiges CMS bauen werde, sondern auf ein PHP-Framework, und die Seite (incl. Backend) selbst programmiere.
Folgende Features will ich bis zum 31.8.07 umsetzen:
- Meine Homepage mit den Unterkategorien
Blog
,Projekte
undArtikel
wird erstellt. Das XHTML ist bereits fertig. - Jede Kategorie hat Unterkategorien, in denen die eigentlichen Beiträge stecken.
- Blog und Artikel erhalten eine Kommentarfunktion.
- Trackbacks und Pingbacks zu Blog-Einträgen und Artikeln sind möglich.
- Die komplette Seite enthält eine Suchfunktion.
- Ein Backend, das folgende Features enthält:
- Einpflegen und Bearbeiten von Blog-Einträgen, Projekten und Artikeln.
- Eingetragene Texte können als
sichtbar
oderversteckt
markiert werden. - Beim Erstellen eines Blog-Eintrags kann ein Trackback gesendet werden.
- Eingetragen und gespeichert werden die Texte in Markdown-Syntax.
- Es lassen sich Bilder hochladen und einbinden
Für die Realisierung verwende ich folgende Techniken und Hilfen:
- Picora: Ein leichtgewichtiges PHP-Framework welches momentan in Beta 4 steht und einen sehr guten Eindruck macht. Ich habe zuvor schon einmal mit der Beta 1 gearbeitet und war sehr zufrieden.
- PHP Markdown: Ein Markdown nach XHTML Parser.
- Control.TextArea: Eine JavaScript-Klasse, welche es einfach macht, Buttons für Textboxen zu erstellen. Ich möchte keinen WYSIWYM-Editor ala FCKEditor verwenden, da mir dese zu aufgebläht sind.
- Lighttpd mit mod_rewrite: Leichtgewichtiger Webserver mit URL-Rewriting für pretty URLs :)
- prototype.js und MooTools: Um kleinere Spielereien und AJAX-Requests zu erzeugen.
- Als Datenbank kommt entweder SQLite, MySQL oder PostgreSQL zum Einsatz, programmiert wird in PHP 5.2+.
- Der komplette Sourcecode wird in SVN abgelegt und mit Phing auf meinem Server deployed. Auf UnitTests wird vermutlich (mal wieder) aus Zeitgründen verzichtet.