Originally published at craftersoftware.com.
Earlier this month I attended a training course for Crafter CMS, the open-source web content management system. In this post, I discuss my motivations for taking the training, highlights, and my impressions.
My company, Tribloom, recently partnered with the aptly-named Crafter Software, creator of Crafter CMS. This move made sense to us because we are long-time Alfresco partners and Crafter CMS is built on the Alfresco platform. It's also simply an amazing product. But obvious bias aside, I don't know of another web CMS that provides such a clean division between design and authoring while still allowing content authors to work directly in the context of a site's pages. Enabling that in-context magic requires some planning, installation and configuration. That's where your IT department or a partner like Tribloom comes in.
Did I mention Crafter is built on top of Alfresco? Alfresco provides the doc version control, user access control, and robust repository that make Crafter an attractive option to any company looking to provide their website creators with an extensible, cost-effective authoring solution.
The 3-day Crafter CMS course was prepared and delivered by the affable Russ Danner of Crafter Software at Austin's AT&T Executive Education and Conference Center (two words: breakfast tacos). While the Crafter training is relatively new, I was impressed at how organized and well-thought out the material was. Russ guided us through 17 progressive lessons, building upon a single sample site until we had a full featured authoring environment, complete with analytics, in-context editing, drag-and-drop site components, and more. From an authoring perspective, the reason Crafter is so amazing is that it provides this in-context, WYSIWYG editing capability which is only possible because it dynamically generates your site and displays it with the Crafter UI on top. All of this is accomplished through Crafter's site configuration files which are stored as XML and FreeMarker templates in Alfresco. From an architecture perspective, the thing I was most impressed with was Crafter's componentization, facilitating all sorts of horizontal scaling (not to mention Alfresco is already highly scalable). This is essential for companies who have hundreds or thousands of authors generating site content simultaneously.
If your enterprise has chosen to use Crafter CMS and you are debating training, I highly recommend it. It's a technical course that assumes you have a background in J2EE. Also, while Crafter sits on top of Alfresco, you don't actually need extensive Alfresco experience to use and configure Crafter. The first day of training was spent installing and familiarizing ourselves with the UI, as well as learning the ins-and-outs of the content model, configuration, and templating system. For training, we were given a one-click installer that deployed an isolated environment to our laptops. This environment consisted of Tomcat, MongoDB, MySQL, and the Crafter Deployment Engine (you'll need to stop existing services if you're running them on default ports). The second day was spent covering various domain-specific configuration capabilities, such building Solr search queries into our templates, adding dynamic navigation, and configuring the rich text editor. On the third day, we configured targeting and site deployment. The targeting features of Crafter are particularly cool. They allow you to specify criteria under which different visitors to your site will see particular content and site configurations. For example, a customer in one region of the country may see products targeted to their market, while customers in another region will see completely different products (or a completely different site, altogether!).
In a word, Crafter CMS is awesome. It does take some planning and foresight to configure it in a way that your web content authors can run with, but that's where training comes in. After the 3-day course, I was able to install and configure the Crafter authoring environment locally, as well as set up the delivery engine on an AWS host (a process which I'll detail in a future post). I was also able to migrate Tribloom's existing web site from Drupal to Crafter and prep it for our content authors. I'm really looking forward to seeing how Crafter grows and improves over the coming years.