From 62cd3dba395da3aad7e3134139b7f6ee6d561107 Mon Sep 17 00:00:00 2001 From: pb Date: Sun, 4 Sep 2016 09:47:49 +0000 Subject: [PATCH] Backport r4260: fixed stylesheet-path inconsistencies, added documentation. git-svn-id: https://svn.libreccm.org/ccm/trunk@4267 8810af33-2d31-482b-a856-94f89814c4df --- .../bundles/devel/cfg/integration.properties | 10 +- .../standard/cfg/integration.properties | 2 +- ...cientificCMS-Mandalay-stylesheet-paths.txt | 60 +++++++++ .../web/WEB-INF/systeminformation.properties | 2 +- .../navigation/SpecializingList.jsp | 8 ++ .../ccm-navigation/navigation/sci-default.jsp | 46 ++++--- .../ccm-navigation/navigation/sci-events.jsp | 14 +- .../ccm-navigation/navigation/sci-portal.jsp | 1 - .../ccm-navigation/navigation/sci-recent.jsp | 2 + .../ccm-navigation/navigation/sci-welcome.jsp | 127 ++++++++++-------- .../web/themes/scicms-custom/aREADME.custom | 6 + .../scicms-default/aREADME.scicms-default | 6 + 12 files changed, 200 insertions(+), 84 deletions(-) create mode 100644 ccm-sci-bundle/src/WEB-INF/resources/scientificCMS-Mandalay-stylesheet-paths.txt create mode 100644 ccm-sci-bundle/web/themes/scicms-custom/aREADME.custom create mode 100644 ccm-sci-bundle/web/themes/scicms-default/aREADME.scicms-default diff --git a/ccm-sci-bundle/bundles/devel/cfg/integration.properties b/ccm-sci-bundle/bundles/devel/cfg/integration.properties index 9154dce7a..8fec63c6c 100644 --- a/ccm-sci-bundle/bundles/devel/cfg/integration.properties +++ b/ccm-sci-bundle/bundles/devel/cfg/integration.properties @@ -52,7 +52,10 @@ waf.search.indexer=lucene # ############################################################################## ; Searches for localized style sheet (among others) waf.templating.stylesheet_resolver=com.arsdigita.templating.PatternStylesheetResolver +; For new installations and Foundry default theme waf.templating.stylesheet_paths=/WEB-INF/resources/scientificCMS-stylesheet-paths.txt +; For updates and existing Mandalay based themes: +#waf.templating.stylesheet_paths=/WEB-INF/resources/scientificCMS-Mandalay-stylesheet-paths.txt # CORE UI configuration parameters @@ -84,8 +87,10 @@ waf.workflow.simple.alerts_sender=root@localhost.localdomain # CORE XML processing configuration parameters # ############################################################################## -waf.xml.xsl_transformer=saxonhe waf.xml.activate_full_date_formatter=true +; For new installations and Foundry default theme +waf.xml.xsl_transformer=saxonhe +; For updates and existing Mandalay based themes: @@ -116,6 +121,7 @@ com.arsdigita.cms.default_template_resolver_class=com.arsdigita.subsite.dispatch ; com.arsdigita.cms.dhtml_editor_plugins=TableOperations,CSS com.arsdigita.cms.disable_item_pfs=true +com.arsdigita.cms.delete_workflow_after_publication=false com.arsdigita.cms.hide_admin_tabs=true com.arsdigita.cms.hide_folder_index_checkbox=true @@ -134,9 +140,9 @@ com.arsdigita.cms.unpublished_not_found=false com.arsdigita.cms.use_section_categories=false com.arsdigita.cms.use_streamlined_creation=true -com.arsdigita.cms.delete_workflow_after_publication=false # ccm-cms-types-event parameters +# ############################################################################## com.arsdigita.cms.contenttypes.event.hide_cost=true com.arsdigita.cms.contenttypes.event.hide_date_description=false com.arsdigita.cms.contenttypes.event.hide_event_type=true diff --git a/ccm-sci-bundle/bundles/standard/cfg/integration.properties b/ccm-sci-bundle/bundles/standard/cfg/integration.properties index 3acf01b81..9d5f424f7 100644 --- a/ccm-sci-bundle/bundles/standard/cfg/integration.properties +++ b/ccm-sci-bundle/bundles/standard/cfg/integration.properties @@ -1,5 +1,5 @@ # ############################################################################## -# Scientific CMS standard bundle integration.properties, version 2.0.x +# Scientific CMS standard bundle integration.properties, version 2.3.x # ############################################################################## # # diff --git a/ccm-sci-bundle/src/WEB-INF/resources/scientificCMS-Mandalay-stylesheet-paths.txt b/ccm-sci-bundle/src/WEB-INF/resources/scientificCMS-Mandalay-stylesheet-paths.txt new file mode 100644 index 000000000..a22c4e858 --- /dev/null +++ b/ccm-sci-bundle/src/WEB-INF/resources/scientificCMS-Mandalay-stylesheet-paths.txt @@ -0,0 +1,60 @@ +# -*- text -*- +# This file locates stylesheets, if you are using the +# "PatternStylesheetResolver". Please read the Javadoc for that file for +# the full story. + +# Currently the "resource" part is actually "short-circuited", see +# Templating#transformURL(url). As long as we store and synchronize all theme +# files in each server's local file system, we use the direct file apprach to +# avoid unnecessary http request and traffic between client (user) and server! +# Additionally all modules are installed into one webapp context, so the +# webapp tag is redundant, but sort of required by some part of the code. + + +# Theme with single entry point (e.g Foundry, Mandalay) managed by themedirector +#http://::host::/resource/::webapp::/themes/::themedir::/::theme::/start.xsl +http://::host::/::webapp::/themes/::themedir::/::theme::/start.xsl + + +# Theme with single entry point (e.g Foundry) unmanaged optional custom default +http://::host::/::webapp::/themes/scicms-custom/start.xsl + +# Theme with single entry point (here: Foundry) unmanaged bundle specific default +#http://::host::/::webapp::/themes/scicms-default/start.xsl + +# Theme with single entry point backwards compatible (Mandalay) unmanaged default +http://::host::/::webapp::/themes/mandalay/start.xsl + + + + +# ============================================================================== +# The following is for multi-entry themes, not used in ScientificCMS +# ============================================================================== + +# Output type is for things such as text/javascript +#http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::-::outputtype::-::locale::.xsl +#http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::-::outputtype::.xsl + +# Grabs custom item xsl for CMS +#http://::host::/themes/servlet/content-item/index.xsl?oid=::item_template_oid::&delegated=::item_delegated_url:: + +# Theme, with optional locale & prefix +#http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::-::prefix::-::locale::.xsl +#http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::-::prefix::.xsl + +# Theme, with optional locale +#http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::-::locale::.xsl +#http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::.xsl + +# APLAWS generic default, with locale and prefix +# http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::-::prefix::-::locale::.xsl +# http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::-::prefix::.xsl + +# APLAWS generic default, with locale +# http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::-::locale::.xsl +# http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::.xsl + +# Global default, from application's own web app +#http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::-::locale::.xsl +#http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::.xsl diff --git a/ccm-sci-bundle/web/WEB-INF/systeminformation.properties b/ccm-sci-bundle/web/WEB-INF/systeminformation.properties index 84165fa6b..a7915df64 100644 --- a/ccm-sci-bundle/web/WEB-INF/systeminformation.properties +++ b/ccm-sci-bundle/web/WEB-INF/systeminformation.properties @@ -1,3 +1,3 @@ -version = 2.3.x +version = 2.3.2 appname = ScientificCMS apphomepage = http://www.scientificcms.org diff --git a/ccm-sci-bundle/web/templates/ccm-navigation/navigation/SpecializingList.jsp b/ccm-sci-bundle/web/templates/ccm-navigation/navigation/SpecializingList.jsp index 31fd0f20e..e2547b141 100644 --- a/ccm-sci-bundle/web/templates/ccm-navigation/navigation/SpecializingList.jsp +++ b/ccm-sci-bundle/web/templates/ccm-navigation/navigation/SpecializingList.jsp @@ -28,6 +28,14 @@ classname="com.arsdigita.navigation.ui.category.Path"/> + // Navigation menu for mobile devices (responsive) + + + ((com.arsdigita.navigation.ui.category.Hierarchy) categoryNav).setShowItems(false); + + + diff --git a/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-default.jsp b/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-default.jsp index f7edd8a13..2883b0af3 100644 --- a/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-default.jsp +++ b/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-default.jsp @@ -28,30 +28,38 @@ classname="com.arsdigita.navigation.ui.category.Path"/> + // Menu for mobile responsive version + + + ((com.arsdigita.navigation.ui.category.Hierarchy) categoryNav).setShowItems(false); + + + - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setDefinition(new CMSDataCollectionDefinition()); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setRenderer(new CMSDataCollectionRenderer()); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setDefinition(new CMSDataCollectionDefinition()); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setRenderer(new CMSDataCollectionRenderer()); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setDescendCategories(false); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().addOrder("parent.categories.link.sortKey"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setDescendCategories(false); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().addOrder("parent.categories.link.sortKey"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setPageSize(30); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("objectType"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("title"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "definition"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "summary"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "lead"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "description"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "eventDate"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "startDate" ); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "endDate"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "newsDate"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "imageAttachments.caption"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "imageAttachments.image.id"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "pageDescription"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setPageSize(30); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("objectType"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("title"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "definition"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "summary"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "lead"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "description"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "eventDate"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "startDate" ); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "endDate"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "newsDate"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "imageAttachments.caption"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "imageAttachments.image.id"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "pageDescription"); + // Menu for mobile (responsive) Version theme UniHB + + + ((com.arsdigita.navigation.ui.category.Hierarchy) categoryNav).setShowItems(false); + + + + @@ -37,7 +46,10 @@ ((com.arsdigita.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 ist mal wieder kompliziert. Man braucht ein Calender-Object, damit man Datumsarithmetik betreiben kann. java.util.Calendar ist allerdings + // abstract. Deshalb muss 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), diff --git a/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-portal.jsp b/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-portal.jsp index d90293cbb..1056811e2 100644 --- a/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-portal.jsp +++ b/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-portal.jsp @@ -32,7 +32,6 @@ classname="com.arsdigita.portalworkspace.ui.WorkspaceViewer"/> portalsPage.setClassAttr("portalPage"); - ((com.arsdigita.portalworkspace.ui.WorkspaceViewer) portalWorkspace).setWorkspaceModel(new CategoryPortalSelectionModel()); diff --git a/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-recent.jsp b/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-recent.jsp index fb78c4971..b56f8019f 100644 --- a/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-recent.jsp +++ b/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-recent.jsp @@ -10,6 +10,8 @@ + + long age = Navigation.getConfig().getIndexPageCacheLifetime(); if (age == 0) { diff --git a/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-welcome.jsp b/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-welcome.jsp index dcb232fb2..69efafe9b 100644 --- a/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-welcome.jsp +++ b/ccm-sci-bundle/web/templates/ccm-navigation/navigation/sci-welcome.jsp @@ -14,9 +14,6 @@ - defaultItemPage.setClassAttr("welcomePage"); - - long age = Navigation.getConfig().getIndexPageCacheLifetime(); if (age == 0) { DispatcherHelper.cacheDisable(response); @@ -36,81 +33,93 @@ classname="com.arsdigita.navigation.ui.category.Path"/> + // Navigation Menu mobile (responsive) version (theme UniHB and others) + + + ((com.arsdigita.navigation.ui.category.Hierarchy) categoryNav).setShowItems(false); + + + + - defaultItemPage.setClassAttr("welcomePage"); + defaultItemPage.setClassAttr("welcomePage"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setDefinition(new CMSDataCollectionDefinition()); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setRenderer(new CMSDataCollectionRenderer()); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setDefinition(new CMSDataCollectionDefinition()); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setRenderer(new CMSDataCollectionRenderer()); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setDescendCategories(false); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().addOrder("parent.categories.link.sortKey"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setDescendCategories(false); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().addOrder("parent.categories.link.sortKey"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setPageSize(30); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("objectType"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("title"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "definition"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "summary"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "lead"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "description"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "eventDate"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "startDate" ); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "endDate"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "newsDate"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "imageAttachments.caption"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "imageAttachments.image.id"); - ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "pageDescription"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setPageSize(30); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("objectType"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("title"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "definition"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "summary"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "lead"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "description"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "launchDate"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "eventDate"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "startDate" ); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "endDate"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "newsDate"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "imageAttachments.caption"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "imageAttachments.image.id"); + ((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "pageDescription"); + - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setDefinition(new CMSDataCollectionDefinition()); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setRenderer(new CMSDataCollectionRenderer()); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.Event"); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setDefinition(new CMSDataCollectionDefinition()); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setRenderer(new CMSDataCollectionRenderer()); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.Event"); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setSQLFilter("(endDate >= :today and (endTime > :time or endTime is null)) or (endDate is null and startDate >= :today)"); + ((com.arsdigita.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 muss man java.util.GregorianCalendar - // verwenden. Dann kann man mit der add-Methode verschiedene Felder - // manipulieren. Aber Achtung - die add-Method liefert void zurueck. 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 dass der Timestamp immer eine Uhrzeit am - // 1.1.1970 angibt. Das ist ziemlich bescheuert und macht hier diesen - // kompliezierten Vergleich notwendig. Sonst koennte 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 + // Java ist mal wieder kompliziert. Man braucht ein Calender-Object, + // damit man Datumsarithmetik betreiben kann. java.util.Calendar ist + // allerdings abstract. Deshalb muss man java.util.GregorianCalendar + // verwenden. Dann kann man mit der add-Methode verschiedene Felder + // manipulieren. Aber Achtung - die add-Method liefert void zurueck. 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 dass der Timestamp immer eine Uhrzeit am + // 1.1.1970 angibt. Das ist ziemlich bescheuert und macht hier diesen + // kompliezierten Vergleich notwendig. Sonst koennte 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.navigation.ui.object.ComplexObjectList) eventList).setParameter("today", today); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setParameter("time", time); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setParameter("today", today); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setParameter("time", time); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getDefinition().setDescendCategories(true); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getDefinition().addOrder("startDate"); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getDefinition().setDescendCategories(true); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getDefinition().addOrder("startDate"); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().setPageSize(5); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("objectType"); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("title"); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("lead"); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("eventDate"); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("launchDate"); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("startDate"); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("endDate"); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute( "imageAttachments.caption"); - ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute( "imageAttachments.image.id"); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().setPageSize(5); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("objectType"); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("title"); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("lead"); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("launchDate"); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("eventDate"); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("startDate"); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("endDate"); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute( "imageAttachments.caption"); + ((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute( "imageAttachments.image.id"); + diff --git a/ccm-sci-bundle/web/themes/scicms-custom/aREADME.custom b/ccm-sci-bundle/web/themes/scicms-custom/aREADME.custom new file mode 100644 index 000000000..828f679cf --- /dev/null +++ b/ccm-sci-bundle/web/themes/scicms-custom/aREADME.custom @@ -0,0 +1,6 @@ +ScientificCMS theme with single entry point (e.g. Foundry) +unmanaged optional custom specific default. +It is used if there is no managed theme (managed by themedirector) configured +or if themedirector is not installed. +If there is no custom theme installed, a bundle specific unmanged default +(scicms-default) is used. diff --git a/ccm-sci-bundle/web/themes/scicms-default/aREADME.scicms-default b/ccm-sci-bundle/web/themes/scicms-default/aREADME.scicms-default new file mode 100644 index 000000000..b7bf50d1f --- /dev/null +++ b/ccm-sci-bundle/web/themes/scicms-default/aREADME.scicms-default @@ -0,0 +1,6 @@ +ScientificCMS bundle default unmanaged theme (with single entry point as of +Foundry). +It is used if there is no managed theme (managed by themedirector) configured +(or if themedirector is not installed) and no custom theme (see scicms-custom) +installed. +It is part of ScientificCMS basic distribution.