Die Integration von Fremddaten auf einer Website ist eine häufige Anforderung an ein Content Management System. contentXXL bietet dazu out-of-the-box verschiedene Möglichkeiten an: Platzhalter für externe Datenquellen, Import und Export sowie die Möglichkeit der Entwicklung eigener Module auf der Basis der bereitgestellten ASP.NET API.
Importschnittstellen
Die Integration von Fremddaten auf einer Website ist eine häufige Anforderung an ein Content Management System. Das contentXXL CMS bietet dazu out-of-the-box verschiedene Möglichkeiten an:
- Platzhaltermodule wie z.B. das XML-Modul. Dieses Modul stellt Fremdaten in Form von XML per URL oder File über ein bereitgestelltes XSLT serverseitig dar - ohne die Daten zu importieren
- Datenimport über verschiedene Schnittstellen
- Verwendung von auf der Basis der contentXXL ASP.NET API selbst entwickelten Modulen (User Controls). Dies ist insbesondere dann sinnvoll, wenn neben den Daten auch spezielle Funktionalitäten gefragt sind.
Während bei der Verwendung von Platzhaltermodulen die Inhalte im Fremdsystem verbleiben und nur zur Laufzeit (ggf. mit Caching) serverseitig an der gewünschten Stelle formatiert und angezeigt werden, können selbst entwickelte Module zusätzliche Geschäftslogik beinhalten. Der Datenimport bietet dagegen eine Möglichkeit, weitestgehend ohne Programmierung Fremdaten vollständig in das System zu integrieren.

Abb.: Die Abbildung zeigt die zu importierende Datenquelle, eine Dokumentenbibliothek aus Microsoft SharePoint, innerhalb des contentXXL Sitemanagers als XML
Dazu werden auf der contentXXL Seite Verbindungen (Connections) definiert. Eine Verbindung wird jeweils zwischen einer externen Datenliste (z.B. einer Tabelle oder Abfrage einer Datenbank oder einer Liste bzw. Dokumentenbibliothek in Microsoft SharePoint) und einem bestehenden contentXXL Modul hergestellt. Im Ergebnis des Exports werden unter Verwendung einer Assembly und/oder einer XSLT-Transformation aus den einzelnen Listeneinträgen der externen Datenquelle die Objekte des angegebenen Moduls gebildet. Dabei entspricht z.B. ein Datensatz einer SQL-Server Tabelle einem contentXXL-Objekt, z.B. einem Kontakt in einem Kontaktmodul. Die Transformation der Felder der externen Datenquelle auf die Attribute des Zielobjektes kann direkt durch die Assembley oder auch über eine XSL Transformation vorgenommen werden. Die XSL Datei kann dabei auch logische Operationen beinhalten oder z.B. ein Textfeld formatieren.
Es werden verschiedene Standard-Assembleys für häufig benötigte Importe zur Verfügung gestellt, selbst entwickelte Assembleys, die die API benutzen, können nach Registrierung ebenfalls verwendet werden. Es werden folgende Datenquellen unterstützt:
- beliebige XML-Datenquellen
- Tabellen bzw. Ansichten eines Microsoft SQL-Servers
- RSS bzw. RDF Newsfeeds
- SharePoint Listen*, SharePoint Dokumentenbibliotheken*
* für diese Datenquellen sind zusätzliche Lizenzen erforderlich
Sie können auch eigene Assemblies registrieren, die eine beliebige externe Datenquelle für contentXXL zugänglich machen. Für die von Ihnen definierten Importe können Zugriffsrechte vergeben werden, die Sicherstellen, dass die Importe nur von berechtigten Benutzern bzw. Rollen durchgeführt werden können.
Exportschnittstellen
contentXXL bietet die Möglichkeit, alle enthaltenen Daten aus dem System zu exportieren und so für andere Systeme bereitzustellen. Standardmäßig erfolgt dies über XML bzw. Webservices. Über eine optionale XSLT-Transformationen können aber auch beliebige andere Formate bereitgestellt werden. Im Grundsystem wird ein XSLT für ein contentXXL internes XML Format bereitgestellt. Ist kein XSLT angegeben, erfolgt die Bereitstellung automatisch per RSS.

Abb.: Die Abbildung zeigt einen Datenexport aus dem Newsmodul "Aktuelle News" einer Website in eine entsprechende RSS Newsfeed.