Open Source Java CMS [closed]
Asked Answered
C

5

59

Can anyone suggest a good open source cms for java? I have not used any java cms but I have used wordpress. Looking around google I have short listed openCMS, dotCMS and Liferay. Has anyone used these? which one of these would be a "good" CMS. It would be good if it has good documentations and online community... it can be integrated with other java tech e.g. frameworks like spring framework... simple to learn...

I just don't want to spend time on one and then realise there is a better option out there...

it would be good to get others view on this....

thanks in advance...

Cosmo answered 4/6, 2013 at 16:37 Comment(5)
Why does it need to be Java? What kind of integration do you need?Sessile
I have done java programming and want to stick with it... beside using CMS I want to keep myself in touch with spring framework...Cosmo
'I just don't want to spend time on one and then realise there is a better option out there' - so you want us to do the analysis for free? We do not even know your (detailed) requirements.Elburr
@Elburr if you dont have an answer plz don't reply with stupid questions... There must be someone out there who has used a java cms and can share their experience...Cosmo
possible duplicate of CMS Integration With JavaSessile
C
52

Firstly, may I assert that this is a perfectly reasonable question given the importance of CMS web technologies, which run a large portion of the WWW, and one rightly asked by many Java-aware people, as there are some serious problems with all of the many (nevertheless popular) PHP-based systems like Drupal, Wordpress, and Joomla, including:

  • inability to integrate well with graphical Unified Modeling Language (UML) engineering

  • massive use of freestyle strings as hash array keys (instead of as system-wide, shared, pre-defined string constants) in their programming style, burying data structure as hard-to-document conventions in hashmaps, and breaking everywhere the fundamental Don't Repeat Yourself (DRY) principle, instead of using reusable encapsulation with object-orientation

  • consequently poorer integration with IDEs and IDE prompting than a Java CMS API would permit.

There is a very good list of Java CMSs at:

http://en.wikipedia.org/wiki/List_of_content_management_systems#Java

The dotCMS site compares its own popularity with its main Java CMS competitors: Magnolia, Hippo, Jahia.

http://www.dotcms.com/images/carousel/banner/graph.png

It is interesting that OpenCMS does not make that list: http://www.opencms.org/

There is a CMS comparison tool at: http://www.cmsmatrix.org/

CMSmatrix lets you easily compare the features in over 1200 content management system products.

The fact that there are 1200 indicates that asking others for tips or feedback on their experience with Java CMS variations is fair, as it is hard to test out all of the options.

As far as I can tell, dotCMS is the fastest growing and best option depending on your requirements.

Finally, permit me in my answer to offer an observation on the PHP vs Java CMS matter. My main language is Java, always, at least to some extent, under graphical UML model-driven engineering (if only sometimes via reverse engineering monitoring), but I have worked extensively with PHP and PHP-driven Drupal for many years, one of the "big three" along with Joomla and Wordpress.

As far as I can tell, none of the Java CMS options comes even close to the feature set of Drupal, when the massive range of contributed modules is considered, or (once you are familiar with it) the ease of setting up easy or very complex enterprise CMS sites with Drupal. In particular, the Views module in combination with ease of creation of custom content types makes it very easy to create very rich page displays with structured data, relationships, and rich query view reports. I do not know of any Java CMS that has anything that can even come close to matching the Drupal Views admin interface for creating custom query view reports. I am thankful that Drupal exists, and at times it has helped me to feed myself and my child, and I even use it to track my Enterprise Java software development projects, and I use it ironically for educational web sites promoting Unified Modeling Language (UML) and UML-driven Java.

Also, the CMS aspects of my own Java web applications deliberately imitate Drupal.

I make however no secret of the fact that I absolutely can't stand the basic Drupal programming model, the contributed module APIs, and what I consider to be an appalling lack of object-orientation in it, and a programming style that includes nearly every single sin I would as an educator discourage in any 101 programming course. I do not enjoy coding contributed modules against its API, and the Drupal hook system is completely unnecessary, and has no advantages over simple interface registration patterns that any Java programmer would know, and would let an OO compiler do.

I bemoan every working day the lack of a well-architected Java-based CMS that can otherwise match Drupal (while always remaining thankful for what one can do with Drupal).

With hot reload technologies for Java like JRebel, it should now be possible to have a Java-based CMS that is as easy to develop against as the PHP-driven CMSs but with a decent and properly object-oriented API, and I hope that one Java CMS does finally really take off and develop as active a contributed module community as the PHP-based ones like Drupal have.

Cryoscopy answered 28/10, 2013 at 0:10 Comment(6)
dotcms.com "Spring & OSGi Dotcms dynamic plugin support gives developers the ability to hot deploy whole Spring web apps in dotcms without a restart. CMIS CMIS support allows dotcms content and files to be read and written by any system that is a CMIS client, including Sharepoint, Liferay and even Drupal." From en.wikipedia.org/wiki/… "Content Management Interoperability Services (CMIS) is an open standard that allows different content management systems to inter-operate over the Internet" It is an adopted OASIS specification.Cryoscopy
Is this comment still true today? Are there any Java-based CMS that comes even close to the feature set of Drupal?Visitor
What is the poorer integration you mean ?Bussey
@ChamindaBandara I referred to poorer integration with IDEs and IDE prompting. This is particularly true of PHP-based Drupal (despite its many wonders) because of the coding style used and architecture, although Drupal8 has more OO (and now partly leverages Symfony) ; it is not a fundamental problem with PHP, except where hash arrays are used instead of objects. If one uses Java-style properties and method parameters it is easy to document them so that documentation appears on IDE prompting, and the IDE can assist in parameter completion. This is much harder with hash-style parameters.Cryoscopy
It's 2017. Drupal 8 is here and it is based on Symfony, so OO is a part of it. That doesn't make it or its API great, but it does have an extremely rich feature set and addresses many of the programming style concerns that have been raised over the years.Pragmatism
Liferay uses OSGI so it has hot reloaded development feature. It is very easy to develop modules. Liferay also provides custom Eclipse IDE so development is even easier. With a lot of built-in modules and easier module development, I can say Liferay is one of the best. In fact, it is the leader in Java-based portal applications.Catha
M
10

There are a few, and being Java based they tend to be more targeted to enterprise environments. I recently answered a similar question and explained why we (at our company) use Dotcms. You can read about it here: Java-based CMS with RESTful service / API to access content

Hope this helps.

Mychal answered 5/6, 2013 at 19:57 Comment(1)
This detailed description of your experience with dotCMS at https://mcmap.net/q/331295/-java-based-cms-with-restful-service-api-to-access-content-closed is indeed very helpful.Cryoscopy
S
1

Crafter CMS (http://craftersoftware.com/) is a 100% open source, Java based web content and experience management system built for today's multi-channel, personalized environment.

Crafter CMS is based on the most modern and popular technology in the Java space: Spring MVC, Goovy, Freemarker and Apache Solr. It's ideal for today's Java developers, extremely easy for non-technical authors to use and it's perfect for the enterprise. It's integrated with Alfresco content repository and Liferay portal.

Highlights Video: https://www.youtube.com/watch?v=mSJ_7rvqMic

Sphacelus answered 25/11, 2013 at 14:5 Comment(0)
O
0

Apache Jackrabbit is a full Java Content Repository, which is basically a CMS on steroids.

Overweight answered 5/6, 2013 at 7:12 Comment(0)
I
0

You can take a look at Ametys CMS, a java-based open source CMS including microsoft Word-like interface. You can read about it on their wikipedia page

Insinuation answered 7/6, 2013 at 7:55 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.