SlideShare una empresa de Scribd logo
1 de 44
Package Manager, Automation, REPL, … 
Go Commando!
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)
Agenda 
•How do we work in CF 
•How we SHOULD work 
•What is CommandBox 
•Features 
•Usage 
•Roadmap
How do we work in CF?
IT'S ALIVE!
Cool Kids
How we should work!
Introducing…
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
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 
•Custom
Installation 
Java 1.7+ 
33mb 
Installs to: 
User/.CommandBox
It is POSS 
•GitHub 
•https://github.com/Ortus-Solutions/commandbox 
•Professional Support 
•Training 
•Mentoring 
•Custom Commands 
•Support
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
Usage - CLI vs Shell 
Commands Shell
Usage - Commands 
•How you get things done! 
•Built-in Help 
•API Docs 
•Command Namespaces 
•Commands 
•Aliases 
•Parameters/Arguments 
•Tab-Completion 
•Commands, Parameters, Paths, Custom
Usage - Parameters 
•Named 
•Positional 
•Boolean Flags 
•Escaped Input 
•Required Values 
•Completion
Usage - History 
•Command History 
•REPL History 
•Clear History
Usage - OS Integration 
•OS Integration Commands 
•Output Piping 
•| 
•File Redirection 
•> Create 
•>> Append 
•Open 
•Files/Directories 
•Browser 
•Run OS Binaries
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
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
box.json 
•Package Descriptor 
•Declares package metadata 
•Name 
•Slug 
•Version 
•Author 
•Dependencies 
•DevDependencies 
•Installation Details 
•Custom Metadata
box.json 
{ 
"name" : "Weather By IP", 
"author" : "Brad Wood <brad@bradwood.com>", 
"version" : "1.0.0", 
"slug" : "weather-lookup-by-ip", 
"shortDescription" : "Look up local weather.", 
"type" : "modules", 
"dependencies" : { 
"geolocation-lookup-by-ip" : "2.0.0" 
} 
}
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 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
ForgeBox 
•Cloud package repository 
•Web GUI 
•Community driven 
•ForgeBox Commands 
•150+ packages 
•Help us out! 
•www.forgebox.org coming soon!
Package Commands 
•forgebox 
•install 
•uninstall 
•search 
•show 
•artifacts 
•remove, list, clean 
•package 
•show, init, clear, set
Packaging Features 
•Choose version to install 
•Automatically installs dependencies 
•Development/Production dependencies 
•Distribute without dependencies 
• “install” initializes a project 
•Dependency Inception
Packaging Features
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
Read - Eval - Print - Loop 
REPL 
•Executes code 
•Support CFML or CFScript 
•History 
•Multi-line Statements 
•Declare closures, functions, etc 
•Keeps state
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
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 
•status 
•log 
•open 
•forget
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
Scaffolding 
•ColdBox Applications 
•ContentBox Applications 
•TestBox Integration 
•Custom For Any Framework or Flow
Scaffolding 
init 
coldbox create app “MyApp” —installColdBoxBE 
coldbox create handler contacts index,save,delete 
coldbox create module MyModule 
install testbox-be 
package set defaultPort=“90001” 
package set testbox.runner=“localhost:90001/tests/runner” 
start 
testbox run
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
Automation 
•run 
•Any OS binary 
•Link to grunt/gulp/ant 
•execute 
•Execute any CFML template 
•recipe 
•Like a “Batch” file 
•Runs multiple commands 
•Can accept parameters 
•my-recipe.boxr
my-recipe.boxr 
# Init a repository 
mkdir $name 
init $name 
run git init 
# Create ColdBox App 
coldbox create app $1 —installColdBoxBE 
coldbox create handler $2 index,save,delete 
coldbox create module $3 
# Prepare for Testing 
install testbox-be 
package set defaultPort=“$4” 
package set testbox.runner=“localhost:$4/tests/runner” 
$> recipe my-recipe.boxr myApp myHandler myModule 8081
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
ColdFusion Extensibility 
CFML 
•Commands are CFML 
•Create custom commands 
•Register in ForgeBox 
•DI/AOP Capabilities 
•Favorite Command 
•CommandBox-Chuck-Norris
Roadmap 
Automation/Async 
More Generators 
ForgeBox Enterprise 
ForgeBox 2.0 
Adobe CF Engine 
Task Runners
Resources 
•Official Site 
•http://ortussolutions.com/products/commandbox 
•Documentation 
•http://apidocs.ortussolutions.com/commandbox/1.0.0/ 
•https://ortussolutions.com/products/commandbox/docs/current 
•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
Q & A 
Thanks!

Más contenido relacionado

La actualidad más candente

Introduction to selenium_grid_workshop
Introduction to selenium_grid_workshopIntroduction to selenium_grid_workshop
Introduction to selenium_grid_workshop
seleniumconf
 

La actualidad más candente (19)

