Paulina Lainez

January 05, 2021

Spread the word

Share your thoughts

ForgeBox is the NPM of the ColdFusion world, and with CommandBox, CFML's CLI, you can easily add new functionality to your project with a simple `box install packageName`. 

We dedicate a portion of our CFML News Podcast to ForgeBox Modules. We had approximately 50 episodes in 2020, each with a ForgeBox Module, so we wanted to give you a way to see all of them in one place, so here they are.


1/7/20 Wkhtmltopdf - A CFML (Coldbox) wkhtmltopdf wrapper

By Samuel Knowlton


After years of wrestling with cfdocument from Adobe and Lucee, we centralized our "convert this to PDF" functions using a wkhtmltopdf Docker container based on this repository:


All this module does is provide a friendly interface to the API for that service. This module does not contain the wkhtmltopdf utility or do any conversion by itself. You must be running wkhtmltopdf as a service for this module to do any good.



box install wkhtmltopdf


Last Update: Jan 04 2020 03:45 PM | Installs: 5 | Views: 70 | Versions: 1


1/14/20 - smmrize - v1.0.1


By Matthew Clemente


A CFML wrapper for the SMMRY API. Utilize the SMMRY API to summarize articles, text, PDFs, etc. by extracting the most important sentences.


The API can summarize either web-based content or text, via the web() and text() methods, respectively. Both these functions take an optional, second argument, which contains the settings for your summarization. The easiest way to provide these is via the helpers.options component, which provides a fluent interface for setting them.


box install smmrize


1/21/20 str by Eric Peterson


A collection of string helper functions


box install str


Last Update: Feb 04 2019 10:27 AM | Installs: 3,265 | Views: 901 | Versions: 4


1/28/20 CFIPAPI by Jordan Clark ColdFusion Rest API Client provides a REST API to find the location of an IP address.


Specifically, you can get the following information for any IP address:

city, region , country , continent, postal code, latitude, longitude, timezone, utc_offset, european union (EU) membership, country calling code, currency, languages spoken, asn and organization.


The API can also help you to find the public IP address of a device.


$ box install cfipapi

2/4/20 - CFML Challenge APP


A CFML learning app for mastering CFML through a suite of challenges written in BDD. It is a ColdBox app that houses the CFML Challenge Module, a module built with CFML Challenge tests for you to test your CFML Skills. As the CFML Challenge Module is updated, this app will present you with more challenges for you to master CFML.


This app was built as on a Live Stream by Gavin Pickin and Michael Born, as a learning tool, and a way for listeners of the Modernize or Die CFML News Podcast to participate in the monthly challenge. 

Install the app, `box server start` and start your challenge today.


box install cfmlchallenge-app


2/11/20 - CommandBox Console Pretty

Simple module to draw bordered message boxes to the console (Supports emoji!!)

ConsolePretty is a threadsafe singleton and suitable for injection.


Accepts String or array of strings to print inside the box. Word wrapping is on by default. If an array of strings, each item in the array will be a separate line (hint: even empty strings ). Can use some emojis (depending on terminal shell support )


box install ConsolePretty

2/18/20 - Quick Tailwind Inertia Template v1.0.0


Quick Tailwind Inertia Template

Get started building a real application with Quick, cbauth, and cbguard. Power up your front end using Inertia.js, Vue, and Tailwind CSS.


Quick Installation

Each application templates contains a box.json so it can leverage CommandBox for its dependencies


box install cbtemplate-quick-tailwind-inertia



2/25/20 - CBYaml by Eric Peterson


Provides easy serialization and deserialization of yaml files

Parser component

There is only one component provided by cbyaml, the Parser component. You can inject it using the Parser@cbyaml mapping.


There are four methods on the Parser:


function serialize( required any content );

function serializeToFile( required any content, required string path );

function deserialize( required string content );

function deserializeFile( required string path );


box install cbyaml


3/3/20 - SafeBrowsing by Sean Daniels


Service object for interacting with Google SafeBrowsing Lookup v4 API.

The module creates a mapping for ThreatMatches@safebrowsing which has the following methods:


checkURLs(required array urls) returns a struct of data from the API describing any issues in the URLs submitted

isThreat(required string url) returns true if the URL is problematic for any reason, false if it's "safe"


To use add your Google API_KEY to the module settings in Coldbox.cfc:


box install safebrowsing


3/10/20 - RedirectBack by Eric Peterson


Caches the last request in the flash scope to give easy redirects back


Uses the ColdBox's flash storage to store the last request. If there is no last request, redirects to "" (empty string).


box install redirectBack


