SlideShare uma empresa 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!

Mais conteúdo relacionado

Mais procurados

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

Mais procurados (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
 

Semelhante a Command box, Package Manager, Automation, REPL

Semelhante 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
 

Mais de ColdFusionConference

Mais 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 Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+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
 

Ú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...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+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...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%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
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%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
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 

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 do Editor

  1. Luis