SlideShare a Scribd company logo
Go
Commando!
WHO AM I?
• Luis Majano - Computer Engineer
• Born in El Salvador ------------------>
• Architecture + Software Design
• CEO of Ortus Solutions
• Adobe Community Professional
• Creator of all things Box: 

ColdBox, ContentBox,WireBox....
AGENDA
• How do we work in CF
• A better way to work in CF
• What is CommandBox
• Features
• Usage
• Roadmap
HOW DO WE WORK IN CF?
Code% App%
Code
Code
Code
Code
Code
Code
Code
IT’S ALIVE!
Cool Kids
How we should work!
App#Package#
Manager#
CLI#
REPL#
Automa6on#
OS#
We need to learn, study, and apply!
Introducing…
What is CommandBox?
CLI Package

Manager
REPL
Read-Eval

Print-Loop
Integrated

Server
ScaffoldingForgeBox
CFML
ColdFusion Automation
Who is this for?
• For any ColdFusion (CFML) Developer
• Commands For:
• Operating System Integration
• Executing CFML Code
• ColdBox Developers
• TestBox BDD/TDD
• ContentBox Developers
• Any framework/app developer
Installation
Java 1.7+
33mb
v1.1.1
v2.0.0 Alpha
We are POSS
• GitHub
• https://github.com/Ortus-Solutions/commandbox
• Professional Support
• Training + Mentoring
• Development
• Support
• Salsa Lessons are Optional
Brad Wood

Salsa King
What is CommandBox?
CLI Package

Manager
REPL
Read-Eval

Print-Loop
Integrated

Server
ScaffoldingForgeBox
CFML
ColdFusion Automation
Usage - CLI vs Shell
box myapp.cfm Shell
Usage - OS Execution
OS 

+

CFML
Execute CFML Files
box myapp.cfm &
Box Scripting: *Unix
#!/usr/bin/env box
Usage - Commands
• How you get things done!
• Built-in Help
• command help
• Command Namespaces
• Commands
• Aliases
• Parameters/Arguments
• Tab-Completion
• Commands, Parameters, Paths, ForgeBox, Custom
Usage - Parameters
Named Params
box execute file=test.cfm
Positional
box install coldbox
Boolean Flags
box coldbox create app —installColdBox
Boolean Flags
box coldbox create controller —!script
Escape Input
t,n, ”, ’
Usage - History
Command History
box history
REPL History
box history type=scriptrepl
box history type=tagrepl
Clear History
box history —clear
Usage - OS Integration
• Editing
• sed
• Output Manip
• |, more, tail, grep
• File Redirection
• > Create
• >> Append
• Open
• Files/Directories
• Browser
• Run OS Binaries
• Grunt, Node, Git, Gulp, Etc.
What is CommandBox?
CLI Package

Manager
REPL
Read-Eval

Print-Loop
Integrated

Server
ScaffoldingForgeBox
CFML
ColdFusion Automation
What’s a package?
• A folder or zip/tar file that must contain:
• box.json
• It must be in the root!
box.json
• Package Descriptor
• Declares package metadata
• Name
• Slug
• Version
• Author
• Dependencies
• DevDependencies
• Installation Details
• Custom Metadata
box.json
Where do they come
from?
• ForgeBox
• File zip/tar
• Directory
• Git
• SVN
• Github
• Bitbucket
• Custom
What is CommandBox?
CLI Package

Manager
REPL
Read-Eval

Print-Loop
Integrated

Server
ScaffoldingForgeBox
CFML
ColdFusion Automation
ForgeBox
• Cloud package repository
• Web GUI
• Community driven
• 180+ packages
• Help us out!
• www.forgebox.io
Package Commands
• forgebox
• install
• uninstall
• update
• search
• show
• types
• slugcheck
• artifacts
• remove, list, clean
• package
• show, init, clear, set
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
What is CommandBox?
CLI Package

Manager
REPL
Read-Eval

Print-Loop
Integrated

Server
ScaffoldingForgeBox
CFML
ColdFusion Automation
Read - Eval - Print - Loop
• Executes code
• SupportTags or CFScript
• History
• Multi-line Statements
• Declare closures, functions, etc
• Keeps state
REPL
What is CommandBox?
CLI Package

Manager
REPL
Read-Eval

Print-Loop
Integrated

Server
ScaffoldingForgeBox
CFML
ColdFusion Automation
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 + Railo + Adobe CF
What is CommandBox?
CLI Package

