SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
How Techem handles 
international customer portals 
Techem. 
The world of intelligent energy 
and water saving solutions
About me: Torsten Berger 
Senior Java Developer 
Techem Energy Services GmbH 
I am using OpenCms for the development of our 
customer portals with business applications since 
2009. 
2 The world of intelligent energy and water saving solutions
Our task: to use energy wisely 
The Situation 
Reducing climate harming CO2 emissions worldwide is a necessity 
for us all. Resources, such as oil, gas and water, are in ever 
shortening supply and are becoming increasingly expensive. 
The challenge 
Saving energy and reducing water consumption consciously and 
intelligently. 
The Techem solution 
Sustainable, comprehensive energy and water management – 
bringing benefits for the environment and for our customers. 
3 The world of intelligent energy and water saving solutions
Techem, your partner full of energy 
Techem in figures 
• Successfully in the market for over 60 years 
• Service provider for almost ten million apartments 
• More than 47.2 million measuring devices in use 
• World market leader with over 25.4 million 
radio measuring devices 
Save energy and water with Techem 
• 22 billion kilowatt­hours 
and 6.1 million tons of 
CO2 thanks to Techem energy saving solutions 
• Worldwide 37 million cubic metres less water 
consumption per year with technology from Techem 
Source: Figures based on the Felsmann study (billing savings = approx. 20 %) and on the basis of the current Techem 2013 energy reference data. 
4 The world of intelligent energy and water saving solutions
We are there for you when you need us 
Techem is a global leader in the provision of management solutions 
and billing of energy and water in properties. 
Techem is there for its customers in more than 20 countries. 
With almost 100 locations, we have a blanket presence across the German 
domestic market. 
In total, over 3.200 Techem employees 
are committed to providing the best 
possible service for our customers 
­and 
for the environment. 
5 The world of intelligent energy and water saving solutions
Online Services: the Techem Portal 
All information with a mouse click 
• Available around the clock 
• More flexibility, better overview 
• Lower administrative costs, 
less paperwork 
Convenient solutions 
• Billing Online, Archive Online 
• Info Center, Online Orders 
• Techem Monitoring 
• adapterm Cockpit 
6 The world of intelligent energy and water saving solutions
Online Services: the Techem Portal 
7 The world of intelligent energy and water saving solutions
Portlet: Integration in OpenCms 
8 
Portlet space
Portlet: Style in OpenCms 
Style information provided by OpenCms Modul 
• Portlets do not have separate css files anymore 
• OpenCms Pages and Portlets use the same css files 
• Portlet Showcase with all used components get styled not the portlet 
• Styling is done external by an agency 
9 The world of intelligent energy and water saving solutions
Portlet for OpenCms: Where do I get it 
https://github.com/eonas 
• opencmsinstaller 
• opencmsportaldriver 
• addressbookportlet 
• opencmsportal 
• https://github.com/eonas/opencmsportal/wiki 
10 The world of intelligent energy and water saving solutions
TMAC for Portlets: TranslationManangementAndConfiguration 
Default German Country Languages Default English 
Translations 
Application 
Country 
Configuration 
e.g. Address Default Configuration e.g. columns 
11 The world of intelligent energy and water saving solutions
Hardware: Architectur New <> Old 
12 The world of intelligent energy and water saving solutions 
OpenCMS 
Master 
OpenCMS 
Slave1 
OpenCMS 
Slave2 
Proxy1 
Proxy2 
Portal User 
OCEE-Cluster 
Loadbalancer 
https / Firewall 
LDAP Server 
Old World 
• Country = seperate Cluster 
New World 
• Country = Site in Cluster
Scripting: Rhino <> OpenCmsShell 
automated import / export Do some XML Modifications 
OpenCmsShell 
22 Countries / Sites 
Rhino = Javascript support in Java 6 
Provides full access back into OpenCms Java Code 
13 The world of intelligent energy and water saving solutions
Scripting: Enable OpenCms for JavaScript 
<%@ page import="org.opencms.file.CmsObject" %><%@ page import="org.opencms.jsp.CmsJspBean" %><%@ page import="javax.script.ScriptEngine" %><%@ 
page import="javax.script.ScriptEngineManager" %><%@ page import="java.io.ByteArrayOutputStream" %><%@ page import="java.io.PrintWriter" %><%@page 
buffer="none" session="false" %><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %><%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" 
%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<% 
ServletInputStream inputStream = request.getInputStream(); 
ByteArrayOutputStream buffer = new ByteArrayOutputStream(); 
byte[] bb = new byte[1024]; 
int len; 
while ( (len = inputStream.read(bb)) != ­1 
) { 
buffer.write(bb, 0, len); 
} 
inputStream.close(); 
String script = new String(buffer.toByteArray(), "utf­8"); 
CmsJspBean cmsBean = new CmsJspBean(); 
cmsBean.init(pageContext, request, response); 
final CmsObject cmsobject = cmsBean.getCmsObject(); 
response.setContentType("text/plain"); 
PrintWriter writer = response.getWriter(); 
ScriptEngineManager factory = new ScriptEngineManager(); 
ScriptEngine engine = factory.getEngineByName("JavaScript"); 
engine.getContext().setWriter(writer); 
engine.getContext().setErrorWriter(writer); 
engine.put("cms", cmsBean); 
engine.put("cmsObject", cmsobject); 
writer.write("Startn"); 
try { 
engine.eval(script); 
} catch ( Exception ex ) { 
ex.printStackTrace(writer); 
} 
writer.write("Stopn"); 
writer.close(); 
%> 
• This Jsp e.g. „/system/script/javascript.jsp“ in 
OpenCms executes the transfered JavaScript in an 
OpenCms Context. 
• Lets see next page for how to call this file. 
14
Scripting: The other side 
15 
package de.eonas.opencms.remotescript; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.OutputStream; 
import java.net.URL; 
import java.net.URLConnection; 
import org.apache.commons.io.IOUtils; 
public class Client { 
public static void main(String[] args) throws Exception { 
Client client = new Client(); 
client.execute(); 
} 
public void execute() throws IOException { 
URL u = new URL("http://localhost:8080/cms/system/script/javascript.jsp"); 
URLConnection urlConnection = u.openConnection(); 
urlConnection.addRequestProperty("Content­Type", 
"text/plain"); 
urlConnection.setDoInput(true); 
urlConnection.setDoOutput(true); 
urlConnection.connect(); 
OutputStream outputStream = urlConnection.getOutputStream(); 
copy(outputStream, "/variablen.js"); 
copy(outputStream, "/functions.js"); 
copy(outputStream, "/do.js"); 
outputStream.close(); 
InputStream inputStream = urlConnection.getInputStream(); 
IOUtils.copy(inputStream, System.out); 
} 
private void copy(OutputStream outputStream, String file) throws IOException { 
InputStream resourceAsStream = this.getClass().getResourceAsStream(file); 
IOUtils.copy(resourceAsStream, outputStream); 
resourceAsStream.close(); 
} 
} 
• This Javacode transfers the Javascript files via post 
request to OpenCms. 
• Lets see next page for the new functionality via the 
included JavaScript.
Scripting: JavaScript Example to execute 
Time for a Demo.... 
• Use content template „/shared/demo“ 
• Create a new country with different locale trees 
• Customise properties on locale subsidemap 
• Switch „target“in containerpages from shared 
elements to new country elements 
• Customise Property Navigationtext 
• Customise Property Description 
• And many more posibilities 
• Create Permissions for new Country 
• Make Sibling to real file 
... 
login('Admin', 'admin'); 
project('Offline'); 
var siteLand = '/sites/kp_demo'; 
var sprachen = ['en', 'de', 'da']; 
copyFromShared(siteLand, sprachen, true); 
customizeNavTextProperty(siteLand, 'en'); 
customizeDescriptionProperty(siteLand, 'en'); 
... 
16 The world of intelligent energy and water saving solutions
Thank You 
Questions ??? 
17 The world of intelligent energy and water saving solutions

