SlideShare a Scribd company logo
1 of 100
Download to read offline
www.intothebox.org
Welcome To
THANKYOU SPONSORS
THANKYOU SPEAKERS
Thank YOU
6 Countries
25 States
ITB MOBILE APP
• Session Schedule
• News
• Speaker + Sponsor Highlights
• Sessions & Conference Surveys
• Built on:
• ContentBox CMS
• Couchbase
• Ionic + AngularJS
Android iOS
WINTHE ITB DRONE
• Person with most tweets with
• #intothebox
• By Friday 5pm
COLDFUSION ALIVE PODCAST
• Michael Smith -Teratech
• Live Podcasting
• Sponsors Lounge
HAPPY BOX!
TEAM ORTUS
Luis Majano Brad Wood
Jon Clausen Bill Garoutte
Jorge Reyes
Esme FloresEric Peterson
Gavin Pickin
Story Time
You are still coding in that!
ORTUS @ 2013
CFML SHAMING
• Lack of tooling
• Package Management
• CLI
• OS Integrations
• Applications
• Legacy Hell
• Way behind the cool kids
CFMLTOOLING
HOW DO WE MODERNIZE CFML?
Vendors Cannot Do It All!
THE HARD REALITY
Make CFML HUUGE Great AGAIN!!
TOOLING + COMMUNITY
CLI Package

Manager
REPL
Read-Eval

Print-Loop
Integrated

Server
ScaffoldingForgeBox
CFML
ColdFusion Automation
3Years Now!
CFML
Engines
PORTABILITY CONTAINERS
COMMUNITY
•Newbie Initiatives
•Forgebox.io
•Documentation Priority
•ITB, ODW
•All CFML Conferences
•Non-CFML Conferences
•API Implementations
•Rollbar, github, bcrypt, S3, Google, freshbooks,
twitter, salesforce, etc.
•Slack, blogs, webinars
EDUCATION FOR ALL
•Live on-demand training
•Courses
•Intro to ColdBox
•Core ColdBox
•Modular Development
•BDD & Automation
•Dependency Injection & AOP
•Building RESTFul Services
•Intro to ColdFusion ORM
•CBORM
•ContentBox Developer
•ContentBox Administrator
•CFML for PHP Developers
•CFML for Java Developers
BUT…..
LEGACY PROBLEM
• Gives CFML a bad name
• Security Issues
• Performance Issues
• Employee Issues
• Development Issues
• Finding Developer Issues
• >35% No MVC
• >60% No DI
• >55% NoTesting
CAN’T FIND DEVELOPERS!
• MVC Framework or spaghetti hell?
• OO or cfinclude hell?
• Automated Tests? Continuous Integration?
• Agile/Scrum Methodologies?
• Source Control? (Zip files don’t count!)
• Continuous Delivery? Container Strategy?
• Developer Automation?
YOU NEED TO ACT!
• Drive innovation internally
• Get out of legacy hell, modernize
• Build cool apps,APIs, libraries
• Collaborate with open source
• Share in forgebox.io
• Blog, present, share your knowledge
• Proud of your CFML apps again!
The End!
BOX EVANGELIST
SEÑOR BRAD WOOD
THE BIG BOXTHEORY
• 50+ Releases
• Mature (11+ years)
• Established
• Still Growing
• v4.0.0 on 01/2015
• v5.0.0 Beta Now
install coldbox@be
5 VISION
• Increase Modularity + Ecosystem
• Containerization
• Renderings
• RESTFul APIs
• Scaffolding
CONTAINERIZATION
• New environment/system methods:
• Coldbox.cfc (Application Wide)
• ModuleConfig.cfc (Modules)
getSystemProperty( key, defaultValue )
getEnv( key, defaultValue )
getSystemSetting( key defaultValue )
RENDERINGS
function index( event, rc, prc ) renderdata=json{
return data;
}
function index( event, rc, prc ) renderdata=xml{
return data;
}
function index( event, rc, prc ) renderdata=pdf{
return data;
}
Handler Auto-Return Marshalling
component renderData=“json"{}
Handler Defaults
RENDERDATA MARSHALLERS
renderdata = {
defaults = {
// Any argument to renderdata can be defaulted here
type = ”json”
},
transformers = {
// Register new type transformers
"json" = "class path or WireBox ID"
// Dynamic transformers
“mustache” = function(){}
}
}
• Configure new/override rendering types
• Add global render data defaults
• Implement custom rendering engines (Markdown, mustache, etc)
NAMED REGIONS
setView( view=“”, name=“sidebar”, args… );
setView( view=“”, name=“col2”, args… );
setView( view=“”, name=“viewlet”, args… );
Set Rendering Regions
Render On Demand
#renderView( name=“sidebar” )#
#renderView( name=“col2” )#
#renderView( name=“viewlet” )#
Encapsulation of rendering widgets, complex views, etc
ROUTING BY CONVENTION
component route="/photos"{}
Handler Routing
component route=“/photos" resourceful{}
Resourceful Routing
Verb Route API Event Route Name Purpose
GET /photos TRUE photos.index photos.index Display a list of photos
GET /photos/new FALSE photos.new photos.new Return an HTML form for creating a new photo
POST /photos TRUE photos.create photos.create Create a new photo
GET /photos/:id TRUE photos.show photos.show Display a specific photo
GET /photos/:id/edit FALSE photos.edit photos.edit Return an HTML form for editing a photo
POST/PUT/PATCH /photos/:id TRUE photos.update photos.update Update a specific photo
DELETE /photos/:id TRUE photos.delete photos.delete Delete a specific photo
FLUENT ROUTING DSL
route( pattern )
.toView()
.toRedirect()
.toAction()
.toData()
.toResponse()
.toModule()
.with{verb}( action )
.header(), headers()
.status()
.name()
.onInvalidHTTP()
.onInvalidFormat()
.onException();
{verb}( pattern );
STILL MORETO COME…
GO COMMANDO!
• 3.1.1
• multi server support
• forgebox 2.0, cli publishing
• package scripts
• 3.3
• web server aliases
• custom error pages, & tray menus
• 3.5
• live following log files with tail
• server console starts
• custom server home dirs
• 3.6
• interactive binary execution
• proper exit codes when running tests
Embedded
Server

