NanoCMS Exportregeln

Aus Melin DokuWiki

(Weitergeleitet von NanoCMS Exporegeln)
Wechseln zu: Navigation, Suche

DIe NanoCMS Exportegeln steuern die Übergabe von NanoCMS Dokumenten in andere Systeme und Systemkomponenten.

Innerhalb des NanoCMS werden wie bei jedem guten Content Management System Layout und Inhalte getrennt verwaltet, erst bei der Übergabe werden die Inhalte dann final aufbereitet und in ein Layout gegossen. Das Format hängt dabei vom Zielsystem ab, zum Beispiel HTML, XML oder PDF.

Das NanoCMS kann Inhalte unter anderem in folgenden Formaten exportieren:

  • HTML
  • XML
  • Melin Workflow (speziell definiertes XML)
  • SQL
  • PDF

in vielen Projekten sollen die Inhalte in weiteren Formaten bereitgestellt werden. Der einfachste Weg ist hier die Inhalte an den Workflow von Melin zu übergeben (Format: Workflow) und dort dann entsprechend zu verarbeiten. Der Workflow-Export enthält alle Daten. Der Versandworkflow zum Beispiel wandelt die XML-Datei in ein Mailing um und verschickt diese.

Inhaltsverzeichnis


[bearbeiten] Funktionsweise

Fertige Dokumente befinden sich im NanoCMS auf dem Schreibtisch. Dort können sie durch einen Klick auf den Genehmigen- oder Freischalt-Button veröffentlicht werden. Das NanoCMS geht anschließend die Liste der Freischaltregeln durch und führt jede passende Regel aus, mit Ausnahme der Vorschau-Regeln, diese werden nur durch den "Vorschau"-Button ausgelöst.

[bearbeiten] Konfiguration

Die Freischaltregeln werden unter Einstellungen / Exportregeln definiert. Dabei sollte es mindestens zwei Regeln geben:

  • Vorschau-Versand
  • Workflow-Export (Versand des Mailings an die gesamte verknüpfte Empfängerliste)

Exportregeln sind Mandantenabhängig, jeder Mandant hat dabei seine eigenen Freischaltregeln. Eine Ausnahme bilden die Freischaltregeln des Supersers. Diese können auch von Usern genutzt werden die nicht Superuser sind wenn im Userprofil "Superuser Exportregeln verwenden" aktiviert wird. Die Idee dahinter ist daß man oft nicht für jeden Mandant eigene Regeln hinzufügen möchte.

Empfohlene Mindestregeln
Empfohlene Mindestregeln


[bearbeiten] Trigger

Grundsätzlich werden alle Regeln immer ausgeführt wenn ein Anwender auf Freischalten oder Vorschau klickt. Über "Trigger" kann man die Ausführung an Bedingungen knüpfen. Als Trigger setzt man dabei irgendein Feld des Dokuments (zum Beispiel die Betreffzeile "SUBJECT", das Eingabetemplate "__TEMPLATE" oder die User-ID des Autors "__CREATOR"). Als Value setzt man den Wert den das Trigger-Feld dabei haben soll. Nur wenn der Wert genau übereinstimmt wird die Regel ausgeführt.

[bearbeiten] Vorschau (Preview)

