SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Advanced Usage of Multi Site Functionality
                             by
                             by


                        Olli Aro
     Head of Technology & Products, Clicks and Links Ltd
     Head of Technology & Products, Clicks and Links Ltd
About Us…
 • Clicks and Links
    – UK based IT consultancy
    – Specialised in innovation (Second Life) and Open Source software
    – The oldest UK based OpenCms solution provider, since OpenCms version
      4
    – Released many OpenCms Open Source modules and fixes over the years
    – Contributions to OpenCms Wiki

 • Olli Aro
    – Involved in OpenCms project, since 2001
    – Active member of OpenCms community
    – Reviewer for all published OpenCms books
Why should we get excited…
… about Multi Site Functionality
•    Single platform to maintain
•    Single platform to backup
•    Reduced hardware
•    Possibility to share functionality between sites
•    Better for environment
•    Reduced project costs      more competitive pricing
Real Life Show Cases
Our Hosted OpenCms Platform
•   Hosted OpenCms platform for small to
    medium scale website projects

•   Option to choose between a generic
    configurable template or completely
    bespoken website functionality

•   Identical functionality available
    compared to dedicated OpenCms
    installations

•   More attractive project costs

•   More competitive hosting and support
    costs

•   Always up to date
OnCampus UK
•   Provides websites for
    over 300 student unions
    in the UK

•   Websites are free to the
    unions, hence the
    project and ongoing
    costs are critical

•   Same functionality,
    individual look and feel

•   Fast site roll out, 5 sites
    per day

•   Bespoken functionality
    and integration
Multi Site Infrastructure
Web Server
                             (Virtual Hosts)




                         Application Server
                          (OpenCms application)