Containers
Package
Management
CLI Scripting
3 Major Areas of Improvement
COMMANDBOX DOCKER
Run any CFML Engine
Run any WAR
Portable Server Settings
Portable CFML Engine Settings
Image Healthchecks, etc
COMMANDBOX DOCKER
services:
web:
image: nginx
ports:
- "80:80"
- "443:443"
volumes:
- .:/usr/share/nginx/html
- ./build/docker/nginx/nginx.conf:/etc/nginx/nginx.conf
app:
image: ortussolutions/commandbox
environment:
PORT: 8080
SSL_PORT: 8443
CFCONFIG: /app/cfConfig.json
volumes:
- .:/app
mysql:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: "MyS3cur3P455!"
volumes:
- ./build/docker/mysql/initdb:/docker-entrypoint-initdb.d
- /my/host/datadir:/var/lib/mysql
ports:
- "3306:3306"
• Package any server with server.json
• Updating CF engine install is a non-issue
• Use multiple CF engines/versions at the same time
• New Docker images make it easy for cloud scaling
• CFConfig one tool to rule them all
CFML Servers

$ docker pull ortussolutions/commandbox
$ docker run -v "/path/to/your/app:/app" ortussolutions/commandbox
• Package your code so it's reusable
• Share your code with others
• Install packages from anywhere
• Totally automate your build processes
Package Management
$ bump —minor && publish
• Allows for mashups of CFML, commands and
native binaries
• Create custom commands with user
interactivity and pretty output
• Easy DB access from CLI commands
• Easily create command recipes
• Automate it all
CLI Scripting
CLI
CFML
ColdFusion
• More CFConfig Support
• Embedded Websocket Server
• CFML Build Automations (Runners)
• Maven Support
• Lucee 5 Migration
• App packaging and cloud deployments
• and ….
ROADMAP
FORGEBOX 2
<1 year
335+ contributions
4 Minor Releases
Growing API
Learning Experience
• Private Packages
• Code Storage (In Progress..)
• Organization/Teams
• Collaborators
• PackageTransfers
• Digests + Notifications
• Web Hooks
• Lucee Extension Provider
• And…
ROADMAP
PRO ACCOUNTS
• Monthly Subscription Service
• Private Packages
• Optional S3 Storage
• Unique Installation Strings
• FREE for limited time
install @ortus/rafflebox
• ForgeBox for Enterprise + Government
• Docker Image
• Encapsulated Dependencies
• Unique URI entrypoint
• Unique CommandBox Registrations
forgebox register ortus http://fb.ortus.com
install ortus:cfbox
install ortus:@lmajano/cfbox
ENTERPRISE IMAGE
• Monthly Subscription Service
• Managed Containers @ Ortus Cloud
• Unique URI entrypoint
• Unique CommandBox Registrations
ENTERPRISE MANAGED
Eric Peterson
WHAT IS ELIXIR?
PAINLESS FRONT-END BUILDS
FOR
COLDBOX APPLICATIONS
NEW FEATURES
Extensions
• Typescript
• Webpack
• vuejs v1, v2
• Browsersync
• Rollup
• Stylus
• Browserify
• SVG
ELIXIR VS THE MODULES
Gulpfile.js
resources
includes
Traditional ColdBox MVC Workflow
What about modules?
mix.modules
> Uses same conventions inside you modules folders
(resources/assets, etc.)
> All mix methods available in your gulpfile.js are
available here.
> Ignores modules without a elixir-module.js file.
> Watch mode supported just like you would expect and
hope.
mix.modules
// gulpfile.js
elixir( mix => {
mix.modules();
} );
// elixir-module.js
module.exports = ( mix ) => {
mix.scripts( "components/**/*.js", "includes/js/app.js" );
// `modules_app/my-module/resources/assets/js/components/**/*.js`
// becomes
// `modules_app/my-module/includes/js/app.js`
};
COMING NEXT
> Improvements to mix.version
> Version files in place instead of to a build folder
> Automatic versioning with --production flag
> Tighter integration with Webpack
> Working with styles (ExtractTextPlugin)
> Working with images / static assets
SEÑOR GAVIN PICKIN
STATE OFTHE CONTENT
• ContentBox 3.0 < 1 year ago
• ContentBox 3.1 January 2017
• ContentBox 3.5.1 April 2017
• ContentBox 4.0 is underway
install contentbox-installer@be
Containers

