Magnolia Embedded Cms Presentation


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Magnolia Embedded Cms Presentation

  1. 1. Embedded Content Management with Magnolia <br />Making Content Management a key feature of an Internet Banking Application Suite<br />
  2. 2. Our Partnership with Magnolia<br /><ul><li> Magnolia Original Equipment Manufacturer(OEM) partner in the US since 2006
  3. 3.  We specialize in customizing Magnolia for the financial industry worldwide. --Banking, Insurance, Brokerage etc.
  4. 4. Current clients using Magnolia for internet banking through our Fidelity Information Systems Partner platform include:
  5. 5. Ally Bank US (Formerly GMAC Bank)
  6. 6. Ally Bank Canada
  7. 7. First Citizens Bank of Trinidad</li></li></ul><li>What are we doing different with Magnolia?<br />Building a suite of banking/financial applications or Portals that utilize Magnolia as a core Web Content Management System(WebCMS) framework and repository.<br /><ul><li> Marketing Portal - Magnolia + Custom Modules + Custom Website
  8. 8. Internet Portal - Service Framework + Magnolia API + UI Framework + FreeMarker
  9. 9. Intranet Portal - Service Framework + Magnolia API + UI Framework + FreeMarker</li></li></ul><li>Content Managed Web Application Solution Overview<br />
  10. 10. Content Managed Web Application Architecture Overview<br />
  11. 11. Overall CMS Deployment Overview<br />
  12. 12. Two Key Technology Differentiators<br /> <br /><ul><li> Using Freemarker and the Apache Wicket UI framework to create templates embedded within a web application that render pure html at runtime.
  13. 13. Concept of a Content Provider API to make the web application able to access our core Magnolia repository or any external repository if necessary.</li></ul>-- The Content Provider API utilizes the MgnlContext Class to access the embedded content repository.<br />
  14. 14. Benefits of Freemarker<br /><ul><li>Can be added to text based files such as HTML, JavaScript
  15. 15. Does not need to be compiled
  16. 16. Can be hidden from other processing engines
  17. 17. i.e. commented out of HTML or JavaScript code</li></li></ul><li>Benefits of Apache Wicket<br />Overall benefit: <br /> Wicket separates business logic from markup<br />What this means to us:<br /><ul><li>Faster development of business logic
  18. 18. Sophisticated design markup can be added after the application has been developed
  19. 19. Easily customizable markup
  20. 20. Skinnable per Bank and even per Bank Customer based on login information
  21. 21. Allows multiple “skins” to use the same business logic, no need to change any backend Java code</li></li></ul><li>Combined Wicket XHTML and FreeMarker<br />Below you can see the combined Wicket XHTML tags and attributes (in purple) combined with Freemarker tags (in green).<br />&lt;ulwicket:id=&quot;items&quot;&gt;<br />&lt;wicket:remove&gt;<br />[@cms.contentNodeIteratorcontentNodeCollectionName=&quot;items&quot;] <br /> [@cms.editBar /]<br />&lt;/wicket:remove&gt;<br />&lt;liwicket:id=&quot;value&quot;&gt;[@cms.includeTemplate /]&lt;/li&gt;<br />&lt;wicket:remove&gt;<br />[/@cms.contentNodeIterator] <br /> [@cms.newBarcontentNodeCollectionName=&quot;items&quot; newLabel=&quot;New Paragraph&quot; <br /> paragraph=&quot;item-paragraph&quot; /]<br />&lt;/wicket:remove&gt;<br />&lt;/ul&gt;<br />
  22. 22. Combined Wicket XHTML and FreeMarker<br />The &lt;wicket:remove&gt; tag ensures all Freemarker tags will be removed from the final markup in the wicket application.<br />The Wicket XHTML tags will be hidden by the browser when editing the page in Magnolia Author.<br />
  23. 23. Content Provider API<br />Example Repository:<br />-- Index<br /> - Header<br /> - Label<br /> - Footer<br /> - Label<br />Example Call to our Content Provider API<br /> -- ContentProvider.getLabel(“index.header”)<br /> -- ContentProvider.getLabel(“index.footer”)<br />Properties File if no Content Repository<br />index.header.label = Mylabel1<br />index.footer.label = Mylabel2<br />
  24. 24. Next Steps<br /><ul><li>Use OSGI to make our components hot swappable and upgradeable.
  25. 25. Provide an OSGI container console.</li></li></ul><li>CMS Framework Overview<br />Magnolia<br />Author<br />Dependencies<br />Magnolia <br />Author<br />Webapp<br />Magnolia Core<br />Dependencies<br />Custom<br />Magnolia<br />Module<br />Combined<br />Markup<br />Wicket<br />Webapp<br />Magnolia<br />Content <br />Provider API<br />Core Busi. Logic<br />Dep.<br />(Wicket, JPA, Spring)<br />
  26. 26. Content Management as part of the Business Application LifeCycle<br />
  27. 27. Questions?<br />Thank You!<br />