SlideShare a Scribd company logo
Crazy Contained 
Rethinking Templates and 
Containers in dotCMS 3.0
Who am I? 
• Jason Smith 
• 15 Years w/ dotCMS 
• jason@dotcms.com 
• @fishsmith 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
Overview 
• What are Multi-content Containers 
• How do they work 
• What are the benefits 
• What are some of the challenges 
• Examples & recommendations 
• What could this mean for the future 
• Questions and Answers 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
What Are Multi-content Containers 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
Product 
News 
Location 
Event 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
Video 
Event 
Event 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
Product 
Event 
Event 
Location 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
How Does It Work 
• Reusing Content 
• Adding New Content 
• Create a Multi-content Container 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
Reusing Content 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
Add New Content 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
Create a Multi-content Container 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
What Are The Benefits 
• Fewer Containers 
• Fewer Templates 
• Increased Flexibility 
• More Control for Designers 
• Happier Users 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
What Are The Challenges 
• Using the same code in multiple containers 
• Managing styles and classes 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
Examples & Recommendations 
Ideas 
• Create VTL files for each content type. 
• Create Containers that make sense 
• xs-container, sm-container, md-container 
• left-column, center-column, right-column 
• Organize your Less or Sass to mirror you 
content types 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
VTL for each Content 
Type 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
Taking it a Step Further 
Pre Loop: 
1 
2 
#set($container = “medium-column”) 
<div class=“medium-container”> 
Code: 
1 
#dotParse(‘/application/vtl/containers/news.vtl’) 
Post Loop: 
1 
<div> 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
news.vtl 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
#if($container == “medium-column”) 
<div class=“news”> 
<div class=“news-headline”> 
<a href=“/news/$urlTitle”>$title</a> 
</div> 
<div class=“news-lead"> 
$!{lead} 
</div> 
</div> 
#elseif($container == “large-column”) 
<div class=“news”> 
<img src=“/contentAsset/image/${ContentInode}… 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
VTL for each Content 
Type 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
VTL for each Content 
Type 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
Question & Answer 
Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0

More Related Content

What's hot

Java script tutorial
Java script tutorialJava script tutorial
Java script tutorial
Son Nguyen
 
Full stack development using javascript what and why - ajay chandravadiya
Full stack development using javascript   what and why - ajay chandravadiyaFull stack development using javascript   what and why - ajay chandravadiya
Full stack development using javascript what and why - ajay chandravadiya
ajayrcgmail
 
Web essentials
Web essentials Web essentials
Web essentials
Fadwa Gmiden
 
Super quick introduction to html5
Super quick introduction to html5Super quick introduction to html5
Super quick introduction to html5
Woody Pewitt
 
Using html5 to build offline applications
Using html5 to build offline applicationsUsing html5 to build offline applications
Using html5 to build offline applications
Woody Pewitt
 
Front end-design and best practices
Front end-design and best practicesFront end-design and best practices
Front end-design and best practices
Mario Hernandez
 
How to Build a Bespoke Page Builder in WordPress
How to Build a Bespoke Page Builder in WordPressHow to Build a Bespoke Page Builder in WordPress
How to Build a Bespoke Page Builder in WordPress
Gerald Glynn
 
Introduction to web application development
Introduction to web application developmentIntroduction to web application development
Introduction to web application development
Ayyappadhas K B
 
Ndim1 2009 Web Design
Ndim1 2009 Web DesignNdim1 2009 Web Design
Ndim1 2009 Web Design
guest0121dcd7
 
Club website demo
Club website demoClub website demo
Club website demo
blstov
 
Speedy, solid, semantic layout with Susy
Speedy, solid, semantic layout with SusySpeedy, solid, semantic layout with Susy
Speedy, solid, semantic layout with Susy
frontendne
 
MongoBoston - MongoHQ
MongoBoston - MongoHQMongoBoston - MongoHQ
MongoBoston - MongoHQ
benwyrosdick
 
Web storage
Web storage Web storage
Web storage
PratikDoiphode1
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_phpJeanho Chu
 