3/17/2020 - commandbox-stackChecker by Gavin Pickin


CommandBox Task Runner that allows you to check your local docker compose against your portainer stack file and your .env.example



Run the CheckStack function to verify and validate the Stack file in Portainer vs the Compose file in the repo and the env variables in the .env.example file.



Run the CheckStack function to verify and validate the Stack file in Portainer vs the Compose file in the repo and the env variables in the .env.example file.



Run the putStack function to update Stack file in Portainer with the Compose file in the repo. This auto updates the service.


box install commandbox-stackChecker



3/24/2020 - whoops by Eric Peterson

Recent Contributions by Scott Steinbeck


Interactive debugger for exceptions in CFML

Blatantly copied from (Thank you!)



box install whoops --saveDev


3/31/2020 - CFBarcode4J by Travis Peters


Wrapper around Barbecue - a Java barcode printing library.

Can return a cfimage or write it to the browser


box install CFBarcode4J


4/7/2020 - Commandbox - Site Opener - By Dan Card


A Simple Module to open and start existing sites easily without having to remember locations or change


Usage: type `siteopener Open` and push tab. A list of the sites which have been created will appear as options. Enter the one you want to use. Site  opener will CD into the folder, determine if it is running or not, and then either "server start" or "server open"


box install commandbox-siteopener


4/14/2020 - ColdBox Cross Site Request Forgery (CSRF) Tokens v2.0.1+24


A module that protects you against CSRF attacks by generating unique FORM/client tokens and providing your ColdBox application with new functions for verifying these tokens.


Even though every CFML engine offers these functions natively, we have expanded them and have made them more flexible and more secure than the native CFML functions.


Features include: 

  • Ability to generate security tokens based on your session
  • Automatic token rotation when leveraging cbauth login and logout operations
  • Ability to on-demand rotate all security tokens for specific users
  • Leverages cbStorages to store your tokens in CacheBox, which can be easily distributed and clustered
  • Ability to create multiple tokens via unique reference keys
  • Auto-verification interceptor that will verify all non-GET operations to ensure a security token is passed via rc or headers
  • Auto-sensing of integration testing so the verifier can allow testing calls
  • Token automatic rotation on specific time periods for enhance security
  • Helpers to automatically generate hidden fields for the token
  • Automatic generation endpoint that can be used for Ajax applications to request tokens for users


box install cbcsrf


4/21/20 cfml-compiler by Pete Freitag ( Foundeo )

CommandBox command to compile CFML

Suppose now that you are building a docker container, or a CFML Lambda Function you don't need the source files, and you will eliminate the time it takes Lucee to compile your CFML on the first request.


4/28/20 - Commandbox-EnvFile by Dan Card

This module is a wrapper for the propertyFile functionality built into CommandBox but exclusively on creating, modifying and displaying .env files.



box install commandbox-envfile



envfile show - Accepts a folder and a filename and displays the contents in the CLI


envfile set - Accepts and name and a value and adds it to the local .env file. Alternately accepts a folder and filename to receive the addition. Gives the option to create the file if it does not exist which can be bypassed with the --force flag.


envfile get - Accepts a name and displays the value of it if it exists.


envfile PopulateFromExample - Accepts the name of a file (defaults to .env) and an example (defaults to .env.example) and then loops through the example and asks the user for a value for each item in the example which is then written to the target file.


5/5/20 appStartupReporter by Gavin Pickin


Reports App Startup information to Sentry

This module determines various pieces of information from your app, and reports this to Sentry. You need to install the sentry module and configure ColdBox in order for this module to work.


How does it work?

This module checks your app code for helper files or the OS itself to determine several pieces of information, and then reports that information to Sentry when the app starts up.


When does it run?

The interceptor runs AfterConfigurationLoad, and reports to Sentry based on your ColdBox Sentry settings.


What information does it report

  • App Version
  • ColdBox Environment
  • Server Hostname
  • Box.json file content
  • Box Dependencies ( like running box list from the CLI )


5/12/20 ColdBox Debugger v2.0.0


This module will enhance your application with debugger capabilities, a nice debugging panel and much more to make your ColdBox application development nicer, funer and greater! Yes, funer is a word!


This will activate the debugger in your application and render out at the end of a request.


Version 2 shipped with:

Dropped ACF 11 support

Formatting updates

Quick/QB Panels


5/19/20 BCrypt v2.5.0+25 (MODULES) by Ortus Solutions


A ColdBox module for BCrypt. Creates cryptographically strong (and slow) password hashes.


box install BCrypt


