dotCMS logodotCMS logo
OverviewAuthorBuildManageReference
dotCMS Github RepodotCMS Github RepodotCMS Discourse CommunityChat With Us
Server Side Scripting
Build
Getting StartedContent ModelingHeadless and SDKsTemplates and ThemesServer Side ScriptingAPIsExtending dotCMSIntegrationsSearch

Content and Widgets

  • Built-In Content Objects
  • Common Content Pulls
  • Content Object in Velocity
  • Editing Pulled Content
  • Page Content in Velocity
  • Pulling and Displaying Content — $dotcontent.pull
  • Sorting Content Pulls by Score

Content Pulls

  • Display Content Type Information in a Content Pull
  • Display Properties of the Current Site
  • Display Tags on Content
  • Generate Content From Email
  • Load Individual Content from Identifier or Inode — $dotcontent.find
  • Paginated Pull and Display of Contents — $dotcontent.pullPerPage
  • Pull and Display Related Content
  • Pull Calendar Events — $calendar.find
  • Pulling Categories
  • Retrieve Selected Inode

Dates, Strings and Macros

  • Velocity Date and Calendar Tools
  • Adding Days and Comparing Dates
  • Display Friendly Date Interval
  • Encrypt
  • Decrypt
  • String Replace / Regex

Integration Tools

  • Executing a SQL Query
  • Include a VTL or HTML file

Navigation (NavTool)

  • Menu Links
  • NavTool Viewtool
  • XML Sitemap

Velocity Scripting

  • Why Velocity?
  • Velocity Playground
  • Velocity User's Guide
  • Server Side Scripting
  • Velocity Viewtools
  • Commonly Used Velocity Tools
  • Content and Widgets in Velocity
  • Request, Response and Session
  • URL Parameters
  • Velocity Best Practices
  • Velocity Debugging Files
  • Built-in Variables & Reserved Words
  • Extending Velocity
  • Custom Viewtool Example

Velocity Tools

  • Dates in Velocity
  • Redirects, Rewrites, and Forwards
  • Tag-Based Caching (Block Cache)
  • Useful Velocity Methods
  • Velocity Integration Tools
  • Visitor Geolocation

Extending Velocity

dotCMS

Universal content management, made simple.

GitHubTwitterLinkedIndotCMS Discourse Community
dotDev HomeBlogChangelogsCurrent releasesAboutContactPrivacy PolicyTrust Center

© 2026 dotCMS. All rights reserved.

    Assistant

    Responses are generated using AI and may contain mistakes.

    Hi, I'm an AI assistant with access to documentation and other content.

    Tip: You can toggle this pane with ⌘/ or ⌘K.

    Try asking

    Enter to send · Shift+Enter for newline