FORGEBOX Enterprise 🚀 - Take your ColdFusion (CFML) Development to Modern Times! Learn More...

ContentBox Modular CMS Site

v5.3.0 Public

Build Status

Copyright Since 2012 by Ortus Solutions, Corp -

Because of God's grace, this project exists. If you don't like this, then don't read it, its not for you.

"Therefore being justified by faith, we have peace with God through our Lord Jesus Christ: By whom also we have access by faith into this grace wherein we stand, and rejoice in hope of the glory of God. And not only so, but we glory in tribulations also: knowing that tribulation worketh patience; And patience, experience; and experience, hope: And hope maketh not ashamed; because the love of God is shed abroad in our hearts by the Holy Ghost which is given unto us. ." Romans 5:5

Welcome to ContentBox

ContentBox is FREE Professional Open Source modular content management engine based on the popular ColdBox MVC framework.


Apache License, Version 2.0.


ContentBox is maintained under the Semantic Versioning guidelines as much as possible.

Releases will be numbered with the following format:


And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major (and resets the minor and patch)
  • New additions without breaking backward compatibility bumps the minor (and resets the patch)
  • Bug fixes and misc changes bumps the patch

System Requirements

  • Lucee 5+
  • Adobe ColdFusion 2016+

ContentBox Installation

You can follow in-depth installation instructions here: or you can use CommandBox to quickly get up and running with ContentBox. You can install it in three different formats:

  1. ContentBox Installer : Installs a new ColdBox configured site with our ContentBox DSN Creator, ContentBox Installer and ContentBox Modules installed: box install contentbox-installer
  2. ContentBox Site: Create a new ColdBox configured site with the ContentBox Module installed. This does not contain our installer or DSN creator modules (Great for containers or pre-installed sites) : box install contentbox-site
  3. ContentBox Module: Install ContentBox as a module into an existing ColdBox application (Requires ORM configuration, manual installation): box install contentbox
  4. ContentBox Installer Module : You can also install ONLY the ContentBox installer module as an addon: box install contentbox-installer-module.
# Install New Site with DSN Creator, Installer and ContentBox modules
install contentbox-installer

# This will install the ContentBox installer module ONLY!
install contentbox-installer-module

# Install New Site with ContentBox Modules but no DSN Creator and Installer, great for Containers
install contentbox-site

# Install ContentBox Modules Only into an existing ColdBox App
install contentbox


If you want to develop and hack at the source, you will need to download CommandBox, and have NodeJS installed for UI development. Then in the root of this project, type box recipe workbench/setup.boxr. This will download the necessary dependencies to develop and test with ContentBox.

You can then go ahead and start an embedded server according to which engine you would like to hack in. Please note that the default CFML engine is a Lucee 5 engine. You can start any of the following engines:

  • run-script start:2016 - ACF 2016
  • run-script start:2018 - ACF 2018
  • run-script start:lucee - Lucee 5

You can also stop any server:

  • run-script stop:2016 - ACF 2016
  • run-script stop:2018 - ACF 2018
  • run-script stop:lucee - Lucee 5

You can also tail the logs for each server:

  • run-script log:2016 - ACF 2016
  • run-script log:2018 - ACF 2018
  • run-script log:lucee - Lucee 5

Test Suites

For running our test suites you will need 2 more steps, so please refer to the Readme in the tests folder.

UI Development

If developing CSS and Javascript assets, please refer to the UI Developer Guide in the workbench/ folder.

Ortus Community

Join us in our Ortus Community and become a valuable member of this project We are looking forward to hearing from you!


"I am the way, and the truth, and the life; no one comes to the Father, but by me (JESUS)" Jn 14:1-12


All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[5.2.0] => 2022-MAR-31


  • CONTENTBOX-1415 5.x Updater was not running the right migrations
  • CONTENTBOX-1414 Migration names cannot have a period or the migrations fail due to a CFC instantiation issue
  • CONTENTBOX-1413 CBHelper siteBaseURL is not accounting for multi-site

[5.1.1] => 2022-MAR-17


  • Master artifact was stuck at -snapshot fix with master artifact


  • CONTENTBOX-1412 VerifyPageLayout() on the page rendering touches the filesystem on each request, removing this as it is not needed
  • CONTENTBOX-1368 rc.pageUri is only the first segment of the actual slug, now it contains the full hierarchical slug

[5.1.0] => 2022-MAR-17


  • CONTENTBOX-1410 Widget Form missing type and class elements
  • CONTENTBOX-1409 regression: issue when resetting an user password due to change to getFullName()
  • CONTENTBOX-1407 Media Manager Item Contextual Menus Do Not Work
  • CONTENTBOX-1405 Cloning Fails if Title of Page/entry/contentstore that Contains an Apostrophe
  • CONTENTBOX-1398 Cloning a Page with Children Produces an Error
  • CONTENTBOX-1397 Settings should not be cached on a per host basis anymore, since a single instance manages 1 or x number of sites
  • CONTENTBOX-1396 Deleting Permissions is not working due to change of primary key from numeric to string
  • CONTENTBOX-1381 Individual ContentBox Content-Level Cache Settings are Never Checked
  • CONTENTBOX-1379 Fail Quietly on ContentBox Module Removal
  • CONTENTBOX-1367 error on relocate widget when argumetns have no length
  • CONTENTBOX-1365 Paginated results in CBAdmin for Page Children returns non-parented results for page 2
  • CONTENTBOX-1364 Relocation Widget Always inserts URL arg even when selecting page
  • CONTENTBOX-1362 Change all date comparisons on the expirations and publishing dates to dateCompare() to avoid ambiguity with types
  • CONTENTBOX-1361 Pages with null expiration date show as Expired in Page Editor
  • CONTENTBOX-1358 API throwing exception when content objects exist in multiple sites
  • CONTENTBOX-1357 If using the contentbox installer and no database tables are created yet, running the migrations fail due to tables not found
  • CONTENTBOX-1356 Invalid setting name on migration removing unique constraints
  • CONTENTBOX-1355 Category isPublic new boolean flag cannot be notnull=true as it has been a new added field
  • CONTENTBOX-1354 Rapidoc is not publishing on latest builds
  • CONTENTBOX-1353 MSSQL Issues when upgrading v4 databases due to uuid's and invalid sql syntaxes
  • CONTENTBOX-1333 If you activate a new theme in the active theme area, contentbox creates double entries for theme settings


  • CONTENTBOX-1401 Add a Warning Confirmation When a Published Page is About to Be Sent to Draft
  • CONTENTBOX-1386 cleanup of dev dependencies on site box.json
  • CONTENTBOX-1384 Remove development environment from 127 ip due to container executions
  • CONTENTBOX-1383 Remove cacheLayout column/values from SQL seeder files
  • CONTENTBOX-1380 Remove Individual Page Handling of SSL
  • CONTENTBOX-1373 Add support for x-forwarded-port to the site root url builder in order to assist with proxied web servers
  • CONTENTBOX-1363 Consolidate and encapsulate the usage of date/time methods for publish/expire date in the base content
  • CONTENTBOX-1359 Add Error handling to renderWithSearchResults
  • CONTENTBOX-1351 Resources folder that contain apidocs + seeders + migrations is not updateable


$ box install contentbox-installer

No collaborators yet.
  • {{ getFullDate("2017-03-16T23:03:31Z") }}
  • {{ getFullDate("2022-08-09T23:14:59Z") }}
  • 2,725
  • 14,955