Castro Chapter 2
Castro Chapter 2Castro Chapter 2
Castro Chapter 2Jeff Byrnes
 
Web Pages
Web PagesWeb Pages
Web Pages
Sayed Hamid Raza
 
HTML 5, CSS3 and ASP.NET Best Practices by Example
HTML 5, CSS3 and ASP.NET Best Practices by ExampleHTML 5, CSS3 and ASP.NET Best Practices by Example
HTML 5, CSS3 and ASP.NET Best Practices by ExampleDarren Sim
 
WordPress website optimization
WordPress website optimizationWordPress website optimization
WordPress website optimization
Daniel Kanchev
 

What's hot (20)

Java script tutorial
Java script tutorialJava script tutorial
Java script tutorial
 
Full stack development using javascript what and why - ajay chandravadiya
Full stack development using javascript   what and why - ajay chandravadiyaFull stack development using javascript   what and why - ajay chandravadiya
Full stack development using javascript what and why - ajay chandravadiya
 
Web essentials
Web essentials Web essentials
Web essentials
 
Super quick introduction to html5
Super quick introduction to html5Super quick introduction to html5
Super quick introduction to html5
 
Using html5 to build offline applications
Using html5 to build offline applicationsUsing html5 to build offline applications
Using html5 to build offline applications
 
Front end-design and best practices
Front end-design and best practicesFront end-design and best practices
Front end-design and best practices
 
How to Build a Bespoke Page Builder in WordPress
How to Build a Bespoke Page Builder in WordPressHow to Build a Bespoke Page Builder in WordPress
How to Build a Bespoke Page Builder in WordPress
 
Introduction to web application development
Introduction to web application developmentIntroduction to web application development
Introduction to web application development
 
Ndim1 2009 Web Design
Ndim1 2009 Web DesignNdim1 2009 Web Design
Ndim1 2009 Web Design
 
Club website demo
Club website demoClub website demo
Club website demo
 
Speedy, solid, semantic layout with Susy
Speedy, solid, semantic layout with SusySpeedy, solid, semantic layout with Susy
Speedy, solid, semantic layout with Susy
 
MongoBoston - MongoHQ
MongoBoston - MongoHQMongoBoston - MongoHQ
MongoBoston - MongoHQ
 
Web storage
Web storage Web storage
Web storage
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
 
Castro Chapter 2
Castro Chapter 2Castro Chapter 2
Castro Chapter 2
 
Web Pages
Web PagesWeb Pages
Web Pages
 
Html intro
Html introHtml intro
Html intro
 
Lecture11
Lecture11Lecture11
Lecture11
 
HTML 5, CSS3 and ASP.NET Best Practices by Example
HTML 5, CSS3 and ASP.NET Best Practices by ExampleHTML 5, CSS3 and ASP.NET Best Practices by Example
HTML 5, CSS3 and ASP.NET Best Practices by Example
 
WordPress website optimization
WordPress website optimizationWordPress website optimization
WordPress website optimization
 

Similar to Multi-content Containers in dotCMS 3.0

MongoDB .local Bengaluru 2019: A Complete Methodology to Data Modeling for Mo...
MongoDB .local Bengaluru 2019: A Complete Methodology to Data Modeling for Mo...MongoDB .local Bengaluru 2019: A Complete Methodology to Data Modeling for Mo...
MongoDB .local Bengaluru 2019: A Complete Methodology to Data Modeling for Mo...
MongoDB
 
CSS workshop @ OutSystems
CSS workshop @ OutSystemsCSS workshop @ OutSystems
CSS workshop @ OutSystems
Ruben Goncalves
 
Stupid Index Block Tricks
Stupid Index Block TricksStupid Index Block Tricks
Stupid Index Block Tricks
hannonhill
 
Advanced Schema Design Patterns
Advanced Schema Design PatternsAdvanced Schema Design Patterns
Advanced Schema Design Patterns
MongoDB
 
