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...
A Java CMS is a content management system that's built using the Java language and its vast ecosystem of libraries and tooling. Most Java-based CMS platforms take advantage of open source frameworks like Spring to deliver high quality software.
What is a Closed Source CMS? Closed source CMSs are proprietary, which means that no one (other than internal developers) have access to the source code. All closed source CMSs cost money since they require paid upkeep to maintain. Or, to simplify the situation even further, closed source CMSs follow a business model.
Magnolia is an open-source content management system (CMS). It is developed by Magnolia International Ltd., based in Basel, Switzerland. It is based on Content repository API for Java (JSR-283).
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With