Scripting is a common activity for the web developer. dotCMS has a built in templating language called Velocity and it isn't really a full featured scripting language, but allows the web designer/developer a way to build dynamic webpages. Velocity is rather limited in scope if you look at the core macros it provides. However, standard viewtools expand it's basic functionality and dotCMS has even expanded that basic set of tools with their own viewtools.