ak|weblog

Freitag, 30. Juli 2004

Textpattern: Grundlagen

Die Basics

Textpattern (TXP) ist ein Content Management System (CMS). Es befindet sich momentan noch in der Entwicklung, hat die Version Gamma 1.19 erreicht und läuft stabil. Allerdings ist es ausdrücklich noch keine Anwendung für den unbedarften Neuling, der mit drei Klicks alles am Laufen haben möchte. Layoutgestaltung und Einrichtung der Templates erfordern Einarbeitung und Erfahrung mit CSS. Starterpakete sind aber wohl für das fertige Produkt geplant.

Funktion

TXP basiert auf PHP und MySQL und einem Set von Tags, die nach dem Schema <txp:tagName /> aufgebaut sind. Beim Aufrufen einer Seite werden der PHP-Code und diese Tags dynamisch durch die entsprechenden Inhalte ersetzt. Die TXP-Tags können entweder in ein Seitentemplate (eine XHTML-Datei) oder in ein sogenanntes “form” (“Format” oder “Formular”, wobei beide Übersetzungen nicht besonders glücklich sind) eingebaut werden.

Die forms sind eine der Besonderheiten von TXP. Die zweite ist die Organisationsstruktur mit Sektionen. Doch bleiben wir zunächst bei den forms.

forms

Neben dem üblichen Gestaltungselement eines CMS, nämlich der Seitenvorlage (template) bietet TXP eine weitere Organisationsebene, die unterhalb der Seitenebene anzusiedeln ist: forms. Ein form ist ein Code-Schnipsel, das jegliche Art von Inhalt enthalten kann: XHTML, reinen Text, TXP-Tags (die dann bei der Ausgabe der Seite geparst werden) oder eine Mischung aus allem. Typischerweise kann ein form dazu verwendet werden, die Struktur eines Eintrags (z.B. bei einem Blog) festzulegen. Das könnte dann so aussehen:

<div class="post"><br />
<br />
<h3><txp:permlink><txp:title /></txp:permlink></h3><br />
<br />
<txp:body /><br />
<br />
<p class="meta"><strong>Autor dieses Beitrags:</strong> <txp:author /> | <txp:posted /></p> <br />
<br />
</div>

Dieses form kann ich benennen und dann aus dem Seitentemplate aufrufen. Wenn ich also ein Template für mein Blog baue, erstelle ich obiges form und füge Folgendes in das XHTML-Template ein.

<txp:article form="formName" />

Das <txp:article /> Tag ist der “inhaltliche Grundstock” jedes Templates und wird stets durch meine gespeicherten Beiträge ersetzt und durch das Attribut “form” gebe ich an, welche Form der Eintrag annehmen soll. In diesem Beispiel wäre jeder Beitrag von einem div namens “post” umgeben und würde eine h3-Überschrift als Link anzeigen, darunter den Text des Beitrages und anschließend einige Metaangaben über das Datum des Beitrages und den Autor. Wie man sieht, sind fixe und dynamische Elemente gemeinsam in einem Form vertreten.

Angenommen ich habe einen Bereich auf meiner Site, in der ich nur kurze Links posten möchte, dann erstelle ich ein form, das einfacher ist und z.B. nur den eine Überschrift ohne Textkörper anzeigt.

Eine weitere Anwendung von forms ist das Ausgeben von sich wiederholenden Code-Blücken ohne dass dynamische Elemente enthalten sind. So kann z.B. das XHTML für den Header, für die Navigation, für den Footer etc. jeweils in ein form packen und mit dem Tag <txp:output_form /> an jeder beliebigen Stelle der Site ausgeben.

Forms ermöglichen also das Wiederverwenden von flexiblen Bausteinen auf verschiedenen Teilen der Site wobei ihre dynamischen Tags immer mit den Inhalten der gerade aufgerufenen Rubrik gefüllt werden.

Näheres zu den Möglichkeiten der Strukturierung einer Website mit den bereits kurz angesprochenen Sektionen im nächsten Textpattern-Beitrag.

Sonntag, 18. Juli 2004