Manager
REPL
Read-Eval

Print-Loop
Integrated

Server
ScaffoldingForgeBox
CFML
ColdFusion Automation
Scaffolding
• ColdBox Applications
• ContentBox Applications
• TestBox Integration
• Available For Any Framework or Application
• Preside CMS
Scaffolding
init
coldbox create app “MyApp” —-installColdBox
coldbox create handler contacts index,save,delete
coldbox create module MyModule
install testbox
package set defaultPort=“90001”
package set testbox.runner=“localhost:90001/tests/runner”
testbox run
What is CommandBox?
CLI Package

Manager
REPL
Read-Eval

Print-Loop
Integrated

Server
ScaffoldingForgeBox
CFML
ColdFusion Automation
Automation Commands
• run
• Execute any OS binary
• Integrate with grunt/gulp/ant
• execute
• Enhanced execution
• Can accept parameters
• recipe
• Like a “Batch” file: !#/usr/bin/box
• Runs multiple commands
• Can accept parameters
• my-recipe.boxr
# Init a repository
mkdir $name
init $name
run git init
# Create ColdBox App
coldbox create app $name —installColdBox
coldbox create handler $controller index,save,delete
coldbox create module $module
# Prepare for Testing
install testbox
package set defaultPort=“$port”
package set testbox.runner=“localhost:$port/tests/runner”
my-recipe.boxr
recipe my-recipe.boxr MyApp
What is CommandBox?
CLI Package

Manager
REPL
Read-Eval

Print-Loop
Integrated

Server
ScaffoldingForgeBox
CFML
ColdFusion Automation
ColdFusion Extensibility
• Commands are CFML
• Create custom commands
• Register in ForgeBox
• DI/AOP Capabilities
• Favorite Commands
• CommandBox-Chuck-Norris
• cfdocs
CFML
Roadmap
Task Runners
Adobe CF Engine
ForgeBox 2.0
ForgeBox Enterprise
Package Endpoints
More Automations
OS Execution Params
Resources
• Official Site
• http://ortussolutions.com/products/commandbox
• Documentation
• 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
Thanks!
Q & A

More Related Content

What's hot

Stress Free Deployment - Confoo 2011
Stress Free Deployment  - Confoo 2011Stress Free Deployment  - Confoo 2011
Stress Free Deployment - Confoo 2011Bachkoutou Toutou
 
Dev objective2015 lets git together
Dev objective2015 lets git togetherDev objective2015 lets git together
Dev objective2015 lets git together
ColdFusionConference
 
No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with Ansible
Jeff Potts
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
ColdFusionConference
 
Keep Applications Online
Keep Applications OnlineKeep Applications Online
Keep Applications Online
ColdFusionConference
 
Testing Automaton - CFSummit 2016
Testing Automaton - CFSummit 2016Testing Automaton - CFSummit 2016
Testing Automaton - CFSummit 2016
Ortus Solutions, Corp
 
Docker
DockerDocker
Docker
Michael Lihs
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016
Ortus Solutions, Corp
 
Continuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as CodeContinuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as Code
Sascha Möllering
 
Implementing your own Google App Engine
Implementing your own Google App Engine Implementing your own Google App Engine
Implementing your own Google App Engine
Virtual JBoss User Group
 
Codecoon - A technical Case Study
Codecoon - A technical Case StudyCodecoon - A technical Case Study
Codecoon - A technical Case Study
Michael Lihs
 
CBDW2014 - Down the RabbitMQ hole with ColdFusion
CBDW2014 - Down the RabbitMQ hole with ColdFusionCBDW2014 - Down the RabbitMQ hole with ColdFusion
CBDW2014 - Down the RabbitMQ hole with ColdFusion
Ortus Solutions, Corp
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
ColdFusionConference
 
Scaling and Managing Selenium Grid
Scaling and Managing Selenium GridScaling and Managing Selenium Grid
Scaling and Managing Selenium Grid
dimakovalenko
 
Vagrant and Chef on FOSSASIA 2014
Vagrant and Chef on FOSSASIA 2014Vagrant and Chef on FOSSASIA 2014
Vagrant and Chef on FOSSASIA 2014
Michael Lihs
 
Test-Driven Infrastructure with Chef
Test-Driven Infrastructure with ChefTest-Driven Infrastructure with Chef
Test-Driven Infrastructure with Chef
Michael Lihs
 