Más contenido relacionado

La actualidad más candente

CI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetupCI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetupAmit Singh
 
Baltimore july2021 final
Baltimore july2021 finalBaltimore july2021 final
Baltimore july2021 finalManjuKumara GH
 
Effective websites development
Effective websites developmentEffective websites development
Effective websites developmentDevexperts
 
Alfresco WebScript Connector for Apache ManifoldCF
Alfresco WebScript Connector for Apache ManifoldCFAlfresco WebScript Connector for Apache ManifoldCF
Alfresco WebScript Connector for Apache ManifoldCFPiergiorgio Lucidi
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)Geekstone
 
Documentum: where do we go from here
Documentum: where do we go from hereDocumentum: where do we go from here
Documentum: where do we go from hereJacquetteConsulting
 
Flyway: The agile database migration framework for Java
Flyway: The agile database migration framework for JavaFlyway: The agile database migration framework for Java
Flyway: The agile database migration framework for JavaAxel Fontaine
 
Alfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European BankAlfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European BankPiergiorgio Lucidi
 
Database migrations with Flyway and Liquibase
Database migrations with Flyway and LiquibaseDatabase migrations with Flyway and Liquibase
Database migrations with Flyway and LiquibaseLars Östling
 
CA Harvest "Private Solutions - State of New Hampshire
CA Harvest "Private Solutions - State of New HampshireCA Harvest "Private Solutions - State of New Hampshire
CA Harvest "Private Solutions - State of New HampshireBill Mannion (LION)
 
