java cms 2015
TRANSCRIPT
![Page 1: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/1.jpg)
• 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!
![Page 2: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/2.jpg)
Java CMS in
2015
Will Iverson
CTO, Dev9
![Page 3: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/3.jpg)
• CTO, Dev9– Previously Apple,
Symantec, SolutionsIQ
• Java since 1995
• Four Books, Numerous Articles
• Numerous CMS Evals, Implementations
![Page 4: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/4.jpg)
• 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
![Page 5: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/5.jpg)
• CMS Fundamentals– Types of CMS
• CMS Architecture– Modernization & Upgrades
• Picking A CMS– Platform
– Evaluation Process
– Contenders
• Demo[s]
• Q & A
![Page 6: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/6.jpg)
FUNDAMENTALS
![Page 7: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/7.jpg)
• Core Ideas– Publishing content is a process
– Structure allows for reuse
• Next Steps– Internationalization & Localization
– Multiplatform (Print, Online)
– eCommerce
– Collaboration
– More…!
![Page 8: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/8.jpg)
• Vivamus sodales
• "Neque porro quisquam est qui dolorem ipsumquia dolor sit amet, consectetur, adipisci velit..."
• Lorem ipsum dolor sit amet, consecteturadipiscing elit. Proin tincidunt eleifend purus, eumaximus lacus placerat eu. Suspendisse velvolutpat dui. Maecenas porttitor ut diam quisullamcorper. Curabitur suscipit libero sit ametipsum bibendum, id varius felis tempus. Morbiturpis nibh, convallis pretium elementum eu, pretium nec nulla. Quisque quis ornare ante, euscelerisque magna. Sed laoreet ullamcorpernibh, vitae dapibus neque viverra ut.
• Proin Malesuada
• Maecenas Gravida
• Title: Vivamus sodales
• Intro Pull Quote: "Neque porro quisquam estqui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."
• Body: Lorem ipsum dolor sit amet, consecteturadipiscing elit. Proin tincidunt eleifend purus, eumaximus lacus placerat eu. Suspendisse velvolutpat dui. Maecenas porttitor ut diam quisullamcorper. Curabitur suscipit libero sit ametipsum bibendum, id varius felis tempus. Morbiturpis nibh, convallis pretium elementum eu, pretium nec nulla. Quisque quis ornare ante, euscelerisque magna. Sed laoreet ullamcorpernibh, vitae dapibus neque viverra ut.
• Author: Proin Malesuada
• Editor: Maecenas Gravida
![Page 9: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/9.jpg)
1. We built a custom website
2. We have basic content publishing
technology
– Now what?
3. Differentiate!
![Page 10: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/10.jpg)
• Repository
• Structured Editing
• Specialized CMS
• Full Collaboration
![Page 11: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/11.jpg)
– Repository only
– Only interesting if you
want to build your own
– Examples: Apache
Jackrabbit + Apache
Sling
– ~10-20MB
![Page 12: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/12.jpg)
– Repository + editor +
publishing
– Codename: WCM
– I think what most
people mean by CMS
– ~10-50MB
![Page 13: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/13.jpg)
• Variety of targeted needs– Arguably includes
most popular blogging suites
• “You’ll know it when you see it”
• ~10MB-500MB+
![Page 14: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/14.jpg)
– E.g. Wikis, Discussion
Boards, Document
Libraries, more…
– Codename: ECM
– E.g. SharePoint, Alfresco
– ~1-2+GB
![Page 15: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/15.jpg)
HOW A CMS
WORKS
![Page 16: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/16.jpg)
CMS Server
UI Code (JSP)
BrowserIntegration Code (Java)
Repository
HTTP/HTML
![Page 17: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/17.jpg)
CMS Server
UI Code (JavaScript, AngularJS)
Browser
Integration
Code (Java Microservice)Repository
Mobile
?
REST/JSON
![Page 18: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/18.jpg)
• 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.
![Page 19: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/19.jpg)
• 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
![Page 20: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/20.jpg)
• 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
![Page 21: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/21.jpg)
YOU HAVE TO
CHOOSE!
![Page 22: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/22.jpg)
• Platform
• Evaluation Process
• Contenders
![Page 23: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/23.jpg)
PLATFORM
SELECTION
![Page 24: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/24.jpg)
• You have to pick something you can
deploy.
• No, really.
![Page 25: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/25.jpg)
• Structured
• Refactoring
• Integration
• Well known
• Broad professional skill set
– Dev, IT know it
![Page 26: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/26.jpg)
• SquareSpace
• Wix
• Many, many more…
![Page 27: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/27.jpg)
• WordPress– JSON/REST API
– http://wp-api.org/
• Drupal– https://www.drupal.org/documentation/modules/rest
– https://www.drupal.org/project/restapi
• Joomla
• Magento
• bolt.cm
• octobercms.com
![Page 28: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/28.jpg)
• Already Strong Microsoft Shop
• SharePoint
– REST API http://bit.ly/1zaKm7U
• SiteCore
– Sample at http://bit.ly/1DlDQKI
![Page 29: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/29.jpg)
• Too many to count.
• New one every week.
![Page 30: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/30.jpg)
EVALUATION
PROCESS
![Page 31: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/31.jpg)
• 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!
![Page 32: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/32.jpg)
CONTENDERS
![Page 33: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/33.jpg)
• 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
![Page 34: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/34.jpg)
• 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?
![Page 35: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/35.jpg)
• Lean & Fast– BrightSpot CMS
• HippoCMS
• MidMarket– Magnolia
• Enterprise/Collaboration– Alfresco
– Nuxeo
• Ones that I like– Highly subjective
• Always need to conduct eval for YOUR needs!
![Page 36: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/36.jpg)
• 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
![Page 37: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/37.jpg)
• http://www.infoglue.org/
• http://entermediasoftware.com/
• https://enonic.com/en/Home
![Page 38: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/38.jpg)
• Hotels– http://www.mediaconcepts.com/solutions/content-management-system.html
• Schools– http://omniupdate.com/
– http://www.terminalfour.com/
• Newsroom– http://www.atex.com/
• Governments– http://www.revize.com/
• Globalization: i18n & l13n – http://www.sdl.com/products/tridion/
![Page 39: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/39.jpg)
• http://www.brightspotcms.com/
• Small, light-weight, good looking
• Describe content types via Java
– Dynamic reload FTW!
![Page 40: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/40.jpg)
• Lean, dev friendly
• Modern design
• http://www.onehippo.org/
– https://blogs.oracle.com/geertjan/entry/hippo_
development_in_netbeans_ide
![Page 42: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/42.jpg)
• http://www.alfresco.com/
– http://docs.alfresco.com/5.0/tasks/alfresco-sdk-install-quick-start.html
• Now Maven based
• In use by some big names
• Has REST API
• Pretty darn big
![Page 43: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/43.jpg)
• http://www.nuxeo.com/
• Lots of Continuous Delivery, Agile Focus
– Massive installer
– Really an ECM package
![Page 44: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/44.jpg)
DEMOS
![Page 45: Java CMS 2015](https://reader030.vdocuments.site/reader030/viewer/2022032421/55a64e131a28abf6028b48be/html5/thumbnails/45.jpg)
Q&A