2.0.0
Luis Majano
www.ortussolutions.com
WHO AM I?
• Luis Majano
• Computer Engineer
• Imported from El Salvador
• CEO of Ortus Solutions
• Adobe Community Professional
• Sandals & Beaches -> ESRI -> Ortus
What is ForgeBox?
What’s New?
Creating Packages
Maintaining Packages
ForgeBox 1 released in 2010

NPM 1 (2011)
Box Centric
Code Directory
Centralized Packages
What is ForgeBox now!
• www.forgebox.io
• ColdFusion (CFML) Code Directory
• Does not host packages (yet)
• Foster Community
• Works in Unison with CommandBox
• Package Management
• But one simple goal….
Take ColdFusion (CFML)
Back to The Future
ForgeBox 2.0
New Responsive UI
RSS Feeds
Improved Search & Security
Multi-Version Support
CLI Registration + Publishing
UI Registration + Publishing
Package Notifications
This is just the start….

How we should work!
App#Package#
Manager#
CLI#
REPL#
Automa6on#
OS#
Package Manager, REPL, CLI + More
What’s a package?
• A folder or zip/tar file that must contain:
• box.json
• It must be in the root!
init name="My Package" version="1.0.0"
Package Commands
• bugs
• clear
• documentation
• homepage
• init
• install
• list
• outdated
• set
• show
• uninstall
• update
• version
init —wizard
box.json
• Package Descriptor
• Declares package metadata
• Name
• Slug
• Version
• Author
• Dependencies
• DevDependencies
• Installation Details
• Custom Metadata
box.json
?
location
• ForgeBox 2.0 Requires it
• ForgeBox 2.0 Only uses your box.json now.
• Where is your package
• Code Endpoints
• HTTP/S
• Git
• Another ForgeBox slug
Dynamic Location
• CommandBox Interceptors - Lifecycle events
• Execute on pre+post publishing/versions/etc
• `` Denotes a dynamic evaluation
• Use Package Commands, etc
{
"scripts" : {
"postVersion" : "package set location='gitUser/gitRepo#`package version`'"
"postPublish" : "!git push",
"onServerStart" : "echo 'Hi, thanks for starting `server show name` on port `server
show web.http.port` in directory `pwd`'"
}
}
CommandBox Book
commandbox.ortusbooks.com
ForgeBox Registration
• Ask you a few questions
• Ready to start publishing
• Registers an API Key for you
forgebox register
ForgeBox Login
• Ask for username/password
• Store your API Key
• ~user./CommandBox
forgebox login
ForgeBox Publish
• Publishes your packages
• Reads your box.json
• Can read readme files, changelogs, instructions
forgebox publish
Bump Command
• Bump major, minor or patch placeholder
• If using a git repo, it will tag and commit for you
bump --patch message="Finalized awesome features."
ForgeBox Private
Organization Support
S3 Storage
Web hooks
Package Favorites
Analytics
Security Analysis
Maven Support
Package + User Notifications
ForgeBox Pro
Gracias!
Q & A

ITB2016 - ForgeBox 2 Package Management

  • 1.
  • 2.
    WHO AM I? •Luis Majano • Computer Engineer • Imported from El Salvador • CEO of Ortus Solutions • Adobe Community Professional • Sandals & Beaches -> ESRI -> Ortus
  • 3.
    What is ForgeBox? What’sNew? Creating Packages Maintaining Packages
  • 4.
    ForgeBox 1 releasedin 2010
 NPM 1 (2011) Box Centric Code Directory Centralized Packages
  • 5.
    What is ForgeBoxnow! • www.forgebox.io • ColdFusion (CFML) Code Directory • Does not host packages (yet) • Foster Community • Works in Unison with CommandBox • Package Management • But one simple goal….
  • 6.
  • 7.
    ForgeBox 2.0 New ResponsiveUI RSS Feeds Improved Search & Security Multi-Version Support CLI Registration + Publishing UI Registration + Publishing Package Notifications This is just the start….

  • 9.
    How we shouldwork! App#Package# Manager# CLI# REPL# Automa6on# OS#
  • 10.
  • 11.
    What’s a package? •A folder or zip/tar file that must contain: • box.json • It must be in the root! init name="My Package" version="1.0.0"
  • 13.
    Package Commands • bugs •clear • documentation • homepage • init • install • list • outdated • set • show • uninstall • update • version init —wizard
  • 14.
    box.json • Package Descriptor •Declares package metadata • Name • Slug • Version • Author • Dependencies • DevDependencies • Installation Details • Custom Metadata
  • 15.
  • 16.
    location • ForgeBox 2.0Requires it • ForgeBox 2.0 Only uses your box.json now. • Where is your package • Code Endpoints • HTTP/S • Git • Another ForgeBox slug
  • 17.
    Dynamic Location • CommandBoxInterceptors - Lifecycle events • Execute on pre+post publishing/versions/etc • `` Denotes a dynamic evaluation • Use Package Commands, etc { "scripts" : { "postVersion" : "package set location='gitUser/gitRepo#`package version`'" "postPublish" : "!git push", "onServerStart" : "echo 'Hi, thanks for starting `server show name` on port `server show web.http.port` in directory `pwd`'" } }
  • 18.
  • 19.
    ForgeBox Registration • Askyou a few questions • Ready to start publishing • Registers an API Key for you forgebox register
  • 20.
    ForgeBox Login • Askfor username/password • Store your API Key • ~user./CommandBox forgebox login
  • 21.
    ForgeBox Publish • Publishesyour packages • Reads your box.json • Can read readme files, changelogs, instructions forgebox publish
  • 22.
    Bump Command • Bumpmajor, minor or patch placeholder • If using a git repo, it will tag and commit for you bump --patch message="Finalized awesome features."
  • 23.
    ForgeBox Private Organization Support S3Storage Web hooks Package Favorites Analytics Security Analysis Maven Support Package + User Notifications ForgeBox Pro
  • 24.