Content Modularization
Is Here!
Luis Majano
www.ortussolutions.com
WHO AM I?
‱ Luis Majano
‱ Computer Engineer
‱ Imported from El Salvador
‱ CEO of Ortus Solutions
‱ Adobe Community Professional
‱ ColdFusion (CFML) Advocate
‱ Adobe Advisory Committee
‱ Lucee Language Committee
‱ Sandals & Beaches -> ESRI -> Ortus
AGENDA
‱ Journey of Monolithic Apps
‱ Content Evolution
‱ Why of ContentBox
‱ ContentBox Architecture
‱ Content Modularity
‱ Why Modularity?
‱ Cool Demo
Monolithic Apps
Invasion / Takeover
Monolithic Apps
Traditional‹
CMS/Blog/App
Custom Architecture
Segregated
Deployment
custom
security?
custom
views?
External
Apps
Proxy
MVC?
Performance?
Clustering?
Scalability?
Content Evolution
‱ Ortus = Frameworks
‱ Best practices & Standards
‱ MVC, OO, DI,AOP
‱ Performance
‱ Scale
‱ Event Driven
‱ Custom Security/Search
‱ Extend Modularly
‱ Mobile/API Ready
Meanwhile
.
Modular Desert Circa 2011
Foundation is Important
Scalability Flexibility Extensibility Sanitability
CODING RECIPE
MVC
Modules
HMVC
OO
Dynamic
Language
‱ Mature (>20 years)
‱ Dynamic JVM Language (JSR-223 Standards)
‱ Direct Java-byte code compilation
‱ Seamless Integrations
‱ Java, Hibernate, PDF, OfïŹce, Sharepoint, Exchange, etc
‱ Modern OO language constructs
‱ Typed orTypeless, Closures, Lambdas, Functional
Programming, Extensible
‱ Deeply embedded in government
‱ Two versions: Commercial & Open Source
COLDFUSION (CFML)
Conventions Based OO MVC Development Platform
MVC ModulesORM DI/AOP
Caching
TDD/
BDD
Powering apps since 2004
‱ Modular CMS
‱ Powered by ColdBox MVC
‱ Content OO Model via Hibernate ORM
‱ Extensible via CFML/Java
‱ 2 Licenses
‱ Open Source - Apache2
‱ Commercial with Support
PROFESSIONAL OPEN SOURCE
‱ Training
‱ Content Migrations
‱ Implementation Strategies
‱ Support & Mentoring
‱ Architecture & Design Sessions
‱ Custom Module/Theme Development
‱ 1st Release 2012
‱ > 17 releases
‱ > 900 registered Box Developers
‱ Open Slack Channel: CFML #box-products
ACTIVE PROJECT + COMMUNITY
What Sets Us Apart
ContentBox Flavors
‹
For any CFML
Engine ‹
(Adobe or Lucee)
Source
Deploy to any Java
Server
WAR
‹
‹
‹
Self-Contained
Server‹
Embedded
Database
USB Sticks
Express
Win a Pi
github.com/ortus-solutions/contentbox #nagwpi
Modularity
ANY‹
ColdBox MVC ‹
Application
ContentBox
Admin
ContentBox
UI
ContentBox
Core
Forum eCommerce
Custom App
Custom
Security
Plugins Model
Events
ColdBox Modules
Flex/Air‹
Remote
Modular Architecture
ContentBox
Admin
ContentBox
UI
ContentBox
Core
Forum eCommerce
Custom
Module
Flex/Air‹
Remote
RESTful QA Module
Google
Analytics
Modular URL Mappings
ContentBox‹
/
ContentBox‹
/site‹
/blog
Store‹
/store‹
/shop
MODULAR DEPLOYMENT
Traditional Deployment
Monolithic APP,
ADMIN,TOOLS,API‹
DMZ
Database
Probes‹
Discovery
Exposed
Modular Segregated Deployment
ContentBox UI
DMZ
Database
ContentBox
Admin
Reporting Security SAP
REST
‱ Not only pages
‱ Hierarchical storage
‱ Store What?
‱ HTML, JS, RSS Feeds, json, data, etc.
‱ API Driven
‱ Power mobile apps
‱ intothebox.org
CONTENT STORE
CONTENT STORE
Scalable + Elastic
‱ Cloud Deployment
‱ http://docs.jelastic.com/contentbox-clustering
‱ Caching Engine Aware:
‱ CouchBase NoSQL
‱ MongoDB
‱ EHCacheTerracota
‱ Amazon ElastiCache
‱ Reddis Cache
‱ High Redundancy
CB
CB
CBCB
CB
Performance
Singleton
Objects‹
ORM Data
Caching
OO
Content
Markup‹
Mediawiki
Markdown‹
Custom
Content
Translation
Final HTML
Output
Similar to
Varnish
Content
Output
Created on
Demand
RSS Feeds
CONTENTBOX FEATURES
‱ WYSIWYG Multi-Editors
‱ Blogging Capabilities
‱ ContentValue Store
‱ Publishing & Expiration Schedulers
‱ Media Managers
‱ Related Content
‱ Markup Support
‱ Content custom ïŹelds
‱ Content categorization
‱ CFML Code Widgets
‱ ContentVersion Control
‱ Localized
FOR EDITORS
‱ SkinningThemes
‱ Multiple layouts per content
‱ PDF/Word/Print Content Exports
‱ Mobile Layouts
‱ Raw Content
‱ MVC approach to views
‱ Automated Menu Builders
‱ Custom Menu Builders
‱ CustomViews
‱ HTML Events
‱ Responsive Live Previews
‱ Reusable Content Widgets
FOR DESIGNERS
‱ Auto Update & Custom Patching
‱ Customizable Permission Based Security
‱ Built-in Firewall
‱ Cache Management
‱ Rate Limiting
‱ Site/Content Export/Import
‱ LoginTrackers & Auth Logs
‱ Admin Modular Deployment
‱ Comment Moderation
‱ Site Maintenance Modes
‱ Module Management
‱ SSL Enforcements
FOR ADMINS
‱ Powered by ColdBox MVC
‱ OO Relational Model
‱ OWASP AntiSamy XSS libraries
‱ Dependency Injection & AOP
‱ > 100 events to listen to
‱ Custom ContentTypes
‱ Pluggable Security/Search
‱ Extensive caching granularity
‱ Modules, Plugins,Widgets,Themes
‱ Extend the UI+Administrator
‱ Geek Panel
‱ ContentBox as an API
FOR DEVELOPERS
DEMO
http://www.ortussolutions.com/products/commandbox
Resources
‱ Session: www.slideshare.net/ortussolutions/content-modularization-is-here
‱ Download: ortusolutions.com/products/contentbox
‱ Source: github.com/ortus-solutions/ContentBox
‱ IssueTracker: ortussolutions.atlassian.net/browse/CONTENTBOX
‱ Google Groups: groups.google.com/d/forum/contentbox
‱ Slack Channel: CFML #box-products
‱ Twitter
‱ @gocontentbox
‱ @ortussolutions
Gracias!
Q & A

Content Modularization Is Here