SlideShare a Scribd company logo
1 of 40
Download to read offline
Transitioning from
WordPress to ContentBox
A Powerful ColdFusion Alternative
Daniel Garcia
Thank You Sponsors!
Other Awesome Presentations!
• Best Practices for Securing your Secrets and Settings in ColdFusion
○ 10/2 @ 2pm in Grand Ballroom E
○ Gavin Pickin
• Battlefield ORM : Learn the strategies and tactics to win with ColdFusion
ORM powered by Hibernate!
○ 10/3 @ 9am in Grand Ballroom D
○ Luis Majano
• Automating CFML from the CLI with Task Runners
○ 10/3 @ 4:15pm in Grand Ballroom BC
○ Brad Wood
Daniel Garcia
Who Am I?
• Senior Developer at Ortus Solutions
• Help co-Host the Modernize or Die podcast
• Been using ColdFusion since 1999 (version 4)
• Cinephile (loves movies)
• Regaler of useless knowledge (loves trivia)
• Part-time, non-traditional grad student
(New Mexico State University - Go Aggies!)
Shameless Self-Promotion
ortussolutions.com
ortussolutions.com/podcast
Shameless Self-Promotion
Tune in Sunday nights at
masterzradio.com!
• Started as a blogging tool in 2003
• Built with PHP and uses MySQL
• Open Source software
• Evolved into a CMS
• Approx 810 Million WordPress sites*
• Current version is 6.3
• FREE!
*According to colorlib.com
What is WordPress?
• Huge number of themes available
• Huge number of plugins available
• Non-technical users can manage content
• Many hosting options
• Cheap to host
• Many hosting companies make it easy to
install it (one-click installers)
• Many people know how to work with it
Advantages of WordPress?
• You must add plugins for many features
• Too many plugins can slow down the site
• May not have the best quality code
• Many sites have to be updated regularly
• Many security issues
• Hackers target WordPress sites
• Lack of knowledge to properly secure sites
• Many plugins get abandoned
• Must know PHP to do custom development
Drawbacks of WordPress?
• It’s cheap to host
• I can set it up quickly
• I don’t need to do any custom
development
• There are some nice themes available
○ Avada is my favorite
• The sites I use it for don’t need many
resources or custom development
Why do I sometimes use WordPress?
• If there is any custom development to do
○ I’m a ColdFusion Developer!
• If the client is paying more
○ They often want custom solutions
• If the client needs a more robust site
• If the client needs to be most secure or
scale both vertically and horizontally
○ WordPress professionals can do
that, but I am a CF Professional!*
When would I not use WordPress?
* Adobe ColdFusion Certified Professional (CF Summit 2022)
What would I use instead of WordPress?
• Modular Hybrid CMS
• Professional Open Source (Apache 2)
• Built on ColdBox HMVC*
• Hibernate ORM
• Powered by CFML
• Deploy on any Java Server
• 2015 - 30+ Releases
• v5.x Series
• FREE!
*HMVC = Hierarchical Model View Controller
What is ContentBox?
Any CFML Engine
Any OS
CommandBox WAR
Any Java Server
Express
Self-Contained
Embedded Database
USB Sticks
Container
Anywhere Docker
Images Are Accepted
Deploy Anywhere!
Modularity Via ColdBox Modules
Any ColdBox MVC
application
Events
Custom
Security
Modules Model
ContentBox
Admin
ContentBox
UI
ContentBox
Core
Forum eCommerce
API Custom App
COLDBOX MODULES
ContentBox
API
ContentBox
/
ContentBox
/cbapi
/cbadmin
/blog
Store
/store
/shop
Module URL NameSpaces!
Modular Deployment
DMZ
contentbox-ui
contentbox-api
Database contentbox-admin
Reporting Security SAP
ContentBox Scheduling
ContentBox Non-Blocking
Async Processing
Multi-Site
• Manage one or thousands of sites
• Detection
• URI
• QueryString
• Header
• Copy/Move content between sites
• User assignments
• Staging and Production in one box
Hierarchical Headless Content Store
• More than pages and blogs
• Hierarchical content store
• Core for headless operations
• Multiple publishing techniques
• Expressive API for consumption
• Power any web app
Headless CMS
• Expressive RESTFul API
• Secure JWT Clients
• Powered by ColdBox Security (PBAC)
• Permission Based Access Control
• Completely Documented
• Connect to pages, blog or the content store
• Deploy as a single module
• Consume from ANY language
PH
P
Headless CLI
• Built on CommandBox
• Install ContentBox on
• Any CFML Engine
• Any Database
• Update ContentBox
• Create modules, widgets, themes
• Connect to your headless instances
• Manage many API endpoints
• Manage any ContentBox instance
• Publish/Consume content
High Focus On Security
DMZ
ContentBox UI
ContentBox REST
Database ContentBox Admin
Reporting Security SAP
Modular Deployment
Search All Things
• Built-in Database Search
• ElasticSearch Integration
• Index blog, pages, content store
• Index media documents
• PDF, word, images, etc
• Search via themes
• Search via the ContentBox API
Scalable + Elastic
• Cloud deployment aware
• Any caching engine:
• CouchBase NoSQL
• MongoDB
• EHCache Terracota
• Amazon ElastiCache
• Redis
• ElasticSearch
• High Redundancy
Cache All Things!
Models
Singletons
ORM Caching
Settings
Metadata
Content
Translation
Content
Markup
Mediawiki
Markdown
Custom
Content
Output
Final HTML
Output
Similar to
Varnish
RSS Feeds
Created on
Demand
Many More Features…
Layout manager for easy style switching
Page exports: json, pdf, word, html
Real live editor previews
Responsive previews
Reusable Widgets
Markdown Native Support
Two-factor authentication
Add custom global HTML, CSS or JavaScript easily
Event driven hooks for almost anything
Provide UI settings for any custom layout themes
Template hooks for applying your styles dynamically
Ability to apply mobile layouts to content objects
Layout and content inheritance
Ability to easily view and code widgets in the editors
WYSIWYG Editor with media content management
• Cloud Hosting
• Infrastructure as a Service (IaaS) Provider
• Alternative to AWS and Azure
• Droplets are small VPSs (Linux Only)
• Can run Docker
• Has Marketplace with many images
• Can cost as little as $6 per Droplet
○ May need more resources
depending on app
What is Digital Ocean?
• Low cost to get started
• Predictable pricing
• Quickly spin up environments
• Roll your own or use managed services
○ Database server
• Less complicated than AWS*
• Marketplace can get you up and
running within minutes
• Want to learn more or have better
control with your hosting
Why use Digital Ocean?
*Although simpler than AWS, there is still a learning curve.
• More complicated than managed
solutions
• Learning curve to get started
• Managed solutions offer several valued
added services
○ Mail, Bundled licensing, Support
• Someone else can support your server
• Several conference Sponsors to talk to!
• Cost vs Convenience!
Why NOT use Digital Ocean?
• Create an account!
○ tinyurl.com/trydo
○ Get $200 credit for 60 days!
• digitalocean.com
• docs.digitalocean.com
• digitalocean.com/community/tutorials
How to get started with Digital Ocean?
• Can start with a Droplet and install
CommandBox…OR…
• Use Docker!
• Ortus Docker images
○ hub.docker.com
○ ContentBox
○ CommandBox
■ If you want to install it yourself
or have other ColdBox apps
ContentBox on Digital Ocean?
ContentBox Resources
consulting@ortussolutions.com
info@ortusolutions.com
GitHub.com/ortus-solutions/
contentbox
community.ortussolutions.com
www.ortussolutions.com/products/contentbox
contentbox.ortusbooks.com
boxteam.herokuapp.com
ortussolutions/contentbox
ortussolutions.atlassian.net/
browse/CONTENTBOX
ds
THANKS!
Daniel Garcia
Senior Developer
Ortus Solutions, Corp
dgarcia@ortussolutions.com
linkedin.com/in/danieljgarcia
Daniel Garcia ContentBox: CFSummit 2023