Der Vorschau-Versand verschickt eine E-Mail als Vorschau an die Emailadresse des eingeloggten Benutzers. Ist keine Vorschau-Regel definiert erscheint auch kein Vorschau-Button auf dem Schreibtisch. Gibt es mehr als eine Vorschau-Regel, so erscheinen auch mehrere Vorschau-Buttons. Beschriftet werden die Buttons mit dem Namen der Vorschau-Regel. Genutzt wird dies zum Beispiel um eine Vorschau-Funktion an einen Testverteiler zu realisieren (Ab Melin 4 gibt es für diese Funktion eine elegantere Lösung, das Feld M_PREVIEW_NL das einen eigenen Vorschau-Button anzeigt und gleich mit einer Vorschau-Liste verknüpft.

Als Zielverzeichnis kann ein Ordner angegeben werden in dem die XML-Datei abgelegt werden soll. Der Superuser und alle Installationen die ohne Mandanten arbeiten spielen dabei die XML-Datei standardmäßig in den Ordner SITE-DIR/cms/preview/preview (kein Tippfehler). Der Versandworkflow überwacht diesen Ordner.

Mandanten haben eigene Ordner mit der Mandanten-ID (zum Beispiel SITE-DIR/clients/3/cms/data/content). SSchickt sich ein User mit dem Mandant 3 eine Vorschau landet diese zum Beispiel in:

Vorschau Versand
Vorschau Versand


Das heisst auch daß man den Workflow erweitern muss, diese Mandantenordner werden vom Standardworkflow nicht erfasst. Am einfachsten fügt man pro Mandant einen XMLReader hinzu. Es geht jedoch noch einfacher: Wenn man bei einer Mandantenregel als Zielverzeichnis "../../../cms/preview/preview" einträgt (Unix und Windows), dann wird die XML-Datei nicht im Mandanten-Ordner erzeugt sondern im Superuser-Standardverzeichnis - und dort auch direkt vom Workflow gefunden.

Trotzdem muss man pro Mandant eine eigene Vorschau-Regel anlegen. Umgehen kann man das nur wenn man konsequent bei jedem User die Option"Superuser Exportregeln verwenden" anklickt. Dann werden bei der Vorschau nur die Superuser-Regeln und -Verzeichnisse bearbeitet.

Zusätzlich können bis zu fünf zusätzliche Werte hinzugefügt werden. Manchmal setzt man hier einige Werte für den Workflow,oder spezielle Absenderadressen.

Die Option "Ins Archiv verschieben wenn diese Regel ausgeführt wird" erzeugt eine Kopie des Dokuments im Melin-Archiv wenn diese Regel ausgeführt wird. Standardmäßig wird die Kopie erst erzeugt wenn das Dokument freigeschaltet/verschickt wird.

Mit "Vom Schreibtisch löschen wenn diese Regel ausgeführt wird" kann man das Dokument vom Schreibtisch löschen. In der Regel wird man diese Option nicht aktivieren.

[bearbeiten] Workflow-Export (Publish)

Der Workflow-Export erzeugt eine XML-Datei um ein Mailing zu versenden. Diese Datei wird anschließend vom Melin Daemon/Versandworkflow eingelesen und verarbeitet.

Als Zielverzeichnis für den Export kann ein Ordner angegeben werden in dem die XML-Datei abgelegt werden soll. Der Superuser und alle Installationen die ohne Mandanten arbeiten spielen dabei die XML-Datei standardmäßig in den Ordner SITE-DIR/cms/export/default. Der Versandworkflow überwacht diesen Ordner.

Mandanten haben eigene Ordner mit der Mandanten-ID (zum Beispiel SITE-DIR/clients/3/export). Schickt sich ein User mit dem Mandant 3 eine Vorschau landet diese zum Beispiel in diesem Ordner

Das heisst auch daß man den Workflow pro Mandant erweitern muss, diese Mandantenordner werden vom Standardworkflow nicht erfasst.

Am einfachsten fügt man pro Mandant einen XMLReader hinzu. Es geht jedoch noch einfacher: Wenn man bei einer Mandantenregel als Zielverzeichnis "../../../cms/export/default" einträgt (Unix und Windows), dann wird die XML-Datei nicht im Mandanten-Ordner erzeugt sondern im Superuser-Standardverzeichnis - und dort auch direkt vom Workflow gefunden.

Trotzdem muss man pro Mandant eine eigene Vorschau-Regel anlegen. Umgehen kann man das nur wenn man konsequent bei jedem User die Option"Superuser Exportregeln verwenden" anklickt. Dann werden bei der Vorschau nur die Superuser-Regeln und -Verzeichnisse bearbeitet.

Zusätzlich können bis zu fünf zusätzliche Werte hinzugefügt werden. Manchmal setzt man hier einige Werte für den Workflow,oder spezielle Absenderadressen.

Die Option "Ins Archiv verschieben wenn diese Regel ausgeführt wird" erzeugt eine Kopie des Dokuments im Melin-Archiv wenn diese Regel ausgeführt wird. Standardmäßig wird die Kopie erst erzeugt wenn das Dokument freigeschaltet/verschickt wird. Mit "Vom Schreibtisch löschen wenn diese Regel ausgeführt wird" kann man das Dokument vom Schreibtisch löschen. In der Regel wird man diese Option nicht aktivieren.

Freischalten mit Archivierung und Löschen vom Schreibtisch
Freischalten mit Archivierung und Löschen vom Schreibtisch


[bearbeiten] XML

Der XML-Export schreibt die Inhalte als XML-Datei in einen frei wähbaren Ordner. Alternativ kann die Datei per FTP auf einen entfernten Server übertragen werden.

Im Dateinamen können einige Platzhalter verwendet werden

Variable Beschreibung Beispiel-Wert
COUNTER Fortlaufender Zähler 4711
DIRECTORY Entspricht dem Feld "Verzeichnis" aus der Designvorlagen-Definition /www/htdocs/mailings
SITE-DIR Pfad zum msite-Verzeichnis der Melin-Installation /home/melin/msite
DOC-ROOT Workflow /home/melin/htdocs
__DOCID Dokumenten-ID des aktuellen Dokuments 117524615


Zusätzlich können bis zu fünf zusätzliche Werte hinzugefügt werden. EIn Wert hat dabei eine Spezialbelegung: setzt man DELETE_LIVE auf "1" so werden alle Felder in der XML-Datei die mit "_LIVE" enden bei der Generierung der Datei entfernt. Entwickelt wurde diese Option für Templates die komplett unterschiedliche Werte je nach Regel bereitstellen sollen.

[bearbeiten] HTMLONLY

Die HTMLOnly-Option exportiert das Dokument als HTML-Seite. Ein Transfer per FTP ist möglich. Bilder und PDF-Dokumente die verwendet oder verlinkt sind werden nicht mit übertragen.

[bearbeiten] HTML

Die HTML-Option exportiert das Dokument als HTML-Seite. Bilder und PDF-Dokumente die verwendet oder verlinkt sind werden bei einem FTP-Transfer mit übertragen. Gedacht ist diese Option zum Beispiel zum Aufbau eines Newsletter-Archivs.

im Dateinamen können mit %...% alle Felder aus dem Dokument als Platzhalter verwendet werden. Definiert man im Dokument ein Feld "FILENAME", so kann man bei der Definition des Dateinamens mit %FILENAME% darauf zugreifen. Mit $TIME$ erhält man einen Mililsekunden-Zeitstempel.

Es werden alle Bilder mit übertragen die relativ verlinkt sind (also zum Beispiel /melin/ivault/images/clear.gif). Bilder die mit http://.. eingebunden sind werden nicht mit übertragen.

Man kann weitere Dokumente mit übertragen wenn diese im HTML-Code als Kommentarfeld in der folgenden Form versteckt sind:


[bearbeiten] SQL

Alle Felder des Dokuments werden in eine SQL-Datenbank-Tabelle übertragen. Dabei wird für jedes Feld eine eigene Spalte verwendet. Ist die Spalte noch nicht vorhanden so wird diese angelegt. Als Primary Key dient dabei die Spalte DOCID mit der Dokumenten ID.

Nicht in die Datenbank übertragen werden alle Felder die mit "M_" oder "__" beginnen (Melin-interne Steuerfelder). Zu beachten daß bei vielen Datenbanken die Zahl der Spalten begrenzt ist. Es ist empfehlenswert pro Template eine eigene Tabelle und Freischaltregel vorzusehen und über die Trigger so zu konfigurieren daß die Regel nur für je ein Template ausgeführt wird.