Import Von Inhalten In Confluence (CCD'09)

1.674 Aufrufe

Veröffentlicht am

Vortrag zum Confluence Community Day 2009 in Frankfurt a.M.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.674
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
172
Aktionen
Geteilt
0
Downloads
9
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • 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
  • Quellsysteme:BlogsForenCMSindividuelle Software
  • Import Von Inhalten In Confluence (CCD'09)

    1. 1. Wie lässt sich ein vollständiger Import von Inhalten mit Metadaten nach Confluence realisieren?<br />Tino Winkler<br />Communardo Software GmbH<br />Confluence Community Day, 29.10.2009<br />
    2. 2. Motivation<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />2<br />Einführung von Confluence: Was ist mit den Daten im Altsystem?<br />Migration nötig!<br />Übernahme großer Mengen von Daten<br />Import in bestehende Anwendung<br />
    3. 3. HerausforderungFormat der Quelldaten<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />3<br />Abbildung auf Confluence Datenstrukturen<br />Bereiche, Seiten, News, Kommentare und Anhänge<br />Berücksichtigung von Metadaten<br />Datum, Ersteller, Bearbeiter, Schlagwörter<br />Referenzen zwischen Inhalten<br />Hierarchien, Verknüpfungen<br />Übernahme der Formatierung<br />Zeichenkodierung<br />
    4. 4. Lösung<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />4<br />Austauschformat definieren<br />Abbildung der Quelldaten auf Datenstrukturen in Confluence<br />Definierte Zeichenkodierung<br />Metadaten zuordnen<br />Referenzen abbilden<br />Verwendung von XML-Dokumenten<br />Mit XML-Schema validierbar<br />Bibliotheken zum Generieren/Einlesen der Datenstrukturen vorhanden (z.B. JAXB)<br />
    5. 5. HerausforderungSpezifika in Confluence<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />5<br />Validierung, Fehlerbehandlung<br />Verbotene Zeichen in Seitentiteln<br />Seitentitel müssen eindeutig sein<br />Zyklen in Hierarchie<br />Confluence speichert Inhalte in Wiki-Markup<br />Konvertierung der Inhalte des Quellsystems<br />Wahl der Importschnittstelle<br />UWC unterstützt keine Metadaten<br />API für XML-Import nicht dokumentiert und überschreibt vorhandene Bereiche<br />Direkter Import in Datenbank zu riskant<br />
    6. 6. Lösung<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />6<br />Eigenimplementation basierend auf API für Inhaltsmanipulation<br />Entity pro Inhaltstyp<br />Persistierung mittels Manager-Komponenten<br />Fallstrick<br />Uneinheitliche API<br />
    7. 7. Content Import Plugin<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />7<br />Quellsystem<br />Confluence-system<br />+<br />Transformierter XML-Export<br />Content Import Plugin<br />oder<br />Export mit<br />Export Script<br />Import,<br />Konvertierung<br />mit Content Import Plugin<br />Datenbank<br /><ul><li>Einfachheit vor
    8. 8. Komplexität.
    9. 9. (Maximal 3 Zeilen verwenden)</li></ul>oder …<br />Unterstützt alle Inhaltstypen und beinahe alle Metainformationen<br />Durch Austauschformat auf beliebige Quellsysteme anwendbar<br />Import in bestehendes Confluence Wiki<br />
    10. 10. Präsentation...<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />8<br />
    11. 11. Herausforderungen API – Nutzer manipulieren<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />9<br />public void switchUser(SwitchUserCallback callback) {<br />// retrieve user to run callback for<br /> User user = getUser();<br />// backup current user<br /> User backup = AuthenticatedUserThreadLocal.getUser();<br />// switch user<br /> AuthenticatedUserThreadLocal.setUser(user);<br />// run as switched user<br /> callback.performAsSwitchedUser();<br />// restore current user<br /> AuthenticatedUserThreadLocal.setUser(backup);<br /> }<br />Nutzer steht in thread-local Variable<br />Wird kurzzeitig ausgetauscht<br />Auszuführender Code kann über Callback bereitgestellt werden<br />
    12. 12. 10<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />Dummy Eventhandler schreiben<br />In Manager Bean setzen<br />Achtung: nicht threadsafe -&gt; Scheduler deaktivieren<br />HerausforderungenAPI – Eventsystem deaktivieren<br />
    13. 13. Ihre Ansprechpartner<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />11<br />Tino Winkler<br />Communardo Software GmbH<br />Tino.Winkler@communardo.de <br />www.xing.com/profile/tino_winkler<br />http://twitter.com/ccf_team<br />Telefon: +49-351-8332-266<br />Claudia Lutter<br />Communardo Software GmbH<br />Claudia.Lutter@communardo.de <br />www.xing.com/profile/claudia_lutter<br />http://Twitter.com/clu<br />Telefon: +49-351-8332-242<br />
    14. 14. 12<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />Fragen?<br />

    ×