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

1.009 Aufrufe

Veröffentlicht am

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

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

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

×