Blog

CommandBox - Commands can be Clean Code Too

Gavin Pickin |  February 17, 2015

In today's world, we use frameworks, and separate concerns with MVC or MV*, we strive for Clean Code to make Uncle Bob proud, or Bossman Bob at least. Just because the “Run” function is all you need in a CFC (which extends the BaseCommand) for CommandBox to index the Command, doesn’t mean you have to jam all your code into that one function. Lets look at some simple code cleanup.

Read More

The Global View Helper

Luis Majano |  February 17, 2015

Since the early ColdBox 2 versions we had the ability to declare helpers for our layouts and views by creating a file right next to the view and adding the suffix Helper to it.  This would allow the framework to bind the two templates together at run-time.  This is a great way to provide further separation by convention.  However, there was no way to affect layouts and views globally.  You only had the global application helper which injected functions and...

Read More

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