The CMS Saga Continues

Brian LeGros | October 20th, 2007 | programming  

Over the last two weeks I’ve been researching CMS solutions in the ColdFusion space. We have a pretty large site with a lot of content so a CMS solution seems like the right fit. I tried out FarCry, one of the popular OSS ColdFusion CMS solutions, and didn’t have too much luck. I spent another week looking at commercial ColdFusion CMS solutions and came up on products in two categories: products with very expensive licensing but fully capable and products with reasonable licensing but limited capability. On top of that the price points were over $25K for 2 server licenses and 5 users, on average. We currently have our app load-balanced across 12 virtualized servers, so licensing for most of these apps would be ridiculous.

I ended up looking at the Savvy CMS from BeSavvy and my initial impressions were that I really liked what I saw. The UI was incredibly simple and easy to use. The constructs of approvals, a built-in authorization system, and templating were available and very easy to prep for a PoC. Installation was so easy, it was sick. Unfortunately, we ran into a large wall when we had to address separating content from its presentation. For example, we wanted to store information about all our Resorts, but we may want to show it on a page as a list of resort names or on a page highlighting a single resort’s details. In the Savvy product, there was no way, short of extending the application itself (which required different licensing or consulting fees for BeSavvy to do the work) to incorporate our content types (i.e. - Resort, Amenity, Destination) and gain the benefits of all the built-in features in the CMS. We did have the ability to make hooks into Savvy that could manage content reuse if we programmed it ourselves. However, I saw this as busting out of the CMS to manage content when that is the CMS’ job to manage content. Why should I have to provide these features? On a side note, licensing for the Savvy CMS was extremely reasonable compared to the other solutions I looked into (licensing per URL, not server, and 5 users was $1350 [see their website for latest pricing]).

So being disappointed that Savvy didn’t have the capabilities we wanted, I went back to Farcry and gave it another shot. I had a few replies on my previous blog post that helped me move a little further with the PoC. I was able to get rid of the unusable library tool from my forms (had to patch the core using fixes from JIRA); with some thought, I also found a compromise between using the site tree and the custom content scaffolding. Unfortunately, we really needed Oracle to be the database for our FarCry installation and my every attempt to do so with the the 4.x beta has failed. I spent quite a bit of time on the google-groups applying patches and fixes as people had found them, but I still had issues (e.g. - adding content types via the COAPI after the installation). Additionally, finding documentation on how to use Rules in FarCry was another struggle I kept running into. The developers wiki for 4.x didn’t have anything I could reference and the 4.x developer’s guide I downloaded covered a very small example of using a rule, but not describe how rules work and the options available for working with rules. As a side note, anyone working with FarCry developer documentation is going to run into a lot of Hungarian Notation; it’s actually part of their suggested coding standards. This was a huge detractor in terms of readability for me, but that’s just my opinion. In any case, I eventually got a rule working, but the process of doing so was pretty tedious. Overall, I felt like I was jumping through quite a few hoops to get the PoC up and running (e.g. - using fixes from JIRA, running edge builds of the software, etc).

To end this story, yesterday I went to lunch with my managers and talked about the last two weeks of effort I had put into exploring CMS products and my work with FarCry and Savvy. In the end, we agreed that the quirky nature of developing in FarCry and the price points of similarly capable, and more usable, commercial CMS solutions warranted more investigation than we could allot in this PoC process. Consequently, we are going to try and kill two birds with one stone. We are evaluating other web-tier languages and frameworks as possible replacements for ColdFusion (I will go into this in another post). Because of the heavy usage of Java in our environment and the great job we’ve done separating our presentation and application tiers, we are considering JRuby/Rails and Groovy/Grails as possible options. We have a PoC going on for JRuby/Rails currently, but none for Groovy/Grails. Our hopes are to use this project as the Groovy/Grails PoC. Even though its a custom solution, we want to see if the new frameworks available “now-a-days” (Grails in this case) will provide enough productivity such that a custom solution is more easily maintainable until we can devote the time to doing a much better evaluation of CMS solutions. Additionally, if we find that this PoC works out well, we may not choose to go down the CMS path, who knows. In the worse case scenario, this custom solution can benefit from the work done in past development efforts and we devote more time to CMS product analysis when we’re ready.

I’ve got mixed feelings about building a custom solution, it really feels like a CMS is a good fit here, but for the sake of being productive and getting this stop-gap done, I think we made a good decision. I’m actually a little excited about finally getting to build a Grails app for the office. My Groovy/Grails skills are pretty lacking, so this will definitely help me get some great exposure. Here’s to diving in.



Tags: , , , , ,

Related posts

Discussion

  1. Sana Says:

    Hi Brian,

    I need more input on this, If you are going for a custom solution then why-not ColdBox(+ CF8), surely you can build more quicker than any-other language + framework.

  2. Brian LeGros Says:

    @Sana - I’m going to blog about this once we get through our PoC projects, but basically the office wants to do an evaluation of languages and frameworks like JRuby/Rails and Groovy/Grails. We want to see if greater productivity can be gained from using the these dynamic languages and frameworks. We’re not saying we’re going to abandon ColdFusion, but we’ve had quite a few complaints from our developers about productivity while using ColdFusion (especially with respect to verbosity). We want to explore other alternatives to see if all the hype is what it’s made out to be. If our PoC’s don’t work out there is very little risk to go back to CF8 and something like ColdBox to produce an application. We just want to see what everyone’s talking about.

    I’ll definitely be passing along our findings on the blog. We hope to be done in the next month or so, so I’ll put an update out soon.

  3. joshua cyr Says:

    Hi Brian,

    Thanks for the kind words on our product. I still think Savvy could be a good option for you, though I know I am biased. :-) The custom code shouldn’t be too hard. Certainly easier than moving to another platform or framework. If you ever want to talk more about it just drop me an email or phone call. We could do a gotomeeting and I can check out your PoC you set up and maybe identify where you could go from there.

    I will be on the look out for your thoughts on your other investigations. Sounds interesting and a good excersize regardless of your final decision.

    On a side note, I have been playing with ColdBox (just a bit thus far) and am pretty impressed.

    Joshua

  4. Brian LeGros Says:

    @joshua - Thanks for stopping by and best of luck with Savvy. It’s definitely a good CMS product, just wasn’t the right fit for our organization. Definitely continue to check out ColdBox; Luis Majano is incredibly active in its development and documentation.

  5. Chris Says:

    Hi Brian,
    Any further progress on your CMS hunt? Specifically, I was wondering if you had any success with a Java application (Groovy/Grails,Jruby/Rails)? Grails is pretty fun, just wish I had the time to develop something. But my dept is starting to get increasing requests for some kind of CMS, and it wasn’t till I heard the word ‘SharePoint’ that I decided I better start a more dedicated search :)

    Thanks for any info,
    Chris

  6. Brian LeGros Says:

    @Chris - Thanks for stopping by. I’m currently working on completing a post showing the results of my PoC’s. As it turns out we ended up going with JRuby on Rails instead of Groovy and Grails. I really like Grails, but it just wasn’t as mature as Rails yet (it will be one day though). Java integration was pretty simple with JRuby. The one thing I did learn was that whether you choose Rails or Grails, you will be much more productive than traditional approaches to development on the web, especially in the Java world. I have a lot of stuff in my post, so I hope to have it done by this weekend. Hope this is able to help some and hope my future post gives more insight to my perspective.

    Good luck with your initiative.

Add A Comment