Kapitel 8. Einstellungen

Inhaltsverzeichnis

8.1. Textkonverter
8.1.1. Einführung
8.1.2. Verwendung der Textkonverter
8.1.3. XHTML, Markdown und Textile
8.1.4. Eigene Textkonverter integrieren
8.1.5. WYSIWYG
8.2. Textmakros
8.2.1. Einführung
8.2.2. Anwendung der Textmakros
8.2.3. Mitgelieferte Textmakros
8.2.4. Eigene Textmakros integrieren
8.3. Sitemaps
8.3.1. Einführung
8.3.2. Einrichtung
8.3.3. Sitemaps erstellen
8.4. Aktionen
8.4.1. Einführung
8.4.2. Die Aktionen

8.1. Textkonverter

8.1.1. Einführung

Welcompose bietet zur Texteingabe bei Inhaltsseiten oder Blog Postings die Möglichkeit, entweder nacktes HTML oder einen sogenannten Textkonverter zu verwenden. Dieser Textkonverter stellt in der Regel eine Markup-Sprache zur Verfügung, mit deren Hilfe gewisse einfache Formatierungsanweisungen gegeben werden können, die später in HTML verwandelt werden – ohne, dass man selber HTML tippen muss.

Ein bekanntes Beispiel ist die Markup-Sprache BBCode, die in vielen Diskussionsforen verwendet wird. Umschliesst man einen URL beispielsweise mit dem BBCode-Befehl [url], wird der URL in einen klickbaren Link verwandelt:

[url]http://www.example.com/[/url]

Sobald der Anwender dies in das Eingabefeld eingegeben und abgesendet hat, macht die Software im Hintergrund daraus je nach Implementierung beispielsweise:

<a href="http://www.example.com/">www.example.com</a>

Nach dem gleichen Prinzip funktionieren die Textkonverter in Welcompose. Welcompose bringt mit Markdown und Textile zwei populäre Textkonverter mit und ermöglicht mit Hilfe eines Plug-ins auch die Einbindung eigener Textkonverter.

8.1.2. Verwendung der Textkonverter

Die Textkonverter werden überall im Webinterface angeboten, wo sich Inhalte für die jeweiligen Seiten eingeben lassen. Sie können pro Seite, Blog Posting oder Box über eine Auswahlliste ausgewählt werden.

Abbildung 8.1. Auswahl des Textkonverters

Auswahl des Textkonverters

Es ist nur die Nutzung eines Textkonverters auf einmal möglich. Sollte der Wunsch danach bestehen, zwei Textkonverter zu kombinieren, muss dies über ein Plug-in und einen separaten Textkonverter realisiert werden (siehe Abschnitt 8.1.4, „Eigene Textkonverter integrieren“). Dies wird zum jetzigen Zeitpunkt nicht empfohlen.

[Anmerkung] Anmerkung

Für die Blog-Kommentare, kann der Textkonverter nur global für alle Blog-Kommentare gesetzt werden.

Hilftsfunktionen von Welcompose, beispielsweise zum Setzen interner Links oder zum Einfügen eines Bildes berücksichtigen automatisch den jeweils gewählten Textkonverter. Das heisst, dass je nach Textkonverter automatisch die richtige Syntax zum Integrieren von Bildern oder Links gewählt wird. Sollte ein Textkonverter ein bestimmtes Element nicht unterstützen, wird automatisch der passende (X)HTML-Code eingefügt.

[Anmerkung] Anmerkung

Wird der Textkonverter während oder nach dem Editieren gewechselt, muss beachtet werden, dass die Syntax nicht automatisch gewechselt wird, sondern die alte beibehalten wird. Wer den Textkonverter wechselt, muss die Syntax also von Hand anpassen oder den Textkonverter vor dem Erstellen des Texts ändern.

8.1.3. XHTML, Markdown und Textile

Welcompose bringt von Haus aus drei verschiedene Textkonverter mit:

  • XHTML

  • Markdown

  • Textile

8.1.3.1. XHTML

Der Textkonverter XHTML ist kein eigentlicher Textkonverter, da er eigentlich nichts tut. Er speichert den eingegebenen Text unverändert ab. Sein Einsatz empfiehlt sich dann, wenn man HTML-Code eingeben möchte.

