SlideShare a Scribd company logo
CommandBox 
● CFML CLI, REPL, 
and Package Manager
Who am I? 
● ColdFusion Architect (12 years) 
● Geek 
● Android Lover 
● Blogger (codersrevolution.com) 
● ColdBox Platform Evangelist 
● Musician 
● Shade-Tree Mechanic 
● Husband (11 years) 
● Dad (3 beautiful girls)
Professional Open Source 
Company backing and funding 
Professional Training Courses 
Books 
Support & Mentoring Plans 
Architecture & Design Sessions 
Server Tuning & Optimizations 
Code Reviews & Sanity Checks 
Dancing lessons
How Do We Work? 
● Tools! 
– IDE 
– RIAForge 
– Copy/paste 
– Scribble page/site 
– Ant 
– Grunt/Gulp
How Should We Work? 
● Better! 
– Automation 
– Share code with community 
– Manage external libs 
– Powerful and expressive tools 
– Easily test out code 
– Scaffolding
Introducing CommandBox! 
● Command Line Interface (CLI) 
● Package Manager 
● Read, Eval, Print, Loop (REPL)
Introducing CommandBox! 
● Native executable for Windows, Mac, Linux 
● First of its kind for CFML devs 
● Fills in the missing tooling gaps
Introducing CommandBox! 
● For ANY CF dev, not just *Box users 
● Operation System integration for executing 
commands 
● ForgeBox integration for cloud package 
management and installations 
● ColdBox Platform, TestBox, and ContentBox CMS 
Integrations
Introducing CommandBox! 
● Embedded CFML server 
● Ability to create command recipes and execution 
● Built-in Help system 
● Ability to create and execute commands built using 
ColdFusion (CFML)
Let's Get Started! 
● Usage Docs: 
https://www.ortussolutions.com/products/commandbox/docs/current 
● Command API Docs: 
http://apidocs.ortussolutions.com/commandbox/current
Installation 
● Download from Ortus Solutions site 
● Only 33MB and comes with CF server embedded! 
● Simply download and run executable 
● Optionally put “box” binary in your system path 
● Update later from CLI via “upgrade” command
Usage - General 
● Multiple commands inside the Box shell 
● “One-off” commands from OS shell 
● Current Working Directory 
● Work with output with grep, more, and file 
redirection
Usage – Commands 
● Help 
● Namespaces 
● Aliases
Usage - Parameters 
● Named parameters 
● Positional parameters 
● Boolean flags 
● Escaping input 
● Required values 
● File paths
Usage – Tab Completion 
● Command 
● Parameter 
● Custom 
● Files path
Usage – History 
● Command 
● REPL 
● Managing history
REPL 
● Run CF code from the command line 
● Supports CFML or CFScript 
● REPL has its own history
What's A Package? 
● A folder 
● Some code 
● A box.json
What's A Module? 
● A “smart” package 
● Has a ModuleConfig.cfc 
● Has optional conventions 
● Auto-registers itself with ColdBox
Conventions Are Good! 
● A common way of doing things 
● Makes everyone's code compatible 
● Standardizes extension points 
● Most all current languages enforce 
conventions 
● Increases automatability 
● 91,000 Node modules can't be wrong!
What is box.json 
● A standard package descriptor 
● Declares common package meta data 
● Name 
● Slug 
● Version 
● Author 
● Dependencies 
● Installation details
What is box.json 
{ 
"name" : "Weather By IP", 
"author" : "Brad Wood <brad@codersrevolution.com.com", 
"version" : "1.0.0", 
"slug" : "weather-lookup-by-ip", 
"shortDescription" : "Look up local weather by IP address.", 
"type" : "modules", 
"engines" : [ 
{ "type" : "railo", "version" : ">3.1" }, 
{ "type" : "adobe", "version" : ">9.0" }, 
{ "type" : "coldbox", "version" : ">4.0" } 
], 
"dependencies" : { 
"geolocation-lookup-by-ip" : "2.0.0" 
} 
}
What is ModuleConfig.cfc? 
● Tells the ColdBox app how to load the module 
● Settings 
● auto-map CFCs with WireBox 
● Auto-create app-specific mappings 
● Add SES routes 
● Add menu contributions (ContentBox)
What is ModuleConfig.cfc? 
component { 
this.title = "Weather By IP"; 
this.author = "Brad Wood"; 
this.description = "Look up local weather by IP address."; 
this.version = "1.0.0"; 
this.autoMapModels = true; 
this.modelNamespace = "Weather"; 
this.cfmapping = "/weather"; 
function configure(){ 
settings = { 
}; 
} 
function onLoad(){} 
function onUnLoad(){} 
}
ForgeBox 
● Web GUI 
● Online code repo for ANY package 
● Searchable 
● User-maintained 
● ForgeBox commands 
● Install packages 
● Save dependencies to box.json 
● Uninstall packages
Artifacts Cache 
● Local storage for packages 
● Download only necessary if not in cache 
● Cache location 
● “artifacts” commands to manage
Generators 
● Ability scaffold out entire apps 
● Quickly create app bits and pieces 
● Interactive commands collect info 
● Completely scriptable 
● Generators built for ColdBox and TestBox 
● More to come (contributions welcome!)
Let's Build An App! 
● init 
● coldbox create app 
● coldbox create handler 
● coldbox create module 
● install testbox 
● package show/set 
● testbox run
Recipes – Yummy! 
● Like a “batch” file 
● Runs multiple commands at once 
● Can accept parameters 
● Great for automation 
● myRecipe.boxr
Packaging with box.json 
● Dependencies are stored in box.json when 
installed 
● You can distribute your app without its 
dependencies 
● Dependencies can have dependencies 
(inception) 
● Use “install” to install them
Packaging with box.json 
● Weather sample app depends on ColdBox 
● Also depends on weather lookup 
● Weather lookup depends on GeoLocation 
● Developing on the app depeds on TestBox 
● https://github.com/bdw429s/ColdBox-Dependency-Sample-App
Packaging with box.json
Coming Soon! 
● Task Runners/build tools (Ant, Grunt, Gulp) 
● Install repo adapters (Git, RIAForge, Corporate, etc) 
● ForgeBox 2.0 
● More generators and integrations (fw/1 CFWheels) 
● ContentBox integrations 
● More embedded servers supported 
● Multi-version dependencies
Multi-Version Dependencies
Developing Commands 
● CommandBox commands are just CFCs 
● Extend BaseCommand 
● Implement “run()” method 
● Print object for output 
● Managed by WireBox for DI
Snake throwdown 
● Nothing like old school ASCII games 
● Stress reliever 
● Don't let your boss see 
● Can you beat my high score? (141)
Preso Links 
Download CommandBox 
– http://www.ortussolutions.com/products/commandbox 
Source Code 
– https://github.com/Ortus-Solutions/commandbox 
Forgebox 
– http://www.coldbox.org/forgeBox 
Sample App w/Dependencies 
– https://github.com/bdw429s/ColdBox-Dependency-Sample-App
CommandBox Resources 
Official Site 
http://www.ortussolutions.com/products/commandbox 
Documentation 
http://apidocs.ortussolutions.com/commandbox/1.0.0/index.html 
https://www.ortussolutions.com/products/commandbox/docs/current 
Google Group 
https://groups.google.com/a/ortussolutions.com/forum/#!forum/commandbox 
Training 
http://www.ortussolutions.com/services/Training 
Professional Support 
http://www.ortussolutions.com/services/support 
Brad Wood & 
Ortus Solutions, Corp 
brad@ortussolutions.com
Q & A

