Magnolia 5 - Under the Hood

1,341 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,341
On SlideShare
0
From Embeds
0
Number of Embeds
102
Actions
Shares
0
Downloads
23
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Magnolia 5 - Under the Hood

  1. 1. Magnolia 5 - Under The Hood Philipp Bärfuss, Head of Product Development 05.03.2013 at Miami Amplify1 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  2. 2. The Map The Me The Story The Approach The Result The Takeaways2 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  3. 3. The Me Philipp Bärfuss 36 years, Swiss3 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  4. 4. The legacy is me for 8 years working on the Magnolia CMS4 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  5. 5. One must still have chaos in oneself to be able to give birth to a dancing star. [Friedrich Nietzsche]5 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  6. 6. The Story6 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  7. 7. Where are we coming from longing for a better UI for years7 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  8. 8. Bill Gates is a very rich man today... and do you want to know why? The answer is one word: versions. [Dave Barry]8 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  9. 9. History of Versions Text9 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  10. 10. History of Versions Text9 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  11. 11. History of Versions Text ili g ab din ty us an t tsou9 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  12. 12. History of Versions Text ili g M , D n ab din , io ty S w t us an lo iza t kf ar ts ou or lw odu m9 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  13. 13. History of Versions Text ili g M , 8n , D n I1 re ab din , io ty S s, tu w t us an lo iza te ec t da hit kf ar ts ou or l up cw odu ar m9 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  14. 14. 9 ou ts t us anVersion 1.0 ab din ili g m ty w odu or l kf ar lo iza w t , io D n M , ar S up c da hit te ec s, tu I1 re History of Versions en 8n , te p rp er ris fo e rm fe a Text at nc ur e, esMagnolia is a registered trademark owned by Magnolia International Ltd.
  15. 15. 9 ou ts t us anVersion 1.0 ab din ili g m ty w odu or l kf ar lo iza w t , io D n M , ar S up c da hit te ec s, tu I1 re History of Versions en 8n , te p rp er ris fo e rm fe a Text at nc ur e, es te m pl at in g ki tMagnolia is a registered trademark owned by Magnolia International Ltd.
  16. 16. 9 ou ts t us anVersion 1.0 ab din ili g m ty w odu or l kf ar lo iza w t , io D n M , ar S up c da hit te ec s, tu I1 re History of Versions en 8n , te p rp er ris fo e rm fe a Text at nc ur e, es te m pl at in g ki t in te u ro s a pe b ra ilit bi y lit & yMagnolia is a registered trademark owned by Magnolia International Ltd.
  17. 17. 9 ou ts t us anVersion 1.0 ab din ili g m ty w odu or l kf ar lo iza w t , io D n M , ar S up c da hit te ec s, tu I1 re History of Versions en 8n , te p rp er ris fo e rm fe a Text at nc ur e, es te m pl at in g ki t in te u ro s a pe b ra ilit bi y lit & yMagnolia is a registered trademark owned by Magnolia International Ltd.
  18. 18. 9 ou ts t us anVersion 1.0 ab din ili g m ty w odu or l kf ar lo iza w t , io D n M , ar S up c da hit te ec s, tu I1 re History of Versions en 8n , te p rp er ris fo e rm fe a Text at nc ur e, es te m pl at in g ki t in te u ro s a pe b 4.5 ra ilit bi y lit & yMagnolia is a registered trademark owned by Magnolia International Ltd.
  19. 19. First Attempt You never know until you try10 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  20. 20. ExtGWT and GWT To heavy, monolithic compilations11 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  21. 21. Second Attempt You never know until you try again12 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  22. 22. Vaadin13 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  23. 23. Why Vaadin Rich widget framework Out-of-the-box theming Java developer friendly • Close to Swing • GWT based (Java -> Javascript) • Can integrate any GWT-components • Rare GWT-compiles (compared to plain GWT) Testing with pure JUnit Apache License Well documented14 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  24. 24. When I am working on a problem, I never think about beauty but when I have finished, if the solution is not beautiful, I know it is wrong. [R. Buckminster Fuller]15 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  25. 25. 16 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  26. 26. The Failing - Conference 201117 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  27. 27. The Failing - Conference 2011 were too late anyway had overloaded the wagon • we tried do solve everything too much enterprise too little fun17 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  28. 28. Divide and Conquer Shipped the Backend as 4.518 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  29. 29. Phoenix out of the ashes We know now what we want to do19 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  30. 30. 1) be developers best friend use Vaadin, quick customizations20 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  31. 31. 2) mobile revolution be touchy, be iPad21 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  32. 32. 3) be user oriented apps, communication, favorites22 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  33. 33. 4) be a CMS focus on content management23 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  34. 34. 24 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  35. 35. The Approach24 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  36. 36. However beautiful the strategy, you should occasionally look at the results. [Winston Churchill]25 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  37. 37. Retrospection is everything no team is perfect but it can get better26 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  38. 38. Obstacle Driven Development obstacles first, features later27 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  39. 39. Innovation flows naturally once the obstacles are removed. [Me]28 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  40. 40. Three techniques controlled innovation29 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  41. 41. 1) 6 Thinking Hats30 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  42. 42. 2) Osborne’s Checklist Other uses Substitute • New ways to use as is? • Who else instead? What else Adapt instead? • What else is like this? Rearrange • What could I copy? • Interchange components? Modify Other pattern? • New twist? Reverse • Turn it backward, upside Magnify down, inside out? • What to add? More time? Combine Minify • How about a blend, an alloy, • What to subtract? Smaller? an assortment, an31 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  43. 43. 3) Negative Brainstorming understanding what to do by knowing what not to do32 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  44. 44. The perfect is the enemy of the good. [Voltaire]33 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  45. 45. User Experience Design34 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  46. 46. Design is not just what it looks like and feels like. Design is how it works. [Steve Jobs]35 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  47. 47. Trinity Icons36 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  48. 48. Desktop37 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  49. 49. Touch it or leave it38 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  50. 50. The Result39 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  51. 51. The Result Main Architecture Configuration App-lification Actions & Commands Forms & Dialogs Content App DAM Communication40 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  52. 52. Main Architecture41 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  53. 53. Technology Stack42 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  54. 54. Communication Layer43 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  55. 55. Dependency Injection - Dev Drugs scopes • main, app, subapp injection of • context, modules, configuration customizing • nearly every component can be replaced standard • standard annotations transparent • constructors declare what is needed44 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  56. 56. From Spaghetti45 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  57. 57. From Spaghetti45 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  58. 58. To Lasagne Magnolia Core46 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  59. 59. To Lasagne Vaadin Magnolia Core46 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  60. 60. To Lasagne Widgets Vaadin Magnolia Core46 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  61. 61. To Lasagne UI Framework Widgets Vaadin Magnolia Core46 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  62. 62. To Lasagne Apps UI Framework Widgets Vaadin Magnolia Core46 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  63. 63. Packages - Widgets Magnolia Widgets & Components47 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  64. 64. Packages - Widgets Workbench Actionbar Dialogs Editor Form Shell Magnolia Widgets & Components47 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  65. 65. Packages - AdminCentral UI Framework - Apps, Locations, Messages, Actions48 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  66. 66. Packages - AdminCentral AdminCentral & Shell Apps UI Framework - Apps, Locations, Messages, Actions48 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  67. 67. Packages - AdminCentral AdminCentral App & Shell Apps UI Framework - Apps, Locations, Messages, Actions48 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  68. 68. Packages - AdminCentral AdminCentral App App & Shell Apps UI Framework - Apps, Locations, Messages, Actions48 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  69. 69. Packages - AdminCentral AdminCentral App App & Shell Apps Content App UI Framework - Apps, Locations, Messages, Actions48 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  70. 70. Packages - AdminCentral App AdminCentral App App & Shell Apps Content App UI Framework - Apps, Locations, Messages, Actions48 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  71. 71. Packages - AdminCentral App App AdminCentral App App & Shell Apps Content App UI Framework - Apps, Locations, Messages, Actions48 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  72. 72. The Content Structure Proper Node Types • mgnl:page, mgnl:component, ... Proper Mixins for Extensions • mgnl:renderable, mgnl:activatable Leaner content structure • no meta data sub nodes Binaries are nt:resources nodes49 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  73. 73. Presenters and Views50 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  74. 74. The Result Main Architecture Configuration App-lification Actions & Commands Forms & Dialogs Content App DAM Communication51 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  75. 75. UI Model - Definitions52 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  76. 76. Registries, Definitions and Providers53 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  77. 77. Configuration by Code - DSL 1. apps().content().workspace("data").root("/contacts") 2.    .types( 3.        type("contact").icon("/xxx").dialog( 4.            dialog("contact").title("Group").tabs( 5.                tab("base").title("Contact").fields( 6.                    field("firstname").text().title("Name"), 7.                    field("lastname").text().title("Lastname")))), 8. 9.        type("group").icon("/xxx").dialog( 10.            dialog("group").title("Group").tabs( 11.                tab("group").title("Group").fields( 12.                    field("name").text().title("Group Name"))) 13.            .subTypes("contact")) 14. 15.    .columns( 16.        column("name").text().title("Name").bindings( 17.           binding().type("group").to("name") 18.           binding().type("contact").to("firstname")), 19.        column("modDate").text().title("Modification Date").bindings( 20.           binding().allTypes().metaData("modificationDate")))54 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  78. 78. Configuration by Code - Annotations55 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  79. 79. The Result Main Architecture Configuration App-lification Actions & Commands Forms & Dialogs Content App DAM Communication56 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  80. 80. It’s a UI Component has its own context and lifecycle57 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  81. 81. Launch it58 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  82. 82. App API - UML59 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  83. 83. Location, Location, Location URL Anchor • #app:<appName>:<subAppId>:<parameter> In App navigation • main, app, subapp Bookmarks • save URL, send them to other users, ... History • back and forward buttons60 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  84. 84. Developer’s View61 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  85. 85. It’s the Context62 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  86. 86. Take the Bus - In App communication63 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  87. 87. Apps vs. Modules App is a UI component Module can have • Apps • Templates • Extensions64 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  88. 88. Are you following me ....65 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  89. 89. Are you following me ....65 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  90. 90. The Result Main Architecture Configuration App-lification Actions & Commands Forms & Dialogs Content App DAM Communication66 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  91. 91. Actions and Commands67 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  92. 92. Actions The UI event handling Open Dialog Call Command Show message to user Change location68 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  93. 93. Commands Backend executable No UI Invoked by • UI • WebServices • Workflow69 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  94. 94. Action Bar Configured • Customize the App • Add Actions by Module Independent • Content Apps • Page Editor • Messages Preview Sensitive • Content type70 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  95. 95. The Result Main Architecture Configuration App-lification Actions & Commands Forms & Dialogs Content App DAM Communication71 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  96. 96. Form, Fields and Tabs Configured • no coding needed Independent • used in Apps • used in Dialogs Data binding • Items not Nodes72 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  97. 97. Forms vs. Dialogs Form Dialog73 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  98. 98. Forms vs. Dialogs Form Dialog73 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  99. 99. Forms vs. Dialogs Form Dialog73 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  100. 100. Forms vs. Dialogs Form Dialog73 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  101. 101. Forms vs. Dialogs Form Dialog73 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  102. 102. Form in an App74 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  103. 103. Form in a Dialog75 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  104. 104. Validation, Errors and Warnings76 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  105. 105. The Result Main Architecture Configuration App-lification Actions & Commands Forms & Dialogs Content Apps DAM Communication77 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  106. 106. We want to reinvent the phone. Whats the killer app? The killer app is making calls! Its amazing how hard it is to make calls on most phones. [Steve Jobs]78 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  107. 107. CMS it make content management easy79 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  108. 108. Contacts, Pages, DAM all based on the same fundament80 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  109. 109. Workbench - The entry point81 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  110. 110. Content App - Item Tab Sheets82 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  111. 111. Just configure it node types • icons tree, list, columns forms • to edit the content actions83 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  112. 112. The Result Main Architecture Configuration App-lification Actions & Commands Forms & Dialogs Content App DAM Communication84 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  113. 113. Digital Asset Management85 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  114. 114. DAM - API Providers • to access other sources Renditions • thumbnails, sizes, formats Metadata • Dublin Core86 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  115. 115. Media Editors - Images87 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  116. 116. Content Structure Standard JCR node types Ready for WebDAV88 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  117. 117. The Result Main Architecture Configuration App-lification Actions & Commands Forms & Dialogs Content App DAM Communication89 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  118. 118. Things dont have to change the world to be important. [Steve Jobs]90 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  119. 119. The Pulse - Communication Center91 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  120. 120. Message View be individual • define screen per message • configure the form don’t talk, act! • define actions • workflow steps92 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  121. 121. Build Processes combine Apps, Messages and Workflow93 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  122. 122. Workflow Engine - JBPM Well known Visual Tools available • Eclipse workflow editor Execute Commands • activation, versioning, ... Define Message Screen for Human Tasks94 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  123. 123. The Takeaways95 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  124. 124. 1) have the courage to fail then do it better96 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  125. 125. 2) follow the vision don’t break it by the wrong compromises97 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  126. 126. Imagination is more important than knowledge. [Albert Einstein]98 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  127. 127. 3) next steps follows naturally once the current step is done99 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  128. 128. The best thing about the future is that it comes one day at a time. [Abraham Lincoln]100 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  129. 129. 4) no projects over half a year split bigger projects101 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  130. 130. And now?102 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  131. 131. download, try it alpha 3 is ready103 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  132. 132. follow the blog http://dev.magnolia-cms.com/blog/104 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  133. 133. read documentation http://wiki.magnolia-cms.com/display/DOCS105 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  134. 134. Ready on 20th of June 2013106 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  135. 135. Q&A107 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.
  136. 136. Resources St. Gotthard:http (The Approach)://www.flickr.com/photos/giackx/3832338005/sizes/l/in/ photostream/ Math (The Result): http://www.flickr.com/photos/dullhunk/358365339/sizes/l/in/photostream/ Münster Basel (Under the Hood):http://www.flickr.com/photos/kwloo/5398685216/ Spirale - Architecture:http://www.flickr.com/photos/hom26/6941069435/ Helvetia in Basel:http://www.flickr.com/photos/boobook48/4728751130/108 Version 1.0 Magnolia is a registered trademark owned by Magnolia International Ltd.

×