Ansible & Cumulus Networks - Simplify Network Automation
Ansible & Cumulus Networks - Simplify Network AutomationAnsible & Cumulus Networks - Simplify Network Automation
Ansible & Cumulus Networks - Simplify Network Automation
Cumulus Networks
 
Docker, Atomic Host and Kubernetes.
Docker, Atomic Host and Kubernetes.Docker, Atomic Host and Kubernetes.
Docker, Atomic Host and Kubernetes.
Jooho Lee
 
Zero Code Multi-Cloud Automation with Ansible and Terraform
Zero Code Multi-Cloud Automation with Ansible and TerraformZero Code Multi-Cloud Automation with Ansible and Terraform
Zero Code Multi-Cloud Automation with Ansible and Terraform
Avi Networks
 
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Gavin Pickin
 

What's hot (20)

Stress Free Deployment - Confoo 2011
Stress Free Deployment  - Confoo 2011Stress Free Deployment  - Confoo 2011
Stress Free Deployment - Confoo 2011
 
Dev objective2015 lets git together
Dev objective2015 lets git togetherDev objective2015 lets git together
Dev objective2015 lets git together
 
No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with Ansible
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Keep Applications Online
Keep Applications OnlineKeep Applications Online
Keep Applications Online
 
Testing Automaton - CFSummit 2016
Testing Automaton - CFSummit 2016Testing Automaton - CFSummit 2016
Testing Automaton - CFSummit 2016
 
Docker
DockerDocker
Docker
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016
 
Continuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as CodeContinuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as Code
 
Implementing your own Google App Engine
Implementing your own Google App Engine Implementing your own Google App Engine
Implementing your own Google App Engine
 
Codecoon - A technical Case Study
Codecoon - A technical Case StudyCodecoon - A technical Case Study
Codecoon - A technical Case Study
 
CBDW2014 - Down the RabbitMQ hole with ColdFusion
CBDW2014 - Down the RabbitMQ hole with ColdFusionCBDW2014 - Down the RabbitMQ hole with ColdFusion
CBDW2014 - Down the RabbitMQ hole with ColdFusion
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Scaling and Managing Selenium Grid
Scaling and Managing Selenium GridScaling and Managing Selenium Grid
Scaling and Managing Selenium Grid
 
Vagrant and Chef on FOSSASIA 2014
Vagrant and Chef on FOSSASIA 2014Vagrant and Chef on FOSSASIA 2014
Vagrant and Chef on FOSSASIA 2014
 
Test-Driven Infrastructure with Chef
Test-Driven Infrastructure with ChefTest-Driven Infrastructure with Chef
Test-Driven Infrastructure with Chef
 
Ansible & Cumulus Networks - Simplify Network Automation
Ansible & Cumulus Networks - Simplify Network AutomationAnsible & Cumulus Networks - Simplify Network Automation
Ansible & Cumulus Networks - Simplify Network Automation
 
Docker, Atomic Host and Kubernetes.
Docker, Atomic Host and Kubernetes.Docker, Atomic Host and Kubernetes.
Docker, Atomic Host and Kubernetes.
 
Zero Code Multi-Cloud Automation with Ansible and Terraform
Zero Code Multi-Cloud Automation with Ansible and TerraformZero Code Multi-Cloud Automation with Ansible and Terraform
Zero Code Multi-Cloud Automation with Ansible and Terraform
 
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
 

Similar to Command box

Intro To CommandBox CLI,Package Manager, Server at the Japan CFUG
Intro To CommandBox CLI,Package Manager, Server at the Japan CFUGIntro To CommandBox CLI,Package Manager, Server at the Japan CFUG
Intro To CommandBox CLI,Package Manager, Server at the Japan CFUG
Ortus Solutions, Corp
 
ITB2017 - Keynote
ITB2017 - KeynoteITB2017 - Keynote
ITB2017 - Keynote
Ortus Solutions, Corp
 
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
Ortus Solutions, Corp
 
Command Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, AutomationCommand Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, Automation
ColdFusionConference
 
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
ITB2024 - Keynote Day 1 - Ortus Solutions.pdfITB2024 - Keynote Day 1 - Ortus Solutions.pdf
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
Ortus Solutions, Corp
 
Brad Wood 5 command box modules you should be using
Brad Wood   5 command box modules you should be usingBrad Wood   5 command box modules you should be using
Brad Wood 5 command box modules you should be using
Ortus Solutions, Corp
 
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Ortus Solutions, Corp
 