More Related Content

PDF
Composer
PDF
Approaching package manager
PDF
Making your first contribution to Foreman
PDF
Deploying RDO OpenStack with a pair of plugins
PPTX
Warden @ Meet magento Romania 2021
PDF
FITC - Node.js 101
PPTX
MongoDB backup service overview Boston MUG
PDF
Composer
Composer
Approaching package manager
Making your first contribution to Foreman
Deploying RDO OpenStack with a pair of plugins
Warden @ Meet magento Romania 2021
FITC - Node.js 101
MongoDB backup service overview Boston MUG
Composer

What's hot (20)

ODP
Managing your SaltStack Minions with Foreman
PDF
Open shift intro for Philly PUG
PPTX
Docker for Developers - PNWPHP 2016 Workshop
PDF
Extending Foreman the easy way with foreman_hooks
PPTX
Failing at Scale - PNWPHP 2016
PDF
PuppetCamp Sydney 2012 - Building a Multimaster Environment
PDF
Leveraging Composer in Existing Projects
PDF
Indexing BackPAN
PDF
CPAN Training
ODP
Foreman in your datacenter
PDF
Configuration Management - Finding the tool to fit your needs
PDF
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
PDF
faastRuby - Building a FaaS platform with Redis (RedisConf19)
PDF
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
PPTX
Writing a WordPress Plugin
PPT
Building dynamic websites with Mod perl and apache
PPTX
Varying wordpressdevelopmentenvironment wp-campus2016
ODP
Wt vs phalcon
PDF
Apache Provisionr (incubating) - Bucharest JUG 10
PDF
Setting up a local WordPress development environment
Managing your SaltStack Minions with Foreman
Open shift intro for Philly PUG
Docker for Developers - PNWPHP 2016 Workshop
Extending Foreman the easy way with foreman_hooks
Failing at Scale - PNWPHP 2016
PuppetCamp Sydney 2012 - Building a Multimaster Environment
Leveraging Composer in Existing Projects
Indexing BackPAN
CPAN Training
Foreman in your datacenter
Configuration Management - Finding the tool to fit your needs
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
faastRuby - Building a FaaS platform with Redis (RedisConf19)
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
Writing a WordPress Plugin
Building dynamic websites with Mod perl and apache
Varying wordpressdevelopmentenvironment wp-campus2016
Wt vs phalcon
Apache Provisionr (incubating) - Bucharest JUG 10
Setting up a local WordPress development environment
Ad

