diff --git a/ccm-shp-aplaws/application.xml b/ccm-shp-aplaws/application.xml
index 21d753afe..948297f1c 100755
--- a/ccm-shp-aplaws/application.xml
+++ b/ccm-shp-aplaws/application.xml
@@ -12,15 +12,22 @@
+
+
+
+
+
+
+
Service module which tailors the aplaws software to a specific purpose
and/or a specific site.
@@ -31,7 +38,7 @@
- provide a default theme, which meets accessibility requirements and
overwrites the default, table based design (cf. web/.../themes)
- This modules tailors APLAWS to a general purpose.
+ This modules tailors APLAWS to SHP (Schaedel-Hirnpatienten.de).
APLAWS is a collaboration and content management system which is based upon
the Red Hat Web Application Framework, which is a platform for writing
diff --git a/ccm-shp-aplaws/src/ccm-shp-aplaws.config b/ccm-shp-aplaws/src/ccm-shp-aplaws.config
index b400866d3..094ab8086 100755
--- a/ccm-shp-aplaws/src/ccm-shp-aplaws.config
+++ b/ccm-shp-aplaws/src/ccm-shp-aplaws.config
@@ -1,5 +1,5 @@
+ storage="ccm-shp-aplaws/aplaws.properties"/>
diff --git a/ccm-shp-aplaws/src/com/arsdigita/aplaws/Loader.java b/ccm-shp-aplaws/src/com/arsdigita/aplaws/Loader.java
index e527b4149..da685bfae 100755
--- a/ccm-shp-aplaws/src/com/arsdigita/aplaws/Loader.java
+++ b/ccm-shp-aplaws/src/com/arsdigita/aplaws/Loader.java
@@ -232,11 +232,6 @@ public class Loader extends PackageLoader {
"SHP Welcome Page",
"SHP Welcome Page for navigation",
"/packages/navigation/templates/shp-welcome.jsp");
-
- template = Template.create(
- "SHP Welcome Page Neu",
- "SHP Welcome Page for navigation",
- "/packages/navigation/templates/shp-welcome-neu.jsp");
}
diff --git a/ccm-shp-aplaws/web/packages/navigation/templates/shp-welcome-neu.jsp b/ccm-shp-aplaws/web/packages/navigation/templates/shp-welcome-neu.jsp
deleted file mode 100755
index cae21500c..000000000
--- a/ccm-shp-aplaws/web/packages/navigation/templates/shp-welcome-neu.jsp
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-
-
-
-
-
-
- long age = Navigation.getConfig().getIndexPageCacheLifetime();
- if (age == 0) {
- DispatcherHelper.cacheDisable(response);
- } else {
- DispatcherHelper.cacheForWorld(response, (int)age);
- }
-
-
-
-
-
-
-
-
-
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).setDefinition(new CMSDataCollectionDefinition());
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).setRenderer(new CMSDataCollectionRenderer());
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage");
-
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setDescendCategories(false);
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().addOrder("parent.categories.link.sortKey");
-
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setPageSize(30);
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("objectType");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("title");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("eventDate");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("launchDate");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("startDate");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("endDate");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("newsDate");
-
-
-
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).setDefinition(new CMSDataCollectionDefinition());
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).setRenderer(new CMSDataCollectionRenderer());
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.Event");
-
- //((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getDefinition().getDataCollection(((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getModel()).setFilter("now() between launchDate and endDate");
-
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getDefinition().setDescendCategories(true);
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getDefinition().addOrder("startDate");
-
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getRenderer().setPageSize(5);
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getRenderer().addAttribute("objectType");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getRenderer().addAttribute("title");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getRenderer().addAttribute("lead");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getRenderer().addAttribute("eventDate");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getRenderer().addAttribute("launchDate");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getRenderer().addAttribute("startDate");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getRenderer().addAttribute("endDate");
-
-
-
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).setDefinition(new CMSDataCollectionDefinition());
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).setRenderer(new CMSDataCollectionRenderer());
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.NewsItem");
-
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getDefinition().setDescendCategories(true);
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getDefinition().addOrder("newsDate desc");
-
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getRenderer().setPageSize(5);
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getRenderer().addAttribute("objectType");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getRenderer().addAttribute("title");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getRenderer().addAttribute("lead");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getRenderer().addAttribute("newsDate");
-
-
-
-
-
-
-
diff --git a/ccm-shp-aplaws/web/packages/navigation/templates/shp-welcome.jsp b/ccm-shp-aplaws/web/packages/navigation/templates/shp-welcome.jsp
index cae21500c..5c6081782 100755
--- a/ccm-shp-aplaws/web/packages/navigation/templates/shp-welcome.jsp
+++ b/ccm-shp-aplaws/web/packages/navigation/templates/shp-welcome.jsp
@@ -48,41 +48,67 @@
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("newsDate");
+ classname="com.arsdigita.london.navigation.ui.object.ComplexObjectList"/>
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).setDefinition(new CMSDataCollectionDefinition());
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).setRenderer(new CMSDataCollectionRenderer());
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.Event");
+ ((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.SimpleObjectList) eventList).getDefinition().getDataCollection(((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getModel()).setFilter("now() between launchDate and endDate");
+ ((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)");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getDefinition().setDescendCategories(true);
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getDefinition().addOrder("startDate");
+ // 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.SimpleObjectList) eventList).getRenderer().setPageSize(5);
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getRenderer().addAttribute("objectType");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getRenderer().addAttribute("title");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getRenderer().addAttribute("lead");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getRenderer().addAttribute("eventDate");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getRenderer().addAttribute("launchDate");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getRenderer().addAttribute("startDate");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) eventList).getRenderer().addAttribute("endDate");
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) eventList).getRenderer().setPageSize(5);
+ ((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");
+ classname="com.arsdigita.london.navigation.ui.object.ComplexObjectList"/>
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).setDefinition(new CMSDataCollectionDefinition());
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).setRenderer(new CMSDataCollectionRenderer());
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.NewsItem");
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) newsList).setDefinition(new CMSDataCollectionDefinition());
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) newsList).setRenderer(new CMSDataCollectionRenderer());
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) newsList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.NewsItem");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getDefinition().setDescendCategories(true);
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getDefinition().addOrder("newsDate desc");
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) newsList).setSQLFilter("newsDate > :oldNewsDate");
+
+ // 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 oldDate = new java.util.GregorianCalendar();
+ oldDate.add(java.util.Calendar.DATE, -14);
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) newsList).setParameter("oldNewsDate", oldDate.getTime());
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getRenderer().setPageSize(5);
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getRenderer().addAttribute("objectType");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getRenderer().addAttribute("title");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getRenderer().addAttribute("lead");
- ((com.arsdigita.london.navigation.ui.object.SimpleObjectList) newsList).getRenderer().addAttribute("newsDate");
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) newsList).getDefinition().setDescendCategories(true);
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) newsList).getDefinition().addOrder("newsDate desc");
+
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) newsList).getRenderer().setPageSize(5);
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) newsList).getRenderer().addAttribute("objectType");
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) newsList).getRenderer().addAttribute("title");
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) newsList).getRenderer().addAttribute("lead");
+ ((com.arsdigita.london.navigation.ui.object.ComplexObjectList) newsList).getRenderer().addAttribute("newsDate");