BCrypt's primary usage would be for the secure hashing of passwords. The hashing method provides a high level of security, but also makes it too slow use as a simple digest. It is also not reversible, and therefore is not suitable for encrypting transmission data.

More information about BCrypt:


5/26/20 Quick Commands by Eric Peterson


CommandBox Module that helps you Create a Quick entity.  Table name, attributes, and relationships can also be defined.



6/2/20 Fixinator by Pete Freitag Foundeo


Fixinator makes it easy to find and fix security vulnerabilities in your CFML / ColdFusion source code.

Created and supported by the CFML Security Expert Pete Freitag, as one of the many great security products available by Foundeo.


  • Auto Fix
  • Known Vulnerabilities
  • Continuous Integration
  • Vulnerable Code
  • Configurable
  • Backdoor Detection



6/9/20 CommandBox Banner Hack by Matthew Clemente


Created in one of Matthews live streams a few weeks back.


The CommandBox Banner Hack module allows you to customize the version, quote, and welcome message seen in the CommandBox startup banner.


Why would you want to do this?

The initial use case was a presentation - I wanted my demos and screenshots to display custom banner text in the CLI. I think a more likely reason for using this module is: "Just for fun."


box install commandbox-banner-hack


Run any of the following commands to hack your banner text. Be sure to run reload to see the updated banner.


6/23/20 Lucee Performance Analyzer - Lucee Extension by Zac Spitzer


Performance Analyzer plugin for Lucee, to be used in the Lucee admin.



Install via Applications page in your Lucee Administrator. It's best to install under the Web Administrator, once this bug/patch against Lucee is merged, you will be able to install the plugin once at the Server level and then access the plugin from all web contexts.



You will need to enable debugging and configure a debug template in order to capture debug logs for this plugin to work.



Summary of top variable Scoping problems

Summary of slowest sql queries


6/30/20 UTrust CFML by Gary Stanton

Utrust CFML provides a wrapper for the Utrust crypto payments API.

Obtain an API key from

Check out the Utrust API documentation here:


Example: Check out the /examples folder for an example order and response.


The Utrust CFML wrapper consists of two models. The stores model is a singleton, used to create your order. The webhook model is a transient used to process the payload returned by the Utrust order callback.


The wrapper may be used standalone, or as a ColdBox module.



7/7/20 Stripe CFML by John Berquist

stripe-cfml is a CFML (Lucee and ColdFusion) library for interacting with the Stripe API.


stripe-cfml is modeled after the official Stripe SDKs. In particular it copies the class and method names used in the Node SDK. The Node examples given in the official Stripe documentation are simply able to be copied and used (with the notable difference that this library does not make use of callbacks - everything is done synchronously). However, since CFML supports named arguments, you can also use named arguments instead of passing the arguments in a single struct.


box install stripecfml


7/14/20 Lucee Spreadsheet

Spreadsheet library for Lucee (and Adobe ColdFusion)


Originally adapted from the extension, this is a standalone library for reading, creating and formatting spreadsheets in Lucee Server which does not require installation as an extension. It can also be used with Adobe ColdFusion.


Unlike Adobe ColdFusion, Lucee doesn't support spreadsheet functionality out of the box. An extension exists for Lucee, but I decided to create a standalone library which doesn't depend on customisation of the engine.


Note that this is not a Lucee extension, so does not need to be installed. To use it, simply copy the files/folders to a location where Spreadsheet.cfc can be called by your application code.



  • No installation required, either at the server or individual web context level.
  • read() method offers all the features of the <cfspreadsheet action="read"> tag in script in addition to the basic options of SpreadsheetRead().
  • Offers a number of additional functions and options (see below)
  • Fixes various outstanding bugs/omissions.
  • No dependency on Lucee within the included jar files.
  • Invoking the library doesn't create a workbook instance (a.k.a. Spreadsheet Object), meaning:
  • a blank workbook isn't created unnecessarily when reading an existing spreadsheet
  • the library can be stored as a singleton in application scope
  • Also works with Adobe ColdFusion (see below)
  • Written entirely in CFML script.



7/21/20 Cfml-weighted-round-robin by Matthew Clemente


This module provides a round-robin algorithm for rotating elements according to differing weights, instead of evenly. It was inspired by the npm package weighted-round-robin, and uses the same logic for its algorithm.


box install weightedroundrobin


7/28/20 CodeChecker CLI by Ortus Solutions


A CLI wrapper for the CodeChecker project. This CLI bundles the CodeChecker core libraries for use in the command line.


To start a code review against your code, run this command:

codechecker run



box install commandbox-codechecker


8/4/20 RabbitSDK by Brad Wood & Ortus Solutions 


