SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

11 page-directive
11 page-directive11 page-directive
11 page-directive
snopteck
 
Rest and Sling Resolution
Rest and Sling ResolutionRest and Sling Resolution
Rest and Sling Resolution
DEEPAK 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 know
Prabhdeep Singh
 
WordPress Development Tools and Best Practices
WordPress Development Tools and Best PracticesWordPress Development Tools and Best Practices
WordPress Development Tools and Best Practices
Danilo Ercoli
 
Aspnet2 Overview
Aspnet2 OverviewAspnet2 Overview
Aspnet2 Overview
ajitbergi
 

Mais procurados (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
 

Destaque

Favorite android apps
Favorite android appsFavorite android apps
Favorite android apps
dudarev
 
Whooping Cranes At Gridley
Whooping Cranes At GridleyWhooping Cranes At Gridley
Whooping Cranes At Gridley
gracem
 
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\prueba1
maestrodept
 

Destaque (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
 

Semelhante a T5 Oli Aro

腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
areyouok
 
Strut2-Spring-Hibernate
Strut2-Spring-HibernateStrut2-Spring-Hibernate
Strut2-Spring-Hibernate
Jay Shah
 
Servlet., tomcat server, implicit jsp object
Servlet., tomcat server, implicit jsp objectServlet., tomcat server, implicit jsp object
Servlet., tomcat server, implicit jsp object
ADITYADIXIT974283
 
Systems Automation with Puppet
Systems Automation with PuppetSystems Automation with Puppet
Systems Automation with Puppet
elliando dias
 

Semelhante a 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
 

Último

Haridwar Call Girls, 8699214473 Hot Girls Service Haridwar
Haridwar Call Girls, 8699214473 Hot Girls Service HaridwarHaridwar Call Girls, 8699214473 Hot Girls Service Haridwar
Haridwar Call Girls, 8699214473 Hot Girls Service Haridwar
ranekokila
 
Ghansoli Escorts Services 09167354423 Ghansoli Call Girls,Call Girls In Ghan...
Ghansoli Escorts Services 09167354423  Ghansoli Call Girls,Call Girls In Ghan...Ghansoli Escorts Services 09167354423  Ghansoli Call Girls,Call Girls In Ghan...
Ghansoli Escorts Services 09167354423 Ghansoli Call Girls,Call Girls In Ghan...
Priya Reddy
 
Pakistani Call girls in Deira 0567006274 Deira Call girls
Pakistani Call girls in Deira 0567006274 Deira Call girlsPakistani Call girls in Deira 0567006274 Deira Call girls
Pakistani Call girls in Deira 0567006274 Deira Call girls
Monica Sydney
 
Models in Deira 0567006274 Deira Call girl Service
Models in Deira 0567006274 Deira Call girl ServiceModels in Deira 0567006274 Deira Call girl Service
Models in Deira 0567006274 Deira Call girl Service
Monica Sydney
 
Dubai Call girls Service 0524076003 Call girls in Dubai
Dubai Call girls Service 0524076003 Call girls in DubaiDubai Call girls Service 0524076003 Call girls in Dubai
Dubai Call girls Service 0524076003 Call girls in Dubai
Monica Sydney
 

Último (20)

Haridwar Call Girls, 8699214473 Hot Girls Service Haridwar
Haridwar Call Girls, 8699214473 Hot Girls Service HaridwarHaridwar Call Girls, 8699214473 Hot Girls Service Haridwar
Haridwar Call Girls, 8699214473 Hot Girls Service Haridwar
 
Call Girls In Amreli Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service Enjoy...
Call Girls In Amreli Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service Enjoy...Call Girls In Amreli Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service Enjoy...
Call Girls In Amreli Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service Enjoy...
 
Call girls Service Dombivli - 9332606886 Our call girls are sure to provide y...
Call girls Service Dombivli - 9332606886 Our call girls are sure to provide y...Call girls Service Dombivli - 9332606886 Our call girls are sure to provide y...
Call girls Service Dombivli - 9332606886 Our call girls are sure to provide y...
 
Bhubaneswar🌹Call Girls Rasulgada ❤Komal 9777949614 💟 Full Trusted CALL GIRLS ...
Bhubaneswar🌹Call Girls Rasulgada ❤Komal 9777949614 💟 Full Trusted CALL GIRLS ...Bhubaneswar🌹Call Girls Rasulgada ❤Komal 9777949614 💟 Full Trusted CALL GIRLS ...
Bhubaneswar🌹Call Girls Rasulgada ❤Komal 9777949614 💟 Full Trusted CALL GIRLS ...
 
Call Girls Bijnor Just Call 8617370543 Top Class Call Girl Service Available
Call Girls Bijnor  Just Call 8617370543 Top Class Call Girl Service AvailableCall Girls Bijnor  Just Call 8617370543 Top Class Call Girl Service Available
Call Girls Bijnor Just Call 8617370543 Top Class Call Girl Service Available
 
Call Girls Bhubaneswar 9777949614 call me Independent Escort Service Bhubaneswar
Call Girls Bhubaneswar 9777949614 call me Independent Escort Service BhubaneswarCall Girls Bhubaneswar 9777949614 call me Independent Escort Service Bhubaneswar
Call Girls Bhubaneswar 9777949614 call me Independent Escort Service Bhubaneswar
 
Call Girls Moradabad Just Call 8617370543 Top Class Call Girl Service Available
Call Girls Moradabad Just Call 8617370543 Top Class Call Girl Service AvailableCall Girls Moradabad Just Call 8617370543 Top Class Call Girl Service Available
Call Girls Moradabad Just Call 8617370543 Top Class Call Girl Service Available
 
Genuine 8617370543 Hot and Beautiful 💕 Gomati Escorts call Girls
Genuine 8617370543 Hot and Beautiful 💕 Gomati Escorts call GirlsGenuine 8617370543 Hot and Beautiful 💕 Gomati Escorts call Girls
Genuine 8617370543 Hot and Beautiful 💕 Gomati Escorts call Girls
 
Ghansoli Escorts Services 09167354423 Ghansoli Call Girls,Call Girls In Ghan...
Ghansoli Escorts Services 09167354423  Ghansoli Call Girls,Call Girls In Ghan...Ghansoli Escorts Services 09167354423  Ghansoli Call Girls,Call Girls In Ghan...
Ghansoli Escorts Services 09167354423 Ghansoli Call Girls,Call Girls In Ghan...
 
Hire 💕 8617370543 Khalilabad Call Girls Service Call Girls Agency
Hire 💕 8617370543 Khalilabad Call Girls Service Call Girls AgencyHire 💕 8617370543 Khalilabad Call Girls Service Call Girls Agency
Hire 💕 8617370543 Khalilabad Call Girls Service Call Girls Agency
 
Ambassa Escorts | 8617370543 call girls service for all Users
Ambassa Escorts | 8617370543 call girls service for all UsersAmbassa Escorts | 8617370543 call girls service for all Users
Ambassa Escorts | 8617370543 call girls service for all Users
 
Pakistani Call girls in Deira 0567006274 Deira Call girls
Pakistani Call girls in Deira 0567006274 Deira Call girlsPakistani Call girls in Deira 0567006274 Deira Call girls
Pakistani Call girls in Deira 0567006274 Deira Call girls
 
Call Girls Belonia Just Call 📞 8617370543 Top Class Call Girl Service Available
Call Girls Belonia Just Call 📞 8617370543 Top Class Call Girl Service AvailableCall Girls Belonia Just Call 📞 8617370543 Top Class Call Girl Service Available
Call Girls Belonia Just Call 📞 8617370543 Top Class Call Girl Service Available
 
Call Girls Rajnandgaon / 9332606886 Genuine Call girls with real Photos and N...
Call Girls Rajnandgaon / 9332606886 Genuine Call girls with real Photos and N...Call Girls Rajnandgaon / 9332606886 Genuine Call girls with real Photos and N...
Call Girls Rajnandgaon / 9332606886 Genuine Call girls with real Photos and N...
 
Deira Call girls 0507330913 Call girls in Deira
Deira Call girls 0507330913 Call girls in DeiraDeira Call girls 0507330913 Call girls in Deira
Deira Call girls 0507330913 Call girls in Deira
 
Dahod Call Girl 📞 8617370543 Low Price Genuine Service
Dahod Call Girl 📞 8617370543 Low Price Genuine ServiceDahod Call Girl 📞 8617370543 Low Price Genuine Service
Dahod Call Girl 📞 8617370543 Low Price Genuine Service
 
Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...
Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...
Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...
 
Book ☎️ 8617370543 Call Girls in Bharuch and escort services 24x7
Book ☎️ 8617370543 Call Girls in Bharuch and escort services 24x7Book ☎️ 8617370543 Call Girls in Bharuch and escort services 24x7
Book ☎️ 8617370543 Call Girls in Bharuch and escort services 24x7
 
Models in Deira 0567006274 Deira Call girl Service
Models in Deira 0567006274 Deira Call girl ServiceModels in Deira 0567006274 Deira Call girl Service
Models in Deira 0567006274 Deira Call girl Service
 
Dubai Call girls Service 0524076003 Call girls in Dubai
Dubai Call girls Service 0524076003 Call girls in DubaiDubai Call girls Service 0524076003 Call girls in Dubai
Dubai Call girls Service 0524076003 Call girls in Dubai
 

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