- Documentation topics on: .

Recent Submissions

Set Language by Site or Folder

dotCMS supports a robust set of multi-lingual features that can be used anywhere on sites served by dotcms by passing a url parameter -


One liner for generating OSGi fragment export

When developing an OSGI plugin, you often (always) need to generate an OSGi "fragment" which takes the place of manually having to change the osgi-exports...

Internationalized URL Title code

The default url-title.vtl is ASCII-only:  any characters that are not letters of the English alphabet (or a digit or a hyphen) are discarded. ...

Navigation Macro based on dotCMS' navTool viewtool

This macro extends the functionality provided by dotCMS' navTool viewtool.

It is based on folders and will allow you to set a starting point...

Log Configuration Portlet

The Logging Portlet allows a CMS Administrator in dotCMS to dynamically set logging levels of classes and packages at runtime that are known to the ...

Upgrade to the latest Tomcat 6

The Dotcms 2.x distro is running a bit behind the latest apache tomcat 6 version and while Dotcms does not think that will cause any specific problem...

Show different WYSIWYG options based on Role

It is easy to show different WYSIWYG options based on a users role.  All you need to do is to write a plugin that overrides the file:


Ace Editor Custom Field

The Ace text editor is an online code editor written in JavaScript. It matches the features and performance of native editors.

Created: Jul 03, 2014

Getting all the content objects on a page

We have been asked repeatedly how to get a list of all the content objects that have been placed on a page by a content...

Create a "Parse VTL" Widget Structure

This example allows you to execute the code in vtl files by simply browsing for them and saving a piece of widget content.

Tired of having to...

Script to Remotely Deploy OSGI jar

This is a bash script that will allow you to remotely deploy an OSGi plugin via the command line.  This is helpful when developing remotely

Image gallery that works with file assets and documents

The default version of image-gallery.vtl that comes with dotCMS only works with image files of type Document.  If a folder contains image files...

Handling XML Feeds with Children and Namespaces

The code below is a quick example on how to handle nested children in a simple XML feed and how to handle namespace fields that have a ":" in them.


Date Looping

This is how you can loop over a range of dates in velocity

Insert 500 Contents for Testing

This .jsp script will insert 500 pieces of content, which is a valid test for system performance.

Mobile Detection and Redirection part 2

Simple mobile detection and redirection in dotCMS, taken from:


Auto-scroll to top of page

The home page for one of our sites was loading a lot of content into various containers, much of which was created on the fly by vtl's.  As a result...

Twitter4J Viewtool Example

Just a quick Example of a Twitter4J viewtool.

Checking Load Times of Individual Components in a Page

We recently have been trying to find components (widgets/parsed vtls/containers) that are taking too long to load and could use optimization. One potential...