The public release beta of dotCMS 2.0 has been out since March. Prior to that, the current stable version, 1.9.5, was released. This month, they also made the long anticipated move away from traditional SVN over to Github. Needless to say, 2012 has been busy, and the 2.0 release has been a long time coming. [...]
If you’ve ever had multiple people entering phone numbers into a field, you’ve no doubt discovered the varied formats they can provide. Perhaps you’re already enforcing field validation on it, which is a pretty good solution for the most part. But also, maybe you need to reformat that number for a page or get old [...]
As we rapidly approach the launch of dotCMS 2.0, we’ve seen the addition of a number of new structure fields to the system since its launch. And there’s still more to come too – personally, I see a lot of potential in the generic Key/Value Pair field, which is very similar to custom fields in [...]
At dotCMS Boot Camp 2011, I was invited to come and talk about mobile implementation techniques using dotCMS. Luckily, this isn’t as much as issue with trying to pull off clever dotCMS tricks as it is just knowing good mobile techniques. Below are a number of links and examples from my talk. This isn’t so [...]
A while back, it was exposed that if using the legacy form submission struts path (e.g. /sendEmail, /submitWebForm, etc), a spammer could remotely invoke the tool and use it to send spam emails to people. While this wasn’t exactly a bug in the strictest sense, it could prove to be a headache for users should [...]
A question that has been coming up with some regularity lately has to do with doing dynamic, AJAX based work with the content engine in dotCMS. For some time, dotCMS has offered DWR as a means of handling those needs, but ultimately, DWR is a cumbersome, limited tool. In the end, there are two other [...]
This post will be dual purpose: first, to announce the release of the dotCMS IRC Client plugin, and second to provide a tutorial explaining how to launch a Velocity portlet plugin. Velocity portlets are a relatively simple way of building tools that can be built into the backend of dotCMS and be used as tabs [...]
Spindle sucked. Say it with me. Spindle sucked. As far as search goes, sure, it was better than nothing. The problem was that the Spindle backbone wasn’t very robust as far as search algorithms go, there was no UI for it, and the kind of results you could get were pretty limited. Not to mention [...]
Today let’s take a look at a way of leveraging the CMSUserWebAPI in order to serve custom content to registered users on your site. The basic premise is quite simple: check for certain user roles in a loop, and conditionally pull content into a widget. For the sake of argument, we’ll assume you’re already versed [...]
dotCMS has many ways to handle multiple hosts, permission hosts and force https. But sometimes you just need more… For instance, you want a host to only be visible from certain IP’s or you want to password protect a site before it goes live. All things that could be handled by permissions or plugins if [...]
Today, I am announcing the release of two new plugins for dotCMS, available now. The reason I am announcing them together is because the macro relies on the viewtool, but the viewtool has applications beyond the macro, so I didn’t feel that it was right to make it one big plugin. Also, the viewtool is [...]
The more applications I build in dotCMS, the more I find myself trying to accomplish them with just Velocity coding. This saves me from having to create a plugin and make sure it is maintained through my systems. However, lately I have needed to write a lot of Form Handling with dotCMS. Not your basic, [...]
Images are highly important to web content. There are numerous ways in which one can incorporate them into a page to enhance what is there. In dotCMS, you are presented with several ways in which you can implement and manipulate image files in your system. Today, we’ll be reviewing several of them. First off, one [...]