Module 3 - Intro to Bootstrap
Module 3 - Intro to BootstrapModule 3 - Intro to Bootstrap
Module 3 - Intro to Bootstrap
Katherine McCurdy-Lapierre, R.G.D.
 
Object Oriented CSS
Object Oriented CSSObject Oriented CSS
Object Oriented CSS
Derek Bender
 
Intro to OOCSS Workshop
Intro to OOCSS WorkshopIntro to OOCSS Workshop
Intro to OOCSS Workshop
Julie Cameron
 
Don Stanley's Web Design 101 LSC 532 lecture 3
Don Stanley's Web Design 101 LSC 532 lecture 3Don Stanley's Web Design 101 LSC 532 lecture 3
Don Stanley's Web Design 101 LSC 532 lecture 3
Don Stanley
 
Css week10 2019 2020 for g10 by eng.osama ghandour
Css week10 2019 2020 for g10 by eng.osama ghandourCss week10 2019 2020 for g10 by eng.osama ghandour
Css week10 2019 2020 for g10 by eng.osama ghandour
Osama Ghandour Geris
 
Css best practices style guide and tips
Css best practices style guide and tipsCss best practices style guide and tips
Css best practices style guide and tips
Chris Love
 
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Deepak Sharma
 
Building a CSS Architecture for Design Systems
Building a CSS Architecture for Design SystemsBuilding a CSS Architecture for Design Systems
Building a CSS Architecture for Design Systems
Christina Truong
 
11 Amazing things I Learnt At Word Camp Sydney 2014
11 Amazing things I Learnt At Word Camp Sydney 201411 Amazing things I Learnt At Word Camp Sydney 2014
11 Amazing things I Learnt At Word Camp Sydney 2014
WordPressBrisbane
 
Web design-workflow
Web design-workflowWeb design-workflow
Web design-workflowPeter Kaizer
 
MongoDB.local Sydney 2019: Data Modeling for MongoDB
MongoDB.local Sydney 2019: Data Modeling for MongoDBMongoDB.local Sydney 2019: Data Modeling for MongoDB
MongoDB.local Sydney 2019: Data Modeling for MongoDB
MongoDB
 
HTML5, CSS3 & Responsive Design
HTML5, CSS3 & Responsive DesignHTML5, CSS3 & Responsive Design
HTML5, CSS3 & Responsive Design
Fawzia Essa
 
Best practices with development of enterprise-scale SharePoint solutions - Pa...
Best practices with development of enterprise-scale SharePoint solutions - Pa...Best practices with development of enterprise-scale SharePoint solutions - Pa...
Best practices with development of enterprise-scale SharePoint solutions - Pa...
SPC Adriatics
 
Managing Database Indexes: A Data-Driven Approach - Amadeus Magrabi
Managing Database Indexes: A Data-Driven Approach - Amadeus MagrabiManaging Database Indexes: A Data-Driven Approach - Amadeus Magrabi
Managing Database Indexes: A Data-Driven Approach - Amadeus Magrabi
Amadeus Magrabi
 
Css week11 2019 2020 for g10 by eng.osama ghandour
Css week11 2019 2020 for g10 by eng.osama ghandourCss week11 2019 2020 for g10 by eng.osama ghandour
Css week11 2019 2020 for g10 by eng.osama ghandour
Osama Ghandour Geris
 
Advanced Schema Design Patterns
Advanced Schema Design PatternsAdvanced Schema Design Patterns
Advanced Schema Design Patterns
MongoDB
 

Similar to Multi-content Containers in dotCMS 3.0 (20)

MongoDB .local Bengaluru 2019: A Complete Methodology to Data Modeling for Mo...
MongoDB .local Bengaluru 2019: A Complete Methodology to Data Modeling for Mo...MongoDB .local Bengaluru 2019: A Complete Methodology to Data Modeling for Mo...
MongoDB .local Bengaluru 2019: A Complete Methodology to Data Modeling for Mo...
 
CSS workshop @ OutSystems
CSS workshop @ OutSystemsCSS workshop @ OutSystems
CSS workshop @ OutSystems
 