Mule soft meetup warsaw november 13th, 2019
Mule soft meetup   warsaw november 13th, 2019Mule soft meetup   warsaw november 13th, 2019
Mule soft meetup warsaw november 13th, 2019Patryk Bandurski
 
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...ICON UK EVENTS Limited
 
Mumbai MuleSoft Meetup #15
Mumbai MuleSoft Meetup #15Mumbai MuleSoft Meetup #15
Mumbai MuleSoft Meetup #15Akshata Sawant
 
ICONUK 2015: Zen and the art of requirements gathering, why getting to "In ti...
ICONUK 2015: Zen and the art of requirements gathering, why getting to "In ti...ICONUK 2015: Zen and the art of requirements gathering, why getting to "In ti...
ICONUK 2015: Zen and the art of requirements gathering, why getting to "In ti...Femke Goedhart
 
Oracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attackOracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attackBobby Curtis
 

La actualidad más candente (20)

CI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetupCI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetup
 
Baltimore july2021 final
Baltimore july2021 finalBaltimore july2021 final
Baltimore july2021 final
 
Effective websites development
Effective websites developmentEffective websites development
Effective websites development
 
Alfresco WebScript Connector for Apache ManifoldCF
Alfresco WebScript Connector for Apache ManifoldCFAlfresco WebScript Connector for Apache ManifoldCF
Alfresco WebScript Connector for Apache ManifoldCF
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)
 
Flyway
FlywayFlyway
Flyway
 
MuleSoft JWT Demystified
MuleSoft JWT DemystifiedMuleSoft JWT Demystified
MuleSoft JWT Demystified
 
SOA Tooling Using NetBeans
SOA Tooling Using NetBeansSOA Tooling Using NetBeans
SOA Tooling Using NetBeans
 
Documentum: where do we go from here
Documentum: where do we go from hereDocumentum: where do we go from here
Documentum: where do we go from here
 
Mini Training Flyway
Mini Training FlywayMini Training Flyway
Mini Training Flyway
 
Flyway: The agile database migration framework for Java
Flyway: The agile database migration framework for JavaFlyway: The agile database migration framework for Java
Flyway: The agile database migration framework for Java
 
Alfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European BankAlfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European Bank
 
Database migrations with Flyway and Liquibase
Database migrations with Flyway and LiquibaseDatabase migrations with Flyway and Liquibase
Database migrations with Flyway and Liquibase
 
CA Harvest "Private Solutions - State of New Hampshire
CA Harvest "Private Solutions - State of New HampshireCA Harvest "Private Solutions - State of New Hampshire
CA Harvest "Private Solutions - State of New Hampshire
 
