itb2016 - forgebox 2 package management
TRANSCRIPT
![Page 2: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/2.jpg)
WHO AM I?
• Luis Majano
• Computer Engineer
• Imported from El Salvador
• CEO of Ortus Solutions
• Adobe Community Professional
• Sandals & Beaches -> ESRI -> Ortus
![Page 3: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/3.jpg)
What is ForgeBox?What’s New?
Creating PackagesMaintaining Packages
![Page 4: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/4.jpg)
ForgeBox 1 released in 2010NPM 1 (2011)Box Centric
Code DirectoryCentralized Packages
![Page 5: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/5.jpg)
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….
![Page 6: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/6.jpg)
Take ColdFusion (CFML) Back to The Future
![Page 7: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/7.jpg)
ForgeBox 2.0
New Responsive UIRSS Feeds
Improved Search & SecurityMulti-Version Support
CLI Registration + PublishingUI Registration + Publishing
Package NotificationsThis is just the start….
![Page 8: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/8.jpg)
![Page 9: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/9.jpg)
How we should work!
App#Package#Manager#
CLI#
REPL#
Automa6on#
OS#
![Page 10: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/10.jpg)
Package Manager, REPL, CLI + More
![Page 11: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/11.jpg)
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"
![Page 12: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/12.jpg)
![Page 13: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/13.jpg)
Package Commands• bugs
• clear
• documentation
• homepage
• init
• install
• list
• outdated
• set
• show
• uninstall
• update
• version
init —wizard
![Page 14: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/14.jpg)
box.json
• Package Descriptor• Declares package metadata
• Name• Slug• Version• Author• Dependencies• DevDependencies• Installation Details
• Custom Metadata
![Page 15: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/15.jpg)
box.json
?
![Page 16: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/16.jpg)
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
![Page 17: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/17.jpg)
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`'" }}
![Page 19: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/19.jpg)
ForgeBox Registration
• Ask you a few questions• Ready to start publishing• Registers an API Key for you
forgebox register
![Page 20: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/20.jpg)
ForgeBox Login
• Ask for username/password• Store your API Key• ~user./CommandBox
forgebox login
![Page 21: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/21.jpg)
ForgeBox Publish
• Publishes your packages• Reads your box.json• Can read readme files, changelogs, instructions
forgebox publish
![Page 22: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/22.jpg)
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."
![Page 23: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/23.jpg)
ForgeBox PrivateOrganization Support
S3 StorageWeb hooks
Package FavoritesAnalytics
Security AnalysisMaven Support
Package + User NotificationsForgeBox Pro
![Page 24: ITB2016 - ForgeBox 2 Package Management](https://reader036.vdocuments.mx/reader036/viewer/2022062412/58816a001a28ab80508b7abb/html5/thumbnails/24.jpg)
Gracias!
Q & A