Updates
Maintenance
UI
SEO
Admin
Admin
Tooling
3 Major Areas of Improvement
CONTENTBOX CONTAINER
H2 DB or any RDBMS
Auto session distribution
Auto cache distribution
Redis/Couchbase Compose
Image Healthchecks, etc
CONTENTBOX CONTAINER
$ docker pull ortussolutions/contentbox

$ docker run -p 8080:8080 
-e express=true 
-e install=true 
ortussolutions/contentbox
New Installation Methods
install contentbox
Containers
• Installs ContentBox as a module into any ColdBox 4 app
• All dependencies encapsulated by module inception
• Updates easier: box update contentbox
install contentbox-site
• Creates a new ColdBox site and configures ORM
• Installs the contentbox module as a root app dependency
• Updates easier: box update contentbox
install contentbox-installer
• Same as the site but deploys two more modules
• DSN Creator
• Installer
Updates

Setting OverridesContainers
• Override Any ContentBox Setting via Coldbox.cfc
contentbox = {
// Runtime Settings Override by site
settings = {
// Default site
default = {
"cb_search_adapter" = "my.search.adapter",
"cb_media_directoryRoot" = "/docker/mount"
}

}
}
Containers
• Override any setting via Docker/Java Environment variables:
contentbox_{site}_{setting}=value
-Dcontentbox_default_cb_media_directoryRoot=./build/docker/contentbox/content
• Example
Setting Overrides
UI ADMIN BAR
• Modular Front End Admin Bar
• Permissions Based
• Admin Links
• Editing
• Stats
• Publish Status
• Draft Modes
• Publish in Future Modes
UI
EDITOR + LOCALIZATION
• CKEditor updates
• Editors accept new i18n markup
UI
${i18n:resource}
${i18n:resource@module}
• All caching, internals updated with user’s getFWLocale()
• ColdBox App -> Access to all i18n features
• All themes, modules, widgets have i18n functions now
• Thanks to computer know how, more features are coming…
SITEMAPUI
• On-demand sitemap generations
• Featured image support
• Distributed caching
• Multiple formats
• /sitemap.xml
• /sitemap.txt
• /sitemap.json
• /sitemap.html
• /sitemap - which defaults to html
OPEN GRAPHUI
Most content is shared to Facebook/Twitter as a URL, so it's
important that you mark up your website with Open Graph
tags to take control over how your content appears on
Facebook/Twitter
<meta property="og:url"                content="http://www.nytimes.com/2015/02/19/arts/
international/when-great-minds-dont-think-alike.html" />

<meta property="og:type"               content="article" />

<meta property="og:title"              content="When Great Minds Don’t Think Alike" />

<meta property="og:description"        content="How much does culture influence creative
thinking?" />

<meta property="og:image"              content="http://static01.nyt.com/images/2015/02/19/arts/
international/19iht-btnumbers19A/19iht-btnumbers19A-facebookJumbo-v2.jpg" />
IMAGE EDITINGAdmin
GLOBAL SEARCHAdmin
• User friendly results
• Clear result contexts
• Extensible via modules
• Scoped Searches
• author:{text}
• page:{text}
• contentstore:{text}
• entry:{text}
• custom:{text}
ROADMAP
• UI Upgrades (Vue.js)
• Multi-tenancy
• Cluster Modes
• Custom ContentTypes with automagic
CRUD UI
• More Image Management
• Content Scheduling
• Weekly / Monthly Schedule Planning
• Social MediaTriggers
• Theme/Module Overrides
SEÑOR JON CLAUSEN
RELAXV3.0
• OpenAPI/Swagger as
default format
• Legacy API (Relax DSL)
Exportable to Swagger
JSON
• Revamped UI with in-doc
linking and path drill down
RELAXV3.0
• Path explorer with
parameter definitions and
extensible schema
• UI encourages principles
RESTful API design and
consumption
RELAXV3.0
• Machine-consumable
documentation for use in
HTTP OPTIONS output
• Nested linking of
documentation to allow
automated updates to
samples and schema
RELAXV3.0
• Relaxer APITestTool
revamped with historical
replay and capture
• Advanced parameters for
testing APIs in development
RELAXV4
• Relax DSL Deprecated
• Support for additional formats
(e.g. RAML)
• API live-scaffolding and in-place
editing of documentation
• Test tool enhanced and
modularized for additional
flexibility in deployment
• Additional export formats and
custom themes
WHAT’S NEXT @ ORTUS
PORTABILITY++
PORTABLE CFML
• An Open Road
• WARNING: 

Paradigm Shift Required!
• Hardware & Engine
Independence
• Services Architecture
(BHA’s are soooo 2003!)
CFML + CONTAINERS
• Eliminate Dev-Ops Headaches
• Security
• Zero-Downtime Deployments
• Scaleability and FaultTolerance
CommandBox Minions
On-the-fly local clusters
Box LB
Minion A Minion Z
PROJECT G.R.U->C.
• Central Controller
• Register Box Minions
• Issue Commands
• Schedule Commands
• Centralized Dashboard
• Self-Organization
• Box Orchestration
Grand Remote Unit For CommandBox
EVOLVE ELEPHANTS
MODERN CFML + MICROSERVICES
CFML : EVOLVED
• Microservices:
• Bite size with Big power
• Make legacy code updates
less intimidating
• Fewer resources required
to maintain fault tolerance
• Versionable & maintainable
CBT Templating Language
• Twig Compatible
• A module: install cbt
• HTML Helper Enhancements
• Inheritance First
• More language constructs
• New x.cbt.cfm templates


