IMPORT
Hier wird der Import von Daten aus verschieden Quellen verwaltet. Standardmäßig sind die Quellen RSS, SQL-Server, XML und Microsoft SharePoint-Listen verfügbar. Weitere Datenquellen können kundenspezifisch implementiert werden.
Die Integration von Fremddaten auf einer Website ist eine häufige Anforderung.
contentXXL bietet dazu verschiedene Möglichkeiten:
- Platzhaltermodule wie z.B. XML-Modul oder SharePoint-Modul
- selbst entwickelte Module, die direkt auf die Fremddaten zugreifen
- Datenimport
Während bei der Verwendung von Platzhaltermodulen die Inhalte im Fremdsystem verbleiben und nur zur Laufzeit an der gewünschten Stelle formatiert und angezeigt werden, können selbst entwickelte Module direkt auf die Daten zugreifen und zusätzliche Geschäftslogik beinhalten. Der Datenimport bietet dagegen eine Möglichkeit, Fremddaten vollständig in das System zu integrieren.
Dazu werden auf der contentXXL-Seite Verbindungen zu Datenquellen definiert. Eine Verbindung wird jeweils zwischen einer externen Datenquelle (z.B. einer Tabelle oder Abfrage einer Datenbank oder einer Liste bzw. Dokumentenbibliothek in Microsoft SharePoint) und einem bestehenden contentXXL-Modul hergestellt.
Mit Hilfe einer XSL-Datei können die Felder der Datenquelle mit der Datenstruktur des importierenden Modultyps gemappt werden:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2004-06-21T16:22:54"
xmlns:xd="http://schemas.microsoft.com/office/infopath/2003">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<news>
<xsl:apply-templates select="/dataset/table[@name="row"]/row"/>
</news>
</xsl:template>
<xsl:template match="/dataset/table[@name="row"]/row">
<item>
<xsl:attribute name="id"><xsl:value-of select="./ows_ID"/></xsl:attribute>
<title><xsl:value-of select="./ows_Title"/></title>
<previewimage><xsl:value-of select="./ows_Bild"/></previewimage>
<description>Hier könnte Ihre Beschreibung stehen!</description>
</item>
</xsl:template>
</xsl:stylesheet>
In diesem Beispiel wird eine Sharepoint-Liste in ein News-Modul importiert. Die Sharepoint-Felder ows_Title und ows_Bild werden in der XSL-Datei den contentXXL-Datenbankfeldern title und previewimage zugeordnet.
Im Ergebnis des Imports werden unter Verwendung einer Assembly und ggf. einer XSLT-Transformation aus den einzelnen Listeneinträgen der externen Datenquelle die Objekte des angegebenen Moduls gebildet. Dabei entspricht z.B. ein Datensatz der Datenquelle einem contentXXL-Objekt (z.B. einem Kontakt in einem Kontaktmodul) bzw. bei Mehrsprachigkeit einer Sprachvariante. Die Transformation der Felder der externen Datenquelle auf die Attribute des Zielobjektes kann direkt durch die Assembly oder auch über eine XSL Transformation vorgenommen werden. Die XSL Datei kann dabei auch logische Operationen beinhalten oder z.B. Felder formatieren.
Es werden folgende Klassen von contentXXL für häufig benötigte Importe zur Verfügung gestellt:
- ContentXXL.Runtime.ExternalData.ContentImports.NewsImport
- ContentXXL.Runtime.ExternalData.ContentImports.DocumentsImport
- ContentXXL.Runtime.ExternalData.ContentImports.ContactsImport
- ContentXXL.Runtime.ExternalData.ContentImports.LinksImport
- ContentXXL.Runtime.ExternalData.ContentImports.ShopImport
Selbst entwickelte Assemblies, die die API benutzen, können nach Registrierung in den Import-Einstellungen ebenfalls verwendet werden.
Unterstützte Datenquellen
Die unterstützen Datenquellen finden Sie in der ersten Ebene der entsprechenden Baumstruktur im Sitemanager. Es werden folgende Datenquellen unterstützt:
- XML
- RSS
- SQL-Server
- SharePoint Listen*
- SharePoint Dokumentenbibliotheken*
- SharePoint Infopathbibliotheken*
* für diese Datenquellen sind ggf. zusätzliche Lizenzen erforderlich
Die Symbolleiste beinhaltet Funktionen zum Erstellen eines neuen Datenquell-Typs, Erstellen eines neuen Imports, Löschen eines Imports sowie zum Speichern der Einstellungen.
Zusätzliche Datenquellen
Sie können eigene Assemblies registrieren, die eine externe Datenquelle für contentXXL zugänglich machen. Klicken Sie dazu auf „Neuer Datenquell-Typ“ und folgen Sie dem entsprechenden Dialog.
Abb.: Erstellen eines Datenquell-Typs
- Name: Name des Datenquellen-Typs (beliebig, z.B. Oracle Datenbank).
- Pfad: Pfad zu Ihren Codedateien.
- Assembly: Hier geben Sie Ihre DLL an.
- Klassenname: Namespace und Name der Connector-Klasse Ihrer Assembly.
Detaillierte Informationen zum Import allgemein sowie zur Erstellung von kundenspezifischen Importen finden Sie im Partner- und Supportportal. Es gibt zahlreiche Möglichkeiten, über die verwendete XSL-Datei den Import zu steuern (Zuordnung einer Sprache, Zuordnung von Kategorien etc.)
Erstellen eines Imports
Zum Erstellen eines neuen Importes wählen Sie zunächst den Typ der gewünschten Datenquelle aus der Baumstruktur, z.B. SharePoint List, und klicken Sie dann auf die Schaltfläche „Neuer Import“.
Import-Einstellungen
Der Eigenschaftsdialog der Datenquelle ist für die einzelnen Typen unterschiedlich, je nachdem welche Informationen zum Aufbau einer Verbindung benötigt werden, wie z.B. Anmeldedaten, Adressen oder Tabellennamen.
Abb.: Einrichten einer SharePoint-Datenquelle für den Import
Für eine SharePoint Liste sind z.B. folgende Angaben erforderlich:
ALLGEMEINE EINSTELLUNGEN
- Name des Imports: Beliebiger Name für den Import
ANMELDUNG
- Benutzer: Falls der WebService eine Authentifizierung benötigt, kann hier der Benutzername eingetragen werden.
- Passwort: Passwort zur Authentifizierung gegenüber der Datenquelle.
- Domain: Falls der Benutzer Mitglied einer Domäne ist, kann hier der Name eingetragen werden.
- Art der Anmeldung: Authentifizierungstyp bei der Anmeldung an der Datenquelle.
QUELL WEBSERVICE
- URL: Adresse des WebServices, der die Daten bereitstellt
- Liste: Auswahl einer Liste aus der SharePoint Datenbasis
CACHE
- Cache aktivieren: Aktiviert das Caching für den Import
- Cache Timeout: Timeout für den Cache
TRANSFORMATIONS-EINSTELLUNGEN
- XSL Datei: XSL Datei für die Transformation der empfangenen XML-Daten.
KLASSEN-EINSTELLUNGEN
- Assembly: Falls Sie eine eigene Assembly verwenden, kann der Name hier angegeben werden.
- Klassen-Name: Name und Namespace der Importklasse (ggf. von contentXXL, s.o.)
ZIEL-MODUL
- Ziel Modul: Name des Moduls, in welches die Daten importiert werden sollen.
Achtung: Die Dropdown-Liste wird erst dann mit Werten gefüllt, wenn ein Eintrag bei bei "Klassen-Name" gemacht und gespeichert wurde. Vorher ist contentXXL nicht bekannt, welcher Modultyp überhaupt importiert werden soll.
- Externe Ereignisse akzeptieren: Die Reaktion auf externe Ereignisse kann hier aktiviert werden. So ist es möglich, die Daten in contentXXL bei Änderungen in der externen Datenquelle automatisch zu aktualisieren. Die Hostanwendung kann dazu contentXXL über einen Webservice (~/contentxxl/services/importsvc.asmx) benachrichtigen und damit den Import anstoßen. Ebenso lässt sich damit ein zeitgesteuerter Import einrichten.
Sobald Sie die Eingaben speichern, erscheint ein neuer Eintrag in der Liste der verfügbaren Importe für die jeweilige Datenquelle.
Import-Vorschau
Um die Funktionalität eines eingerichteten Imports prüfen zu können, steht das Register „Vorschau“ zur Verfügung. Es können die Daten der Quelle sowohl als Dataset als auch im XML-Format, das XSL-File und die damit transformierten XML-Daten abgerufen werden. Weiterhin kann man einen Testimport starten und das zu füllende Modul in der Vorschau ansehen.
Abb.: Die Vorschau der zu importierenden Daten erleichtert den Import
Zusätzlich zu den bereits vorgestellten Funktionen und Formularen können auch die Zugriffsrechte für den aktuellen Import festgelegt werden.
Abb.: Setzen von Zugriffsrechten auf einen Import. Nur Mitglieder der Rolle Admins dürfen den Import ausführen.