Atlassian Confluence als
Software-Infrastruktur
Georg Schmidl - Scandio GmbH
Was ist Confluence?
Confluence
• Enterprise Wiki von Atlassian
• Java Tomcat Web Applikation
• Läuft auf Windows, Linux, OS X mit MySQL, Postgr...
Confluence Aufbau
Space
Wiki Page
Attachment Comment
Confluence Features
• Activity Stream
• Sehr guter WYSIWYG Editor
• Blog Posts
• Likes
• Labels
• Space / Page Watching
• C...
Confluence Architektur
• XWork/WebWork Application Framework (jetzt Apache Struts)
• Velocity Template Engine
• Hibernate O...
Plugins
• Atlassian Plugin SDK
• Atlassian Plugin Framework
• basiert auf OSGi (Dynamic Module System)
• Plugin = JAR oder...
Plugin Module
• Plugin besteht aus mehreren Plugin Modulen (atlassian-plugin.xml)
• Zum Bespiel
• job
• listener
• macro
•...
Software Infrastruktur
• Confluence als Web-Application Host
• Software wird installiert über Plugin-System
• Sofern Conflue...
3 Beispiel-Applikationen
1. Eng mit Confluence gekoppelt
2. Lose mit Confluence gekoppelt
3. Pagetypes Framework
1. IDM
IDM
• Management Blogging Platform
• User stellt Frage -> Management antwortet mit Artikel
• Features:
• WYSIWYG
• Moderat...
IDM Home
IDM Frage
IDM Artikel/Antwort
IDM Frage stellen
IDM Backend
IDM <> Confluence
IDM Confluence
IDM Space Space + Bandana
Frage/Artikel Page + Active Objects
Votes / Ratings Active Object...
Challenge: Mehrsprachigkeit
Confluence Page
Titel
Inhalt
Frage / Artikel
Frage: Q1, Q2, Q3…
Artikel: slug-in-english
<macro...
Plugin Module
• decorator (Layout: view, moderator)
• xwork (view, moderator, admin)
• web-section/web-item (Confluence Adm...
Vorteile/Nachteile
• Vorteile
• Integration in Activity Stream
• Verlinken im Confluence Editor
• Suchmaschinen-Integration...
2. TrainingsDB
TrainingsDB
• Applikation für Verwaltung von Trainings (Events) mit mehreren Tagen,
Modulen, Trainern, Kategorien
• Traini...
TrainingsDB Übersicht
TrainingsDB Training
TrainingsDB Upcoming
TrainingsDB Admin
Technologien
• Xwork/Webwork
• Velocity Template Engine
• Atlassian AUI
• Jersey
• Hibernate 4.3 (eigenes Plugin)
• Jasper...
Architektur
TrainingsDB
App
Confluence
Interface
Server Settings
Mail
I18N
User
Rollen
Decorators
DB Session DB
Vorteile/Nachteile
• Vorteile
• Confluence Unabhängig
• Update-sicher
• Hibernate
• Nachteile
• Keine Activity Stream integ...
3. Pagetypes
Pagetypes
• Framework um Attribute an einer Confluence Seite zu speichern
• HTML Formular Definition in JSON
• Einspielbar a...
JSON Example
{
"class":"de.scandio.confluence.plugins.pagetypes.blossom.PagetypeForm",
"fields":[
{
"class":"de.scandio.co...
Pagetypes
Titel
Editor
Text Input
User Picker
Checkbox
Date Picker
Select
Time Picker
Radio Buttons
5-Sterne Rating
Create...
Pagetypes Features
• Permissions auf Feldebene
• Konfigurierbare Email Notifications
• Tabellen/Listen Darstellung von Paget...
Beispiel: Scandio Urlaubsantrag
• Mitarbeiter beantragt Urlaub
• Geschäftsführer bekommt Notification
• Geschäftsführer gen...
Urlaubs-Antrag
Urlaub - Tabelle
Urlaub - Kalender
Beispiel: Ideen-Zentrale
• Mitarbeiter reicht Idee ein
• Redakteur veröffentlicht Idee
• Mitarbeiter bewerten Ideen (1-5)
...
Idee - Create
Idee - Liste
Idee - Homepage
Idee - Aufbau
Ideen Space
Homepage
Archiv
FAQ
Kontakt
.Sidebar Idee (versteckt)
.Sidebar Archiv (versteckt)
Idee - JSON
Umsetzung
• Velocity Templates
• CSS / Javascript
• (Faktisch) KEIN Java
Fazit
• Vorteile
• Weniger Entwicklung (User Management, Mail API, Page Likes, Comments)
• Teilweise kein Java-Code (Paget...
Georg Schmidl
• Scandio http://www.scandio.de
• @vicox auf Twitter, Github, Bitbucket, …
Danke
Nächste SlideShare
Wird geladen in …5
×

Atlassian Confluence als Software-Infrastruktur

862 Aufrufe

Veröffentlicht am

Anhand von Beispielen wird gezeigt wie Confluence im Intranet als Software-Infrastruktur genutzt werden kann.

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

Keine Downloads
Aufrufe
Aufrufe insgesamt
862
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
33
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Atlassian Confluence als Software-Infrastruktur

  1. 1. Atlassian Confluence als Software-Infrastruktur Georg Schmidl - Scandio GmbH
  2. 2. Was ist Confluence?
  3. 3. Confluence • Enterprise Wiki von Atlassian • Java Tomcat Web Applikation • Läuft auf Windows, Linux, OS X mit MySQL, PostgreSQL, Oracle oder MS SQL • (Oder als SaaS Lösung in der Cloud)
  4. 4. Confluence Aufbau Space Wiki Page Attachment Comment
  5. 5. Confluence Features • Activity Stream • Sehr guter WYSIWYG Editor • Blog Posts • Likes • Labels • Space / Page Watching • Content Sharing • Notifications (per Email oder Notification Center) • Daily Summary Email
  6. 6. Confluence Architektur • XWork/WebWork Application Framework (jetzt Apache Struts) • Velocity Template Engine • Hibernate ORM • Jersey RESTful Web Services Framework • Lucene Suchmaschine • Plugins Storage: • Bandana XML Persistence • Content Properties • Active Objects ORM
  7. 7. Plugins • Atlassian Plugin SDK • Atlassian Plugin Framework • basiert auf OSGi (Dynamic Module System) • Plugin = JAR oder OBR (OSGi Bundle Repository) • Plugin wird im Admin Bereich hochgeladen
  8. 8. Plugin Module • Plugin besteht aus mehreren Plugin Modulen (atlassian-plugin.xml) • Zum Bespiel • job • listener • macro • rest • servlet • servlet-filter • theme • web-item • web-resource • xwork
  9. 9. Software Infrastruktur • Confluence als Web-Application Host • Software wird installiert über Plugin-System • Sofern Confluence vorhanden: • Kein extra Server / VM notwendig • Keine extra Datenbank notwendig • Kein System Administrator notwendig (Confluence Admin reicht)
  10. 10. 3 Beispiel-Applikationen 1. Eng mit Confluence gekoppelt 2. Lose mit Confluence gekoppelt 3. Pagetypes Framework
  11. 11. 1. IDM
  12. 12. IDM • Management Blogging Platform • User stellt Frage -> Management antwortet mit Artikel • Features: • WYSIWYG • Moderator Backend • Mehrsprachig • Voting • 5-Sterne Ratings • verschiedene Rollen
  13. 13. IDM Home
  14. 14. IDM Frage
  15. 15. IDM Artikel/Antwort
  16. 16. IDM Frage stellen
  17. 17. IDM Backend
  18. 18. IDM <> Confluence IDM Confluence IDM Space Space + Bandana Frage/Artikel Page + Active Objects Votes / Ratings Active Objects WYSIWYG Content (Infobox, Sidebar) Pages Language Settings ContentProperties Rollen (Admin, Moderator, User) Gruppen Settings Bandana Notifications Mail API IDM Space/Frage/Artikel Watching Space / Page Watching
  19. 19. Challenge: Mehrsprachigkeit Confluence Page Titel Inhalt Frage / Artikel Frage: Q1, Q2, Q3… Artikel: slug-in-english <macro:idm lang=“en”> Content </macro:idm> <macro:idm lang=“de”> Inhalt </macro:idm>
  20. 20. Plugin Module • decorator (Layout: view, moderator) • xwork (view, moderator, admin) • web-section/web-item (Confluence Admin Buttons/Links) • web-resource (css, js, img) • macro/xhtml-macro (Language) • rest (voting, rating, pagination) • job/trigger (Fragen auf Ablaufdatum überprüfen) • extractor (Lucene Suchmaschine)
  21. 21. Vorteile/Nachteile • Vorteile • Integration in Activity Stream • Verlinken im Confluence Editor • Suchmaschinen-Integration • Features wie: Likes, Sharing, Notifications, Watching, Commenting • Nachteile • Starke Confluence-Abhängigkeit • Größere Aufwände bei Confluence Update
  22. 22. 2. TrainingsDB
  23. 23. TrainingsDB • Applikation für Verwaltung von Trainings (Events) mit mehreren Tagen, Modulen, Trainern, Kategorien • Training Anmeldung/Abmeldung, Warteliste • Backend für Administrator • Einpflegen von Evaluierungsbögen • Erstellung von Jasper Reports
  24. 24. TrainingsDB Übersicht
  25. 25. TrainingsDB Training
  26. 26. TrainingsDB Upcoming
  27. 27. TrainingsDB Admin
  28. 28. Technologien • Xwork/Webwork • Velocity Template Engine • Atlassian AUI • Jersey • Hibernate 4.3 (eigenes Plugin) • Jasper Reports (eigenes Plugin)
  29. 29. Architektur TrainingsDB App Confluence Interface Server Settings Mail I18N User Rollen Decorators DB Session DB
  30. 30. Vorteile/Nachteile • Vorteile • Confluence Unabhängig • Update-sicher • Hibernate • Nachteile • Keine Activity Stream integration • Keine Verlinkungen im Editor • Keine (OOB) Suchmaschinen-Integration • Kein Like, Sharing, Watching, Commenting
  31. 31. 3. Pagetypes
  32. 32. Pagetypes • Framework um Attribute an einer Confluence Seite zu speichern • HTML Formular Definition in JSON • Einspielbar als Plugin
  33. 33. JSON Example { "class":"de.scandio.confluence.plugins.pagetypes.blossom.PagetypeForm", "fields":[ { "class":"de.scandio.confluence.plugins.pagetypes.blossom.fields.InputField", "id":"myfield", "label":"My Field" }, { "class":"de.scandio.confluence.plugins.pagetypes.blossom.fields.DateField", "id":"myDate", "label":"My Date" } ] }
  34. 34. Pagetypes Titel Editor Text Input User Picker Checkbox Date Picker Select Time Picker Radio Buttons 5-Sterne Rating Create Page
  35. 35. Pagetypes Features • Permissions auf Feldebene • Konfigurierbare Email Notifications • Tabellen/Listen Darstellung von Pagetypes • Konfigurierbare Templates • Erweiterbar mit Java / Velocity / Javascript / CSS
  36. 36. Beispiel: Scandio Urlaubsantrag • Mitarbeiter beantragt Urlaub • Geschäftsführer bekommt Notification • Geschäftsführer genehmigt oder lehnt ab • Mitarbeiter bekommt eine Notification • Urlaube einsehbar in Tabellen / Kalender
  37. 37. Urlaubs-Antrag
  38. 38. Urlaub - Tabelle
  39. 39. Urlaub - Kalender
  40. 40. Beispiel: Ideen-Zentrale • Mitarbeiter reicht Idee ein • Redakteur veröffentlicht Idee • Mitarbeiter bewerten Ideen (1-5) • Best-bewerteten Ideen werden dem Management vorgeschlagen
  41. 41. Idee - Create
  42. 42. Idee - Liste
  43. 43. Idee - Homepage
  44. 44. Idee - Aufbau Ideen Space Homepage Archiv FAQ Kontakt .Sidebar Idee (versteckt) .Sidebar Archiv (versteckt)
  45. 45. Idee - JSON
  46. 46. Umsetzung • Velocity Templates • CSS / Javascript • (Faktisch) KEIN Java
  47. 47. Fazit • Vorteile • Weniger Entwicklung (User Management, Mail API, Page Likes, Comments) • Teilweise kein Java-Code (Pagetypes) • Kein Server / Server Admin notwendig (Plugin Framework) • Nachteile • Confluence Updates • Confluence ist offiziell kein Framework sondern Produkt • Confluence ist nicht Open Source - selber bugfixen mühsam/unmöglich
  48. 48. Georg Schmidl • Scandio http://www.scandio.de • @vicox auf Twitter, Github, Bitbucket, …
  49. 49. Danke

×