Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Import Von Inhalten In Confluence (CCD'09)

1,909 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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 />

×