Blog

CommandBox Snake- All In Good Fun

Brad Wood |  February 16, 2015

As I always say, "All work and no fun makes you a dull programmer!"  Well, with CommandBox, we're here to fight boredom and productivity with the fun "Snake" game.  This is the class game of moving an-ever growing snake around the map in 4 directions while eating up the apples.  For every app the snake devours, it grows by one character in length.

Read More

The Security Module

Curt Gratz |  February 16, 2015

Looking to secure your ColdBox application?  The Security Module can be your security rules engine for your application.  It provides flexible options to rules based security for you to use.

We have often talked about how a module can be either complex or as simple as an interceptor.  Our Security Module is basically just an interceptor that gets registered in your application to enforce rules you define.  Installing it is easy u...

Read More

Get your i18n on in ColdBox 4.0

Nathaniel Francis |  February 13, 2015

As part of the core cleanup for ColdBox 4.0, the internationalization aspects (i18n) have been moved out into their own module. Up until ColdBox 4.0,  i18n was a plugin, like messageBox, and Logger, and Validator. All of these plugins have been reworked into ColdBox 4.0 modules and are available on ForgeBox.

Without i18n being in the core, your smaller, focused applications that don't leverage i18n's features won't have i18n weighing down your server.

But, for the i18...

Read More

Let’s get cooking with CommandBox Recipes!

Luis Majano |  February 13, 2015

One exciting feature about CommandBox is the ability to group commands together into a lovingly little file we call, a recipe.  We even gave it its own extension, .boxr.  This little gem will allow you to automate several commands from your native shell, it will be faster to use our recipe command that allows you to run several CommandBox commands at once. This will allow you to only load the CommandBox engine once for all those commands, but still be dumped back at your native prompt when done. Recipes can also just be useful for a series of commands you run on a regular basis, from test executions, to compressing files, the possibilities are endless.  

Below is a simple example of how to create a recipe and execute it.  For further insight, we recommend you read our chapter on recipes in our CommandBox book.

Read More

ColdBox 4.0 ORM Services

Brad Wood |  February 12, 2015

ColdBox's ORM services have always been a very compelling part of the framework for those using ORM in their applications.  The provide you with an automatic, extendable service layer for an ORM entity complete with common methods, pagination and really sweet syntactical sugar such as dynamic finders:

user = userService.findByLastName("Majano");
users = userService.findAllByLastLoginBetween( "01/01/2014", "01/01/2015" );
count = userService.countByLastLoginGreaterThan( "01/01/2013" );
Read More

Artifacts Make A Difference

Nathaniel Francis |  February 11, 2015

Let's keep that around

One of the neat "under the hood" features of CommandBox is artifacts. Artifacts are a copy of each package that gets downloaded with CommandBox. This is good for you and for the internet because once you have a package in your artifacts, you don't need to download it again. Artifacts are key to CommandBox efficiency.

We might need that again

The next time you download a package from ForgeBox, CommandBox reads the box.json file for that package's dependencies. Then, it checks to see if we already have a copy of those dependencies in the artifacts. If the dependency is in the artifacts, CommandBox just uses it. If not, then CommandBox calls to ForgeBox to get that dependency. That's efficiency.

Read More

CommandBox REPL

Curt Gratz |  February 11, 2015

Ever want to try something quick in CFML? Show something off and get the feedback instantly? 

One of the things CommandBox can do for you is provide a REPL (Read-Evaluate-Print-Loop) console for immediate ColdFusion (CFML) interaction so you can do just that.

After CommandBox is installed, just run 

box repl
Read More

CommandBox - Comments are more helpful than you think

Gavin Pickin |  February 10, 2015

Using a command line tool, like CommandBox, you look for those feature comforts, that can make or break the UI. With CommandBox, one of the big wins, is HELP. Most command line tools allow you to type help and get some general help, but CommandBox goes a step further, you can get Help the Global Level, Namespace Help, and even help at the Command Level.

Read More

RESTFul Content auto-marshalling with ColdBox

Luis Majano |  February 10, 2015

ColdBox 4 introduces yet more nifty tools for RESTFul web services.  In ColdBox 4, we introduced the capability to do auto-marshaling of RESTFul body content from either JSON or XML formats.  We will take care of the defaults, nulls and incompatibility requirements.  All you have to do is use our event.getHTTPContent() method and pass the appropriate conversion argument. 

The possible conversion boolean arguments are:

CommandBox - Searching ForgeBox

Brad Wood |  February 09, 2015

We have big plans for using CommandBox to install packages from all sorts of code endpoints-- local folders, Git/SVN URLs, private corporate repos, etc.  Version 1.0 of CommandBox focused on ForgeBox though, which is our CFML code depot.  It may have started out as a ColdBox/ContentBox-specific thing, but is now open to the entire community to put any project they want on.  I'm excited to already see entries like CFWheelsFW/1MXUnit, and MonkehTweets on there.  The more packages installable from CommandBox via ForgeBox, the more we all win.

Soon ForgeBox will get even more life of its own enhancing it with more functionality such as having multiple versions of the same package. We've already set up forgebox.io as the new domain for ForgeBox's HTML interface where you can search, sort, and filter the entries in your web browser.  We've also built a "forgebox" namespace into CommandBox that uses the REST API to let you interact with ForgeBox from your console.

Read More