Er ist der Standard-Textkonverter und darf nicht aus dem System entfernt werden, da es sonst passieren kann, dass beispielsweise der Mediamanager oder die Hilfsfunktionen zum Integrieren von Links oder Boxen nicht funktionieren. Dies, da er die Standardfunktionalität dazu bereitstellt, auf die andere Textkonverter zurückgreifen können, wenn sie selber über keine Methoden zum Einfügen eines Elements verfügen.

8.1.3.2. Markdown

Der Textkonverter Markdown[13] ist eine Entwicklung von John Gruber und in Form von PHP Markdown Extra[14] von Michel Fortin integriert.

Markdown bietet eine einfache und klare Syntax, die sich zur einfachen Strukturierung von Texten eignet.

8.1.3.3. Textile

Textile[15] ist eine Entwicklung von Dean Allen und ursprünglich für die Weblog-Software Textpattern entwickelt worden.

Textile eignet sich vor allem für kompliziertere Formatierungen, bei denen Elementen beispielsweise IDs oder CSS-Klassen zugewiesen werden sollen.

8.1.4. Eigene Textkonverter integrieren

[Warnung] Warnung

Die API für Textkonverter befindet sich noch unter starker Entwicklung und kann sich von Version zu Version drastisch ändern.

[Anmerkung] Anmerkung

Wer einen Textkonverter integrieren möchte, sollte mit den Grundlagen objektorientierter Programmierung in PHP 5 vertraut sein.

Die Integration eines eigenen Textkonverters besteht aus zwei Schritten:

  1. Die Erstellung eines Textkonverter-Plug-ins.

  2. Der Registrierung des Textkonverter-Plug-ins.

8.1.4.1. Plug-in erstellen

Um ein Textkonverter-Plug-in zu erstellen, werden zwei Dinge benötigt:

  1. Ein Textkonverter.

  2. Das eigentliche Plug-in, das für Welcompose eine einheitliche API zum Zugriff auf den Textkonverter bietet.

Wie der Textkonverter aussieht oder was er für Aufgaben erledigt, spielt bei der Integration keine Rolle. Er muss einzig eine Zeichenkette übernehmen, die der Eingabe des Anwenders entspricht, und diese (transformiert) wieder retournieren. Ein funktionsloser Prototyp könnte beispielsweise so aussehen:

class Mein_TextKonverter
{

	public function process ($input)
	{
		return $input;
	}

}

Selbstverständlich ist auch eine prozedurale Variante möglich:

function mein_textkonverter ($input)
{
	return $input;
}

Wo der Textkonverter abgespeichert wird, spielt ebenfalls keine Rolle. Praktisch ist vielleicht ein separates Verzeichnis unterhalb von core/, damit man nicht unabsichtlich – beispielsweise bei einem Update – den eigenen Textkonverter überschreibt.

[Anmerkung] Anmerkung

Die Textkonverter Markdown und Textile, die Welcompose mitbringt, sind im Verzeichnis core/third_party/ zu finden.

Mehr Konventionen gilt es dagegen bei den Plug-ins einzuhalten:

  • Die Plug-ins müssen im Verzeichnis core/plugins/textconverters/ abgelegt werden.

  • Sie müssen der Benennung wcom_plugin_textconverter_name.php folgen, wobei name eine Zeichenkette sein muss, die nur aus kleinen Buchstaben, Zahlen und Unterstrichen (_) bestehen darf. name wird auch für die Benennung der Plug-in-Klasse benötigt. Heisst die Plug-in-Klasse TextConverter_MeinTextKonverter, muss man MeinTextKonverter für den Plug-in-Dateinamen wählen, was zum Resultat wcom_plugin_textconverter_meintextkonverter.php führt.

Die Plug-ins selber werden als abgeleitete Klassen des XHTML-Textkonverters TextConverter_XHTML realisiert. Dabei gilt es, die Methoden neu zu implementieren, deren Funktionalität man mit dem neuen Textkonverter nutzen möchte.

Bietet der neue Textkonverter keine passende Funktionalität für eine Methode, lässt man diese einfach weg. Dann wird automatisch die Implementierung des XHTML-Textkonverters genutzt.

Die Methode, die man wohl bei jedem Textkonverter neu implementiert, dürfte apply() sein. Sie dient dazu, einen Textkonverter auf die vom Benutzer eingegeben Text anzuwenden. Wenn man den leeren Textkonverter-Prototypen von oben benutzen möchte, könnte das Plug-in beispielsweise so aussehen:

