Skip to content

BlogForge - Yet Another Blog System?

BlogForge Backend ScreenshotWeiter geht es mit einer Session von Sven Jansen zu BlogForge, einem neuen Blogsystem der Freiburger Esono AG. Grund für die Neuentwicklung (basierend auf Chameleon CMS) war hauptsächlich die Unzufriedenheit mit Wordpress und auch anderen Blogsystem (u.a. S9Y wegen Smarty). Vorteile: Komplett objektorientiert auf PHP5; Objektcaching, welches DB-Queries einspart; ausgereifte Medienverwaltung; jQuery-Einsatz in Front- und Backend; Multi-Portal-Fähigkeit; Mehrsprachigkeit (mit de_DE als default); automatische DB-Klassen-Generierung, wenn neue Tabellen usw. erstellt werden; Spam-Blocking über Defensio; Cron-Job-System integriert; UWA-Widgets von Netvibes schon dabei; spezielle Ping-Profile für verschiedene Ping-Services (Anwendungsmöglichkeit?).

Eine Closed Beta soll Mitte Mai 2008 erscheinen. Der Einsatz von jQuery bzw. Dojo im Backend hinterlässt einen ganz guten Eindruck, ist intuitiver als bei den meisten Systemen. Auch ist der Aufbau sehr modular, was ich als relativ angenehm empfinde. Der Medienmanager öffnet sich Lightbox-mäßig in einem Layover und unterstützt sogar den Import per FTP und multiple Uploads per Flash. Als Editor kommt WYSIWYG Pro zum Einsatz. Die Tagverwaltung soll mit Namespaces versehen werden.

Sven zeigt uns jetzt auch noch die "Tabelleneinstellungen", also die Möglichkeit, neue Datentypen und -felder in die DB zu schreiben, Klassen dazu zu erstellen, und diese mitsamt Funktionalitäten auf z.B. Blogeinträge zu mappen (z.B. ein Readonly-Flag, das nachträglich in den Edit-View des Backends eingebaut wird). Sieht alles schon interessant aus.

The Observer Pattern and PHP4

Matt Zandstra wrote a great and highly recommended article about The Observer Pattern for the Zend Developer Zone. The tutorial is geared at intermediate and expert users, and of course users of PHP5. Now, for those of you who - like me - sometimes still have to work with PHP Version Four, the example won't work out of the box.

Since the observer pattern came in quite handy for my current project, I'd like to share the minor fixes I had to apply to the code. The methods attach() and detach() are the only two methods you'll have to change. Just edit them like so:


function attach($obs) {
    $this->observers[get_class($obs)] = $obs;
}

function detach($obs) {
    unset($this->observers[get_class($obs)]);
}
 

I don't know why Matt used delete() to detach an observer because in the manual it says under delete(): This is a dummy manual entry to satisfy those people who are looking for unlink() or unset() in the wrong place. Whatever, I hope some of you will find my entry useful when hunting for this specific problem.

Welcome to the Second Edition of the Sperrobjekt Weblog

This blog is a reincarnation of an older one that is disabled but can still be found here. For a number of reasons I decided to install the new Sperrobjekt Weblog (version 2.0 if you want) on a new server, to use a better blogging software, and to not import my old blog postings into this setup. Everything I posted before 2006 can still be found in the original archives.

First of all, it's been almost a whole year since I sent my old blog into hibernation. A lot has changed since then, particularly with regard to software. I wanted to run my server with PHP5 (still only cgi, though) and MySQL5, and I especially wanted to run Serendipity, a wonderful weblog software, on this server. And that is not only because I'm actively developing a couple of plugins for S9Y. ;O) This configuration provides for a greater flexibility, extensibility, and for modern features (hello, web2.0).

"Welcome to the Second Edition of the Sperrobjekt Weblog" vollständig lesen