More Related Content

Similar to Daniel Garcia ContentBox: CFSummit 2023

WCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and AlfrescoWCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and AlfrescoAlfresco Software
 
Wordpress intro
Wordpress introWordpress intro
Wordpress introthe-colab
 
Mura vs Wordpress
Mura vs WordpressMura vs Wordpress
Mura vs WordpressRonnie Duke
 
WordPress Themes and Plugins
WordPress Themes and PluginsWordPress Themes and Plugins
WordPress Themes and Pluginssuperann
 
Custom coded projects
Custom coded projectsCustom coded projects
Custom coded projectsMarko Heijnen
 
WordPress: More-than-blog-software
WordPress: More-than-blog-softwareWordPress: More-than-blog-software
WordPress: More-than-blog-softwareLiam Dempsey
 
The Often Useful Somewhat Annoying World of WordPress Multisite
The Often Useful Somewhat Annoying World of WordPress MultisiteThe Often Useful Somewhat Annoying World of WordPress Multisite
The Often Useful Somewhat Annoying World of WordPress MultisiteJames Bundey
 
WordPress - The Good, Bad, and Ugly
WordPress - The Good, Bad, and UglyWordPress - The Good, Bad, and Ugly
WordPress - The Good, Bad, and UglyNoel Saw
 
Improving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with DockerImproving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with DockerBrett Palmer
 