Viewers also liked (20)

PPTX
Mood boards
PPT
Administrative specialist
DOCX
Planning booklet
PPT
Administrative director
PDF
Conquering ORM with DataBoss
PPTX
Album artwork
PPT
Проблеми комп’ютероманії
PPTX
Tugas trigger
PDF
Into The Box 2015 Keynote
PPT
Sitcom quiz!
PPTX
Story book
PPTX
과제
PPTX
Description and Critique of Slideshare
PDF
CBDW2014 - ColdBox 4 Modules
PPT
Саші Хортів
PDF
ITB2016 best practices are best except when they are not
PPTX
Олі Мельник
PPTX
Fc, cp, dps
PDF
Social Media Strategy: Exploring the Basics
PPTX
ARS MARKETING _ PROFILE
Mood boards
Administrative specialist
Planning booklet
Administrative director
Conquering ORM with DataBoss
Album artwork
Проблеми комп’ютероманії
Tugas trigger
Into The Box 2015 Keynote
Sitcom quiz!
Story book
과제
Description and Critique of Slideshare
CBDW2014 - ColdBox 4 Modules
Саші Хортів
ITB2016 best practices are best except when they are not
Олі Мельник
Fc, cp, dps
Social Media Strategy: Exploring the Basics
ARS MARKETING _ PROFILE
Ad

Similar to CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL Tool! (20)