CFWheels - Pragmatic, Beautiful Code
CFWheels - Pragmatic, Beautiful CodeCFWheels - Pragmatic, Beautiful Code
CFWheels - Pragmatic, Beautiful Code
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Ceylon From Here to Infinity: The Big Picture and What's Coming
Ceylon From Here to Infinity: The Big Picture and What's Coming Ceylon From Here to Infinity: The Big Picture and What's Coming
Ceylon From Here to Infinity: The Big Picture and What's Coming
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
 
Scaling and Managing Selenium Grid
Scaling and Managing Selenium GridScaling and Managing Selenium Grid
Scaling and Managing Selenium Grid
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Stabilizing SE Build - Selenium conf 2013
Stabilizing SE Build - Selenium conf 2013 Stabilizing SE Build - Selenium conf 2013
Stabilizing SE Build - Selenium conf 2013
 
Keep Applications Online
Keep Applications OnlineKeep Applications Online
Keep Applications Online
 
The Three Musketeers
The Three MusketeersThe Three Musketeers
The Three Musketeers
 
Introduction to selenium_grid_workshop
Introduction to selenium_grid_workshopIntroduction to selenium_grid_workshop
Introduction to selenium_grid_workshop
 
Continuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as CodeContinuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as Code
 
ColdFusion builder plugins
ColdFusion builder pluginsColdFusion builder plugins
ColdFusion builder plugins
 
[Perforce] Adventures in Build
[Perforce] Adventures in Build[Perforce] Adventures in Build
[Perforce] Adventures in Build
 
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostusta
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostustaVincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostusta
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostusta
 
Hidden gems in cf2016
Hidden gems in cf2016Hidden gems in cf2016
Hidden gems in cf2016
 
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....
 
Ansible Best Practices - July 30
Ansible Best Practices - July 30Ansible Best Practices - July 30
Ansible Best Practices - July 30
 
Managing Large Selenium Grid
Managing Large Selenium Grid�Managing Large Selenium Grid�
Managing Large Selenium Grid
 
Testing Automaton - CFSummit 2016
Testing Automaton - CFSummit 2016Testing Automaton - CFSummit 2016
Testing Automaton - CFSummit 2016
 

Similar a Command box, Package Manager, Automation, REPL

Similar a Command box, Package Manager, Automation, REPL (20)

CommandBox REPL, CLI, and Package Manager
CommandBox REPL, CLI, and Package ManagerCommandBox REPL, CLI, and Package Manager
CommandBox REPL, CLI, and Package Manager
 
Command box
Command boxCommand box
Command box
 
CommandBox at CFCamp 2014
CommandBox at CFCamp 2014CommandBox at CFCamp 2014
CommandBox at CFCamp 2014
 
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
 
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
 
ITB2017 - Keynote
ITB2017 - KeynoteITB2017 - Keynote
ITB2017 - Keynote
 
CI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksCI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure Databricks
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]
 
Setting Up CircleCI Workflows for Your Salesforce Apps
Setting Up CircleCI Workflows for Your Salesforce AppsSetting Up CircleCI Workflows for Your Salesforce Apps
Setting Up CircleCI Workflows for Your Salesforce Apps
 
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
 
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
 
The Architect Way
The Architect WayThe Architect Way
The Architect Way
 
Fast Deployments to Multiple Golang Lambda Functions
Fast Deployments to Multiple Golang Lambda FunctionsFast Deployments to Multiple Golang Lambda Functions
Fast Deployments to Multiple Golang Lambda Functions
 
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class Libraries
 
ITB2016 - ForgeBox 2 Package Management
ITB2016 - ForgeBox 2 Package ManagementITB2016 - ForgeBox 2 Package Management
ITB2016 - ForgeBox 2 Package Management
 
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...
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovsky
 

Más de ColdFusionConference

Más de ColdFusionConference (20)

Api manager preconference
Api manager preconferenceApi manager preconference
Api manager preconference
 
Cf ppt vsr
Cf ppt vsrCf ppt vsr
Cf ppt vsr
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server Databases
 
API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIs
 
Don't just pdf, Smart PDF
Don't just pdf, Smart PDFDon't just pdf, Smart PDF
Don't just pdf, Smart PDF
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API Manager
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APIS
 
Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016
 
ColdFusion in Transit action
ColdFusion in Transit actionColdFusion in Transit action
ColdFusion in Transit action
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016
 
Where is cold fusion headed
Where is cold fusion headedWhere is cold fusion headed
Where is cold fusion headed
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995
 
Restful services with ColdFusion
Restful services with ColdFusionRestful services with ColdFusion
Restful services with ColdFusion
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMSSuper Fast Application development with Mura CMS
Super Fast Application development with Mura CMS
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and web
 
Why Everyone else writes bad code
Why Everyone else writes bad codeWhy Everyone else writes bad code
Why Everyone else writes bad code
 
