dotCMS (news, site) has been on the plugin tip for some months now. In fact, the last time we covered the open source/enterprise CMS they were touting their new plugin architecture, which allowed modular development, more extensibility and user contributions.

This time around the platform is opening up realms of new coding possibilities by way of a scripting plugin. The tool allows users to execute server side code directly from Velocity in PHP, Ruby, Python, Groovy, and Javascript.

No Place Like Home

The open source CMS' penchant for handling enterprise-level tasks is highlighted by the plugin, which was born from the desire to script from a more familiar place. What could be more familiar than your content management system? From within dotCMS users can now declare variables in their velocity code, use them within their scripting language, and call methods or functions.

It's like an equal opportunity scripting affair. Developers familiar with other languages can now build dynamic web pages and applications, and manage them through the dotCMS interface. Scripting developers will have access to the dotCMS content repository, in addition to mix and mashup scripting and content in their applications.

“It is really the best of both worlds," says Jason Tesser, a lead developer for dotCMS and author of the plugin. “It allows content owners to manage content within a structured, enterprise class CMS and web developers to leverage what they already know to build rich content driven applications. Long story short, I just deployed a complete php app - pastebin - via webDAV into dotCMS. It is permissioned, versioned, managed and served in dotCMS. Now that is just cool.” 

Download and Deploy

To use scripting, first you will need to download the scripting plugin. There is a version for both the dotCMS trunk and dotCMS released code, and both can be checked out via SVN. After the download is complete it's time to deploy it, and a detailed set of instructions for the process can be found here.