Apache Velocity is a language built on Java which is designed for templating and scripting HTML content.
When Velocity is used for web development, Web designers can work in parallel with Java programmers to develop web sites according to the Model-View-Controller (MVC) model, meaning that web page designers can focus solely on creating a site that looks good, and programmers can focus solely on writing top-notch code. Velocity separates Java code from the web pages, making the web site more maintainable over its lifespan and providing a viable alternative to Java Server Pages (JSPs).
Velocity Tools is a set of tools that ease Velocity integration in standard and web applications, and provide template writers with various generic and web specific utilities.
Macros can be stored either at a global level or on a per-template level. This is controlled by the config key "velocimacro.permissions.allow.inline.local.scope", which is false by default. i.e. all macros are part of global scope.