Stupid Index Block Tricks
Stupid Index Block TricksStupid Index Block Tricks
Stupid Index Block Tricks
 
Advanced Schema Design Patterns
Advanced Schema Design PatternsAdvanced Schema Design Patterns
Advanced Schema Design Patterns
 
Module 3 - Intro to Bootstrap
Module 3 - Intro to BootstrapModule 3 - Intro to Bootstrap
Module 3 - Intro to Bootstrap
 
Object Oriented CSS
Object Oriented CSSObject Oriented CSS
Object Oriented CSS
 
Intro to OOCSS Workshop
Intro to OOCSS WorkshopIntro to OOCSS Workshop
Intro to OOCSS Workshop
 
Don Stanley's Web Design 101 LSC 532 lecture 3
Don Stanley's Web Design 101 LSC 532 lecture 3Don Stanley's Web Design 101 LSC 532 lecture 3
Don Stanley's Web Design 101 LSC 532 lecture 3
 
Css week10 2019 2020 for g10 by eng.osama ghandour
Css week10 2019 2020 for g10 by eng.osama ghandourCss week10 2019 2020 for g10 by eng.osama ghandour
Css week10 2019 2020 for g10 by eng.osama ghandour
 
Css best practices style guide and tips
Css best practices style guide and tipsCss best practices style guide and tips
Css best practices style guide and tips
 
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
 
Building a CSS Architecture for Design Systems
Building a CSS Architecture for Design SystemsBuilding a CSS Architecture for Design Systems
Building a CSS Architecture for Design Systems
 
11 Amazing things I Learnt At Word Camp Sydney 2014
11 Amazing things I Learnt At Word Camp Sydney 201411 Amazing things I Learnt At Word Camp Sydney 2014
11 Amazing things I Learnt At Word Camp Sydney 2014
 
Web design-workflow
Web design-workflowWeb design-workflow
Web design-workflow
 
MongoDB.local Sydney 2019: Data Modeling for MongoDB
MongoDB.local Sydney 2019: Data Modeling for MongoDBMongoDB.local Sydney 2019: Data Modeling for MongoDB
MongoDB.local Sydney 2019: Data Modeling for MongoDB
 
HTML5, CSS3 & Responsive Design
HTML5, CSS3 & Responsive DesignHTML5, CSS3 & Responsive Design
HTML5, CSS3 & Responsive Design
 
Best practices with development of enterprise-scale SharePoint solutions - Pa...
Best practices with development of enterprise-scale SharePoint solutions - Pa...Best practices with development of enterprise-scale SharePoint solutions - Pa...
Best practices with development of enterprise-scale SharePoint solutions - Pa...
 
Managing Database Indexes: A Data-Driven Approach - Amadeus Magrabi
Managing Database Indexes: A Data-Driven Approach - Amadeus MagrabiManaging Database Indexes: A Data-Driven Approach - Amadeus Magrabi
Managing Database Indexes: A Data-Driven Approach - Amadeus Magrabi
 
Css week11 2019 2020 for g10 by eng.osama ghandour
Css week11 2019 2020 for g10 by eng.osama ghandourCss week11 2019 2020 for g10 by eng.osama ghandour
Css week11 2019 2020 for g10 by eng.osama ghandour
 
Advanced Schema Design Patterns
Advanced Schema Design PatternsAdvanced Schema Design Patterns
Advanced Schema Design Patterns
 

More from Jason Smith

Scaling and Fault-resistance strategies and geography
Scaling and Fault-resistance strategies and geographyScaling and Fault-resistance strategies and geography
Scaling and Fault-resistance strategies and geography
Jason Smith
 
The Good Cluster and Auto Scaling Made Simple
The Good Cluster and Auto Scaling Made SimpleThe Good Cluster and Auto Scaling Made Simple
The Good Cluster and Auto Scaling Made Simple
Jason Smith
 
dotCMS - Move Forward, Build Faster, Get Farther
dotCMS - Move Forward, Build Faster, Get FartherdotCMS - Move Forward, Build Faster, Get Farther
dotCMS - Move Forward, Build Faster, Get Farther
Jason Smith
 