Mule soft meetup warsaw november 13th, 2019
Mule soft meetup   warsaw november 13th, 2019Mule soft meetup   warsaw november 13th, 2019
Mule soft meetup warsaw november 13th, 2019
 
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
 
Mumbai MuleSoft Meetup #15
Mumbai MuleSoft Meetup #15Mumbai MuleSoft Meetup #15
Mumbai MuleSoft Meetup #15
 
ICONUK 2015: Zen and the art of requirements gathering, why getting to "In ti...
ICONUK 2015: Zen and the art of requirements gathering, why getting to "In ti...ICONUK 2015: Zen and the art of requirements gathering, why getting to "In ti...
ICONUK 2015: Zen and the art of requirements gathering, why getting to "In ti...
 
Oracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attackOracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attack
 
CI/CD with Bitbucket pipelines
CI/CD with Bitbucket pipelinesCI/CD with Bitbucket pipelines
CI/CD with Bitbucket pipelines
 

Similar a OpenCms Days 2014 - How Techem handles international customer portals

Build a cloud native app with OpenWhisk
Build a cloud native app with OpenWhiskBuild a cloud native app with OpenWhisk
Build a cloud native app with OpenWhiskDaniel Krook
 
FreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceFreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceEvan McGee
 
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...OpenShift Origin
 
OpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven appsOpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven appsDaniel Krook
 
Александр Махомет "Beyond the code или как мониторить ваш PHP сайт"
Александр Махомет "Beyond the code или как мониторить ваш PHP сайт"Александр Махомет "Beyond the code или как мониторить ваш PHP сайт"
Александр Махомет "Beyond the code или как мониторить ваш PHP сайт"Fwdays
 
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0Haytham Ghandour
 
Scaling Slack - The Good, the Unexpected, and the Road Ahead
Scaling Slack - The Good, the Unexpected, and the Road AheadScaling Slack - The Good, the Unexpected, and the Road Ahead
Scaling Slack - The Good, the Unexpected, and the Road AheadC4Media
 
Networking and Go: An Engineer's Journey (Strangeloop 2019)
Networking and Go: An Engineer's Journey (Strangeloop 2019)Networking and Go: An Engineer's Journey (Strangeloop 2019)
Networking and Go: An Engineer's Journey (Strangeloop 2019)Sneha Inguva
 
Serverless apps with OpenWhisk
Serverless apps with OpenWhiskServerless apps with OpenWhisk
Serverless apps with OpenWhiskDaniel Krook
 
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...Dominik Obermaier
 
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...OpenWhisk
 
Green cloud computing
Green cloud computingGreen cloud computing
Green cloud computingNalini Mehta
 
mu.semte.ch: A transitional architecture for Linked Data
mu.semte.ch: A transitional architecture for Linked Datamu.semte.ch: A transitional architecture for Linked Data
mu.semte.ch: A transitional architecture for Linked DataOpen Knowledge Belgium
 
Improving the Accumulo User Experience
 Improving the Accumulo User Experience Improving the Accumulo User Experience
Improving the Accumulo User ExperienceAccumulo Summit
 
Why is this ASP.NET web app running slowly?
Why is this ASP.NET web app running slowly?Why is this ASP.NET web app running slowly?
Why is this ASP.NET web app running slowly?Mark Friedman
 
High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudThe UberCloud
 
High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudWolfgang Gentzsch
 
How to make a high-quality Node.js app, Nikita Galkin
How to make a high-quality Node.js app, Nikita GalkinHow to make a high-quality Node.js app, Nikita Galkin
How to make a high-quality Node.js app, Nikita GalkinSigma Software
 
Modern Scheduling for Modern Applications with Nomad
Modern Scheduling for Modern Applications with NomadModern Scheduling for Modern Applications with Nomad
Modern Scheduling for Modern Applications with NomadMitchell Pronschinske
 

Similar a OpenCms Days 2014 - How Techem handles international customer portals (20)

Build a cloud native app with OpenWhisk
Build a cloud native app with OpenWhiskBuild a cloud native app with OpenWhisk
Build a cloud native app with OpenWhisk
 
FreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceFreeSWITCH as a Microservice
FreeSWITCH as a Microservice
 
Treinamento frontend
Treinamento frontendTreinamento frontend
Treinamento frontend
 
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
 
OpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven appsOpenWhisk - A platform for cloud native, serverless, event driven apps
OpenWhisk - A platform for cloud native, serverless, event driven apps
 
Александр Махомет "Beyond the code или как мониторить ваш PHP сайт"
Александр Махомет "Beyond the code или как мониторить ваш PHP сайт"Александр Махомет "Beyond the code или как мониторить ваш PHP сайт"
Александр Махомет "Beyond the code или как мониторить ваш PHP сайт"
 
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
 
Scaling Slack - The Good, the Unexpected, and the Road Ahead
Scaling Slack - The Good, the Unexpected, and the Road AheadScaling Slack - The Good, the Unexpected, and the Road Ahead
Scaling Slack - The Good, the Unexpected, and the Road Ahead
 
Networking and Go: An Engineer's Journey (Strangeloop 2019)
Networking and Go: An Engineer's Journey (Strangeloop 2019)Networking and Go: An Engineer's Journey (Strangeloop 2019)
Networking and Go: An Engineer's Journey (Strangeloop 2019)
 
Serverless apps with OpenWhisk
Serverless apps with OpenWhiskServerless apps with OpenWhisk
Serverless apps with OpenWhisk
 
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
 
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
 
Green cloud computing
Green cloud computingGreen cloud computing
Green cloud computing
 
mu.semte.ch: A transitional architecture for Linked Data
mu.semte.ch: A transitional architecture for Linked Datamu.semte.ch: A transitional architecture for Linked Data
mu.semte.ch: A transitional architecture for Linked Data
 
Improving the Accumulo User Experience
 Improving the Accumulo User Experience Improving the Accumulo User Experience
Improving the Accumulo User Experience
 
Why is this ASP.NET web app running slowly?
Why is this ASP.NET web app running slowly?Why is this ASP.NET web app running slowly?
Why is this ASP.NET web app running slowly?
 
High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the Cloud
 
High Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the CloudHigh Performance Computing (HPC) and Engineering Simulations in the Cloud
High Performance Computing (HPC) and Engineering Simulations in the Cloud
 
How to make a high-quality Node.js app, Nikita Galkin
How to make a high-quality Node.js app, Nikita GalkinHow to make a high-quality Node.js app, Nikita Galkin
How to make a high-quality Node.js app, Nikita Galkin
 
Modern Scheduling for Modern Applications with Nomad
Modern Scheduling for Modern Applications with NomadModern Scheduling for Modern Applications with Nomad
Modern Scheduling for Modern Applications with Nomad
 

Más de Alkacon Software GmbH & Co. KG

OpenCms Days 2016: Participation and transparency portals with OpenCms
OpenCms Days 2016: Participation and transparency portals with OpenCmsOpenCms Days 2016: Participation and transparency portals with OpenCms
OpenCms Days 2016: Participation and transparency portals with OpenCmsAlkacon Software GmbH & Co. KG
 
OpenCms Days 2016: Next generation content repository
OpenCms Days 2016: Next generation content repository OpenCms Days 2016: Next generation content repository
OpenCms Days 2016: Next generation content repository Alkacon Software GmbH & Co. KG
 
OpenCms Days 2015 Creating Apps for the OpenCms 10 workplace
OpenCms Days 2015  Creating Apps for the OpenCms 10 workplace OpenCms Days 2015  Creating Apps for the OpenCms 10 workplace
OpenCms Days 2015 Creating Apps for the OpenCms 10 workplace Alkacon Software GmbH & Co. KG
 
OpenCms Days 2015 Modern templates with nested containers
OpenCms Days 2015 Modern templates with nested containersOpenCms Days 2015 Modern templates with nested containers
OpenCms Days 2015 Modern templates with nested containersAlkacon Software GmbH & Co. KG
 
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and GruntOpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and GruntAlkacon Software GmbH & Co. KG
 