Neues Projekt (fast) fertig

Eigentlich wollte ich mit den Ankündigung warten, bis mein neues Projekt ganz fertig ist. Da nun Jens aber schon geplaudert hat, muss ich wohl nachziehen, obwohl der letzte Schliff noch fehlt.

Daher also: tataa! Hier ist Rete-Mirabile.net, eine Info- und Ideensammlung für alle, die in irgendeiner Form unterrichten und sich dafür interessieren, wie man das Web zum Erfahrungsaustausch und zum “idea sharing” nutzen kann. Ich biete zwar verschiedene RSS-Feeds an, verstehe die Site aber nicht als Blog, da die Chronologie der Inhalte nichts mir dem Inhalt zu tun hat und auch “Unaktuelles” veröffentlicht wird.

Kritik und Anregungen zu Konzept und Design sind jederzeit (per eMail oder in den Kommentaren hier) willkommen.

Die Site läuft auf einem CMS und es ist nicht WordPress, wie Jens ebenfalls bemerkt hat. Das liegt aber nicht etwa an meiner vermeintlichen Featuritis sondern daran, dass ich ein Navigationssystem realisieren wollte, das jeden Artikel über zwei verschiedene Kanäle zugänglich macht. Diese Kanäle sind das Thema und die Artikelform. Ich wollte also erreichen, dass man einen Buchtipp zur Biologie sowohl über “Biologie” als auch über “Buchtipps” aufrufen kann.

Das Kategoriensystem von WordPress war dafür schlicht nicht flexibel genug und auch in anderer Hinsicht ist WP eben doch hauptsächlich ein Blogsystem und erst in zweiter Reihe ein CMS. Hier fällt mir u.a. die Tatsache ein, dass ich ein angepasstes Template nach einem Upgrade von WP erst mühsam neu zusammenstellen musste, was bei einer umfangreichen Site mit mehreren Templates schnell unpraktisch wird.

Eher zufällig stieß ich auf Textpattern und es gefiel mir auf Anhieb. Das Admin-Interface ist schlicht, aufgeräumt und ästhetisch ansprechend. Textpattern hat neben den bekannten Kategorien zusätzlich sogenannte sections, denen man jeweils ein eigenes Seiten-Template zuweisen kann. Damit lassen sich beispielsweise unterschiedliche Layouts und Seitenstrukturen für verschiedene Bereiche der Site realisieren.

In puncto Webstandards und CSS-basiertes Design steht TXP WP übrigens in nichts nach.

TXP baut seine Seiten ebenfalls mit PHP und MySQL und nutzt dafür einen umfangreichen Satz von eigenen Tags, die in ihrer Form leicht zu verstehen sind. Um zum Beispiel den Body-Text eines Eintrags auszugeben, baut man in das Template folgendes ein:

<txp:body />

Hier kommen wir aber zu einer weiteren Besonderheit von Textpattern. Diese Tags baut man nicht direkt in das XHTML-Seitentemplate ein, sondern in sog. forms oder “Formate”. Das sind Schnipsel von Code, die als Vorlage für die Strukturierung von Inhalten dienen und die ihrerseits dann in das XHTML-Template eingebaut werden.

Dieses Konzept klingt ohne Anschauungsmaterial nun wahrscheinlich unnötig kompliziert und undurchsichtig. Es macht aber einen großen Teil der Flexibilität von Textpattern aus, wenn man es mal verstanden hat (was durchauch ein bisschen dauern kann).

Bei allen Problemen und Fragen ist aber das sehr lebhafte TXP-Forum eine große Hilfe.

Bisher läuft Rete-Mirabile.net hervorragend mit Textpattern und ich habe noch keine Situation gehabt, in der ich das CMS nicht dazu gebracht hätte, genau das auszugeben, was ich sehen möchte.

In der nächsten Zeit werde ich einige Details der Organisation und des Designs der Site einschließlich des CSS hier ein wenig näher beschreiben. Wer sich also für ein vielversprechendes neues CMS interessiert, könnte möglicherweise interessante Erfahrungen aus dem täglichen Einsatz hören.