EXPANDABLE, INHERITABLE, POWERFUL
• Internal Framework
Interception Points
• Allows for dynamic content
replacement and extendability
• Encourages code reuse in
templating, eliminating the
pain points of CFML
rendering
• Alpha Release - Summer 2017
Templating LanguageCBT
• Eliminate Pain Points and Dev Opts Nightmares
• Renewed Creativity and Inspiration inYour Work
• Sense of Accomplishment and Pride of Platform ( CFML! )
NEW HORIZONS
SEÑOR JORGE REYES
LIFE IS > SOFTWARE
“We are made wise not by the recollection of our past, 

but by the responsibility for our future.”

- George Bernard Shaw
SHALOM ORPHANAGE
• 10% Ortus proceeds goes to Shalom
• Your ticket feeds one child for 4 months!
• harvesting.org
Thank
You!
THANKS & ENJOY!

More Related Content

What's hot

Making it Easier to Contribute to Open Source Projects Using Docker Container...
Making it Easier to Contribute to Open Source Projects Using Docker Container...Making it Easier to Contribute to Open Source Projects Using Docker Container...
Making it Easier to Contribute to Open Source Projects Using Docker Container...Docker, Inc.
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realistsKarthik Gaekwad
 
Boston Cloud Meetup - IBM Containers
Boston Cloud Meetup - IBM ContainersBoston Cloud Meetup - IBM Containers
Boston Cloud Meetup - IBM ContainersRyan Baxter
 
Self-service and automation using OpenStack for VMware vSphere
Self-service and automation using OpenStack for VMware vSphereSelf-service and automation using OpenStack for VMware vSphere
Self-service and automation using OpenStack for VMware vSpherePlatform9
 
Boston Cloud Foundry Meetup 5-22-14
Boston Cloud Foundry Meetup 5-22-14Boston Cloud Foundry Meetup 5-22-14
Boston Cloud Foundry Meetup 5-22-14Ryan Baxter
 
Docker for the Enterprise with Containers as a Service by Banjot Chanana
Docker for the Enterprise with Containers as a Service by Banjot ChananaDocker for the Enterprise with Containers as a Service by Banjot Chanana
Docker for the Enterprise with Containers as a Service by Banjot ChananaDocker, Inc.
 
WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...
WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...
WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...WinOps Conf
 
Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldzekeLabs Technologies
 
Spring Boot on Kubernetes/OpenShift
Spring Boot on Kubernetes/OpenShiftSpring Boot on Kubernetes/OpenShift
Spring Boot on Kubernetes/OpenShiftKamesh Sampath
 
Docker OpenStack - 3/27/2014
Docker OpenStack - 3/27/2014Docker OpenStack - 3/27/2014
Docker OpenStack - 3/27/2014Erica Windisch
 
Containers & Cloud Native Ops Cloud Foundry Approach
Containers & Cloud Native Ops Cloud Foundry ApproachContainers & Cloud Native Ops Cloud Foundry Approach
Containers & Cloud Native Ops Cloud Foundry ApproachCodeOps Technologies LLP
 
PaaS Ecosystem Overview
PaaS Ecosystem OverviewPaaS Ecosystem Overview
PaaS Ecosystem OverviewDmitry Meytin
 
DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps
DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps  DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps
DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps Docker, Inc.
 
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopManuel Garcia
 
Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Phil Estes
 
'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015Lenny Pruss
 
Openshift Container Platform
Openshift Container PlatformOpenshift Container Platform
Openshift Container PlatformDLT Solutions
 
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...Docker, Inc.
 
How to build your containerization strategy
How to build your containerization strategyHow to build your containerization strategy
How to build your containerization strategyDocker, Inc.
 

What's hot (20)

Making it Easier to Contribute to Open Source Projects Using Docker Container...
Making it Easier to Contribute to Open Source Projects Using Docker Container...Making it Easier to Contribute to Open Source Projects Using Docker Container...
Making it Easier to Contribute to Open Source Projects Using Docker Container...
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
Boston Cloud Meetup - IBM Containers
Boston Cloud Meetup - IBM ContainersBoston Cloud Meetup - IBM Containers
Boston Cloud Meetup - IBM Containers
 
Containerized application
Containerized applicationContainerized application
Containerized application
 
Self-service and automation using OpenStack for VMware vSphere
Self-service and automation using OpenStack for VMware vSphereSelf-service and automation using OpenStack for VMware vSphere
Self-service and automation using OpenStack for VMware vSphere
 
Boston Cloud Foundry Meetup 5-22-14
Boston Cloud Foundry Meetup 5-22-14Boston Cloud Foundry Meetup 5-22-14
Boston Cloud Foundry Meetup 5-22-14
 
Docker for the Enterprise with Containers as a Service by Banjot Chanana
Docker for the Enterprise with Containers as a Service by Banjot ChananaDocker for the Enterprise with Containers as a Service by Banjot Chanana
Docker for the Enterprise with Containers as a Service by Banjot Chanana
 
WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...
WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...
WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...
 
Docker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container worldDocker - A curtain raiser to the Container world
Docker - A curtain raiser to the Container world
 
Spring Boot on Kubernetes/OpenShift
Spring Boot on Kubernetes/OpenShiftSpring Boot on Kubernetes/OpenShift
Spring Boot on Kubernetes/OpenShift
 
