content modularization is here
TRANSCRIPT
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
TraditionalCMS/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, Office, Sharepoint, Exchange, etc
• Modern OO language constructs
• Typed or Typeless, 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 DatabaseUSB Sticks
Express
Modularity
ANYColdBox MVC
Application
ContentBox Admin
ContentBox UI
ContentBox Core
Forum eCommerce
Custom App
Custom Security Plugins Model
Events
ColdBox Modules
Flex/AirRemote
Modular Architecture
ContentBox Admin
ContentBox UI
ContentBox Core
Forum eCommerce
Custom Module
Flex/AirRemote
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
ProbesDiscoveryExposed
Modular Segregated Deployment
ContentBox UI
DMZ
DatabaseContentBox
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
• EHCache Terracota
• Amazon ElastiCache
• Reddis Cache
• High Redundancy
CB
CB
CB CB
CB
Performance
Singleton Objects
ORM Data Caching
OO
Content Markup
MediawikiMarkdown Custom
Content Translation
Final HTML Output
Similar to Varnish
Content Output
Created on Demand
RSS Feeds
CONTENTBOX FEATURES
• WYSIWYG Multi-Editors
• Blogging Capabilities
• Content Value Store
• Publishing & Expiration Schedulers
• Media Managers
• Related Content
• Markup Support
• Content custom fields
• Content categorization
• CFML Code Widgets
• Content Version Control
• Localized
FOR EDITORS
• Skinning Themes
• Multiple layouts per content
• PDF/Word/Print Content Exports
• Mobile Layouts
• Raw Content
• MVC approach to views
• Automated Menu Builders
• Custom Menu Builders
• Custom Views
• 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
• Login Trackers & 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 Content Types
• 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
• Issue Tracker: ortussolutions.atlassian.net/browse/CONTENTBOX
• Google Groups: groups.google.com/d/forum/contentbox
• Slack Channel: CFML #box-products
• @gocontentbox
• @ortussolutions
Gracias!
Q & A