Week6 office-hours
Week6 office-hoursWeek6 office-hours
Week6 office-hoursRandall Rode
 
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksBuilding Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksFITC
 
WCBos13 intermediate workshop
WCBos13 intermediate workshopWCBos13 intermediate workshop
WCBos13 intermediate workshopBoston WordPress
 
Blog World 2010 - How to Keep Your Blog from Being Hacked
Blog World 2010 - How to Keep Your Blog from Being HackedBlog World 2010 - How to Keep Your Blog from Being Hacked
Blog World 2010 - How to Keep Your Blog from Being HackedBrian Layman
 
WordPress & Other Content Management Systems
WordPress & Other Content Management SystemsWordPress & Other Content Management Systems
WordPress & Other Content Management SystemsEmily Lewis
 
Business 2.0 with WordPress
Business 2.0 with WordPressBusiness 2.0 with WordPress
Business 2.0 with WordPressMario Peshev
 
Get Started with Driverless AI Recipes - Hands-on Training
Get Started with Driverless AI Recipes - Hands-on TrainingGet Started with Driverless AI Recipes - Hands-on Training
Get Started with Driverless AI Recipes - Hands-on TrainingSri Ambati
 
Preparing your dockerised application for production deployment
Preparing your dockerised application for production deploymentPreparing your dockerised application for production deployment
Preparing your dockerised application for production deploymentDave Ward
 

Similar to Daniel Garcia ContentBox: CFSummit 2023 (20)

WCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and AlfrescoWCM-9 WCM Solutions with Drupal and Alfresco
WCM-9 WCM Solutions with Drupal and Alfresco
 
Wordpress intro
Wordpress introWordpress intro
Wordpress intro
 
Mura vs Wordpress
Mura vs WordpressMura vs Wordpress
Mura vs Wordpress
 
WordPress Themes and Plugins
WordPress Themes and PluginsWordPress Themes and Plugins
WordPress Themes and Plugins
 
Custom coded projects
Custom coded projectsCustom coded projects
Custom coded projects
 
WordPress: More-than-blog-software
WordPress: More-than-blog-softwareWordPress: More-than-blog-software
WordPress: More-than-blog-software
 
The Often Useful Somewhat Annoying World of WordPress Multisite
The Often Useful Somewhat Annoying World of WordPress MultisiteThe Often Useful Somewhat Annoying World of WordPress Multisite
The Often Useful Somewhat Annoying World of WordPress Multisite
 
WordPress - The Good, Bad, and Ugly
WordPress - The Good, Bad, and UglyWordPress - The Good, Bad, and Ugly
WordPress - The Good, Bad, and Ugly
 
Improving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with DockerImproving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with Docker
 
Week6 office-hours
Week6 office-hoursWeek6 office-hours
Week6 office-hours
 
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksBuilding Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Movingto moodle2 v1 1
Movingto moodle2 v1 1Movingto moodle2 v1 1
Movingto moodle2 v1 1
 
WCBos13 intermediate workshop
WCBos13 intermediate workshopWCBos13 intermediate workshop
WCBos13 intermediate workshop
 