PPTX
Command box, Package Manager, Automation, REPL
ODP
CommandBox REPL, CLI, and Package Manager
PDF
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
PDF
Brad Wood 5 command box modules you should be using
PDF
Command box
PDF
PDF
DevEx | there’s no place like k3s
PPTX
ITB2015 - Go Commando with CommandBox CLI
PDF
Getting Started with BoxLang - CFCamp 2025.pdf
PDF
From airflow to google cloud composer
PDF
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
PDF
CommandBox : Free CFML
PDF
CommandBox at CFCamp 2014
PPTX
Modern Web-site Development Pipeline
PDF
Command Box ColdFusion Package Manager, Automation
PDF
ITB2019 Scaling with CommandBox in Production! - Brad Wood
PDF
Bootify Yyour App from Zero to Hero
PDF
Docker 0.11 at MaxCDN meetup in Los Angeles
PDF
ITB2017 - Keynote
PDF
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Command box, Package Manager, Automation, REPL
CommandBox REPL, CLI, and Package Manager
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad Wood 5 command box modules you should be using
Command box
DevEx | there’s no place like k3s
ITB2015 - Go Commando with CommandBox CLI
Getting Started with BoxLang - CFCamp 2025.pdf
From airflow to google cloud composer
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
CommandBox : Free CFML
CommandBox at CFCamp 2014
Modern Web-site Development Pipeline
Command Box ColdFusion Package Manager, Automation
ITB2019 Scaling with CommandBox in Production! - Brad Wood
Bootify Yyour App from Zero to Hero
Docker 0.11 at MaxCDN meetup in Los Angeles
ITB2017 - Keynote
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run

More from Ortus Solutions, Corp (20)

PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
PDF
June Webinar: BoxLang-Dynamic-AWS-Lambda
PDF
BoxLang-Dynamic-AWS-Lambda by Luis Majano.pdf
PDF
What's-New-with-BoxLang-Brad Wood.pptx.pdf
PDF
CFCamp2025 - Keynote Day 1 led by Luis Majano.pdf
PDF
What's New with BoxLang Led by Brad Wood.pdf
PDF
Vector Databases and the BoxLangCFML Developer.pdf
PDF
Using cbSSO in a ColdBox App Led by Jacob Beers.pdf
PDF
Use JSON to Slash Your Database Performance.pdf
PDF
Portable CI wGitLab and Github led by Gavin Pickin.pdf
PDF
Tame the Mesh An intro to cross-platform tracing and troubleshooting.pdf
PDF
Supercharging CommandBox with Let's Encrypt.pdf
PDF
Spice up your site with cool animations using GSAP..pdf
PDF
Passkeys and cbSecurity Led by Eric Peterson.pdf
PDF
Legacy Code Nightmares , Hellscapes, and Lessons Learned.pdf
PDF
Integrating the OpenAI API in Your Coldfusion Apps.pdf
PDF
Hidden Gems in FusionReactor for BoxLang, ACF, and Lucee Users.pdf
PDF
Geting-started with BoxLang Led By Raymon Camden.pdf
PDF
From Zero to CRUD with ORM - Led by Annette Liskey.pdf
PDF
Customize your Runtime Creating your first BoxLang Module.pdf
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
June Webinar: BoxLang-Dynamic-AWS-Lambda
BoxLang-Dynamic-AWS-Lambda by Luis Majano.pdf
What's-New-with-BoxLang-Brad Wood.pptx.pdf
CFCamp2025 - Keynote Day 1 led by Luis Majano.pdf
What's New with BoxLang Led by Brad Wood.pdf
Vector Databases and the BoxLangCFML Developer.pdf
Using cbSSO in a ColdBox App Led by Jacob Beers.pdf
Use JSON to Slash Your Database Performance.pdf
Portable CI wGitLab and Github led by Gavin Pickin.pdf
Tame the Mesh An intro to cross-platform tracing and troubleshooting.pdf
Supercharging CommandBox with Let's Encrypt.pdf
Spice up your site with cool animations using GSAP..pdf
Passkeys and cbSecurity Led by Eric Peterson.pdf
Legacy Code Nightmares , Hellscapes, and Lessons Learned.pdf
Integrating the OpenAI API in Your Coldfusion Apps.pdf
Hidden Gems in FusionReactor for BoxLang, ACF, and Lucee Users.pdf
Geting-started with BoxLang Led By Raymon Camden.pdf
From Zero to CRUD with ORM - Led by Annette Liskey.pdf
Customize your Runtime Creating your first BoxLang Module.pdf

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Cloud computing and distributed systems.
PPTX
Big Data Technologies - Introduction.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation theory and applications.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Encapsulation_ Review paper, used for researhc scholars
Cloud computing and distributed systems.
Big Data Technologies - Introduction.pptx
Empathic Computing: Creating Shared Understanding
Review of recent advances in non-invasive hemoglobin estimation
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation theory and applications.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Advanced methodologies resolving dimensionality complications for autism neur...
Dropbox Q2 2025 Financial Results & Investor Presentation
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Diabetes mellitus diagnosis method based random forest with bat algorithm
The Rise and Fall of 3GPP – Time for a Sabbatical?
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Building Integrated photovoltaic BIPV_UPV.pdf

CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL Tool!

  • 1. CommandBox ● CFML CLI, REPL, and Package Manager
  • 2. Who am I? ● ColdFusion Architect (12 years) ● Geek ● Android Lover ● Blogger (codersrevolution.com) ● ColdBox Platform Evangelist ● Musician ● Shade-Tree Mechanic ● Husband (11 years) ● Dad (3 beautiful girls)
  • 3. Professional Open Source Company backing and funding Professional Training Courses Books Support & Mentoring Plans Architecture & Design Sessions Server Tuning & Optimizations Code Reviews & Sanity Checks Dancing lessons
  • 4. How Do We Work? ● Tools! – IDE – RIAForge – Copy/paste – Scribble page/site – Ant – Grunt/Gulp
  • 5. How Should We Work? ● Better! – Automation – Share code with community – Manage external libs – Powerful and expressive tools – Easily test out code – Scaffolding
  • 6. Introducing CommandBox! ● Command Line Interface (CLI) ● Package Manager ● Read, Eval, Print, Loop (REPL)
  • 7. Introducing CommandBox! ● Native executable for Windows, Mac, Linux ● First of its kind for CFML devs ● Fills in the missing tooling gaps
  • 8. Introducing CommandBox! ● For ANY CF dev, not just *Box users ● Operation System integration for executing commands ● ForgeBox integration for cloud package management and installations ● ColdBox Platform, TestBox, and ContentBox CMS Integrations
  • 9. Introducing CommandBox! ● Embedded CFML server ● Ability to create command recipes and execution ● Built-in Help system ● Ability to create and execute commands built using ColdFusion (CFML)
  • 10. Let's Get Started! ● Usage Docs: https://www.ortussolutions.com/products/commandbox/docs/current ● Command API Docs: http://apidocs.ortussolutions.com/commandbox/current
  • 11. Installation ● Download from Ortus Solutions site ● Only 33MB and comes with CF server embedded! ● Simply download and run executable ● Optionally put “box” binary in your system path ● Update later from CLI via “upgrade” command
  • 12. Usage - General ● Multiple commands inside the Box shell ● “One-off” commands from OS shell ● Current Working Directory ● Work with output with grep, more, and file redirection
  • 13. Usage – Commands ● Help ● Namespaces ● Aliases
  • 14. Usage - Parameters ● Named parameters ● Positional parameters ● Boolean flags ● Escaping input ● Required values ● File paths
  • 15. Usage – Tab Completion ● Command ● Parameter ● Custom ● Files path
  • 16. Usage – History ● Command ● REPL ● Managing history
  • 17. REPL ● Run CF code from the command line ● Supports CFML or CFScript ● REPL has its own history
  • 18. What's A Package? ● A folder ● Some code ● A box.json
  • 19. What's A Module? ● A “smart” package ● Has a ModuleConfig.cfc ● Has optional conventions ● Auto-registers itself with ColdBox
  • 20. Conventions Are Good! ● A common way of doing things ● Makes everyone's code compatible ● Standardizes extension points ● Most all current languages enforce conventions ● Increases automatability ● 91,000 Node modules can't be wrong!
  • 21. What is box.json ● A standard package descriptor ● Declares common package meta data ● Name ● Slug ● Version ● Author ● Dependencies ● Installation details
  • 22. What is box.json { "name" : "Weather By IP", "author" : "Brad Wood <brad@codersrevolution.com.com", "version" : "1.0.0", "slug" : "weather-lookup-by-ip", "shortDescription" : "Look up local weather by IP address.", "type" : "modules", "engines" : [ { "type" : "railo", "version" : ">3.1" }, { "type" : "adobe", "version" : ">9.0" }, { "type" : "coldbox", "version" : ">4.0" } ], "dependencies" : { "geolocation-lookup-by-ip" : "2.0.0" } }
  • 23. What is ModuleConfig.cfc? ● Tells the ColdBox app how to load the module ● Settings ● auto-map CFCs with WireBox ● Auto-create app-specific mappings ● Add SES routes ● Add menu contributions (ContentBox)
  • 24. What is ModuleConfig.cfc? component { this.title = "Weather By IP"; this.author = "Brad Wood"; this.description = "Look up local weather by IP address."; this.version = "1.0.0"; this.autoMapModels = true; this.modelNamespace = "Weather"; this.cfmapping = "/weather"; function configure(){ settings = { }; } function onLoad(){} function onUnLoad(){} }
  • 25. ForgeBox ● Web GUI ● Online code repo for ANY package ● Searchable ● User-maintained ● ForgeBox commands ● Install packages ● Save dependencies to box.json ● Uninstall packages
  • 26. Artifacts Cache ● Local storage for packages ● Download only necessary if not in cache ● Cache location ● “artifacts” commands to manage
  • 27. Generators ● Ability scaffold out entire apps ● Quickly create app bits and pieces ● Interactive commands collect info ● Completely scriptable ● Generators built for ColdBox and TestBox ● More to come (contributions welcome!)
  • 28. Let's Build An App! ● init ● coldbox create app ● coldbox create handler ● coldbox create module ● install testbox ● package show/set ● testbox run
  • 29. Recipes – Yummy! ● Like a “batch” file ● Runs multiple commands at once ● Can accept parameters ● Great for automation ● myRecipe.boxr
  • 30. Packaging with box.json ● Dependencies are stored in box.json when installed ● You can distribute your app without its dependencies ● Dependencies can have dependencies (inception) ● Use “install” to install them
  • 31. Packaging with box.json ● Weather sample app depends on ColdBox ● Also depends on weather lookup ● Weather lookup depends on GeoLocation ● Developing on the app depeds on TestBox ● https://github.com/bdw429s/ColdBox-Dependency-Sample-App
  • 33. Coming Soon! ● Task Runners/build tools (Ant, Grunt, Gulp) ● Install repo adapters (Git, RIAForge, Corporate, etc) ● ForgeBox 2.0 ● More generators and integrations (fw/1 CFWheels) ● ContentBox integrations ● More embedded servers supported ● Multi-version dependencies
  • 35. Developing Commands ● CommandBox commands are just CFCs ● Extend BaseCommand ● Implement “run()” method ● Print object for output ● Managed by WireBox for DI
  • 36. Snake throwdown ● Nothing like old school ASCII games ● Stress reliever ● Don't let your boss see ● Can you beat my high score? (141)
  • 37. Preso Links Download CommandBox – http://www.ortussolutions.com/products/commandbox Source Code – https://github.com/Ortus-Solutions/commandbox Forgebox – http://www.coldbox.org/forgeBox Sample App w/Dependencies – https://github.com/bdw429s/ColdBox-Dependency-Sample-App
  • 38. CommandBox Resources Official Site http://www.ortussolutions.com/products/commandbox Documentation http://apidocs.ortussolutions.com/commandbox/1.0.0/index.html https://www.ortussolutions.com/products/commandbox/docs/current Google Group https://groups.google.com/a/ortussolutions.com/forum/#!forum/commandbox Training http://www.ortussolutions.com/services/Training Professional Support http://www.ortussolutions.com/services/support Brad Wood & Ortus Solutions, Corp brad@ortussolutions.com
  • 39. Q & A