Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Import Von Inhalten In Confluence (CCD'09)

1.878 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

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

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

×