Injustice - Developers Among Us (SciFiDevCon 2024)
Jazoon12 dlipp magnolia_378
1. How to become a hero to
the marketing team (or
business users)...
...by using the work of others
Daniel Lipp
Magnolia International Ltd.
378
2. AGENDA
> Virtual Presence
> How can it be achieved
> The technical Challenge
> See it with a fresh eye
> The Non-technical Challenge
> Conclusion
2
3. Intro
> Magnolia International Ltd.
– ~ 40 employees: Basel, US, Czech, Sweden, Spain…
– Open Source CMS since 2003
– Selection of Customers:
3
4. Physical vs. Virtual Presence
> There’s things you can do via the web
– But there’s others that you can’t yet
4
5. Virtual Presence Management
> What is it about
– Virtualize as much business services as possible
– Generate Business (surprise!)
> Benefits
– More convenient/efficient for the user
– Better scaling
– Bigger turnover
– Less “physical” costs
5
6. Development in Virtual Presence
> Urge to increase Virtual Presence
– Marketing (and business users) want to offer more services via Web
– Integrating CMS and business Applications is a must
6
8. The technical Challenge
> You might realize you
– Should re-style your app (one look and feel)
– Have to support many browsers
APP
– Want to be benefit from search engines
– Want to use latest browser functions
– Want to have special treatments for Mobiles
8
10. Wait a minute…
> CMS’s can…
– Handle JS, HTML5, CSS, SEO, Security,…
– Separate content from logic
> And have further features like
– Caching
– Mobile publishing
– Data storage
10
11. See it with a fresh eye
> Let’s change perspective
– How do things look from the other side?
11
13. Internals of an open, extendable CMS
> It should
– Use known technology stack
– Use a templating approach
– Support mobile publishing
– Have a plugin mechanism
– Offer multiple integration options
– Perform/scale well
13
14. Let‘s take the example of Magnolia CMS
> Technology stack
– Java, Servlet API
– Freemarker/JSP Templating
– Java Content Repository (JCR) Storage
– Soon: Vaadin Administration Console
14
16. Re-use business logic…
> Templating variations
– Define just the variations e.g. for mobile devices
websites
Mobile version of pages based on same content
16
17. Create Websites using Spring
> The Blossom module: turn Magnolia into a Spring App
– Create websites the Spring way
– Don’t configure but code your Dialogs
– Validate dialog input
– Create multi-step forms (Spring Web MVC)
– Reuse Spring controllers
– …
17
18. Embed whole Applications
> The OpenSocial Module: host an OpenSocial portal
– Add OpenSocial Container paragraph
– Converted GWT apps to OpenSocial Gadgets (few lines of XML)
– Add OpenSocial Container to the Webpage
– DONE!
18
19. Embed whole Applications…
> What’s OpenSocial?
– Pluggable gadget architecture + Social API
– Used by most major social networks
– Evolves in Enterprise direction
– A client-side Portal!
19
21. The Non-technical Challenge
> From a Developers Perspective
– Marketing requirements change frequently
> From a Marketing Perspective
– Releasing is just not fast enough
21
23. The Conclusion
> Using the right CMS you can
– Re-use business logic
– Embed whole Applications – the right way!
– Augment your organizations Virtual Presence
– Separate Content from Logic
– Optimize time & material
– Impress your Marketing and Business
23
25. Daniel Lipp magnolia-cms.com
Magnolia International Ltd. daniel.lipp@magnolia-cms.com
Editor's Notes
Abstract; If you are not stuck behind a 70's style green on black monitor you probably have heard that the web ain't what it used to be. No longer does it suffice to generate a more or less static web site (brochure ware) – these days your business, organization or public administration needs a deep back end integration into your custom business logic and the heart of your organization to provide a unique customer, member or citizen experience. While Java is what you are comfy with, bringing these transactional processes to the web and the mobile requires knowledge of CSS3, HTML5, Javascript, Accessibility and SEO best practices to name but a few. As a Java dev, you might not exactly thrive in maintaining CSS cross browser incompatibilities. Even if you do (please apply for a job with us!), the fact that your marketing department needs to roll out constant new micro sites for their campaigns and your website needs to run in 22 different languages and now you need a mobile and iPad site as well doesn't exactly lessen the pressure on you. So how can you ensure your business and marketing teams can be agile, and you can focus on the stuff where you really provide value to your organization? In this talk, we will show you how Virtual Presence, as we call the deep business integration into online channels, is becoming mainstream, and how you can master the requirements by using an open and flexible CMS like Magnolia instead of trying to reinvent wheels. The talk will explain various aspects of a virtual presence and why it can make sense for you to look at content management with a fresh eye – less as a system to write and publish content and more as a platform to build integrated business solutions for the 21st century. Spring developers will get a little extra treatment, as Magnolia has an excellent Spring integration module, but we'll also cover other core services like caching, security, mobile publishing, data storage and templating. This talk will be technical but with a distinct focus on business problems and how to use a CMS to address them. Any system architect or Java developer should benefit from the talk.
Customers (emphazise Atlassion, mention jboss.org) About me Developer & Architect since 1996 Employee No 13@Magnolia
Examples Bike shop (Retail) Done: expose models, prices Partly done: buy, display quantities Open: fix dates (e.g. for repairs) Bank (Finance) Done: description of products, online banking Partly done: “book” new products Open: ???
CXO: Where can we safe money? Tech Brief (handouts) VPM maturity scale Static brochureware Aware and experimenting (Ikea) Everything but delivery (Ryanair) Deliberately physical (some insurances) – could be totally virtual but don‘t want -> want to have someone to visit u (cross sell) Total virtualization (Amazon, PayPal, iTunes Store,...) Real life Examples for Convience Leasure activities for kids during their hols > my wife asked me why she can‘t hand in the data online, why she cannot see whether it‘s booked out or ont > told her to come to this talk – surprise: she didn‘t...
Business/Marketing e.g. new Product for an insurance – offer new calculator on the web ASAP - logic is in business apps – require it on the web as well!
CMS = blackbox -> same example: insurance calculator -> promissing option (on the first sight): Embed Web App (or at least link it) > banks do it whith their online banking (www.ubs.com) New on CMS side > mobile clients
I call this approach: Pimp my App Many browsers -> IE6 might be a pain somewhere to be supported Dave Thomas (Keynote): all cool – but u have to learn new stuff
A long, long road...
Doesn‘t that list ring a bell to you?
What if we put the CMS in the center -> CMS as a plattform Major goal -> re-use business logic!
Or just: „Be open!“
See: YES, we‘re open „ intergration supporting modules“ not covered in this talk CMIS - Content_Management_Interoperability_Services -> exchange documents with other tools supporting that standard (e.g. Microsoft Sharepoint)
Example New insurance product Advertising images stored in JCR Calculation logic in Java -> e.g. call a ejb JCR 2.0 -> JSR 283 (1.0 was JSR 170) Two types of „data“ stored in JCR Unstructured – Websites Structured – Data Module
Tendency: More and more comps provided separate sites for mobiles > 50% of traffic on websites comes from mobiles (today) Default: same content – only specifiy the delta -> we think this is superior to the other way round!
There‘s also the Maglev Grails module for Magnolia CMS
Evaluation Wanted a client side portal (mashup) - needed a inter-application-communication means
How many know about OS? Authentication: Oauth (-> single sign on) What else does it offer: plugin in whole apps – the right way! Inter-gadget communication
Why not JSR 168/286 portles -> it‘s dead! -> too heavy, too expensive to develop Main reason why OpenSocial was developed Gadget can be written in .Net
When just integrating your App to your website -> you‘ll end up maintaining logic AND content!
1.) Demo Project Play with Editor Explain how content is stored Show Java Integration (Contact) Explain how data is stored 2.) Blossom/Spring a) Configured Dialog Definition -> Templating Kit -> Dialog Definitions -> generic -> pages -> tabChannels -> excludeChannels -> options -> desktop -> label (configured in JCR) b) Coded Dialog Definition -> 3.) OpenSocial Only if desired – time permits
Note: - It needs you developers and/or System Architects to use the CMS as a plattform to provide a high level of Virtual Presence for your company