Docker OpenStack - 3/27/2014
Docker OpenStack - 3/27/2014Docker OpenStack - 3/27/2014
Docker OpenStack - 3/27/2014
 
Containers & Cloud Native Ops Cloud Foundry Approach
Containers & Cloud Native Ops Cloud Foundry ApproachContainers & Cloud Native Ops Cloud Foundry Approach
Containers & Cloud Native Ops Cloud Foundry Approach
 
PaaS Ecosystem Overview
PaaS Ecosystem OverviewPaaS Ecosystem Overview
PaaS Ecosystem Overview
 
DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps
DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps  DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps
DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps
 
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop
 
Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?
 
'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015
 
Openshift Container Platform
Openshift Container PlatformOpenshift Container Platform
Openshift Container Platform
 
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
 
How to build your containerization strategy
How to build your containerization strategyHow to build your containerization strategy
How to build your containerization strategy
 

Similar to ITB2017 - Keynote

Microservices with containers in the cloud
Microservices with containers in the cloudMicroservices with containers in the cloud
Microservices with containers in the cloudEugene Fedorenko
 
HOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDHOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDAleksandr Maklakov
 
Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionPatrick Chanezon
 
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 CFUGOrtus Solutions, Corp
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Mandi Walls
 
DevOPS training - Day 2/2
DevOPS training - Day 2/2DevOPS training - Day 2/2
DevOPS training - Day 2/2Vincent Mercier
 
CommandBox REPL, CLI, and Package Manager
CommandBox REPL, CLI, and Package ManagerCommandBox REPL, CLI, and Package Manager
CommandBox REPL, CLI, and Package Managerbdw429s
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesVagif Abilov
 
Containers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshellContainers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshellEugene Fedorenko
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Dockernklmish
 
FITC - Node.js 101
FITC - Node.js 101FITC - Node.js 101
FITC - Node.js 101Rami Sayar
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to KubernetesVishal Biyani
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassPaul Withers
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017Patrick Chanezon
 

Similar to ITB2017 - Keynote (20)

TechBeats #2
TechBeats #2TechBeats #2
TechBeats #2
 
Microservices with containers in the cloud
Microservices with containers in the cloudMicroservices with containers in the cloud
Microservices with containers in the cloud
 
HOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDHOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLD
 
Adf with docker
Adf with dockerAdf with docker
Adf with docker
 
Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to Production
 
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
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
 
DevOPS training - Day 2/2
DevOPS training - Day 2/2DevOPS training - Day 2/2
DevOPS training - Day 2/2
 
CommandBox REPL, CLI, and Package Manager
CommandBox REPL, CLI, and Package ManagerCommandBox REPL, CLI, and Package Manager
CommandBox REPL, CLI, and Package Manager
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class Libraries
 
Containers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshellContainers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshell
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
 
FITC - Node.js 101
FITC - Node.js 101FITC - Node.js 101
FITC - Node.js 101
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
CommandBox : Free CFML
CommandBox : Free CFMLCommandBox : Free CFML
CommandBox : Free CFML
 
CommandBox at CFCamp 2014
CommandBox at CFCamp 2014CommandBox at CFCamp 2014
CommandBox at CFCamp 2014
 
Command box
Command boxCommand box
Command box
 
Command box
Command boxCommand box
Command box
 

More from Ortus Solutions, Corp

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Secure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusionSecure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusionOrtus Solutions, Corp
 
Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023Ortus Solutions, Corp
 
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdfITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdfOrtus Solutions, Corp
 
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdfITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdfOrtus Solutions, Corp
 
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdfITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdfOrtus Solutions, Corp
 
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdfITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdfOrtus Solutions, Corp
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfOrtus Solutions, Corp
 
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdfITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdfOrtus Solutions, Corp
 
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdfITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdfOrtus Solutions, Corp
 
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdfITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdfOrtus Solutions, Corp
 
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdfITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdfOrtus Solutions, Corp
 
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdfITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdfOrtus Solutions, Corp
 
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdfITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdfOrtus Solutions, Corp
 
ITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdf
ITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdfITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdf
ITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdfOrtus Solutions, Corp
 
ITB2023 Developing for Performance - Denard Springle.pdf
ITB2023 Developing for Performance - Denard Springle.pdfITB2023 Developing for Performance - Denard Springle.pdf
ITB2023 Developing for Performance - Denard Springle.pdfOrtus Solutions, Corp
 