require_once('wcom_plugin_textconverter_xhtml.php');
require_once('/pfad/zu/meinem/textkonverter.php');

class TextConverter_MeinTextKonverter extends TextConverter_XHTML
{

	public function apply ($input)
	{
		$tk = new Mein_TextKonverter();
		return $tk->process($input);
	}

}

Nun wird der Textkonverter Mein_TextKonverter zur Transformation des Texts verwendet.

Die weiteren Methoden dienen unter anderem dazu, die richtige Sytnax für Hilfsfunktionen wie das Einfügen eines Links oder eines Bildes aus dem Mediamanager bereitzustellen, damit Bilder oder eben Links vorformatiert für die Anwender in die Inhalte eingefügt werden können.

mmInsertImage

Fügt Bilder aus dem Mediamanager ein.

mmInsertDocument

Fügt Dokumente aus dem Mediamanger ein.

mmInsertShockwave

Fügt Flashfilme aus dem Mediamanager ein.

mmInsertInternalLink

Fügt Links zu anderen Welcompose-Seiten ein.

mmInsertFlickr

Fügt Bilder aus dem Mediamanager ein, die vom Photo-Sharing-Service Flickr stammen.

Als protected oder private deklarierte Methoden können ignoriert werden.

Während die Funktionssignaturen in den abgeleiteten Klassen beibehalten werden müssen, ist es nicht nötig, auch wirklich alle übergebenen Variablen zu benutzen. Sie können verworfen werden, wenn die Syntax des Textkonverters ihre Anwendung nicht vorsieht.

Wie ein fertiges Textkonverter-Plug-in aussieht, zeigen die mitgelieferten Plug-ins für Markdown und Textile.

Bevor man das Textkonverter-Plug-in nutzen kann, muss es noch in Welcompose registriert werden (siehe Abschnitt 8.1.4.2, „Plug-in registrieren“).

8.1.4.2. Plug-in registrieren

Um einen neu hinzugefügten Textkonverter im Administrationsbereich nutzen zu können, muss er vorab registriert werden. Dies geschieht im Bereich Einstellungen im Unterpunkt Textkonverter. Wenn Sie dort auf den Link Neu anlegen klicken, gelangen Sie zum Formular zum Anlegen eines neuen Textkonverters.

Abbildung 8.2. Textkonverter hinzufügen

Textkonverter hinzufügen

Name

Der Name des Textkonverters, der jeweils in den Auswahllisten unterhalb der Inhaltsbereiche gezeigt wird. Er kann frei gewählt werden.

Interner Name

Interner Name des Textkonverters. Bei einer Plug-in-Klasse mit dem Namen TextConverter_MeinTextKonverter muss MeinTextKonverter eingegeben werden.

Standard

Wenn aktiv, wird dieser Textkonverter beim Anlegen neuer Seiten als Standard gesetzt.

Sobald das Formular ausgefüllt und abgesendet wurde, kann der Textkonverter innerhalb des Administrationsbereichs genutzt werden.

8.1.5. WYSIWYG

WYSIWYG- respektive sogenannte Rich-Text-Editoren wie TinyMCE oder FCKEditor können mit Welcompose nicht genutzt werden.

Wer trotzdem nicht auf einen WYSIWYG-Editor verzichten will, sollte über den Browser Firefox mit Hilfe von Erweiterungen mindenstens beschränkte WYSIWYG-Funktionalität erhalten, ohne den Quellcode von Welcompose modifizieren zu müssen:

Xinha Here!

Xinha Here![16] bindet den WYSIWYG-Editor Xinha[17] ein.

Mimulus

Mimulus[18] bietet einen schlanken WYSIWYG-Editor.

Achten Sie bei der Nutzung einer derartigen Extension einfach darauf, dass Sie den Textkonverter XHTML verwenden.

[Warnung] Warnung

Die Nutzung dieser oder anderer WYSIWYG-Editoren wird nicht empfohlen und nicht unterstützt. Der Mediamanager wie andere Hilfsfunktionen können durch die WYSIWYG-Editoren in ihrer Funktionalität eingeschränkt werden oder mit den Editoren nicht kompatibel sein.

Eine weitere Erleichterung zum Verfassen von Texten können externe Editoren sein, die beispielsweise Syntax-Highlighting bieten. Konsultieren Sie dazu Abschnitt 7.3.3.5, „Editor zur Vorlagen-Verwaltung verwenden“.