RabbitMQ is an open-source message-broker software that originally implemented the Advanced Message Queuing Protocol and has since been extended with a plug-in architecture to support Streaming Text Oriented Messaging Protocol, MQ Telemetry Transport, and other protocols.


This library is a wrapper for CFML/ColdFusion apps to be able to interact with RabbitMQ via the Java SDK.


box install rabbitsdk


8/11/20 Bookmarks for CommandBox by Adam Euans


Bookmarks allow you to bookmark directories for easy navigation.


List bookmarks - list existing bookmarks

CommandBox> bookmark list


Add bookmark - add a new bookmark

CommandBox> bookmark add [name] [path]

CommandBox> bookmark add 'Home'


Delete bookmark - delete an existing bookmark

CommandBox> bookmark delete [name] [path]

CommandBox> bookmark delete 'Home'


Goto bookmark - go to a bookmarked path

CommandBox> bookmark goto name

CommandBox> goto <name>




8/18/20 CB Breadcrumb by Gary Stanton


Automatically generate breadcrumb data and HTML in your ColdBox application, using the Routing table.


An instance of CB Breadcrumb is automatically added to each request and is available in the private request context.

You may display breadcrumb HTML in your layout with a single line of code: #prc.cbbreadcrumb.getBreadcrumbHTML()#

The default HTML format uses Bootstrap 4 syntax, though you may override the function if necessary.


box install CBBreadcrumb




8/25/20 Adobe ColdFusion Engine


You can use one of 62 version of Adobe ColdFusion from CommandBox - with the server start command. From CF9, 10, 11, 2016, 2018, and the next version, CF2020 or Project Stratus


box server start cfengine=adobe


To use the new Adobe ColdFusion Beta, start your server with this command

box server start cfengine=adobe@2020.0.0-beta.1



9/1/20 Galleries for Preside


This extension allows you to configure photo galleries in your Preside application, and display them in the front end.


box install preside-ext-galleries





9/8/20 Coldbox-asset-bag

An asset bag to manage css and javascript dependencies

The Problem

You want to dynamically include javascript and css based on the code being executed.


You don't want these assets included in the middle of your views. Instead, you want them included either in the head or footer of your page. (This is especially important for a framework like Vue where inline javascript breaks the page.)


This Solution

coldbox-asset-bag provides an API to add assets any time during the request lifecycle. It allows adding of css and javascript assets along with their inline varities and stores them in either the head and footer sections. Finally, it can render the assets to the appropriate tags in your layout or view.



9/15/20 logstash by Ortus Solutions


This module provides a common interface for sending Logstash logs to elasticsearch. The module may be used with either a direct connection to an Elasticsearch server or may be installed as a client-only module, which connects to a separate instance running this module as a microservice.


box install logstash


9/22/20 Semver by Seth Boland


SEMVER A custom module that allows updating the version of a package and committing to git repo.




semver minor

semver major

semver patch

semver prerelease

semver prerelease <string>

semver init

semver init <version>



9/29/20 Dupify by Michael Born


A simple CommandBox module to generate many copies of a file.

Useful for generating large quantities of images/PDFs/documents/etc for testing purposes.



Save 300 copies of my profile photo to the current directory: dupify 300 profile.jpg

Save 3 resume copies to my desktop: dupify 3 resume.pdf /home/michael/Desktop


Box install dupify --system



10/6/20 S3 Explorer by Ortus Solutions


A module to help you browse your S3 buckets in the browser.



10/13/20 OSGi bundle installer/loader for Lucee


By Julian Halliwell

A simple tool for installing OSGi bundles dynamically in Lucee Server (NB: version 5+ only)


This CFML component allows java libraries that have been packaged as OSGi bundles to be easily installed dynamically in Lucee 5+, avoiding the need to manually deploy them in your Lucee server before they can be used.


You can use it to load a class directly from a given local bundle without worrying about whether the bundle has been installed.



10/20/2020 CommandBox Git protect


By Seb Duggan

As of CommandBox 5.1.0, box install in a project will overwrite any package (e.g. a Preside extension) where the current version does not match the installed version number - including downgrades.


This means that if your project has an extension which is a Git repo, which may likely have a placeholder such as VERSION_NUMBER which gets populated by a build script, it will always get overwritten, which is not ideal.


This module adds protection against this: if the existing package is a Git repo, it will never be overwritten.

box install commandbox-git-protect




10/27/20 JSoup by Don Bellamy


Just drop into your modules folder or use CommandBox to install




11/3/2020 Elixir APP Template by Ortus Solutions 