Database Server                                    File System
(Dynamic data storage)                            (Static data storage)
Web Server Configuration
Virtual Host Configuration
  <VirtualHost *:80>
       ServerName www.site1.com
       ServerAdmin systemadmin@clicksandlinks.com
       ErrorLog /usr/local/apache/logs/www.site1.com-error_log
       CustomLog /usr/local/apache/logs/www.site1.com-access_log combined

      JkMount /opencms/* ajp13w

  </VirtualHost>
Rewrite Rules & Static Content
   <VirtualHost *:80>
        ServerName www.site1.com
        ServerAdmin systemadmin@clicksandlinks.com
        ErrorLog logs/www.site1.com-error_log
        CustomLog logs/www.site1.com-access_log combined

       RewriteEngine on
       RewriteLog logs/www.site1.com-rewrite_log
       RewriteLogLevel 0

       Alias /static_files quot;/usr/local/tomcat/webapps/opencms/export“
       RewriteRule ^/download/(.*)$ /static_files/download/$1 [PT]
       RewriteRule ^/pics/(.*)$ /static_files/pics/$1 [PT]

        JkMount /opencms/* ajp13w

   </VirtualHost>
OpenCms Configuration
Application Configurations
• opencms-system.xml
   …
   <sites>
       <workplace-server>http://opencms.clicksandlinks.com</workplace-server>
       <default-uri>/sites/default/</default-uri>
       <site server=quot;http://opencms.clicksandlinks.comquot; uri=quot;/sites/default/quot;/>
       <site server=quot;http://www.site1.comquot; uri=quot;/sites/site1/quot;/>
       <site server=quot;http://www.site2.comquot; uri=quot;/sites/site2/quot;/>
      <site server=quot;http://www.site3.comquot; uri=quot;/sites/site3/quot;/>
      <site server=quot;http://www.site4.comquot; uri=quot;/sites/site4/quot;/>
      …
   </sites>
   …
User Management & Access
Permissions
•   Site specific organisation unit

•   Remove default Users group permissions from /sites folder
    (excluding read permission)

•   Give permissions for each /sites/site1 folder for the Users group in
    that organisational unit

•   Remove default Users group permissions from /system/galleries
    folder

•   Give permissions for each /system/galleries/… folder for the User
    group in that organisation unit
Search Management

• Create a dedicated search index for each site

• Make sure that your search page utilises the correct index
Template Configuration
Single Master Template Approach
• Template drop down is confusing    Risk of users selecting
  a wrong template  a support ticket

• Using single master template allows you to revise your
  template structure in future without need to rename
  template properties for pages

• Difficult to get content types working between different sites
  without single master template

• Ways to implement:-
   – Select the sub template dynamically e.g. based on URL
     pattern
   – Configurable template based on XML configuration file
Dynamic Master Template

  …
  if (DOMAIN_NAME.equals(“www.site1.com”)
      cms.include(“/system/modules/site1/templates/contenttemplate.jsp”);
  else if (DOMAIN_NAME.equals(“www.site2.com”)
      cms.include(“/system/modules/site2/templates/contenttemplate.jsp”);
  else if (DOMAIN_NAME.equals(“www.site3.com”)
      cms.include(“/system/modules/site3/templates/contenttemplate.jsp”);
  …
Configurable Master Template
Content Types & JSP Injection
Opencms-modules.xml
  …
  <type class=quot;org.opencms.file.types.CmsResourceTypeXmlContentquot; name=quot;rsspagequot; id=quot;151quot;>
              <properties>
                <property>
                   <name>template-elements</name>
                   <value type=quot;sharedquot;><![CDATA[/system/modules/com.clicksandlinks.opencms.rss/pages/
                                rsspage_empty.jsp]]></value>
                </property>
                <property>
                   <name>template</name>
                   <value type=quot;sharedquot;><![CDATA[/system/modules/com.clicksandlinks.opencms.sites.generic/
                                templates/contentTemplate.jsp]]></value>
                </property>
                <property>
                   <name>body-template</name>
                   <value type=quot;sharedquot;><![CDATA[/system/modules/com.clicksandlinks.opencms.rss/
                                pages/rsspage.jsp]]></value>
                </property>
              </properties>
              <param name=quot;schemaquot;>/system/modules/com.clicksandlinks.opencms.rss/schema/rsspage.xsd</param>
           </type>
  …
rsspage_empty.jsp
  <%@ taglib prefix=quot;cmsquot; uri=quot;http://www.opencms.org/taglib/cmsquot; %>
  <%@ taglib prefix=quot;cquot; uri=quot;http://java.sun.com/jsp/jstl/corequot; %>
  <c:set var=quot;temp_templatequot;><cms:property name=quot;templatequot;/></c:set>
  <c:if test=quot;${!empty temp_template}quot;>
     <cms:include><c:out value=quot;${temp_template}quot; /></cms:include>
  </c:if>




pagebody.jsp
  <%@ taglib prefix=quot;cmsquot; uri=quot;http://www.opencms.org/taglib/cmsquot; %>
  <%@ taglib prefix=quot;cquot; uri=quot;http://java.sun.com/jsp/jstl/corequot; %>
  <c:set var=quot;temp_body_templatequot;><cms:property name=quot;body-templatequot;/></c:set>
  <c:if test=quot;${!empty temp_body_template}quot;>
     <cms:include><c:out value=quot;${temp_body_template}quot; /></cms:include>
  </c:if>
  <c:if test=quot;${empty temp_body_template}quot;>
     <cms:include element=quot;bodyquot; editable=quot;truequot; />
  </c:if>
Questions?

        Thank you

olli.aro@clicksandlinks.com

Weitere ähnliche Inhalte

Was ist angesagt?

Building and managing java projects with maven part-III
Building and managing java projects with maven part-IIIBuilding and managing java projects with maven part-III
Building and managing java projects with maven part-IIIprinceirfancivil
 
S314011 - Developing Composite Applications for the Cloud with Apache Tuscany
S314011 - Developing Composite Applications for the Cloud with Apache TuscanyS314011 - Developing Composite Applications for the Cloud with Apache Tuscany
S314011 - Developing Composite Applications for the Cloud with Apache TuscanyLuciano Resende
 
Streamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web FrameworksStreamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web Frameworksguestf7bc30
 
Optaros Surf Code Camp Dispatcher
Optaros Surf Code Camp DispatcherOptaros Surf Code Camp Dispatcher
Optaros Surf Code Camp DispatcherJeff Potts
 
Building and Managing Projects with Maven
Building and Managing Projects with MavenBuilding and Managing Projects with Maven
Building and Managing Projects with MavenKhan625
 
11 page-directive
11 page-directive11 page-directive
11 page-directivesnopteck
 
OSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingOSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingCarsten Ziegeler
 
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on NginxEasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on NginxrtCamp
 
Effective Web Application Development with Apache Sling
Effective Web Application Development with Apache SlingEffective Web Application Development with Apache Sling
Effective Web Application Development with Apache SlingRobert Munteanu
 
RESTful web apps with Apache Sling - 2013 version
RESTful web apps with Apache Sling - 2013 versionRESTful web apps with Apache Sling - 2013 version
RESTful web apps with Apache Sling - 2013 versionBertrand Delacretaz
 
Optaros Surf Code Camp Lab 2
Optaros Surf Code Camp Lab 2Optaros Surf Code Camp Lab 2
Optaros Surf Code Camp Lab 2Jeff Potts
 
WordPress as the Backbone(.js)
WordPress as the Backbone(.js)WordPress as the Backbone(.js)
WordPress as the Backbone(.js)Beau Lebens
 
Rest and Sling Resolution
Rest and Sling ResolutionRest and Sling Resolution
Rest and Sling ResolutionDEEPAK KHETAWAT
 
HTL(Sightly) - All you need to know
HTL(Sightly) - All you need to knowHTL(Sightly) - All you need to know
HTL(Sightly) - All you need to knowPrabhdeep Singh
 
REST Introduction (PHP London)
REST Introduction (PHP London)REST Introduction (PHP London)
REST Introduction (PHP London)Paul James
 
WordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesWordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesDanilo Ercoli
 
Improve WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of codeImprove WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of codeDanilo Ercoli
 
Aspnet2 Overview
Aspnet2 OverviewAspnet2 Overview
Aspnet2 Overviewajitbergi
 

Was ist angesagt? (20)

Building and managing java projects with maven part-III
Building and managing java projects with maven part-IIIBuilding and managing java projects with maven part-III
Building and managing java projects with maven part-III
 
S314011 - Developing Composite Applications for the Cloud with Apache Tuscany
S314011 - Developing Composite Applications for the Cloud with Apache TuscanyS314011 - Developing Composite Applications for the Cloud with Apache Tuscany
S314011 - Developing Composite Applications for the Cloud with Apache Tuscany
 
Streamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web FrameworksStreamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web Frameworks
 
Optaros Surf Code Camp Dispatcher
Optaros Surf Code Camp DispatcherOptaros Surf Code Camp Dispatcher
Optaros Surf Code Camp Dispatcher
 
Building and Managing Projects with Maven
Building and Managing Projects with MavenBuilding and Managing Projects with Maven
Building and Managing Projects with Maven
 
Metarefresh
MetarefreshMetarefresh
Metarefresh
 
11 page-directive
11 page-directive11 page-directive
11 page-directive
 
OSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingOSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache Sling
 
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on NginxEasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
 
Effective Web Application Development with Apache Sling
Effective Web Application Development with Apache SlingEffective Web Application Development with Apache Sling
Effective Web Application Development with Apache Sling
 
RESTful web apps with Apache Sling - 2013 version
RESTful web apps with Apache Sling - 2013 versionRESTful web apps with Apache Sling - 2013 version
RESTful web apps with Apache Sling - 2013 version
 
Optaros Surf Code Camp Lab 2
Optaros Surf Code Camp Lab 2Optaros Surf Code Camp Lab 2
Optaros Surf Code Camp Lab 2
 
Flash And Dom
Flash And DomFlash And Dom
Flash And Dom
 
WordPress as the Backbone(.js)
WordPress as the Backbone(.js)WordPress as the Backbone(.js)
WordPress as the Backbone(.js)
 
Rest and Sling Resolution
Rest and Sling ResolutionRest and Sling Resolution
Rest and Sling Resolution
 
HTL(Sightly) - All you need to know
HTL(Sightly) - All you need to knowHTL(Sightly) - All you need to know
HTL(Sightly) - All you need to know
 
REST Introduction (PHP London)
REST Introduction (PHP London)REST Introduction (PHP London)
REST Introduction (PHP London)
 
WordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesWordPress Development Tools and Best Practices
WordPress Development Tools and Best Practices
 
Improve WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of codeImprove WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of code
 
Aspnet2 Overview
Aspnet2 OverviewAspnet2 Overview
Aspnet2 Overview
 

Andere mochten auch

Favorite android apps
Favorite android appsFavorite android apps
Favorite android appsdudarev
 
Whooping Cranes At Gridley
Whooping Cranes At GridleyWhooping Cranes At Gridley
Whooping Cranes At Gridleygracem
 
GeoTree - библиотека для гео-данных в Google App Engine
GeoTree - библиотека для гео-данных в Google App Engine GeoTree - библиотека для гео-данных в Google App Engine
GeoTree - библиотека для гео-данных в Google App Engine dudarev
 
C:\documents and settings\pt\escritorio\prueba1
C:\documents and settings\pt\escritorio\prueba1C:\documents and settings\pt\escritorio\prueba1
C:\documents and settings\pt\escritorio\prueba1maestrodept
 
Django with Mongo using Mongoengine
Django with Mongo using MongoengineDjango with Mongo using Mongoengine
Django with Mongo using Mongoenginedudarev
 

Andere mochten auch (7)

Favorite android apps
Favorite android appsFavorite android apps
Favorite android apps
 
Archivo Pdf
Archivo PdfArchivo Pdf
Archivo Pdf
 
Chicazine
ChicazineChicazine
Chicazine
 
Whooping Cranes At Gridley
Whooping Cranes At GridleyWhooping Cranes At Gridley
Whooping Cranes At Gridley
 
GeoTree - библиотека для гео-данных в Google App Engine
GeoTree - библиотека для гео-данных в Google App Engine GeoTree - библиотека для гео-данных в Google App Engine
GeoTree - библиотека для гео-данных в Google App Engine
 
C:\documents and settings\pt\escritorio\prueba1
C:\documents and settings\pt\escritorio\prueba1C:\documents and settings\pt\escritorio\prueba1
C:\documents and settings\pt\escritorio\prueba1
 
Django with Mongo using Mongoengine
Django with Mongo using MongoengineDjango with Mongo using Mongoengine
Django with Mongo using Mongoengine
 

Ähnlich wie T5 Oli Aro

Internet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyInternet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyChristian Thilmany
 
Orbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyOrbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyMark Meeker
 
Service Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMixService Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMixBruce Snyder
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
Front End Website Optimization
Front End Website OptimizationFront End Website Optimization
Front End Website OptimizationGerard Sychay
 
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014Amazon Web Services
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站areyouok
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站topgeek
 
Strut2-Spring-Hibernate
Strut2-Spring-HibernateStrut2-Spring-Hibernate
Strut2-Spring-HibernateJay Shah
 
More Secrets of JavaScript Libraries
More Secrets of JavaScript LibrariesMore Secrets of JavaScript Libraries
More Secrets of JavaScript Librariesjeresig
 
Servlet., tomcat server, implicit jsp object
Servlet., tomcat server, implicit jsp objectServlet., tomcat server, implicit jsp object
Servlet., tomcat server, implicit jsp objectADITYADIXIT974283
 
Apache Roller, Acegi Security and Single Sign-on
Apache Roller, Acegi Security and Single Sign-onApache Roller, Acegi Security and Single Sign-on
Apache Roller, Acegi Security and Single Sign-onMatt Raible
 
Ajax to the Moon
Ajax to the MoonAjax to the Moon
Ajax to the Moondavejohnson
 
Systems Automation with Puppet
Systems Automation with PuppetSystems Automation with Puppet
Systems Automation with Puppetelliando dias
 

Ähnlich wie T5 Oli Aro (20)

Internet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyInternet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian Thilmany
 
Orbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyOrbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case Study
 
WordPress APIs
WordPress APIsWordPress APIs
WordPress APIs
 
Service Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMixService Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMix
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
JavaScripts & jQuery
JavaScripts & jQueryJavaScripts & jQuery
JavaScripts & jQuery
 
Front End Website Optimization
Front End Website OptimizationFront End Website Optimization
Front End Website Optimization
 
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
 
Strut2-Spring-Hibernate
Strut2-Spring-HibernateStrut2-Spring-Hibernate
Strut2-Spring-Hibernate
 
More Secrets of JavaScript Libraries
More Secrets of JavaScript LibrariesMore Secrets of JavaScript Libraries
More Secrets of JavaScript Libraries
 
Servlet., tomcat server, implicit jsp object
Servlet., tomcat server, implicit jsp objectServlet., tomcat server, implicit jsp object
Servlet., tomcat server, implicit jsp object
 
Apache Roller, Acegi Security and Single Sign-on
Apache Roller, Acegi Security and Single Sign-onApache Roller, Acegi Security and Single Sign-on
Apache Roller, Acegi Security and Single Sign-on
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
 
Ajax to the Moon
Ajax to the MoonAjax to the Moon
Ajax to the Moon
 
Systems Automation with Puppet
Systems Automation with PuppetSystems Automation with Puppet
Systems Automation with Puppet
 

Kürzlich hochgeladen

Independent Diamond Harbour Escorts ✔ 9332606886✔ Full Night With Room Online...
Independent Diamond Harbour Escorts ✔ 9332606886✔ Full Night With Room Online...Independent Diamond Harbour Escorts ✔ 9332606886✔ Full Night With Room Online...
Independent Diamond Harbour Escorts ✔ 9332606886✔ Full Night With Room Online...Riya Pathan
 
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...russian goa call girl and escorts service
 
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort ServiceBorum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort ServiceDamini Dixit
 
2k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 92055419142k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 9205541914Delhi Call girls
 
Tikiapara Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex A...
Tikiapara Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex A...Tikiapara Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex A...
Tikiapara Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex A...aamir
 
Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser... Shivani Pandey
 
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...ritikasharma
 
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...rahim quresi
 
Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24...
Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24...Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24...
Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24... Shivani Pandey
 
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...ritikasharma
 
❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.
❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.
❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.Nitya salvi
 
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034 Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034  Independent Chenna...Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034  Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034 Independent Chenna... Shivani Pandey
 
Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...rahim quresi
 
Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...
Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...
Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...Riya Pathan
 
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
𓀤Call On 6297143586 𓀤 Park Street Call Girls In All Kolkata 24/7 Provide Call...
𓀤Call On 6297143586 𓀤 Park Street Call Girls In All Kolkata 24/7 Provide Call...𓀤Call On 6297143586 𓀤 Park Street Call Girls In All Kolkata 24/7 Provide Call...
𓀤Call On 6297143586 𓀤 Park Street Call Girls In All Kolkata 24/7 Provide Call...rahim quresi
 
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...ritikasharma
 

Kürzlich hochgeladen (20)

Independent Diamond Harbour Escorts ✔ 9332606886✔ Full Night With Room Online...
Independent Diamond Harbour Escorts ✔ 9332606886✔ Full Night With Room Online...Independent Diamond Harbour Escorts ✔ 9332606886✔ Full Night With Room Online...
Independent Diamond Harbour Escorts ✔ 9332606886✔ Full Night With Room Online...
 
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
 
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort ServiceBorum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Borum Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
 
2k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 92055419142k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 9205541914
 
Tikiapara Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex A...
Tikiapara Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex A...Tikiapara Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex A...
Tikiapara Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Sex A...
 
Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Velappanchavadi WhatsApp Booking 7427069034 call girl ser...
 
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...
 
Desi Bhabhi Call Girls In Goa 💃 730 02 72 001💃desi Bhabhi Escort Goa
Desi Bhabhi Call Girls  In Goa  💃 730 02 72 001💃desi Bhabhi Escort GoaDesi Bhabhi Call Girls  In Goa  💃 730 02 72 001💃desi Bhabhi Escort Goa
Desi Bhabhi Call Girls In Goa 💃 730 02 72 001💃desi Bhabhi Escort Goa
 
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Ultadanga Call Girls In All Kolkata 24/7 Provide Call W...
 
Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24...
Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24...Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24...
Model Call Girls In Ariyalur WhatsApp Booking 7427069034 call girl service 24...
 
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...
 
❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.
❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.
❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.
 
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034 Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034  Independent Chenna...Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034  Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034 Independent Chenna...
 
Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...
Sonagachi ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Rea...
 
Chat 9316020077💋 Call Girls Agency In Goa By Goa Call Girls Agency 💋
Chat 9316020077💋 Call Girls  Agency In Goa  By Goa  Call Girls  Agency 💋Chat 9316020077💋 Call Girls  Agency In Goa  By Goa  Call Girls  Agency 💋
Chat 9316020077💋 Call Girls Agency In Goa By Goa Call Girls Agency 💋
 
Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...
Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...
Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...
 
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Manjri Call Me 7737669865 Budget Friendly No Advance Booking
 
Goa Call Girls 9316020077 Call Girls In Goa By Russian Call Girl in goa
Goa Call Girls 9316020077 Call Girls  In Goa By Russian Call Girl in goaGoa Call Girls 9316020077 Call Girls  In Goa By Russian Call Girl in goa
Goa Call Girls 9316020077 Call Girls In Goa By Russian Call Girl in goa
 
𓀤Call On 6297143586 𓀤 Park Street Call Girls In All Kolkata 24/7 Provide Call...
𓀤Call On 6297143586 𓀤 Park Street Call Girls In All Kolkata 24/7 Provide Call...𓀤Call On 6297143586 𓀤 Park Street Call Girls In All Kolkata 24/7 Provide Call...
𓀤Call On 6297143586 𓀤 Park Street Call Girls In All Kolkata 24/7 Provide Call...
 
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
Top Rated Kolkata Call Girls Khardah ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
 

T5 Oli Aro

  • 1. Advanced Usage of Multi Site Functionality by by Olli Aro Head of Technology & Products, Clicks and Links Ltd Head of Technology & Products, Clicks and Links Ltd
  • 2. About Us… • Clicks and Links – UK based IT consultancy – Specialised in innovation (Second Life) and Open Source software – The oldest UK based OpenCms solution provider, since OpenCms version 4 – Released many OpenCms Open Source modules and fixes over the years – Contributions to OpenCms Wiki • Olli Aro – Involved in OpenCms project, since 2001 – Active member of OpenCms community – Reviewer for all published OpenCms books
  • 3. Why should we get excited…
  • 4. … about Multi Site Functionality • Single platform to maintain • Single platform to backup • Reduced hardware • Possibility to share functionality between sites • Better for environment • Reduced project costs more competitive pricing
  • 6. Our Hosted OpenCms Platform • Hosted OpenCms platform for small to medium scale website projects • Option to choose between a generic configurable template or completely bespoken website functionality • Identical functionality available compared to dedicated OpenCms installations • More attractive project costs • More competitive hosting and support costs • Always up to date
  • 7. OnCampus UK • Provides websites for over 300 student unions in the UK • Websites are free to the unions, hence the project and ongoing costs are critical • Same functionality, individual look and feel • Fast site roll out, 5 sites per day • Bespoken functionality and integration
  • 9. Web Server (Virtual Hosts) Application Server (OpenCms application) Database Server File System (Dynamic data storage) (Static data storage)
  • 11. Virtual Host Configuration <VirtualHost *:80> ServerName www.site1.com ServerAdmin systemadmin@clicksandlinks.com ErrorLog /usr/local/apache/logs/www.site1.com-error_log CustomLog /usr/local/apache/logs/www.site1.com-access_log combined JkMount /opencms/* ajp13w </VirtualHost>
  • 12. Rewrite Rules & Static Content <VirtualHost *:80> ServerName www.site1.com ServerAdmin systemadmin@clicksandlinks.com ErrorLog logs/www.site1.com-error_log CustomLog logs/www.site1.com-access_log combined RewriteEngine on RewriteLog logs/www.site1.com-rewrite_log RewriteLogLevel 0 Alias /static_files quot;/usr/local/tomcat/webapps/opencms/export“ RewriteRule ^/download/(.*)$ /static_files/download/$1 [PT] RewriteRule ^/pics/(.*)$ /static_files/pics/$1 [PT] JkMount /opencms/* ajp13w </VirtualHost>
  • 14. Application Configurations • opencms-system.xml … <sites> <workplace-server>http://opencms.clicksandlinks.com</workplace-server> <default-uri>/sites/default/</default-uri> <site server=quot;http://opencms.clicksandlinks.comquot; uri=quot;/sites/default/quot;/> <site server=quot;http://www.site1.comquot; uri=quot;/sites/site1/quot;/> <site server=quot;http://www.site2.comquot; uri=quot;/sites/site2/quot;/> <site server=quot;http://www.site3.comquot; uri=quot;/sites/site3/quot;/> <site server=quot;http://www.site4.comquot; uri=quot;/sites/site4/quot;/> … </sites> …
  • 15. User Management & Access Permissions • Site specific organisation unit • Remove default Users group permissions from /sites folder (excluding read permission) • Give permissions for each /sites/site1 folder for the Users group in that organisational unit • Remove default Users group permissions from /system/galleries folder • Give permissions for each /system/galleries/… folder for the User group in that organisation unit
  • 16. Search Management • Create a dedicated search index for each site • Make sure that your search page utilises the correct index
  • 18. Single Master Template Approach • Template drop down is confusing Risk of users selecting a wrong template a support ticket • Using single master template allows you to revise your template structure in future without need to rename template properties for pages • Difficult to get content types working between different sites without single master template • Ways to implement:- – Select the sub template dynamically e.g. based on URL pattern – Configurable template based on XML configuration file
  • 19. Dynamic Master Template … if (DOMAIN_NAME.equals(“www.site1.com”) cms.include(“/system/modules/site1/templates/contenttemplate.jsp”); else if (DOMAIN_NAME.equals(“www.site2.com”) cms.include(“/system/modules/site2/templates/contenttemplate.jsp”); else if (DOMAIN_NAME.equals(“www.site3.com”) cms.include(“/system/modules/site3/templates/contenttemplate.jsp”); …
  • 21. Content Types & JSP Injection
  • 22. Opencms-modules.xml … <type class=quot;org.opencms.file.types.CmsResourceTypeXmlContentquot; name=quot;rsspagequot; id=quot;151quot;> <properties> <property> <name>template-elements</name> <value type=quot;sharedquot;><![CDATA[/system/modules/com.clicksandlinks.opencms.rss/pages/ rsspage_empty.jsp]]></value> </property> <property> <name>template</name> <value type=quot;sharedquot;><![CDATA[/system/modules/com.clicksandlinks.opencms.sites.generic/ templates/contentTemplate.jsp]]></value> </property> <property> <name>body-template</name> <value type=quot;sharedquot;><![CDATA[/system/modules/com.clicksandlinks.opencms.rss/ pages/rsspage.jsp]]></value> </property> </properties> <param name=quot;schemaquot;>/system/modules/com.clicksandlinks.opencms.rss/schema/rsspage.xsd</param> </type> …
  • 23. rsspage_empty.jsp <%@ taglib prefix=quot;cmsquot; uri=quot;http://www.opencms.org/taglib/cmsquot; %> <%@ taglib prefix=quot;cquot; uri=quot;http://java.sun.com/jsp/jstl/corequot; %> <c:set var=quot;temp_templatequot;><cms:property name=quot;templatequot;/></c:set> <c:if test=quot;${!empty temp_template}quot;> <cms:include><c:out value=quot;${temp_template}quot; /></cms:include> </c:if> pagebody.jsp <%@ taglib prefix=quot;cmsquot; uri=quot;http://www.opencms.org/taglib/cmsquot; %> <%@ taglib prefix=quot;cquot; uri=quot;http://java.sun.com/jsp/jstl/corequot; %> <c:set var=quot;temp_body_templatequot;><cms:property name=quot;body-templatequot;/></c:set> <c:if test=quot;${!empty temp_body_template}quot;> <cms:include><c:out value=quot;${temp_body_template}quot; /></cms:include> </c:if> <c:if test=quot;${empty temp_body_template}quot;> <cms:include element=quot;bodyquot; editable=quot;truequot; /> </c:if>
  • 24. Questions? Thank you olli.aro@clicksandlinks.com