Development Weblog-Engine Serendipity definiert eine klare Ansage an die PHP-Weblog-Engine Serendipity – Underdog mit Biss Garvin Hicking Serendipity ist der unterschätzte Underdog der Blog-Szene, der sich vor den populären Konkurrenten wie WordPress und MoveableType aber nicht zu verstecken braucht. Viele bekannte Namen in der PHP-Szene [1] setzen das System bereits schon seit einer Weile ein. Dieser Artikel kann vielleicht auch Ihnen einen Anreiz zur Re-Dekoration der eigenen vier Webwände geben… Die Entwicklung der Blog-Engine begann erweitert, das Templatesystem Smarty • Web-basierter Installations-Wizard für Anfang 2003, initiiert von Jannis Her- hielt Einzug in den Kern und Mehrbe- einfache und fortgeschrittene Konfi- manns [2] und damals noch unter dem nutzer- sowie CMS-Fähigkeiten wurden guration. Upgrades aller Versionen seit Namen jBlog. Schnell war in dem größer ausgebaut. Erscheinen auf die aktuelle Version kön- werdenden Entwicklerumfeld der tref- Die konstante Entwicklung des Systems nen ebenfalls mittels des integrierten Up- fendere Name Serendipity aus der Taufe gipfelt heute in einem stabilen, Feature- date-Managers durchgeführt werden. gehoben und soll sowohl das Konzept des kompletten Paket, das auch sicher dem- • Übersichtliche, funktionale Bedienung Blogsystems verdeutlichen, als auch ei- nächst noch Kaffee wird kochen können. mit (optionalen) WYSIWYG-Editoren. ner Figur des Films Dogma Tribut zollen. • Integrierte Mediendatenbank (Bilder, Serendipity stand von da an für zielgerich- Features PDFs, MP3, ...) mit Rechtemanagement, tete Bedienung, maximale Flexibilität und Das Aufzählen aller Features würde Keywords, Thumbnail-Erzeugung, dy- ausbaufähige, solide Technik. deutlich den Rahmen sprengen, denn namischer Verzeichnisnavigation, Lay- Wie die Blogszene selbst hat sich auch nicht umsonst wird Serendipity als bes- outmanager zum Einfügen von Dateien. das Blogsystem sprunghaft entwickelt te Weiterentwicklung des geschnitten‘ • Gruppenbasiertes Rollenkonzept mit und von Version zu Version über die Jah- Brot bezeichnet. Da man aber gerade zu unbegrenzt vielen Autorengruppen und re zahlreiche Innovationen erfahren. So Web-2.0-Zeiten mit Buzzwords sparsam individuellen Rechten. wurde nach und nach die Plugin-Infra- umgehen sollte, hier kurz die wichtigsten • Thread-basierte Kommentare, ver- struktur auf ein Event-basiertes Konzept Eigenschaften: schachtelbare Kategorien, Zuweisung 42 PHP Magazin 4.2007 www.phpmagazin.de Weblog-Engine Development von Einträgen in mehrere Kategorien, ausprobiert und mit keinem richtig glück- Version 1.1 bot nach der Konsolidie- Trackback, Pingback, XML-RPC, lich wird, gibt es hier ein umfangreiches rungsphase und Logo-Umgestaltung der XHTML 1.1, CSS, RSS, Atom, ... Tagging-Plugin, das alle Geschmäcker Vorgängerversion erstmals wieder um- • Flexible Plugin-API für Seitenleisten- befriedigen kann. Und wenn nicht, dann fangreiche neue Features. Beispielsweise und Ereignisplugins, die effektiv jede kann es zukünftig leicht gemeinsam durch die komplett überarbeitete Medienda- Stelle des Systems ohne Eingriffe in den die Community verbessert werden. tenbank, die nun mittels Smarty-Temp- Core-Code erweitern können. Online Weiterhin ist Serendipity mit einer lating individuell anpassbar und mit au- Plugin-Repository (Spartacus) für 1- zweckmäßigeren, abstrakteren Codebase tomatischer Datei-Synchronisierung und Click-Installation von mehr als 150 Plug- ausgestattet. PHPDoc-Funktionskom- AJAX-basierter Verzeichnisnavigation ins. Drag‘n‘Drop-Pluginverwaltung zur mentare, aufgeräumte Verschachtelung noch einfacher benutzbar wurde. Änderung von Seitenleisten-Layouts. und Benutzung von Objekt-Orientierung Der AJAX-Trend wurde natürlich • Dynamisches, Smarty-basiertes Temp- in der Plugin-API lassen das Entwickler- auch bei Serendipity aufgegriffen, aber late-Konzept. Strukturelle Änderungen herz höher schlagen. Die Trennung von nur dezent an den Stellen eingesetzt, wo er aller Elemente des Frontends sind so mit Layout und Code im Templatebereich wirklich Verbesserung bringen konnte. So einzelnen, aufeinander aufbauenden macht Änderungen fühlbar angenehmer. zum Beispiel in der Verwaltung der Plug- Templatedateien umsetzbar. Unüberschaubare PHP-Konstrukte, Plug- ins, deren Reihenfolge nun per einfachem • Integration in bestehende Webseiten in-Hacks und Modi!kationen an Dateien Drag and Drop änderbar wurde – und die einfach möglich. Shared Installation des Sourcecodes sucht man hier vergebens. Möglichkeit, dass Templates eine belie- ermöglicht Betrieb von beliebig vielen Woran es Serendipity noch mangelt, bige Anzahl von Seitenleisten de!nieren Blog-Instanzen mit nur einer Codebase. ist eine ausführlichere Dokumentation können sowie andere templatespezi!sche • Umfangreiche, konfigurierbare Anti- und auch mehr Beteiligung der Nutzer an Optionen kon!gurierbar machen. Spam-Maßnahmen (Captcha, Modera- Plugin- und Template-Entwicklung. Für Eine Verbesserung der Plugin-API tion, Akismet, ...). die Zukunft ist neben der OpenID-Inte- bringt nun auch die Möglichkeit, die Aus- • Unterstützung von MySQL(i), Post- gration (bereits in Arbeit) auch die stär- führung gewisser Plugins für definierte greSQL und SQLite. kere Integration von PEAR-Channels, Autorengruppen zu verhindern, und auch • OpenSource. Und zwar richtig, nämlich Unit-Tests, Performance-Tuning und bestimmte Textformatierungen nur auf durch Verwendung der BSD-Lizenz. So- Work"ow-Integration gewünscht – wer kon!gurierte Artikel anwenden zu können. mit kann Serendipity auch in kommerzi- sich also schon immer einmal an einem Auch RSS-Feeds können nun mittels Smar- ellen Programmen seinen Einsatz !nden. Open-Source-Projekt messen wollte und ty-Templating individualisiert werden • Importieren aus zahlreichen anderen etwas beitragen möchte, darf sich in der (ebenso wie Feeds nun auch logingeschützt Blog-Systemen (WordPress, Moveable- einfachen Welt der Serendipity-Entwick- per HTTP-Authentication abgerufen wer- Type, b2Evo, blogger, ...) lung gerne jederzeit beteiligen. [3] den können). Die Integration von PEAR Für den geneigten PHP-Entwickler ist wurde verbessert, und vorhandene Kom- Aber ist das auch besser als ... Serendipity eine sehr gute Anlaufstelle, um ponenten auf dem Server können genutzt Bei allen Vorzügen des Systems sollte man sich mit Plugin-API basierten Systemen nä- werden. Auch bei der SQL-Performance dennoch neutral beim Vergleich mit ande- her zu befassen und selbst Nutznießer der wurde einiges untersucht und verbessert. ren etablierten Systemen am Markt blei- angebotenen Flexibilität und Erweiterbar- Für Pro!s kam die Möglichkeit hinzu, ben. Der Blogger an sich ist ja ein possier- keit zu werden. Wer nutzt als Entwickler alternative Templating-Prozessoren wie liches, individuelles Wesen und tut sich schon gerne ein System Out-of-the-Box, XSLT oder PHP zu nutzen. Damit !el ei- daher bei der Wahl seines Systems ähnlich ohne sich selbst in der Kon!guration und ne weitere Hürde von (unverstandenen) schwer wie bei der Wahl der Religion. Gestaltung des Blogs ausdrücken zu kön- Smarty-Hassern, Spaß an Serendipity !n- Der weiten Verbreitung und monoli- nen? Genau dies war schon immer die den zu können. thischen Popularitätskost von WordPress Grundanforderung bei den Entwicklern Hervorzuheben ist, dass seit dem entgegensetzen kann Serendipity vor – am Ende möchte man ein System indivi- Bestehen des Projekts größter Wert auf allem eine zielgerichtete, zentrale Com- duell so nutzen, als hätte man es selber ent- Rückwärts-Kompatibilität gelegt wurde. munity. Dort sind die Entwickler noch am wickelt. Und dieses Gefühl, mit einem soli- Selbst Templates und Plugins der ersten Ohr der Benutzer und können den Code den Framework in der Hinterhand, möchte Version sind in heutigen Versionen noch genau in die Richtung entwickeln, die von Serendipity vermitteln. nutzbar, alle Updates der vergangenen den Benutzern gewünscht wird. Ganz Versionen waren immer nicht-destruktiv, ohne visionäre Marketinggedanken [8]. Neuerungen von Serendipity notwendige Code-Änderungen wurden Zudem kann Serendipity durch sein zen- Wer das System schon länger kennt, aber automatisch durchgeführt. trales, leicht zugängliches Plugin-Archiv vielleicht auch schon mit früheren Versi- auf stabile und größtenteils of!ziell unter- onen beinahe wunschlos glücklich war, Serendipity 1.2 stützte Plugins zurückgreifen. Bevor man dürfte vielleicht an den Neuerungen der Nachdem das letzte Major Release im 10 Pluginlösungen für ein Tagging-Plugin letzten Versionen interessiert sein. Dezember 2006 stattfand, wird Version www.phpmagazin.de PHP Magazin 4.2007 43 Development Weblog-Engine Abb. 1: Der Installati- onsmanager erstellt eine Analyse des Systems Abb. 2: Daten- bankanbindung über eine übersichtliche Eingabemaske 1.2 auch nicht mehr lange auf sich warten daher lohnt sich ein Blick auf das Online- packen sollte darauf geachtet werden, dass lassen. Die derzeit aktuelle 1.2-Alpha3- Plugin Repository [4]. die Verzeichnisse templates_c, uploads und Version bietet bereits jetzt folgende Neu- archives sowie das Serendipity-Stammver- erungen: Installation zeichnis für den Webserver schreibbar sind. Wer sich bis zu dieser Stelle noch zurück- Nach der Installation kann für das Stamm- • Verbesserte Konnektivität mit dem halten konnte und Serendipity nicht di- verzeichnis das Schreibrecht wieder entzo- Online-Repository Spartacus, verbes- rekt selbständig installiert hat, sollte spä- gen werden, da es nur für die Erstellung der serte Erkennung von Firewall-Proble- testens jetzt tätig werden.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages5 Page
-
File Size-