Continuous Integration at Mollie
Continuous Integration at MollieContinuous Integration at Mollie
Continuous Integration at Mollie
willemstuursma
 
CommandBox & ForgeBox Package Management
CommandBox & ForgeBox Package ManagementCommandBox & ForgeBox Package Management
CommandBox & ForgeBox Package Management
Ortus Solutions, Corp
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovsky
php-user-group-minsk
 
Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...
Max Romanovsky
 
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
Christian Posta
 
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UKStorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
StorageOS
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack Summit
Miguel Zuniga
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
biicode
 
InSpec For DevOpsDays Amsterdam 2017
InSpec For DevOpsDays Amsterdam 2017InSpec For DevOpsDays Amsterdam 2017
InSpec For DevOpsDays Amsterdam 2017
Mandi Walls
 
What we talk about when we talk about DevOps
What we talk about when we talk about DevOpsWhat we talk about when we talk about DevOps
What we talk about when we talk about DevOps
Ricard Clau
 
ITB2016 - ForgeBox 2 Package Management
ITB2016 - ForgeBox 2 Package ManagementITB2016 - ForgeBox 2 Package Management
ITB2016 - ForgeBox 2 Package Management
Ortus Solutions, Corp
 
Securing applications
Securing applicationsSecuring applications
Securing applications
ColdFusionConference
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
nklmish
 

Similar to Command box (20)

Intro To CommandBox CLI,Package Manager, Server at the Japan CFUG
Intro To CommandBox CLI,Package Manager, Server at the Japan CFUGIntro To CommandBox CLI,Package Manager, Server at the Japan CFUG
Intro To CommandBox CLI,Package Manager, Server at the Japan CFUG
 
ITB2017 - Keynote
ITB2017 - KeynoteITB2017 - Keynote
ITB2017 - Keynote
 
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
 
Command Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, AutomationCommand Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, Automation
 
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
ITB2024 - Keynote Day 1 - Ortus Solutions.pdfITB2024 - Keynote Day 1 - Ortus Solutions.pdf
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
 
Brad Wood 5 command box modules you should be using
Brad Wood   5 command box modules you should be usingBrad Wood   5 command box modules you should be using
Brad Wood 5 command box modules you should be using
 
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
 
Continuous Integration at Mollie
Continuous Integration at MollieContinuous Integration at Mollie
Continuous Integration at Mollie
 
CommandBox & ForgeBox Package Management
CommandBox & ForgeBox Package ManagementCommandBox & ForgeBox Package Management
CommandBox & ForgeBox Package Management
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovsky
 
Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...
 
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
 
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UKStorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack Summit
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 
InSpec For DevOpsDays Amsterdam 2017
InSpec For DevOpsDays Amsterdam 2017InSpec For DevOpsDays Amsterdam 2017
InSpec For DevOpsDays Amsterdam 2017
 
What we talk about when we talk about DevOps
What we talk about when we talk about DevOpsWhat we talk about when we talk about DevOps
What we talk about when we talk about DevOps
 
ITB2016 - ForgeBox 2 Package Management
ITB2016 - ForgeBox 2 Package ManagementITB2016 - ForgeBox 2 Package Management
ITB2016 - ForgeBox 2 Package Management
 
Securing applications
Securing applicationsSecuring applications
Securing applications
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
 

More from devObjective

Lets git together
Lets git togetherLets git together
Lets git together
devObjective
 
Raspberry Pi a la CFML
Raspberry Pi a la CFMLRaspberry Pi a la CFML
Raspberry Pi a la CFML
devObjective
 
Effective version control
Effective version controlEffective version control
Effective version control
devObjective
 
Front end-modernization
Front end-modernizationFront end-modernization
Front end-modernization
devObjective
 
Using type script to build better apps
Using type script to build better appsUsing type script to build better apps
Using type script to build better apps
devObjective
 
Csp and http headers
Csp and http headersCsp and http headers
Csp and http headers
devObjective
 
Who owns Software Security
Who owns Software SecurityWho owns Software Security
Who owns Software Security
devObjective
 
Naked and afraid Offline mobile
Naked and afraid Offline mobileNaked and afraid Offline mobile
Naked and afraid Offline mobile
devObjective
 
Web hackingtools 2015
Web hackingtools 2015Web hackingtools 2015
Web hackingtools 2015
devObjective
 
Node without servers aws-lambda
Node without servers aws-lambdaNode without servers aws-lambda
Node without servers aws-lambda
devObjective
 
