What CMS to use for Spring MVC web application and device responsive web design?

32,798

Solution 1

E-Commerce: if it's a shop, you might want to look into BroadLeaf Commerce: it's not a CMS but an open source shop system, but built on the technology stack you're looking for. http://www.broadleafcommerce.org/

Other than that: I used to work with OpenCms for many years (since 2005), and you could integrate it with Spring (which is what we did, see my answer to this question here: What java based CMS can manage existing pages' content? and Integration of Java application with OpenCms)

However, if I'd built a new site with a CMS on Java I'd probably go with Magnolia CMS, because the documentation and community is more mature despite that it's newer than OpenCms. http://www.magnolia-cms.com/ Spring integration: https://wiki.magnolia-cms.com/display/WIKI/Magnolia+Blossom

Regarding the architecture: Magnolia uses Jackrabbit as a JCR-compatible repository, while OpenCms uses its own approach, with the downside imho that they store all content files inside a MySQL database instead of on the file system. That doesn't bring much benefit but only disadvantages.

Regarding your requirement for responsive design: it doesn't matter which CMS you choose, because what you will render as the frontend (whether it's html5, json, xml) doesn't really matter for the choice of the CMS. I'd say, choose the CMS or E-Commerce system which has the best functional features that match with your set of requirements, and take a look at the UI, which one you'll find most appealing.

Regarding the architecture and underlying technology, the three above should all do well.

== Update 20.05.2016 ==

Just to confirm my above suggestion that I made three years ago: after having worked with OpenCms for around 10 years, I switched to Magnolia entirely 2 years ago and not regretting it. IMHO it's the best open source WebCMS out there that can actually compete with the big players. Community and documentation is excellent. I use the free community edition. btw: I don't work for Magnolia International Ltd nor any of their partners, this is just my personal opinion and experience.

Solution 2

If you want to use Spring framework in a CMS or eCommerce Platform, the top 3 one I know are:
magnolia cms
broadleaf
Liferay

And list of some CMS based on (or support) Spring framework.

craftercms
craftercms.org/
http://craftercms.org/downloads
crafter is a pure spring framework, it is better to begin with it.

wallride
http://wallride.org/
made by 100% pure Java, using Spring Framework, Hibernate and Thymeleaf.

HIPPO CMS
https://www.onehippo.org
Many core features of Spring Framework such as Dependency Injection and Aspect-Oriented Programming are used in Hippo's delivery tier (HST) to manage its internal components.

asbrusoft
http://wcm.asbrusoft.com/
– pure spring. not free for personal, but cheap for enterprise

http://www.broadleafcommerce.com/
– pure spring

Walrus CMS
http://walrus.lt/
– java CMS based on Spring framework

dotcms
https://dotcms.com/cms-platform/features
– full spring support

Solution 3

There is also Spring Content. This allows you to build your own CMS on top of your choice of components rather than being forced to use whatever the CMS choses on your behalf. See comment above about MySQL. It is possible to build a content service with just one class and two interfaces.

Share:
32,798

Related videos on Youtube

Suren Raju
Author by

Suren Raju

Lead Site Reliability Engineer(SRE) | Cloud Native | SRE | DevOps | Automation | Go, Java, Microservices, Kubernetes(CKA & CKAD), CI/CD, Observability Linkedin: https://www.linkedin.com/in/surenraju/

Updated on July 10, 2022

Comments

  • Suren Raju
    Suren Raju almost 2 years

    I'm looking for designing a small eCommerce website for my business. I ll be using Spring and Java stuffs in the backend. And the website should be device responsive. I'm very confused to decide which CMS to use. Please someone help me.

  • Suren Raju
    Suren Raju over 11 years
    Hi Mathias, Thank you so much for your reply. Its not exactly eCommerce website its something like classifieds and little eCommerce concept. But it should work well with spring MVC and java stuffs.
  • Mathias Conradt
    Mathias Conradt over 11 years
    If CMS is a key feature, look at Magnolia, well documented, great community. Look at Magnolia Spring Blossom: magnolia-cms.com/magnolia-cms/features/… for Spring integration.
  • Kaspar
    Kaspar about 8 years
    Was Magnolia a free solution back when you wrote this answer?
  • Mathias Conradt
    Mathias Conradt about 8 years
    @Kaspar Magnolia still is a free solution. I am still using this today, latest version. magnolia-cms.com/magnolia/ce-registration.html "Magnolia Community Edition offers you a free, easy-to-use powerful enterprise content management system at the heart of a digital business platform."
  • Alex78191
    Alex78191 about 7 years
    So it's not possible to combine Spring and CMS, you should only use CMS?
  • Mathias Conradt
    Mathias Conradt about 7 years
    @Alex78191 Why should it not be possible? It is possible, it's was I wrote in my answer above ("Other than that: I used to work with OpenCms for many years (since 2005), and you could integrate it with Spring"). Both Magnolia and OpenCms can integrate Spring, and Magnolia even has a specific module called 'Blossom' for that, as mentioned above as well.
  • Alex78191
    Alex78191 about 7 years
    Why not to make all functionality all using CMS?
  • Mathias Conradt
    Mathias Conradt about 7 years
    @Alex78191 I don't fully understand the question. Spring follows the MVC pattern and if there is business logic needed to fill the model that should be shown in the view, which is the same as content but doesn't come from the CMS necessarily (like customer data from another database such as a CRM system), it makes sense to integrate Spring.
  • Alex78191
    Alex78191 about 7 years
    Why not to write a plugin to CMS?
  • Mathias Conradt
    Mathias Conradt about 7 years
    Sure, you can do that, if it provides benefits for your project. Blossom is a module (which I would see as a plugin) of the Magnolia CMS, for example. OpenCms, doesn't have a Spring plugin, Magnolia has a Spring plugin (Blossom).
  • Paul Warren
    Paul Warren over 6 years
    We should add Spring Content (paulcwarren.github.io/spring-content) to this list Arthur? Its a "build your own" approach to content services using modern Spring programming techniques to make it super fast to get up and running. 100% spring, 100% cloud-native. Able to support ANY database and storage component.
  • Noumenon
    Noumenon almost 6 years
    Note: Paul Warren is the author of Spring Content.