Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Java CMS 2015
1. • Java content management solutions in the 2000-2010 era tended toward heavy-weight,
hard-to-use, hard-to-develop "enterprise" systems.
• Over the last few years a new generation of content management systems (CMS) have
entered the market based on better-faster-lighter principles.
• To put it another way - what does a modern CMS built for a world of Continuous Delivery
look like?
• In this session we'll talk about requirements for a modern CMS solution, including support
for mobile, responsive design, and targeted content for specific application needs. We'll
also talk about requirements for ongoing maintenance, including operational and
development complexity.
• We'll pay particular attention to the issues and strategies for migrating off legacy enterprise
(or custom internal!) CMS systems to these modern CMS solutions.
• This will be an interactive session - bring your war stories and your aspirations!
4. • Custom software development firm
– Based just outside Seattle, Washington
• We build custom software solutions based on Continuous Delivery
– Processes & tools based on combination of Lean & heavy use of
automation
• Typical projects
– CMS implementation!
– Java & .NET-based web services at scale
– SQL, NoSQL
– Variety of client-side technologies
• AngularJS, Android, and iOS.
– DevOps implementations, including Docker
5. • CMS Fundamentals
– Types of CMS
• CMS Architecture
– Modernization & Upgrades
• Picking A CMS
– Platform
– Evaluation Process
– Contenders
• Demo[s]
• Q & A
7. • Core Ideas
– Publishing content is a process
– Structure allows for reuse
• Next Steps
– Internationalization & Localization
– Multiplatform (Print, Online)
– eCommerce
– Collaboration
– More…!
8. • Vivamus sodales
• "Neque porro quisquam est qui dolorem ipsum
quia dolor sit amet, consectetur, adipisci velit..."
• Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Proin tincidunt eleifend purus, eu
maximus lacus placerat eu. Suspendisse vel
volutpat dui. Maecenas porttitor ut diam quis
ullamcorper. Curabitur suscipit libero sit amet
ipsum bibendum, id varius felis tempus. Morbi
turpis nibh, convallis pretium elementum eu,
pretium nec nulla. Quisque quis ornare ante, eu
scelerisque magna. Sed laoreet ullamcorper
nibh, vitae dapibus neque viverra ut.
• Proin Malesuada
• Maecenas Gravida
• Title: Vivamus sodales
• Intro Pull Quote: "Neque porro quisquam est
qui dolorem ipsum quia dolor sit amet,
consectetur, adipisci velit..."
• Body: Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Proin tincidunt eleifend purus, eu
maximus lacus placerat eu. Suspendisse vel
volutpat dui. Maecenas porttitor ut diam quis
ullamcorper. Curabitur suscipit libero sit amet
ipsum bibendum, id varius felis tempus. Morbi
turpis nibh, convallis pretium elementum eu,
pretium nec nulla. Quisque quis ornare ante, eu
scelerisque magna. Sed laoreet ullamcorper
nibh, vitae dapibus neque viverra ut.
• Author: Proin Malesuada
• Editor: Maecenas Gravida
9. 1. We built a custom website
2. We have basic content publishing
technology
– Now what?
3. Differentiate!
18. • Build your own!
– Really easy to make a text box
render…
– Really easy to build a custom app that
duplicates existing CMS…
• Special snowflake!
– All modern CMS systems highly
customizable
– Special snowflake Focus on dev
experience
• Save on licensing!
– Really good open source options
• The only person who loves a
custom CMS is the person who
built it.
– …And they probably quit.
19. • Responsive design
• Mobile apps
– Native
– Hybrid
• Personalization initiative[s]
• Custom integration is hard
– Bad edit/debug cycle, poor repository, undocumented…
• Testability
• Ability to find/retain staff
• Long term TCO
– Expensive licensing for legacy system
20. • Lend themselves to dual systems
• Usually easier than you would expect
– Like cleaning out your garage
• We have done many, happy to discuss!
– Careful attention to risk management
31. • Starting Point
– Existing CMS or greenfield?
• Broad Type
– Structured Editing, Specialized(?), Full Collaboration
• Specific Requirements
– Circular problem!
• Expected Customization
– Be Honest
• Test Strategy
– Automation?
• Total Cost
– Dev, Test, Deploy, Patch…
– Assume new patch every week!
33. • CMSMatrix
– http://www.cmsmatrix.org/
– Reviewed [at least briefly] ~240 links
• Java-Source.net
– http://java-source.net/open-source/content-managment-
systems
• Wikipedia
– http://en.wikipedia.org/wiki/List_of_content_management_
systems
– Much shorter, cleaner list
34. • Can a dev build with it fast?
• Can you test it easily?
• How hard is it to upgrade?
• Does it do what you need?
• How much does it cost?
• Deployment
• Configuration Management
• Development
• Edit/Compile/Debug Cycle
• Modern JS Framework support
(e.g. AngularJS, Ember)
• Native mobile support (iOS,
Android)
• JSON/REST-friendly
• WebDAV support?
35. • Lean & Fast
– BrightSpot CMS
• HippoCMS
• MidMarket
– Magnolia
• Enterprise/Collaboratio
n
– Alfresco
– Nuxeo
• Ones that I like
– Highly subjective
• Always need to conduct
eval for YOUR needs!
36. • http://dotcms.com/
– Quasi-open source
• http://www.ekinocms.com/
– But their home site is running on PHP
• http://www.jahia.com/
• http://www.liferay.com/
• http://www.opencms.org/en/
– Docker image!
– Prior successes
You can also add additional information, like constraints, links, etc.
Basic examples of different models: an ECM may support Office document editing, sync of a site to a local directory, but have no way to tell you that deleting an image will screw up another page on your site, or have any built-in concept of SEO.