Open Source Java CMS [closed]
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...
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.
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.
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