"Push Publishing Power
"Push Publishing Power"Push Publishing Power
"Push Publishing Power
Jason Smith
 
There is a Cure - Diagnosing and Overcoming Common Problems in dotCMS Server ...
There is a Cure - Diagnosing and Overcoming Common Problems in dotCMS Server ...There is a Cure - Diagnosing and Overcoming Common Problems in dotCMS Server ...
There is a Cure - Diagnosing and Overcoming Common Problems in dotCMS Server ...
Jason Smith
 
Marketing Automation with dotCMS
Marketing Automation with dotCMSMarketing Automation with dotCMS
Marketing Automation with dotCMS
Jason Smith
 

More from Jason Smith (6)

Scaling and Fault-resistance strategies and geography
Scaling and Fault-resistance strategies and geographyScaling and Fault-resistance strategies and geography
Scaling and Fault-resistance strategies and geography
 
The Good Cluster and Auto Scaling Made Simple
The Good Cluster and Auto Scaling Made SimpleThe Good Cluster and Auto Scaling Made Simple
The Good Cluster and Auto Scaling Made Simple
 
dotCMS - Move Forward, Build Faster, Get Farther
dotCMS - Move Forward, Build Faster, Get FartherdotCMS - Move Forward, Build Faster, Get Farther
dotCMS - Move Forward, Build Faster, Get Farther
 
"Push Publishing Power
"Push Publishing Power"Push Publishing Power
"Push Publishing Power
 
There is a Cure - Diagnosing and Overcoming Common Problems in dotCMS Server ...
There is a Cure - Diagnosing and Overcoming Common Problems in dotCMS Server ...There is a Cure - Diagnosing and Overcoming Common Problems in dotCMS Server ...
There is a Cure - Diagnosing and Overcoming Common Problems in dotCMS Server ...
 
Marketing Automation with dotCMS
Marketing Automation with dotCMSMarketing Automation with dotCMS
Marketing Automation with dotCMS
 

Recently uploaded

Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 

Recently uploaded (20)

Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 

Multi-content Containers in dotCMS 3.0

  • 1.
  • 2. Crazy Contained Rethinking Templates and Containers in dotCMS 3.0
  • 3. Who am I? • Jason Smith • 15 Years w/ dotCMS • jason@dotcms.com • @fishsmith Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 4. Overview • What are Multi-content Containers • How do they work • What are the benefits • What are some of the challenges • Examples & recommendations • What could this mean for the future • Questions and Answers Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 5. What Are Multi-content Containers Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 6. Product News Location Event Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 7. Video Event Event Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 8. Product Event Event Location Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 9. How Does It Work • Reusing Content • Adding New Content • Create a Multi-content Container Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 10. Reusing Content Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 11. Add New Content Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 12. Create a Multi-content Container Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 13. What Are The Benefits • Fewer Containers • Fewer Templates • Increased Flexibility • More Control for Designers • Happier Users Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 14. What Are The Challenges • Using the same code in multiple containers • Managing styles and classes Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 15. Examples & Recommendations Ideas • Create VTL files for each content type. • Create Containers that make sense • xs-container, sm-container, md-container • left-column, center-column, right-column • Organize your Less or Sass to mirror you content types Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 16. VTL for each Content Type Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 17. Taking it a Step Further Pre Loop: 1 2 #set($container = “medium-column”) <div class=“medium-container”> Code: 1 #dotParse(‘/application/vtl/containers/news.vtl’) Post Loop: 1 <div> Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 18. news.vtl 1 2 3 4 5 6 7 8 9 10 11 12 #if($container == “medium-column”) <div class=“news”> <div class=“news-headline”> <a href=“/news/$urlTitle”>$title</a> </div> <div class=“news-lead"> $!{lead} </div> </div> #elseif($container == “large-column”) <div class=“news”> <img src=“/contentAsset/image/${ContentInode}… Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 19. VTL for each Content Type Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 20. VTL for each Content Type Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0
  • 21. Question & Answer Crazy Contained - Rethinking Templates & Containers in dotCMS 3.0