Blog World 2010 - How to Keep Your Blog from Being Hacked
Blog World 2010 - How to Keep Your Blog from Being HackedBlog World 2010 - How to Keep Your Blog from Being Hacked
Blog World 2010 - How to Keep Your Blog from Being Hacked
 
WordPress & Other Content Management Systems
WordPress & Other Content Management SystemsWordPress & Other Content Management Systems
WordPress & Other Content Management Systems
 
Business 2.0 with WordPress
Business 2.0 with WordPressBusiness 2.0 with WordPress
Business 2.0 with WordPress
 
Get Started with Driverless AI Recipes - Hands-on Training
Get Started with Driverless AI Recipes - Hands-on TrainingGet Started with Driverless AI Recipes - Hands-on Training
Get Started with Driverless AI Recipes - Hands-on Training
 
Preparing your dockerised application for production deployment
Preparing your dockerised application for production deploymentPreparing your dockerised application for production deployment
Preparing your dockerised application for production deployment
 
Building Advanced RESTFul services
Building Advanced RESTFul servicesBuilding Advanced RESTFul services
Building Advanced RESTFul services
 

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
 
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
 
Enterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdfEnterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.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
 
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
 
Enterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdfEnterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdf
 

Recently uploaded

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
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
 
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
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
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)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
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
 
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
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
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
 

