Zweck
Parameteraufbau: In einem Syndicationblock wird angegeben, welche Daten, in welchem Format, aus welcher Quelle und in welcher Form temporär in die VIO.Matrix Datenbank einzubinden sind. Der Syndicationblock erzeugt einen temporären (d.h. nur während der Erzeugung der aktuellen Ausgabe gültigen) Ordner, welcher die importierten Daten enthält. Einzelne Datensätze werden in diesem temporären Ordner als Elemente angelegt.
#SYNDICATE [Parameter des Syndicationblocks] #ENDSYNDICATE
Parameter Pflichtangaben:
Dem Parameter url können folgende URL-Typen übergeben werden:
Optionale Parameter:
Achtung: Beim Mischen von internen und externen Daten kann es erforderlich werden, Datenfelder der importierten Daten umzubenennen. Ist bspw. der Titel interner Neuigkeiten in der Variable „de_titel" gesichert und die zu importierenden Neuigkeiten werden über einen RDF Newsfeed bereitgestellt, dann muß das importierte Datenfeld „title" in „de_titel" umbenannt werden.
Sortieren:
Beispiel 1:
Aus einer lokal auf dem Server vorhandenen mySQL-Datenbank soll der Inhalt der Spalte "farbe" aus der Tabelle "saefte" ausgelesen werden. Der entsprechende Aufruf sieht folgendermaßen aus:
<p><b>Saftfarben:</b></p> #SYNDICATE id="1000" content-type="sql/mysql" url="mysql://localhost/datenbankname" login="Karl" password="2004Karl" sql-statement="select farbe from saefte" #ENDSYNDICATE #INSERT_OR_#{syndication:1000}_ELZEILE
<!-- Detaildarstellung --> #INSERT_EL_VAR_farbe!<br />
Ergebnis im Browser:
Saftfarben:
orange gelb grün
Beispiel 2:
Weitere Informationen zu Content Syndication:
Attribut | Wert | Beschreibung |
---|---|---|
id = "[1]"
|
[1]:
Integer
|
Eindeutige Syndication-Id. |
content-type = "[1]"
|
[1]:
Zeichenkette
|
Festlegung des Content-Type für den Syndication-Block: sql/mysql, text/html, rss/rdf, text/csv, application/binary. |
url = "[1]"
|
[1]:
Zeichenkette
|
[Protokoll]://[Login[:Passwort]@][URI] |
sql-statement = "[1]"
|
[1]:
Zeichenkette
|
SQL-Statement, welches an die unter url="" definierte Datenbank übermittelt wird. |
merge-into = "[1]"
|
[1]:
Ordner-ID
|
ID des Ordners, in welchen die importierte Inhalte temporär gesichert werden sollen. Die Inhalte werden dabei mit den bereits existierenden Inhalten vermischt und nicht permanent gesichert. |
login = "[1]"
|
[1]:
Zeichenkette
|
Angabe zum Login, um auf die zu importierenden Daten zugreifen zu können. Das Login kann wahlweise auch innerhalb des Parameters „url" angegeben werden. Die separate Angabe empfiehlt sich, wenn das Login die Zeichen: : , @ oder / enthält. |
password = "[1]"
|
[1]:
Zeichenkette
|
Angabe zum Passwort, um auf die zu importierenden Daten zugreifen zu können. Das Passwort kann wahlweise auch innerhalb des Parameters „url" angegeben werden. Die separate Angabe empfiehlt sich, wenn das Passwort die Zeichen: @ oder / enthält. |
sql-host = "[1]"
|
[1]:
Zeichenkette
|
Angabe von Hostnamen des Servers zu dem eine MySQL-Verbindung aufgebaut werden soll. |
sql-database = "[1]"
|
[1]:
Zeichenkette
|
Angabe des Datenbanknamens auf dem Server zu dem eine MySQL-Verbindung aufgebaut werden soll. |
sql-host = "[1]"
|
[1]:
Zeichenkette
|
Angabe der Socketverbindung des Servers zu dem eine MySQL-Verbindung aufgebaut werden soll. |
http-header = "[1]"
|
[1]:
Zeichenkette
|
Enthält optional einen HTTP-Header, welcher - bei Nutzung des Content-Type "text/html" an den angegebenen Server gesendet werden soll. Wird kein http-header angegeben, wird ein Standard-HTTP-Header gesendet. |
http-method = "[1]"
|
[1]:
get | post
|
Angabe der HTTP-Request-Methode: "get" oder "post", Standardmethode ist "get" |
http-post-data = "[1]"
|
[1]:
Zeichenkette
|
Angabe der an den Server zu sendenden Daten bei Verwendung der HTTP-Methode "post". |
revisit-after = "[1]"
|
[1]:
Integer
|
Angabe, nach wieviel Sekunden die bereits in einem temporären Ordner importierten Daten aktualisiert werden sollen. Die Angabe sehr großer Zeiträume wirkt sich hier positiv auf die Performance des Systems aus, da bei jedem Importvorgang eine Verbindung zu einem entfernten Server aufgebaut und die Daten anhand des Contenttype in VIO.Matrix Ordner und Elemente konvertiert werden müssen. |
import-or-vartypes = "[1]"
|
[1]:
Zeichenkette
|
Angabe einer Liste von Importvariablen des Syndicationordners und den ihnen zuzuordnenden Variablentypen in der Form [[Importdatenfeldname], [Variablentyp als Zahlwert];]. |
import-el-vartypes = "[1]"
|
[1]:
Zeichenkette
|
Angabe einer Liste von Importvariablen der Elemente des Syndicationordners und den ihnen zuzuordnenden Variablentypen in der Form [[Importdatenfeldname], [Variablentyp als Zahlwert];]. |
unique-session = "[1]"
|
[1]:
Zeichenkette
|
Angabe der alphanumerischen Sitzungs-ID - die Resultate der Content-Syndication sind dann nur für diese Sitzung zugänglich. |
or-mapping = "[1]"
|
[1]:
Zeichenkette
|
Liste umzubenennender Datenfeldnamen in dem Format: [[[Importdatenfeldname], [VIO.Matrix Ordnervariablenname]];] |
el-mapping = "[1]"
|
[1]:
Zeichenkette
|
Liste umzubenennender Datenfeldnamen in dem Format: [[[Importdatenfeldname], [VIO.Matrix Elementevariablenname]];] |
merge-sort-or-var = "[1]"
|
[1]:
Variablenname
|
Angabe eines VIO.Matrix Ordnervariablennamen, nach dem die Sortierung erfolgen soll. |
merge-sort-el-var = "[1]"
|
[1]:
Variablenname
|
Angabe eines VIO.Matrix Elementevariablennamen, nach dem die Sortierung erfolgen soll. |
merge-sort-or-type = "[1]"
|
[1]:
ascending | descending
|
Angabe der Sortierrichtung: „ascending" für aufsteigende (A-Z) und „descending" für absteigende (Z-A) Sortierung importierter Ordner. |
merge-sort-el-type = "[1]"
|
[1]:
ascending | descending
|
Angabe der Sortierrichtung: „ascending" für aufsteigende (A-Z) und „descending" für absteigende (Z-A) Sortierung importierter Elemente. |
csv_separator = "[1]"
|
[1]:
Trennzeichen
|
CSV-Trennzeichen: Angabe eines Trennzeichens zur Unterscheidung verschiedener Spalten. Standard: ";" (Semikolon) |
csv_itemtype = "[1]"
|
[1]:
element | ordner
|
Art der CSV-Zeilen: Die Zeilen der CSV können als Elemente ("element", Standard) oder als Ordner ("ordner") importiert werden. |