diff --git a/ccm-zes-aplaws/web/packages/navigation/templates/zes-events.jsp b/ccm-zes-aplaws/web/packages/navigation/templates/zes-events.jsp
new file mode 100644
index 000000000..3b346d4b3
--- /dev/null
+++ b/ccm-zes-aplaws/web/packages/navigation/templates/zes-events.jsp
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+ long age = Navigation.getConfig().getIndexPageCacheLifetime();
+ if (age == 0) {
+ DispatcherHelper.cacheDisable(response);
+ } else {
+ DispatcherHelper.cacheForWorld(response, (int)age);
+ }
+
+
+
+
+
+
+
+
+
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).setDefinition(new CMSDataCollectionDefinition());
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).setRenderer(new CMSDataCollectionRenderer());
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.Event");
+
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).setSQLFilter("(endDate >= :today and (endTime > :time or endTime is null)) or (endDate is null and startDate >= :today)");
+
+ // Java ist mal wieder kompliziert. Man braucht ein Calender-Object, damit man Datumsarithmetik betreiben kann. java.util.Calendar ist allerdings // abstract. Deshalb muß man java.util.GregorianCalendar verwenden. Dann kann man mit der add-Methode verschiedene Felder manipulieren. // Aber Achtung - die add-Method liefert void zurück. Daher kann man das nicht alles in einer Zeile machen. Also Variablen anlegen. // Komplizierter geht's wohl nicht mehr.
+ java.util.GregorianCalendar now = new java.util.GregorianCalendar();
+ java.util.Date today = (new java.util.GregorianCalendar(now.get(java.util.GregorianCalendar.YEAR),
+ now.get(java.util.GregorianCalendar.MONTH),
+ now.get(java.util.GregorianCalendar.DATE))).getTime();
+ // Im Event-CT ist das Datum als SQL-Type Date eingetragen, die Uhrzeit aber als SQL-Typ timestamptz. Leider wird von ccm im letzten
+ // das Datum nicht gesetzt, so daß der Timestamp immer eine Uhrzeit am 1.1.1970 angibt. Das ist ziemlich bescheuert und macht hier
+ // diesen kompliezierten Vergleich notwendig. Sonst könnte man einfach mit dem aktuellen Timestamp vergleichen.
+ java.util.Date time = (new java.util.GregorianCalendar(70,0,1, // this is 01.01.1970 - start of UNIX timestamp
+ now.get(java.util.GregorianCalendar.HOUR_OF_DAY),
+ now.get(java.util.GregorianCalendar.MINUTE),
+ now.get(java.util.GregorianCalendar.SECOND))).getTime();
+
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).setParameter("today", today);
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).setParameter("time", time);
+
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).getDefinition().setDescendCategories(true);
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).getDefinition().addOrder("startDate");
+
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("objectType");
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("title");
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("lead");
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("eventDate");
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("launchDate");
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("startDate");
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("endDate");
+
+
+
+
+
+
+
diff --git a/ccm-zes-aplaws/web/packages/navigation/templates/zes-welcome-portal.jsp b/ccm-zes-aplaws/web/packages/navigation/templates/zes-welcome-portal.jsp
new file mode 100644
index 000000000..dde10fef7
--- /dev/null
+++ b/ccm-zes-aplaws/web/packages/navigation/templates/zes-welcome-portal.jsp
@@ -0,0 +1,38 @@
+
+
+ <%-- JSP template to use a portal page as index page in navigation --%>
+
+
+
+
+
+
+
+ long age = Navigation.getConfig().getIndexPageCacheLifetime();
+ if (age == 0) {
+ DispatcherHelper.cacheDisable(response);
+ } else {
+ DispatcherHelper.cacheForWorld(response, (int)age);
+ }
+
+
+
+
+
+
+
+
+ ((com.arsdigita.london.portal.ui.WorkspaceViewer) portalWorkspace).setWorkspaceModel(new CategoryPortalSelectionModel());
+
+
+
+
+