Daniel Garcia ContentBox: CFSummit 2023

  • 1. Transitioning from WordPress to ContentBox A Powerful ColdFusion Alternative Daniel Garcia
  • 3. Other Awesome Presentations! • Best Practices for Securing your Secrets and Settings in ColdFusion ○ 10/2 @ 2pm in Grand Ballroom E ○ Gavin Pickin • Battlefield ORM : Learn the strategies and tactics to win with ColdFusion ORM powered by Hibernate! ○ 10/3 @ 9am in Grand Ballroom D ○ Luis Majano • Automating CFML from the CLI with Task Runners ○ 10/3 @ 4:15pm in Grand Ballroom BC ○ Brad Wood
  • 4. Daniel Garcia Who Am I? • Senior Developer at Ortus Solutions • Help co-Host the Modernize or Die podcast • Been using ColdFusion since 1999 (version 4) • Cinephile (loves movies) • Regaler of useless knowledge (loves trivia) • Part-time, non-traditional grad student (New Mexico State University - Go Aggies!)
  • 6. Shameless Self-Promotion Tune in Sunday nights at masterzradio.com!
  • 7. • Started as a blogging tool in 2003 • Built with PHP and uses MySQL • Open Source software • Evolved into a CMS • Approx 810 Million WordPress sites* • Current version is 6.3 • FREE! *According to colorlib.com What is WordPress?
  • 8. • Huge number of themes available • Huge number of plugins available • Non-technical users can manage content • Many hosting options • Cheap to host • Many hosting companies make it easy to install it (one-click installers) • Many people know how to work with it Advantages of WordPress?
  • 9. • You must add plugins for many features • Too many plugins can slow down the site • May not have the best quality code • Many sites have to be updated regularly • Many security issues • Hackers target WordPress sites • Lack of knowledge to properly secure sites • Many plugins get abandoned • Must know PHP to do custom development Drawbacks of WordPress?
  • 10. • It’s cheap to host • I can set it up quickly • I don’t need to do any custom development • There are some nice themes available ○ Avada is my favorite • The sites I use it for don’t need many resources or custom development Why do I sometimes use WordPress?
  • 11. • If there is any custom development to do ○ I’m a ColdFusion Developer! • If the client is paying more ○ They often want custom solutions • If the client needs a more robust site • If the client needs to be most secure or scale both vertically and horizontally ○ WordPress professionals can do that, but I am a CF Professional!* When would I not use WordPress? * Adobe ColdFusion Certified Professional (CF Summit 2022)
  • 12. What would I use instead of WordPress?
  • 13. • Modular Hybrid CMS • Professional Open Source (Apache 2) • Built on ColdBox HMVC* • Hibernate ORM • Powered by CFML • Deploy on any Java Server • 2015 - 30+ Releases • v5.x Series • FREE! *HMVC = Hierarchical Model View Controller What is ContentBox?
  • 14. Any CFML Engine Any OS CommandBox WAR Any Java Server Express Self-Contained Embedded Database USB Sticks Container Anywhere Docker Images Are Accepted Deploy Anywhere!
  • 15. Modularity Via ColdBox Modules Any ColdBox MVC application Events Custom Security Modules Model ContentBox Admin ContentBox UI ContentBox Core Forum eCommerce API Custom App COLDBOX MODULES ContentBox API
  • 19.
  • 21. Multi-Site • Manage one or thousands of sites • Detection • URI • QueryString • Header • Copy/Move content between sites • User assignments • Staging and Production in one box
  • 22. Hierarchical Headless Content Store • More than pages and blogs • Hierarchical content store • Core for headless operations • Multiple publishing techniques • Expressive API for consumption • Power any web app
  • 23. Headless CMS • Expressive RESTFul API • Secure JWT Clients • Powered by ColdBox Security (PBAC) • Permission Based Access Control • Completely Documented • Connect to pages, blog or the content store • Deploy as a single module • Consume from ANY language PH P
  • 24. Headless CLI • Built on CommandBox • Install ContentBox on • Any CFML Engine • Any Database • Update ContentBox • Create modules, widgets, themes • Connect to your headless instances • Manage many API endpoints • Manage any ContentBox instance • Publish/Consume content
  • 25. High Focus On Security DMZ ContentBox UI ContentBox REST Database ContentBox Admin Reporting Security SAP Modular Deployment
  • 26. Search All Things • Built-in Database Search • ElasticSearch Integration • Index blog, pages, content store • Index media documents • PDF, word, images, etc • Search via themes • Search via the ContentBox API
  • 27. Scalable + Elastic • Cloud deployment aware • Any caching engine: • CouchBase NoSQL • MongoDB • EHCache Terracota • Amazon ElastiCache • Redis • ElasticSearch • High Redundancy
  • 28. Cache All Things! Models Singletons ORM Caching Settings Metadata Content Translation Content Markup Mediawiki Markdown Custom Content Output Final HTML Output Similar to Varnish RSS Feeds Created on Demand
  • 29. Many More Features… Layout manager for easy style switching Page exports: json, pdf, word, html Real live editor previews Responsive previews Reusable Widgets Markdown Native Support Two-factor authentication Add custom global HTML, CSS or JavaScript easily Event driven hooks for almost anything Provide UI settings for any custom layout themes Template hooks for applying your styles dynamically Ability to apply mobile layouts to content objects Layout and content inheritance Ability to easily view and code widgets in the editors WYSIWYG Editor with media content management
  • 30. • Cloud Hosting • Infrastructure as a Service (IaaS) Provider • Alternative to AWS and Azure • Droplets are small VPSs (Linux Only) • Can run Docker • Has Marketplace with many images • Can cost as little as $6 per Droplet ○ May need more resources depending on app What is Digital Ocean?
  • 31. • Low cost to get started • Predictable pricing • Quickly spin up environments • Roll your own or use managed services ○ Database server • Less complicated than AWS* • Marketplace can get you up and running within minutes • Want to learn more or have better control with your hosting Why use Digital Ocean? *Although simpler than AWS, there is still a learning curve.
  • 32. • More complicated than managed solutions • Learning curve to get started • Managed solutions offer several valued added services ○ Mail, Bundled licensing, Support • Someone else can support your server • Several conference Sponsors to talk to! • Cost vs Convenience! Why NOT use Digital Ocean?
  • 33. • Create an account! ○ tinyurl.com/trydo ○ Get $200 credit for 60 days! • digitalocean.com • docs.digitalocean.com • digitalocean.com/community/tutorials How to get started with Digital Ocean?
  • 34. • Can start with a Droplet and install CommandBox…OR… • Use Docker! • Ortus Docker images ○ hub.docker.com ○ ContentBox ○ CommandBox ■ If you want to install it yourself or have other ColdBox apps ContentBox on Digital Ocean?
  • 35.
  • 36.
  • 39. Daniel Garcia Senior Developer Ortus Solutions, Corp dgarcia@ortussolutions.com linkedin.com/in/danieljgarcia