Wie lässt sich ein vollständiger Import von Inhalten mit Metadaten nach Confluence realisieren?Tino WinklerCommunardo Software GmbHConfluence Community Day, 29.10.2009
MotivationCommunardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de ·  Tel. +49 (351) 8 33 82-02Einführung von Confluence: Was ist mit den Daten im Altsystem?Migration nötig!Übernahme großer Mengen von DatenImport in bestehende Anwendung
HerausforderungFormat der QuelldatenCommunardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de ·  Tel. +49 (351) 8 33 82-03Abbildung auf Confluence DatenstrukturenBereiche, Seiten, News, Kommentare und AnhängeBerücksichtigung von MetadatenDatum, Ersteller, Bearbeiter, SchlagwörterReferenzen zwischen InhaltenHierarchien, VerknüpfungenÜbernahme der FormatierungZeichenkodierung
LösungCommunardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de ·  Tel. +49 (351) 8 33 82-04Austauschformat definierenAbbildung der Quelldaten auf Datenstrukturen in ConfluenceDefinierte ZeichenkodierungMetadaten zuordnenReferenzen abbildenVerwendung von XML-DokumentenMit XML-Schema validierbarBibliotheken zum Generieren/Einlesen der Datenstrukturen vorhanden (z.B. JAXB)
HerausforderungSpezifika in ConfluenceCommunardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de ·  Tel. +49 (351) 8 33 82-05Validierung, FehlerbehandlungVerbotene Zeichen in SeitentitelnSeitentitel müssen eindeutig seinZyklen in HierarchieConfluence speichert Inhalte in Wiki-MarkupKonvertierung der Inhalte des QuellsystemsWahl der ImportschnittstelleUWC unterstützt keine MetadatenAPI für XML-Import nicht dokumentiert und überschreibt vorhandene BereicheDirekter Import in Datenbank zu riskant
LösungCommunardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de ·  Tel. +49 (351) 8 33 82-06Eigenimplementation basierend auf API für InhaltsmanipulationEntity pro InhaltstypPersistierung mittels Manager-KomponentenFallstrickUneinheitliche API
Content Import PluginCommunardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de ·  Tel. +49 (351) 8 33 82-07QuellsystemConfluence-system+Transformierter XML-ExportContent Import PluginoderExport mitExport ScriptImport,Konvertierungmit Content Import PluginDatenbankEinfachheit vor
Komplexität.
(Maximal 3 Zeilen verwenden)oder …Unterstützt alle Inhaltstypen und beinahe alle MetainformationenDurch Austauschformat auf beliebige Quellsysteme anwendbarImport in bestehendes Confluence Wiki
Präsentation...Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de ·  Tel. +49 (351) 8 33 82-08

Import Von Inhalten In Confluence (CCD'09)

  • 1.
    Wie lässt sichein vollständiger Import von Inhalten mit Metadaten nach Confluence realisieren?Tino WinklerCommunardo Software GmbHConfluence Community Day, 29.10.2009
  • 2.
    MotivationCommunardo Software GmbH· Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-02Einführung von Confluence: Was ist mit den Daten im Altsystem?Migration nötig!Übernahme großer Mengen von DatenImport in bestehende Anwendung
  • 3.
    HerausforderungFormat der QuelldatenCommunardoSoftware GmbH · Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-03Abbildung auf Confluence DatenstrukturenBereiche, Seiten, News, Kommentare und AnhängeBerücksichtigung von MetadatenDatum, Ersteller, Bearbeiter, SchlagwörterReferenzen zwischen InhaltenHierarchien, VerknüpfungenÜbernahme der FormatierungZeichenkodierung
  • 4.
    LösungCommunardo Software GmbH· Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-04Austauschformat definierenAbbildung der Quelldaten auf Datenstrukturen in ConfluenceDefinierte ZeichenkodierungMetadaten zuordnenReferenzen abbildenVerwendung von XML-DokumentenMit XML-Schema validierbarBibliotheken zum Generieren/Einlesen der Datenstrukturen vorhanden (z.B. JAXB)
  • 5.
    HerausforderungSpezifika in ConfluenceCommunardoSoftware GmbH · Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-05Validierung, FehlerbehandlungVerbotene Zeichen in SeitentitelnSeitentitel müssen eindeutig seinZyklen in HierarchieConfluence speichert Inhalte in Wiki-MarkupKonvertierung der Inhalte des QuellsystemsWahl der ImportschnittstelleUWC unterstützt keine MetadatenAPI für XML-Import nicht dokumentiert und überschreibt vorhandene BereicheDirekter Import in Datenbank zu riskant
  • 6.
    LösungCommunardo Software GmbH· Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-06Eigenimplementation basierend auf API für InhaltsmanipulationEntity pro InhaltstypPersistierung mittels Manager-KomponentenFallstrickUneinheitliche API
  • 7.
    Content Import PluginCommunardoSoftware GmbH · Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-07QuellsystemConfluence-system+Transformierter XML-ExportContent Import PluginoderExport mitExport ScriptImport,Konvertierungmit Content Import PluginDatenbankEinfachheit vor
  • 8.
  • 9.
    (Maximal 3 Zeilenverwenden)oder …Unterstützt alle Inhaltstypen und beinahe alle MetainformationenDurch Austauschformat auf beliebige Quellsysteme anwendbarImport in bestehendes Confluence Wiki
  • 10.
    Präsentation...Communardo Software GmbH· Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-08
  • 11.
    Herausforderungen API –Nutzer manipulierenCommunardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-09public void switchUser(SwitchUserCallback callback) {// retrieve user to run callback for User user = getUser();// backup current user User backup = AuthenticatedUserThreadLocal.getUser();// switch user AuthenticatedUserThreadLocal.setUser(user);// run as switched user callback.performAsSwitchedUser();// restore current user AuthenticatedUserThreadLocal.setUser(backup); }Nutzer steht in thread-local VariableWird kurzzeitig ausgetauschtAuszuführender Code kann über Callback bereitgestellt werden
  • 12.
    10Communardo Software GmbH· Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0Dummy Eventhandler schreibenIn Manager Bean setzenAchtung: nicht threadsafe -> Scheduler deaktivierenHerausforderungenAPI – Eventsystem deaktivieren
  • 13.
    Ihre AnsprechpartnerCommunardo SoftwareGmbH · Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-011Tino WinklerCommunardo Software GmbHTino.Winkler@communardo.de www.xing.com/profile/tino_winklerhttp://twitter.com/ccf_teamTelefon: +49-351-8332-266Claudia LutterCommunardo Software GmbHClaudia.Lutter@communardo.de www.xing.com/profile/claudia_lutterhttp://Twitter.com/cluTelefon: +49-351-8332-242
  • 14.
    12Communardo Software GmbH· Kleiststraße 10a · D-01129 Dresden/Germanyinfo@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0Fragen?

Hinweis der Redaktion

  • #7 uneinheitliche API: Ersteller/Bearbeiter kann bei Anhängen nicht am EntityObject selbst gesetzt werden -> angemeldeter Nutzercreation/modificationDate sind bei Anhängen nicht am EntityObject injizierbar -> aktuelles Datum
  • #8 Quellsysteme:BlogsForenCMSindividuelle Software