I am-designer
I am-designerI am-designer
I am-designer
devObjective
 
Garbage First and You!
Garbage First and You!Garbage First and You!
Garbage First and You!
devObjective
 
Fusion Reactor
Fusion ReactorFusion Reactor
Fusion Reactor
devObjective
 
Paying off emotional debt
Paying off emotional debtPaying off emotional debt
Paying off emotional debt
devObjective
 
My SQL Skills Killed the Server
My SQL Skills Killed the ServerMy SQL Skills Killed the Server
My SQL Skills Killed the Server
devObjective
 
Authentication Control
Authentication ControlAuthentication Control
Authentication Control
devObjective
 
Multiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mqMultiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mq
devObjective
 
Intro to TDD & BDD
Intro to TDD & BDDIntro to TDD & BDD
Intro to TDD & BDD
devObjective
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJS
devObjective
 

More from devObjective (20)

Lets git together
Lets git togetherLets git together
Lets git together
 
Raspberry Pi a la CFML
Raspberry Pi a la CFMLRaspberry Pi a la CFML
Raspberry Pi a la CFML
 
Effective version control
Effective version controlEffective version control
Effective version control
 
Front end-modernization
Front end-modernizationFront end-modernization
Front end-modernization
 
Using type script to build better apps
Using type script to build better appsUsing type script to build better apps
Using type script to build better apps
 
Csp and http headers
Csp and http headersCsp and http headers
Csp and http headers
 
Who owns Software Security
Who owns Software SecurityWho owns Software Security
Who owns Software Security
 
Naked and afraid Offline mobile
Naked and afraid Offline mobileNaked and afraid Offline mobile
Naked and afraid Offline mobile
 
Web hackingtools 2015
Web hackingtools 2015Web hackingtools 2015
Web hackingtools 2015
 
Node without servers aws-lambda
Node without servers aws-lambdaNode without servers aws-lambda
Node without servers aws-lambda
 
I am-designer
I am-designerI am-designer
I am-designer
 
Garbage First and You!
Garbage First and You!Garbage First and You!
Garbage First and You!
 
Fusion Reactor
Fusion ReactorFusion Reactor
Fusion Reactor
 
Paying off emotional debt
Paying off emotional debtPaying off emotional debt
Paying off emotional debt
 
My SQL Skills Killed the Server
My SQL Skills Killed the ServerMy SQL Skills Killed the Server
My SQL Skills Killed the Server
 
Authentication Control
Authentication ControlAuthentication Control
Authentication Control
 
Multiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mqMultiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mq
 
Preso slidedeck
Preso slidedeckPreso slidedeck
Preso slidedeck
 
Intro to TDD & BDD
Intro to TDD & BDDIntro to TDD & BDD
Intro to TDD & BDD
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJS
 

Recently uploaded

Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 

Recently uploaded (20)

Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 

