dotCMS First Look
I’ve recently been looking around for a good java cms. I know that is seems like php has all the fun with Drupal and Wordpress and java is really lagging. I think that is really true to a point. Java websites are not intended for the hobbiest. That is why php based systems have caught on. But java is a great player for larger corporate environments. The established java cms systems are proprietary and costly. There have been a few stabs at creating an open source cms system. Alfresco and Liferay are large and cumbersome and I think try to do to much. OpenCMS is pretty solid, but I wish it would use more common open source projects. Just yesterday I can across dotCMS and so far I am pretty impressed. Here are my first impressions.
What I like about dotCMS
I like that it uses popular open source projects like hibernate, velocity and quartz. These are projects I understand, so I like that I get to reuse that knowledge. The user interface is crisp and looks professional. dotCMS uses the term “Structure” to define bits of content, like blog postings or news items. In these structures, you can dynamically define fields through the admin screen, without having to change the database or a configuration file. That is nice. There is a built-in workflow engine that is good for approving copy. I think the way that workflow is assigned and used could be improved, but they have a good start.
But my favorite part of dotCMS is the integration of lucene. I really love lucene. Most people may think of lucene as just a search engine, but that is just scratching the surface. True, it has an index and you can search, but you can extend that thinking to have lucene act as a meta database. You can tag your content with lots of different meta fields, then use lucene to return results based on complex queries. This is extremely useful once you understand how to use that. And dotCMS uses this mentality throughout their site. They have a velocity macro setup to pull content into a webpage based on a lucene query.
What I don’t like about dotCMS
I never had a great impression of Liferay and dotCMS initially got it’s start as a port of Liferay 3.x. I know that that is an old version of Liferay, but sharing the same heritage carries with it those past feelings. I am worried that basing a website on a portlet type of system may have performance issues. I wish that it would be easier to make clean, seo friendly urls. They currently let you define url redirects, but I don’t want a redirect. I want the final url to be clean. I wish there were some type of module/plugin system. Creating new velocity macros is nice, but what if I want to add a message board or link directory. I haven’t spend enough time to see how that would be integrated.
Questions still lingering
I have really only spent a few hours working with dotCMS, so I’m sure there is plenty of things I haven’t learned yet. But here a few questions I still have.
- How does clustering work? Can you have one master server then publish to multiple slave servers?
- What is the performance like on a high traffic site?
- Can I assign templates to match url patterns, like sitemesh?
- How do you adminster multiple sites through the admin screens
November 12th, 2009 at 9:25 pm
Good article. Have these questions been answered yet? Would be very useful.
April 21st, 2010 at 2:23 pm
Just finished reading your post… great work. Hope your next post will be posted soon!!
May 6th, 2010 at 6:01 am
Did you ever get answers to those questions? I’d be interested in a follow up article that covers dotCMS in more depth…
And have you found Java CMS you’re happy with? Something that compares to Wordpress or Drupal?
July 12th, 2010 at 11:25 am
I possess a Encore ESH-709, if I tie the net to the line in, and my pc into 1 of the out ports, i get 10mbps, and it reads their is limited or no connectivity. If i plug in the internet cord into the out plug, and the pc into the input plug, i get 100 mbps, please help!