OpenCms Days 2014 - OpenCms cloud setup with the FI-TS
OpenCms Days 2014 - OpenCms cloud setup with the FI-TSOpenCms Days 2014 - OpenCms cloud setup with the FI-TS
OpenCms Days 2014 - OpenCms cloud setup with the FI-TSAlkacon Software GmbH & Co. KG
 
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...Alkacon Software GmbH & Co. KG
 
OpenCms Days 2014 - User Generated Content in OpenCms 9.5
OpenCms Days 2014 - User Generated Content in OpenCms 9.5OpenCms Days 2014 - User Generated Content in OpenCms 9.5
OpenCms Days 2014 - User Generated Content in OpenCms 9.5Alkacon Software GmbH & Co. KG
 

Más de Alkacon Software GmbH & Co. KG (20)

OpenCms Days 2016: Multilingual websites with OpenCms
OpenCms Days 2016:   Multilingual websites with OpenCmsOpenCms Days 2016:   Multilingual websites with OpenCms
OpenCms Days 2016: Multilingual websites with OpenCms
 
OpenCms Days 2016: Participation and transparency portals with OpenCms
OpenCms Days 2016: Participation and transparency portals with OpenCmsOpenCms Days 2016: Participation and transparency portals with OpenCms
OpenCms Days 2016: Participation and transparency portals with OpenCms
 
OpenCms Days 2016: Next generation content repository
OpenCms Days 2016: Next generation content repository OpenCms Days 2016: Next generation content repository
OpenCms Days 2016: Next generation content repository
 
OpenCms Days 2015 OpenCms X marks the spot
OpenCms Days 2015 OpenCms X marks the spotOpenCms Days 2015 OpenCms X marks the spot
OpenCms Days 2015 OpenCms X marks the spot
 
OpenCms Days 2015 Next generation repository
OpenCms Days 2015  Next generation repositoryOpenCms Days 2015  Next generation repository
OpenCms Days 2015 Next generation repository
 
OpenCms Days 2015 Creating Apps for the OpenCms 10 workplace
OpenCms Days 2015  Creating Apps for the OpenCms 10 workplace OpenCms Days 2015  Creating Apps for the OpenCms 10 workplace
OpenCms Days 2015 Creating Apps for the OpenCms 10 workplace
 
OpenCms Days 2015 OCEE explained
OpenCms Days 2015 OCEE explainedOpenCms Days 2015 OCEE explained
OpenCms Days 2015 OCEE explained
 
OpenCms Days 2015 Workflow using Docker and Jenkins
OpenCms Days 2015 Workflow using Docker and JenkinsOpenCms Days 2015 Workflow using Docker and Jenkins
OpenCms Days 2015 Workflow using Docker and Jenkins
 
OpenCms Days 2015 Modern templates with nested containers
OpenCms Days 2015 Modern templates with nested containersOpenCms Days 2015 Modern templates with nested containers
OpenCms Days 2015 Modern templates with nested containers
 
OpenCms Days 2015 Hidden features of OpenCms
OpenCms Days 2015 Hidden features of OpenCmsOpenCms Days 2015 Hidden features of OpenCms
OpenCms Days 2015 Hidden features of OpenCms
 
OpenCms Days 2015 Advanced Solr Searching
OpenCms Days 2015 Advanced Solr SearchingOpenCms Days 2015 Advanced Solr Searching
OpenCms Days 2015 Advanced Solr Searching
 
OpenCms Days 2015 OpenGovernment
OpenCms Days 2015 OpenGovernmentOpenCms Days 2015 OpenGovernment
OpenCms Days 2015 OpenGovernment
 
OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?
 
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and GruntOpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
 
OpenCms Days 2014 - OpenCms cloud setup with the FI-TS
OpenCms Days 2014 - OpenCms cloud setup with the FI-TSOpenCms Days 2014 - OpenCms cloud setup with the FI-TS
OpenCms Days 2014 - OpenCms cloud setup with the FI-TS
 
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
 
OpenCms Days 2014 - OpenCms 9 - A video tube?
OpenCms Days 2014 - OpenCms 9 - A video tube?OpenCms Days 2014 - OpenCms 9 - A video tube?
OpenCms Days 2014 - OpenCms 9 - A video tube?
 