Command box

  • 2. WHO AM I? • Luis Majano - Computer Engineer • Born in El Salvador ------------------> • Architecture + Software Design • CEO of Ortus Solutions • Adobe Community Professional • Creator of all things Box: 
 ColdBox, ContentBox,WireBox....
  • 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
  • 7. How we should work! App#Package# Manager# CLI# REPL# Automa6on# OS#
  • 8. We need to learn, study, and apply!
  • 10. What is CommandBox? CLI Package
 Manager REPL Read-Eval
 Print-Loop Integrated
 Server ScaffoldingForgeBox CFML ColdFusion Automation
  • 11. Who is this for? • For any ColdFusion (CFML) Developer • Commands For: • Operating System Integration • Executing CFML Code • ColdBox Developers • TestBox BDD/TDD • ContentBox Developers • Any framework/app developer
  • 13. We are POSS • GitHub • https://github.com/Ortus-Solutions/commandbox • Professional Support • Training + Mentoring • Development • Support • Salsa Lessons are Optional Brad Wood
 Salsa King
  • 14. What is CommandBox? CLI Package
 Manager REPL Read-Eval
 Print-Loop Integrated
 Server ScaffoldingForgeBox CFML ColdFusion Automation
  • 15. Usage - CLI vs Shell box myapp.cfm Shell
  • 16. Usage - OS Execution OS 
 +
 CFML Execute CFML Files box myapp.cfm & Box Scripting: *Unix #!/usr/bin/env box
  • 17. Usage - Commands • How you get things done! • Built-in Help • command help • Command Namespaces • Commands • Aliases • Parameters/Arguments • Tab-Completion • Commands, Parameters, Paths, ForgeBox, Custom
  • 18. Usage - Parameters Named Params box execute file=test.cfm Positional box install coldbox Boolean Flags box coldbox create app —installColdBox Boolean Flags box coldbox create controller —!script Escape Input t,n, ”, ’
  • 19. Usage - History Command History box history REPL History box history type=scriptrepl box history type=tagrepl Clear History box history —clear
  • 20. Usage - OS Integration • Editing • sed • Output Manip • |, more, tail, grep • File Redirection • > Create • >> Append • Open • Files/Directories • Browser • Run OS Binaries • Grunt, Node, Git, Gulp, Etc.
  • 21. What is CommandBox? CLI Package
 Manager REPL Read-Eval
 Print-Loop Integrated
 Server ScaffoldingForgeBox CFML ColdFusion Automation
  • 22. What’s a package? • A folder or zip/tar file that must contain: • box.json • It must be in the root!
  • 23. box.json • Package Descriptor • Declares package metadata • Name • Slug • Version • Author • Dependencies • DevDependencies • Installation Details • Custom Metadata
  • 25. Where do they come from? • ForgeBox • File zip/tar • Directory • Git • SVN • Github • Bitbucket • Custom
  • 26. What is CommandBox? CLI Package
 Manager REPL Read-Eval
 Print-Loop Integrated
 Server ScaffoldingForgeBox CFML ColdFusion Automation
  • 27. ForgeBox • Cloud package repository • Web GUI • Community driven • 180+ packages • Help us out! • www.forgebox.io
  • 28. Package Commands • forgebox • install • uninstall • update • search • show • types • slugcheck • artifacts • remove, list, clean • package • show, init, clear, set
  • 29. 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
  • 30. What is CommandBox? CLI Package
 Manager REPL Read-Eval
 Print-Loop Integrated
 Server ScaffoldingForgeBox CFML ColdFusion Automation
  • 31. Read - Eval - Print - Loop • Executes code • SupportTags or CFScript • History • Multi-line Statements • Declare closures, functions, etc • Keeps state REPL
  • 32. What is CommandBox? CLI Package
 Manager REPL Read-Eval
 Print-Loop Integrated
 Server ScaffoldingForgeBox CFML ColdFusion Automation
  • 33. 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 + Railo + Adobe CF
  • 34. What is CommandBox? CLI Package
 Manager REPL Read-Eval
 Print-Loop Integrated
 Server ScaffoldingForgeBox CFML ColdFusion Automation
  • 35. Scaffolding • ColdBox Applications • ContentBox Applications • TestBox Integration • Available For Any Framework or Application • Preside CMS
  • 36. Scaffolding init coldbox create app “MyApp” —-installColdBox coldbox create handler contacts index,save,delete coldbox create module MyModule install testbox package set defaultPort=“90001” package set testbox.runner=“localhost:90001/tests/runner” testbox run
  • 37. What is CommandBox? CLI Package
 Manager REPL Read-Eval
 Print-Loop Integrated
 Server ScaffoldingForgeBox CFML ColdFusion Automation
  • 38. Automation Commands • run • Execute any OS binary • Integrate with grunt/gulp/ant • execute • Enhanced execution • Can accept parameters • recipe • Like a “Batch” file: !#/usr/bin/box • Runs multiple commands • Can accept parameters • my-recipe.boxr
  • 39. # Init a repository mkdir $name init $name run git init # Create ColdBox App coldbox create app $name —installColdBox coldbox create handler $controller index,save,delete coldbox create module $module # Prepare for Testing install testbox package set defaultPort=“$port” package set testbox.runner=“localhost:$port/tests/runner” my-recipe.boxr recipe my-recipe.boxr MyApp
  • 40. What is CommandBox? CLI Package
 Manager REPL Read-Eval
 Print-Loop Integrated
 Server ScaffoldingForgeBox CFML ColdFusion Automation
  • 41. ColdFusion Extensibility • Commands are CFML • Create custom commands • Register in ForgeBox • DI/AOP Capabilities • Favorite Commands • CommandBox-Chuck-Norris • cfdocs CFML
  • 42. Roadmap Task Runners Adobe CF Engine ForgeBox 2.0 ForgeBox Enterprise Package Endpoints More Automations OS Execution Params
  • 43. Resources • Official Site • http://ortussolutions.com/products/commandbox • Documentation • 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