CommandBox is a standalone, native tool for Windows, Mac, and Linux that will provide you with a Command Line Interface (CLI) for developer productivity, tool interaction, package management, embedded CFML server, application scaffolding, and some sweet ASCII art. It seamlessly integrate to work with any of our *Box products but it is also open for extensibility for any ColdFusion (CFML) project as it is also written in ColdFusion (CFML) using our concepts of CommandBox Commands.
Built-in help is completely integrated for every command, so you can always know how to work with CommandBox. You can pop open a CommandBox shell in your terminal window and manually type commands, or even automate things externally via the CommandBox binary box with your OS's native shell and create awesome command recipes for automation, building, deploying, you name it!
Package Management, Application Scaffolding, Extensible Via CFML and Embedded Server are already included in CommandBox.
2. WHO AM I?
• Luis Majano
• Computer Engineer
• Born in El Salvador ->Texas
• CEO of Ortus Solutions
• Adobe Community Professional
• ColdFusion (CFML) Advocate
• Adobe Advisory Committee
• Lucee Language Committee
• Sandals & Beaches -> ESRI -> Ortus
3. AGENDA
• How do we work in CF
• A better way to work in CF
• What is CommandBox
• Features
• Usage
• Roadmap
4. HOW DO WE WORK IN CF?
Code% App%
Code
Code
Code
Code
Code
Code
Code
16. We are POSS
• GitHub
• https://github.com/Ortus-Solutions/commandbox
• Professional Support
• Training + Mentoring
• Development
• Support
• Salsa Lessons are Optional
Brad Wood
Salsa King
17. What is CommandBox?
CLI Package
Manager
REPL
Read-Eval
Print-Loop
Integrated
Server
ScaffoldingForgeBox
CFML
ColdFusion Automation
19. Usage - OS Execution
OS
+
CFML
Execute CFML Files
box myapp.cfm &
Box Scripting: *Unix
#!/usr/bin/env box
20. Usage - Commands
• How you get things done!
• Built-in Help
• command help
• Command Namespaces
• Commands
• Aliases
• Parameters/Arguments
• Tab-Completion
• History
35. Packaging Features
• Can distribute without dependencies
• Can have development dependencies
• Dependencies Inception
• “install” to initialize a project
• “update” to update dependencies
• “outdated” to check for versions
• “list” to visualize dependencies
36. What is CommandBox?
CLI Package
Manager
REPL
Read-Eval
Print-Loop
Integrated
Server
ScaffoldingForgeBox
CFML
ColdFusion Automation
37. Read - Eval - Print - Loop
• Executes code
• SupportTags or CFScript
• History
• Multi-line Statements
• Declare closures, functions, etc
• Keeps state
REPL
38. What is CommandBox?
CLI Package
Manager
REPL
Read-Eval
Print-Loop
Integrated
Server
ScaffoldingForgeBox
CFML
ColdFusion Automation
39. Integrated Server
• Lightweight servlet container: undertow
• Startup ad-hoc servers in any folder
• Keeps track of servers, no WEB-INF needed
• Server
• start
• stop
• restart
• status
• log
• open
• forget
• Lucee + Adobe CF
40. What is CommandBox?
CLI Package
Manager
REPL
Read-Eval
Print-Loop
Integrated
Server
ScaffoldingForgeBox
CFML
ColdFusion Automation
48. Resources
• Official Site
• http://ortussolutions.com/products/commandbox
• Documentation + Book
• http://apidocs.ortussolutions.com/commandbox/current
• http://commandbox.ortusbooks.com
• Google Group
• https://groups.google.com/a/ortussolutions.com/forum/#!forum/commandbox
• Training
• http://ortussolutions.com/services/training
• Professional Support
• http://ortussolutions.com/services/support