Securing applications
Securing applicationsSecuring applications
Securing applications
 
Testing automaton
Testing automatonTesting automaton
Testing automaton
 
Rest ful tools for lazy experts
Rest ful tools for lazy expertsRest ful tools for lazy experts
Rest ful tools for lazy experts
 

Último

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 

Command box, Package Manager, Automation, REPL

  • 1. Package Manager, Automation, REPL, … Go Commando!
  • 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. Agenda •How do we work in CF •How we SHOULD work •What is CommandBox •Features •Usage •Roadmap
  • 4. How do we work in CF?
  • 9. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 10. Who is this for? •For any ColdFusion (CFML) Developer •Commands For: •Operating System Integration •Executing CFML Code •ColdBox Developers •TestBox BDD/TDD •ContentBox Developers •Custom
  • 11. Installation Java 1.7+ 33mb Installs to: User/.CommandBox
  • 12. It is POSS •GitHub •https://github.com/Ortus-Solutions/commandbox •Professional Support •Training •Mentoring •Custom Commands •Support
  • 13. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 14. Usage - CLI vs Shell Commands Shell
  • 15. Usage - Commands •How you get things done! •Built-in Help •API Docs •Command Namespaces •Commands •Aliases •Parameters/Arguments •Tab-Completion •Commands, Parameters, Paths, Custom
  • 16. Usage - Parameters •Named •Positional •Boolean Flags •Escaped Input •Required Values •Completion
  • 17. Usage - History •Command History •REPL History •Clear History
  • 18. Usage - OS Integration •OS Integration Commands •Output Piping •| •File Redirection •> Create •>> Append •Open •Files/Directories •Browser •Run OS Binaries
  • 19. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 20. What’s a package? •A folder •Some code •A box.json
  • 21. What’s a module? A “smart” package Has a ModuleConfig.cfc Has optional conventions Auto-registers itself with ColdBox
  • 22. box.json •Package Descriptor •Declares package metadata •Name •Slug •Version •Author •Dependencies •DevDependencies •Installation Details •Custom Metadata
  • 23. box.json { "name" : "Weather By IP", "author" : "Brad Wood <brad@bradwood.com>", "version" : "1.0.0", "slug" : "weather-lookup-by-ip", "shortDescription" : "Look up local weather.", "type" : "modules", "dependencies" : { "geolocation-lookup-by-ip" : "2.0.0" } }
  • 24. Where do they come from? •ForgeBox •File zip/tar •Directory •Git •SVN •Github •Bitbucket •Custom
  • 25. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 26. ForgeBox •Cloud package repository •Web GUI •Community driven •ForgeBox Commands •150+ packages •Help us out! •www.forgebox.org coming soon!
  • 27. Package Commands •forgebox •install •uninstall •search •show •artifacts •remove, list, clean •package •show, init, clear, set
  • 28. Packaging Features •Choose version to install •Automatically installs dependencies •Development/Production dependencies •Distribute without dependencies • “install” initializes a project •Dependency Inception
  • 30. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 31. Read - Eval - Print - Loop REPL •Executes code •Support CFML or CFScript •History •Multi-line Statements •Declare closures, functions, etc •Keeps state
  • 32. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding 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 •status •log •open •forget
  • 34. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 35. Scaffolding •ColdBox Applications •ContentBox Applications •TestBox Integration •Custom For Any Framework or Flow
  • 36. Scaffolding init coldbox create app “MyApp” —installColdBoxBE coldbox create handler contacts index,save,delete coldbox create module MyModule install testbox-be package set defaultPort=“90001” package set testbox.runner=“localhost:90001/tests/runner” start testbox run
  • 37. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 38. Automation •run •Any OS binary •Link to grunt/gulp/ant •execute •Execute any CFML template •recipe •Like a “Batch” file •Runs multiple commands •Can accept parameters •my-recipe.boxr
  • 39. my-recipe.boxr # Init a repository mkdir $name init $name run git init # Create ColdBox App coldbox create app $1 —installColdBoxBE coldbox create handler $2 index,save,delete coldbox create module $3 # Prepare for Testing install testbox-be package set defaultPort=“$4” package set testbox.runner=“localhost:$4/tests/runner” $> recipe my-recipe.boxr myApp myHandler myModule 8081
  • 40. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 41. ColdFusion Extensibility CFML •Commands are CFML •Create custom commands •Register in ForgeBox •DI/AOP Capabilities •Favorite Command •CommandBox-Chuck-Norris
  • 42. Roadmap Automation/Async More Generators ForgeBox Enterprise ForgeBox 2.0 Adobe CF Engine Task Runners
  • 43. Resources •Official Site •http://ortussolutions.com/products/commandbox •Documentation •http://apidocs.ortussolutions.com/commandbox/1.0.0/ •https://ortussolutions.com/products/commandbox/docs/current •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
  • 44. Q & A Thanks!

Notas del editor

  1. Luis