OpenCms Days 2014 - User Generated Content in OpenCms 9.5
OpenCms Days 2014 - User Generated Content in OpenCms 9.5OpenCms Days 2014 - User Generated Content in OpenCms 9.5
OpenCms Days 2014 - User Generated Content in OpenCms 9.5
 
OpenCms Days 2014 - Updating to OpenCms 9.5
OpenCms Days 2014 - Updating to OpenCms 9.5OpenCms Days 2014 - Updating to OpenCms 9.5
OpenCms Days 2014 - Updating to OpenCms 9.5
 
OpenCms Days 2014 - Using the SOLR collector
OpenCms Days 2014 - Using the SOLR collectorOpenCms Days 2014 - Using the SOLR collector
OpenCms Days 2014 - Using the SOLR collector
 

Último

UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 

Último (20)

UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 

OpenCms Days 2014 - How Techem handles international customer portals

  • 1. How Techem handles international customer portals Techem. The world of intelligent energy and water saving solutions
  • 2. About me: Torsten Berger Senior Java Developer Techem Energy Services GmbH I am using OpenCms for the development of our customer portals with business applications since 2009. 2 The world of intelligent energy and water saving solutions
  • 3. Our task: to use energy wisely The Situation Reducing climate harming CO2 emissions worldwide is a necessity for us all. Resources, such as oil, gas and water, are in ever shortening supply and are becoming increasingly expensive. The challenge Saving energy and reducing water consumption consciously and intelligently. The Techem solution Sustainable, comprehensive energy and water management – bringing benefits for the environment and for our customers. 3 The world of intelligent energy and water saving solutions
  • 4. Techem, your partner full of energy Techem in figures • Successfully in the market for over 60 years • Service provider for almost ten million apartments • More than 47.2 million measuring devices in use • World market leader with over 25.4 million radio measuring devices Save energy and water with Techem • 22 billion kilowatt­hours and 6.1 million tons of CO2 thanks to Techem energy saving solutions • Worldwide 37 million cubic metres less water consumption per year with technology from Techem Source: Figures based on the Felsmann study (billing savings = approx. 20 %) and on the basis of the current Techem 2013 energy reference data. 4 The world of intelligent energy and water saving solutions
  • 5. We are there for you when you need us Techem is a global leader in the provision of management solutions and billing of energy and water in properties. Techem is there for its customers in more than 20 countries. With almost 100 locations, we have a blanket presence across the German domestic market. In total, over 3.200 Techem employees are committed to providing the best possible service for our customers ­and for the environment. 5 The world of intelligent energy and water saving solutions
  • 6. Online Services: the Techem Portal All information with a mouse click • Available around the clock • More flexibility, better overview • Lower administrative costs, less paperwork Convenient solutions • Billing Online, Archive Online • Info Center, Online Orders • Techem Monitoring • adapterm Cockpit 6 The world of intelligent energy and water saving solutions
  • 7. Online Services: the Techem Portal 7 The world of intelligent energy and water saving solutions
  • 8. Portlet: Integration in OpenCms 8 Portlet space
  • 9. Portlet: Style in OpenCms Style information provided by OpenCms Modul • Portlets do not have separate css files anymore • OpenCms Pages and Portlets use the same css files • Portlet Showcase with all used components get styled not the portlet • Styling is done external by an agency 9 The world of intelligent energy and water saving solutions
  • 10. Portlet for OpenCms: Where do I get it https://github.com/eonas • opencmsinstaller • opencmsportaldriver • addressbookportlet • opencmsportal • https://github.com/eonas/opencmsportal/wiki 10 The world of intelligent energy and water saving solutions
  • 11. TMAC for Portlets: TranslationManangementAndConfiguration Default German Country Languages Default English Translations Application Country Configuration e.g. Address Default Configuration e.g. columns 11 The world of intelligent energy and water saving solutions
  • 12. Hardware: Architectur New <> Old 12 The world of intelligent energy and water saving solutions OpenCMS Master OpenCMS Slave1 OpenCMS Slave2 Proxy1 Proxy2 Portal User OCEE-Cluster Loadbalancer https / Firewall LDAP Server Old World • Country = seperate Cluster New World • Country = Site in Cluster
  • 13. Scripting: Rhino <> OpenCmsShell automated import / export Do some XML Modifications OpenCmsShell 22 Countries / Sites Rhino = Javascript support in Java 6 Provides full access back into OpenCms Java Code 13 The world of intelligent energy and water saving solutions
  • 14. Scripting: Enable OpenCms for JavaScript <%@ page import="org.opencms.file.CmsObject" %><%@ page import="org.opencms.jsp.CmsJspBean" %><%@ page import="javax.script.ScriptEngine" %><%@ page import="javax.script.ScriptEngineManager" %><%@ page import="java.io.ByteArrayOutputStream" %><%@ page import="java.io.PrintWriter" %><%@page buffer="none" session="false" %><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %><%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <% ServletInputStream inputStream = request.getInputStream(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); byte[] bb = new byte[1024]; int len; while ( (len = inputStream.read(bb)) != ­1 ) { buffer.write(bb, 0, len); } inputStream.close(); String script = new String(buffer.toByteArray(), "utf­8"); CmsJspBean cmsBean = new CmsJspBean(); cmsBean.init(pageContext, request, response); final CmsObject cmsobject = cmsBean.getCmsObject(); response.setContentType("text/plain"); PrintWriter writer = response.getWriter(); ScriptEngineManager factory = new ScriptEngineManager(); ScriptEngine engine = factory.getEngineByName("JavaScript"); engine.getContext().setWriter(writer); engine.getContext().setErrorWriter(writer); engine.put("cms", cmsBean); engine.put("cmsObject", cmsobject); writer.write("Startn"); try { engine.eval(script); } catch ( Exception ex ) { ex.printStackTrace(writer); } writer.write("Stopn"); writer.close(); %> • This Jsp e.g. „/system/script/javascript.jsp“ in OpenCms executes the transfered JavaScript in an OpenCms Context. • Lets see next page for how to call this file. 14
  • 15. Scripting: The other side 15 package de.eonas.opencms.remotescript; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.net.URLConnection; import org.apache.commons.io.IOUtils; public class Client { public static void main(String[] args) throws Exception { Client client = new Client(); client.execute(); } public void execute() throws IOException { URL u = new URL("http://localhost:8080/cms/system/script/javascript.jsp"); URLConnection urlConnection = u.openConnection(); urlConnection.addRequestProperty("Content­Type", "text/plain"); urlConnection.setDoInput(true); urlConnection.setDoOutput(true); urlConnection.connect(); OutputStream outputStream = urlConnection.getOutputStream(); copy(outputStream, "/variablen.js"); copy(outputStream, "/functions.js"); copy(outputStream, "/do.js"); outputStream.close(); InputStream inputStream = urlConnection.getInputStream(); IOUtils.copy(inputStream, System.out); } private void copy(OutputStream outputStream, String file) throws IOException { InputStream resourceAsStream = this.getClass().getResourceAsStream(file); IOUtils.copy(resourceAsStream, outputStream); resourceAsStream.close(); } } • This Javacode transfers the Javascript files via post request to OpenCms. • Lets see next page for the new functionality via the included JavaScript.
  • 16. Scripting: JavaScript Example to execute Time for a Demo.... • Use content template „/shared/demo“ • Create a new country with different locale trees • Customise properties on locale subsidemap • Switch „target“in containerpages from shared elements to new country elements • Customise Property Navigationtext • Customise Property Description • And many more posibilities • Create Permissions for new Country • Make Sibling to real file ... login('Admin', 'admin'); project('Offline'); var siteLand = '/sites/kp_demo'; var sprachen = ['en', 'de', 'da']; copyFromShared(siteLand, sprachen, true); customizeNavTextProperty(siteLand, 'en'); customizeDescriptionProperty(siteLand, 'en'); ... 16 The world of intelligent energy and water saving solutions
  • 17. Thank You Questions ??? 17 The world of intelligent energy and water saving solutions