Going Multi-Tenant with dotCMS
-
Upload
dotcms -
Category
Technology
-
view
2.823 -
download
1
description
Transcript of Going Multi-Tenant with dotCMS
![Page 1: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/1.jpg)
Building a
CRAPLOADof Web Sites in dotCMS
![Page 2: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/2.jpg)
OR
Creating a Site Building Framework
in dotCMS
![Page 3: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/3.jpg)
![Page 4: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/4.jpg)
700 WEB SITESWE ARE CURRENTLY CONVERTING
to dotCMS 1.9
![Page 5: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/5.jpg)
CONVENTIONSare your friend
![Page 6: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/6.jpg)
A connected base framework of HTML, CSS,
JavaScript, Velocity, and Containers that provide a
solid foundation for all sites.
![Page 7: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/7.jpg)
Why Conventions Are Awesome
• Keeps your team on the same page
• You can go into any project and understand what’s going on, even if you didn’t start it
• You can go to edit an existing site and know exactly where to go to make changes
• Speedy implementations of CSS, JavaScript, Velocity, and other cool stuff
• Enables designers and project managers to implement complex functionality
• Ensures quality control
![Page 8: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/8.jpg)
How we're using conventions
• “Pluggable” pieces
• Sharing as much code as possible across hosts
• Naming conventions
• Folder structure
• Browser Support, Graceful Degradation, Progressive Enrichment
• jQuery minimalism
• Project Stages and Basecamp
![Page 9: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/9.jpg)
2GLOBAL
LOCALbe lazy
vs.
![Page 10: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/10.jpg)
In 1.9 everything lives self-contained on a host.
Because the sites run on the same code base, this
means that we would end up with lots of dupli-
cate containers, vtls, CSS, and jQuery plugins.
![Page 11: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/11.jpg)
Global Host
• The host where we distribute all the global pieces of our site building framework.
• Host CSS for base layouts, print styles, and mobile styles
• Host jQuery plugins and other global JavaScript
• Host all containers for velocity powered functionality and HTML
• Global content delivery (CDN)
• Host files referenced by widgets and containers used across sites
![Page 12: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/12.jpg)
Basically, we come back to the age-old principle
of being lazy. Do something once, and then reuse
it a thousand times.
![Page 13: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/13.jpg)
3AND NOWAN
EXAMPLE
![Page 14: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/14.jpg)
St. Mark's Hospital
![Page 15: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/15.jpg)
![Page 16: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/16.jpg)
![Page 17: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/17.jpg)
![Page 18: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/18.jpg)
![Page 19: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/19.jpg)
![Page 20: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/20.jpg)
![Page 21: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/21.jpg)
![Page 22: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/22.jpg)
![Page 23: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/23.jpg)
![Page 24: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/24.jpg)
![Page 25: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/25.jpg)
![Page 26: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/26.jpg)
GLOBAL HOST
print.css mobile.css ie6-reset.cssreset.css base.css
LOCAL HOST
ie6.cssscreen.css ie7.css
CSS
![Page 27: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/27.jpg)
reset.css
• resets all the annoying default styles that browsers love to add
• provides a blank slate to start from
• on global host and cached across all of our hosts
![Page 28: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/28.jpg)
base.css and screen.css
• controls basic layout
• hosted globally
• @ import the base of your choice for a layout
• screen.css provides layer of typographic and graphic styling locally
![Page 29: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/29.jpg)
print.css
![Page 30: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/30.jpg)
![Page 31: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/31.jpg)
ie6-reset.css
• not all browsers, especially older ones, are going to see exactly the same design
• providing a layer of content level support by using one stylesheet that provides a simple, usable design
• using the same HTML naming conventions makes this really easy
![Page 32: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/32.jpg)
![Page 33: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/33.jpg)
![Page 34: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/34.jpg)
mobile.css
• User Agent detection
• iPhone specific Meta tags
• Currently works with iPhone, iPod, iPad (he he) and most other mobile browsers
• Fully CSS-powered; no JS
![Page 35: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/35.jpg)
![Page 36: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/36.jpg)
jQuery
![Page 37: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/37.jpg)
![Page 38: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/38.jpg)
![Page 39: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/39.jpg)
Omniture Analytics
![Page 40: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/40.jpg)
Omniture Search
• meta tag based indexing controlled by logic in the head container
• giant content pull for indexing (site-map.dot)
• xml based response
• results page widget
![Page 41: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/41.jpg)
ehc Components
• Distributed across all our sites, tying into our global host.
• similar to dotCMS’s Application widget
• Versioning by structure. ehc Components v1 widgets, v2, v3 ... v#
![Page 42: Going Multi-Tenant with dotCMS](https://reader038.fdocuments.us/reader038/viewer/2022110114/545c8a45b0af9f12318b48f2/html5/thumbnails/42.jpg)
Watch for more details on our blog.