This advanced template leverages ColdBox and the (ColdBox Elixir)[] project for asset management and compilations. You can place all your static assets in the resources/assets folder and Elixir will combine, version, copy, and even babelify your code to their appropriate location in the includes folder.


Please check out the ColdBox Elixir documentation for further information:


box install cbtemplate-elixir 




11/10/2020 Eversigncfc by Matthew Clemente


A CFML wrapper for the Eversign API. Use it to create, send, and track legally binding e-signature documents.


Feel free to use the issue tracker to report bugs or suggest improvements!

This project borrows heavily from the API frameworks built by jcberquist. Thanks to John for all the inspiration!
Created during live streams 


11/19/20 Amazon S3 SDK Explorer

New UI bootstrap 4 plus bug fixes. I plan on using it in ContentBox to allow us to transport files. I want to hook into ContentBox to give users permission for their folders etc.and a common shared folder. 



11/24/20 Orm Reload Interceptor by Eric Peterson


ORMReload with a URL flag - Just like you can add fwreinit=my_passsword to the URL to reload your ColdBox application, this module adds an interceptor that lets you specify ormreload=my_orm_reload_password.

The interceptor will work out of the box with no password set.

f you want to set the reload password, override the interceptor in your config/Coldbox.cfc settings


ORMReload on FWReinit - Installing this module will also automatically call ormReload() on a fwreinit (?fwreinit=1). You can override this setting by overriding the interceptor in your config/Coldbox.cfc settings, as well


box install orm-reload-interceptor  



12/1/20 CommandBox CFC to Markdown Docs by Matthew Clemente


A CommandBox custom command to generate markdown documentation from your CFCs.


You will need CommandBox installed to use this tool. If you're a CFML developer not using CommandBox, see my note on the bottom.


From within the terminal, simply run the following command to install the module.


box install commandbox-cfc-to-markdown-docs


Once the module is installed, it uses the command: markdowndoc or the alias mdd.



Youtube Livestream:   



12/8/20 twiliolookupcfc by Matthew Clemente

A CFML wrapper for the Twilio Lookup API. Use Twilio's Lookup API to retrieve information about phone numbers, including region-specific formatting, carrier information, and caller name.

To get started with the Twilio Lookup API, you'll need your Twilio account SID and your auth token. You can find your account SID and auth token in your console.

box install twiliolookupcfc 




12/15/20 The ColdBox Paginator

This module builds the pagination struct for API responses and custom data tables.
This module has several functions, two most commonly used below.

Generate returns the pagination struct according to the total records.

If page and maxRows parameters are not passed in, it will use the default values.

GenerateWithResults returns the same pagination struct as the above along with the results

You can convert your results to be a resultsMap by setting asResultsMap to true

In addition you can set a name for your results key by passing in the resultsKeyName value as a parameter. By default this key is called results


box install cbpaginator 



12/22/20 commandbox-bookmarks by Adam Euans


Bookmarks allow you to bookmark directories for easy navigation.


`box install commandbox-bookmarks` 



Get more ForgeBox Modules / Packages every week on our Podcast

Listen on the web or on your favorite podcast player

Subscribe on YouTube

Add Your Comment

Recent Entries

ColdBox 7.2.0 Released

ColdBox 7.2.0 Released

ColdBox, a widely used development platform for ColdFusion (CFML), has unveiled version 7.2. Packed with compelling new features, bug fixes, and enhancements, this release is designed to empower developers by boosting productivity, refining scheduled task capabilities, and enhancing the overall reliability and efficiency of application development. This article will delve into the key highlights of ColdBox 7.2 and elucidate how these advancements can positively impact developers in their daily coding endeavors.

Luis Majano
Luis Majano
November 20, 2023
Into the Box 2023 Series on CFCast

Into the Box 2023 Series on CFCast

Excitement is in the air as we unleash the highly anticipated ITB 2023 series exclusively for our valued CFCast subscribers – and the best part? It's FREE for CFCast members! Now is the perfect time if you haven't joined the CFCast community yet. Plus, we've got an incredible End-of-Year deal that's too good to miss

Maria Jose Herrera
Maria Jose Herrera
November 20, 2023
Ortus Deals are Finally Here!

Ortus Deals are Finally Here!

The much-anticipated Ortus End-of-the-Year Sale has arrived, and it's time to elevate your development experience! Whether you're a seasoned developer, a tech enthusiast, or someone on the lookout for top-notch projects, Ortus has something special in store for you. Brace yourself for incredible discounts across a wide array of products and services, including Ortus annual events, books, cutting-edge services, and more.

Maria Jose Herrera
Maria Jose Herrera
November 15, 2023