More from Ortus Solutions, Corp (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Ortus Government.pdf
Ortus Government.pdfOrtus Government.pdf
Ortus Government.pdf
 
Luis Majano The Battlefield ORM
Luis Majano The Battlefield ORMLuis Majano The Battlefield ORM
Luis Majano The Battlefield ORM
 
Brad Wood - CommandBox CLI
Brad Wood - CommandBox CLI Brad Wood - CommandBox CLI
Brad Wood - CommandBox CLI
 
Secure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusionSecure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusion
 
Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023
 
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdfITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
 
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdfITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
 
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdfITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
 
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdfITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
 
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdfITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
 
ITB_2023_CBWire_v3_Grant_Copley.pdf
ITB_2023_CBWire_v3_Grant_Copley.pdfITB_2023_CBWire_v3_Grant_Copley.pdf
ITB_2023_CBWire_v3_Grant_Copley.pdf
 
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdfITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf
 
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdfITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf
 
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdfITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf
 
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdfITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf
 
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdfITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
 
ITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdf
ITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdfITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdf
ITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdf
 
ITB2023 Developing for Performance - Denard Springle.pdf
ITB2023 Developing for Performance - Denard Springle.pdfITB2023 Developing for Performance - Denard Springle.pdf
ITB2023 Developing for Performance - Denard Springle.pdf
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

ITB2017 - Keynote

  • 2.
  • 7. ITB MOBILE APP • Session Schedule • News • Speaker + Sponsor Highlights • Sessions & Conference Surveys • Built on: • ContentBox CMS • Couchbase • Ionic + AngularJS Android iOS
  • 8. WINTHE ITB DRONE • Person with most tweets with • #intothebox • By Friday 5pm
  • 9. COLDFUSION ALIVE PODCAST • Michael Smith -Teratech • Live Podcasting • Sponsors Lounge
  • 11. TEAM ORTUS Luis Majano Brad Wood Jon Clausen Bill Garoutte Jorge Reyes Esme FloresEric Peterson Gavin Pickin
  • 12.
  • 13. Story Time You are still coding in that!
  • 15. CFML SHAMING • Lack of tooling • Package Management • CLI • OS Integrations • Applications • Legacy Hell • Way behind the cool kids
  • 17. HOW DO WE MODERNIZE CFML?
  • 18. Vendors Cannot Do It All! THE HARD REALITY Make CFML HUUGE Great AGAIN!!
  • 22. COMMUNITY •Newbie Initiatives •Forgebox.io •Documentation Priority •ITB, ODW •All CFML Conferences •Non-CFML Conferences •API Implementations •Rollbar, github, bcrypt, S3, Google, freshbooks, twitter, salesforce, etc. •Slack, blogs, webinars
  • 23. EDUCATION FOR ALL •Live on-demand training •Courses •Intro to ColdBox •Core ColdBox •Modular Development •BDD & Automation •Dependency Injection & AOP •Building RESTFul Services •Intro to ColdFusion ORM •CBORM •ContentBox Developer •ContentBox Administrator •CFML for PHP Developers •CFML for Java Developers
  • 25. LEGACY PROBLEM • Gives CFML a bad name • Security Issues • Performance Issues • Employee Issues • Development Issues • Finding Developer Issues • >35% No MVC • >60% No DI • >55% NoTesting
  • 26. CAN’T FIND DEVELOPERS! • MVC Framework or spaghetti hell? • OO or cfinclude hell? • Automated Tests? Continuous Integration? • Agile/Scrum Methodologies? • Source Control? (Zip files don’t count!) • Continuous Delivery? Container Strategy? • Developer Automation?
  • 27. YOU NEED TO ACT! • Drive innovation internally • Get out of legacy hell, modernize • Build cool apps,APIs, libraries • Collaborate with open source • Share in forgebox.io • Blog, present, share your knowledge • Proud of your CFML apps again!
  • 30.
  • 31. THE BIG BOXTHEORY • 50+ Releases • Mature (11+ years) • Established • Still Growing • v4.0.0 on 01/2015 • v5.0.0 Beta Now install coldbox@be
  • 32. 5 VISION • Increase Modularity + Ecosystem • Containerization • Renderings • RESTFul APIs • Scaffolding
  • 33. CONTAINERIZATION • New environment/system methods: • Coldbox.cfc (Application Wide) • ModuleConfig.cfc (Modules) getSystemProperty( key, defaultValue ) getEnv( key, defaultValue ) getSystemSetting( key defaultValue )
  • 34. RENDERINGS function index( event, rc, prc ) renderdata=json{ return data; } function index( event, rc, prc ) renderdata=xml{ return data; } function index( event, rc, prc ) renderdata=pdf{ return data; } Handler Auto-Return Marshalling component renderData=“json"{} Handler Defaults
  • 35. RENDERDATA MARSHALLERS renderdata = { defaults = { // Any argument to renderdata can be defaulted here type = ”json” }, transformers = { // Register new type transformers "json" = "class path or WireBox ID" // Dynamic transformers “mustache” = function(){} } } • Configure new/override rendering types • Add global render data defaults • Implement custom rendering engines (Markdown, mustache, etc)
  • 36. NAMED REGIONS setView( view=“”, name=“sidebar”, args… ); setView( view=“”, name=“col2”, args… ); setView( view=“”, name=“viewlet”, args… ); Set Rendering Regions Render On Demand #renderView( name=“sidebar” )# #renderView( name=“col2” )# #renderView( name=“viewlet” )# Encapsulation of rendering widgets, complex views, etc
  • 37. ROUTING BY CONVENTION component route="/photos"{} Handler Routing component route=“/photos" resourceful{} Resourceful Routing Verb Route API Event Route Name Purpose GET /photos TRUE photos.index photos.index Display a list of photos GET /photos/new FALSE photos.new photos.new Return an HTML form for creating a new photo POST /photos TRUE photos.create photos.create Create a new photo GET /photos/:id TRUE photos.show photos.show Display a specific photo GET /photos/:id/edit FALSE photos.edit photos.edit Return an HTML form for editing a photo POST/PUT/PATCH /photos/:id TRUE photos.update photos.update Update a specific photo DELETE /photos/:id TRUE photos.delete photos.delete Delete a specific photo
  • 38. FLUENT ROUTING DSL route( pattern ) .toView() .toRedirect() .toAction() .toData() .toResponse() .toModule() .with{verb}( action ) .header(), headers() .status() .name() .onInvalidHTTP() .onInvalidFormat() .onException(); {verb}( pattern );
  • 40.
  • 41. GO COMMANDO! • 3.1.1 • multi server support • forgebox 2.0, cli publishing • package scripts • 3.3 • web server aliases • custom error pages, & tray menus • 3.5 • live following log files with tail • server console starts • custom server home dirs • 3.6 • interactive binary execution • proper exit codes when running tests
  • 43. COMMANDBOX DOCKER Run any CFML Engine Run any WAR Portable Server Settings Portable CFML Engine Settings Image Healthchecks, etc
  • 44. COMMANDBOX DOCKER services: web: image: nginx ports: - "80:80" - "443:443" volumes: - .:/usr/share/nginx/html - ./build/docker/nginx/nginx.conf:/etc/nginx/nginx.conf app: image: ortussolutions/commandbox environment: PORT: 8080 SSL_PORT: 8443 CFCONFIG: /app/cfConfig.json volumes: - .:/app mysql: image: mysql:latest environment: MYSQL_ROOT_PASSWORD: "MyS3cur3P455!" volumes: - ./build/docker/mysql/initdb:/docker-entrypoint-initdb.d - /my/host/datadir:/var/lib/mysql ports: - "3306:3306"
  • 45. • Package any server with server.json • Updating CF engine install is a non-issue • Use multiple CF engines/versions at the same time • New Docker images make it easy for cloud scaling • CFConfig one tool to rule them all CFML Servers
 $ docker pull ortussolutions/commandbox $ docker run -v "/path/to/your/app:/app" ortussolutions/commandbox
  • 46. • Package your code so it's reusable • Share your code with others • Install packages from anywhere • Totally automate your build processes Package Management $ bump —minor && publish
  • 47. • Allows for mashups of CFML, commands and native binaries • Create custom commands with user interactivity and pretty output • Easy DB access from CLI commands • Easily create command recipes • Automate it all CLI Scripting CLI CFML ColdFusion
  • 48. • More CFConfig Support • Embedded Websocket Server • CFML Build Automations (Runners) • Maven Support • Lucee 5 Migration • App packaging and cloud deployments • and …. ROADMAP
  • 49.
  • 50. FORGEBOX 2 <1 year 335+ contributions 4 Minor Releases Growing API Learning Experience
  • 51. • Private Packages • Code Storage (In Progress..) • Organization/Teams • Collaborators • PackageTransfers • Digests + Notifications • Web Hooks • Lucee Extension Provider • And… ROADMAP
  • 52. PRO ACCOUNTS • Monthly Subscription Service • Private Packages • Optional S3 Storage • Unique Installation Strings • FREE for limited time install @ortus/rafflebox
  • 53. • ForgeBox for Enterprise + Government • Docker Image • Encapsulated Dependencies • Unique URI entrypoint • Unique CommandBox Registrations forgebox register ortus http://fb.ortus.com install ortus:cfbox install ortus:@lmajano/cfbox ENTERPRISE IMAGE
  • 54. • Monthly Subscription Service • Managed Containers @ Ortus Cloud • Unique URI entrypoint • Unique CommandBox Registrations ENTERPRISE MANAGED
  • 56. WHAT IS ELIXIR? PAINLESS FRONT-END BUILDS FOR COLDBOX APPLICATIONS
  • 57. NEW FEATURES Extensions • Typescript • Webpack • vuejs v1, v2 • Browsersync • Rollup • Stylus • Browserify • SVG
  • 58. ELIXIR VS THE MODULES Gulpfile.js resources includes Traditional ColdBox MVC Workflow What about modules?
  • 59. mix.modules > Uses same conventions inside you modules folders (resources/assets, etc.) > All mix methods available in your gulpfile.js are available here. > Ignores modules without a elixir-module.js file. > Watch mode supported just like you would expect and hope.
  • 60. mix.modules // gulpfile.js elixir( mix => { mix.modules(); } ); // elixir-module.js module.exports = ( mix ) => { mix.scripts( "components/**/*.js", "includes/js/app.js" ); // `modules_app/my-module/resources/assets/js/components/**/*.js` // becomes // `modules_app/my-module/includes/js/app.js` };
  • 61. COMING NEXT > Improvements to mix.version > Version files in place instead of to a build folder > Automatic versioning with --production flag > Tighter integration with Webpack > Working with styles (ExtractTextPlugin) > Working with images / static assets
  • 63.
  • 64. STATE OFTHE CONTENT • ContentBox 3.0 < 1 year ago • ContentBox 3.1 January 2017 • ContentBox 3.5.1 April 2017 • ContentBox 4.0 is underway install contentbox-installer@be
  • 66. CONTENTBOX CONTAINER H2 DB or any RDBMS Auto session distribution Auto cache distribution Redis/Couchbase Compose Image Healthchecks, etc
  • 67. CONTENTBOX CONTAINER $ docker pull ortussolutions/contentbox
 $ docker run -p 8080:8080 -e express=true -e install=true ortussolutions/contentbox
  • 68. New Installation Methods install contentbox Containers • Installs ContentBox as a module into any ColdBox 4 app • All dependencies encapsulated by module inception • Updates easier: box update contentbox install contentbox-site • Creates a new ColdBox site and configures ORM • Installs the contentbox module as a root app dependency • Updates easier: box update contentbox install contentbox-installer • Same as the site but deploys two more modules • DSN Creator • Installer Updates

  • 69. Setting OverridesContainers • Override Any ContentBox Setting via Coldbox.cfc contentbox = { // Runtime Settings Override by site settings = { // Default site default = { "cb_search_adapter" = "my.search.adapter", "cb_media_directoryRoot" = "/docker/mount" }
 } }
  • 70. Containers • Override any setting via Docker/Java Environment variables: contentbox_{site}_{setting}=value -Dcontentbox_default_cb_media_directoryRoot=./build/docker/contentbox/content • Example Setting Overrides
  • 71. UI ADMIN BAR • Modular Front End Admin Bar • Permissions Based • Admin Links • Editing • Stats • Publish Status • Draft Modes • Publish in Future Modes UI
  • 72. EDITOR + LOCALIZATION • CKEditor updates • Editors accept new i18n markup UI ${i18n:resource} ${i18n:resource@module} • All caching, internals updated with user’s getFWLocale() • ColdBox App -> Access to all i18n features • All themes, modules, widgets have i18n functions now • Thanks to computer know how, more features are coming…
  • 73. SITEMAPUI • On-demand sitemap generations • Featured image support • Distributed caching • Multiple formats • /sitemap.xml • /sitemap.txt • /sitemap.json • /sitemap.html • /sitemap - which defaults to html
  • 74. OPEN GRAPHUI Most content is shared to Facebook/Twitter as a URL, so it's important that you mark up your website with Open Graph tags to take control over how your content appears on Facebook/Twitter <meta property="og:url"                content="http://www.nytimes.com/2015/02/19/arts/ international/when-great-minds-dont-think-alike.html" />
 <meta property="og:type"               content="article" />
 <meta property="og:title"              content="When Great Minds Don’t Think Alike" />
 <meta property="og:description"        content="How much does culture influence creative thinking?" />
 <meta property="og:image"              content="http://static01.nyt.com/images/2015/02/19/arts/ international/19iht-btnumbers19A/19iht-btnumbers19A-facebookJumbo-v2.jpg" />
  • 76. GLOBAL SEARCHAdmin • User friendly results • Clear result contexts • Extensible via modules • Scoped Searches • author:{text} • page:{text} • contentstore:{text} • entry:{text} • custom:{text}
  • 77. ROADMAP • UI Upgrades (Vue.js) • Multi-tenancy • Cluster Modes • Custom ContentTypes with automagic CRUD UI • More Image Management • Content Scheduling • Weekly / Monthly Schedule Planning • Social MediaTriggers • Theme/Module Overrides
  • 79.
  • 80. RELAXV3.0 • OpenAPI/Swagger as default format • Legacy API (Relax DSL) Exportable to Swagger JSON • Revamped UI with in-doc linking and path drill down
  • 81. RELAXV3.0 • Path explorer with parameter definitions and extensible schema • UI encourages principles RESTful API design and consumption
  • 82. RELAXV3.0 • Machine-consumable documentation for use in HTTP OPTIONS output • Nested linking of documentation to allow automated updates to samples and schema
  • 83. RELAXV3.0 • Relaxer APITestTool revamped with historical replay and capture • Advanced parameters for testing APIs in development
  • 84. RELAXV4 • Relax DSL Deprecated • Support for additional formats (e.g. RAML) • API live-scaffolding and in-place editing of documentation • Test tool enhanced and modularized for additional flexibility in deployment • Additional export formats and custom themes
  • 87. PORTABLE CFML • An Open Road • WARNING: 
 Paradigm Shift Required! • Hardware & Engine Independence • Services Architecture (BHA’s are soooo 2003!)
  • 88. CFML + CONTAINERS • Eliminate Dev-Ops Headaches • Security • Zero-Downtime Deployments • Scaleability and FaultTolerance
  • 89. CommandBox Minions On-the-fly local clusters Box LB Minion A Minion Z
  • 90. PROJECT G.R.U->C. • Central Controller • Register Box Minions • Issue Commands • Schedule Commands • Centralized Dashboard • Self-Organization • Box Orchestration Grand Remote Unit For CommandBox
  • 91. EVOLVE ELEPHANTS MODERN CFML + MICROSERVICES
  • 92. CFML : EVOLVED • Microservices: • Bite size with Big power • Make legacy code updates less intimidating • Fewer resources required to maintain fault tolerance • Versionable & maintainable
  • 93. CBT Templating Language • Twig Compatible • A module: install cbt • HTML Helper Enhancements • Inheritance First • More language constructs • New x.cbt.cfm templates
  • 94. 
 EXPANDABLE, INHERITABLE, POWERFUL • Internal Framework Interception Points • Allows for dynamic content replacement and extendability • Encourages code reuse in templating, eliminating the pain points of CFML rendering • Alpha Release - Summer 2017 Templating LanguageCBT
  • 95. • Eliminate Pain Points and Dev Opts Nightmares • Renewed Creativity and Inspiration inYour Work • Sense of Accomplishment and Pride of Platform ( CFML! ) NEW HORIZONS
  • 97. LIFE IS > SOFTWARE
  • 98. “We are made wise not by the recollection of our past, 
 but by the responsibility for our future.”
 - George Bernard Shaw
  • 99. SHALOM ORPHANAGE • 10% Ortus proceeds goes to Shalom • Your ticket feeds one child for 4 months! • harvesting.org Thank You!