From caba8b7540210e4b74db1b830ad7a73c397ff8d0 Mon Sep 17 00:00:00 2001 From: pb Date: Mon, 30 Jan 2012 10:07:39 +0000 Subject: [PATCH] =?UTF-8?q?Weitere=20Erg=C3=A4nzungen=20zu=20r1475=20/=20r?= =?UTF-8?q?1476.=20Es=20ist=20das=20Verzeichnis=20static=20f.=20Content=20?= =?UTF-8?q?Types=20in=20heirloom=20integriert=20und=20das=20Verzeichnis=20?= =?UTF-8?q?packages=20weitgehend=20aufgel=C3=B6st.=20Templates=20/=20jsps?= =?UTF-8?q?=20weitgehend=20nach=20templates=20verschoben.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.libreccm.org/ccm/trunk@1478 8810af33-2d31-482b-a856-94f89814c4df --- .../bundle/ui/AssignedItemTerms.java | 3 +- .../static/aplaws-generic/portal/portlets.xsl | 39 ++- .../PublicPersonalProfileInitializer.java | 56 +++- .../themes/heirloom/contenttypes/FormItem.xsl | 13 +- .../HealthCareFacilityInitializer.java | 35 ++- .../contenttypes/HealthCareFacility.xsl | 0 .../contenttypes/InlineSiteInitializer.java | 28 +- .../heirloom}/contenttypes/InlineSite.xsl | 0 .../cms/contenttypes/JobInitializer.java | 32 +- .../heirloom}/contenttypes/Job.xsl | 0 .../contenttypes/LegalNoticeInitializer.java | 22 +- .../heirloom}/contenttypes/LegalNotice.xsl | 0 .../cms/contenttypes/MinutesInitializer.java | 23 +- .../heirloom}/contenttypes/Minutes.xsl | 0 .../src/ccm-cms-types-organization.config | 2 + .../contenttypes/OrganizationInitializer.java | 23 +- .../heirloom}/contenttypes/Organization.xsl | 0 .../contenttypes/PressReleaseInitializer.java | 28 +- .../heirloom}/contenttypes/PressRelease.xsl | 0 .../cms/contenttypes/ServiceInitializer.java | 23 +- .../heirloom}/contenttypes/Service.xsl | 0 .../contenttypes/ui/editors/ScaleEditor.java | 1 - .../themes/heirloom/contenttypes/Survey.xsl | 14 +- .../cms/contenttypes/xmlfeed/Initializer.java | 21 +- .../heirloom}/contenttypes/XMLFeed.xsl | 0 ccm-cms/application.xml | 2 +- ccm-cms/src/com/arsdigita/cms/CMSConfig.java | 7 +- .../cms/CMSConfig_parameter.properties | 4 +- .../arsdigita/cms/ContentSectionServlet.java | 1 + .../cms/dispatcher/ContentItemDispatcher.java | 47 +-- .../cms/dispatcher/ItemDispatcher.java | 8 +- .../cms/enterprise.init.nolongerInUse | 1 + .../cms/publishToFile/Initializer.java | 3 +- .../publishToFile/PublishToFileConfig.java | 4 +- .../enterprise.init.nolongerInUse | 1 + .../arsdigita/cms/publishToFile/package.html | 4 +- .../com/arsdigita/cms/ui/ContentItemPage.java | 5 +- .../content-section}/default/category.jsp | 0 .../content-section}/default/folder.jsp | 0 .../ccm-cms/content-section}/default/item.jsp | 0 .../src/com/arsdigita/portal/PortletType.java | 14 + .../versioning/VersioningServlet.java | 4 +- .../formbuilder/xsl/OptionWidgets.xsl | 122 -------- .../formbuilder/xsl/PersistentDate.xsl | 81 ----- .../formbuilder/xsl/PersistentSubmit.xsl | 28 -- .../packages/formbuilder/xsl/TextWidgets.xsl | 111 ------- .../packages/formbuilder/xsl/formbuilder.xsl | 148 --------- ccm-core/web/packages/versioning/footer.jspf | 4 - ccm-core/web/packages/versioning/graph.jsp | 25 -- ccm-core/web/packages/versioning/header.jspf | 6 - ccm-core/web/packages/versioning/main.jsp | 56 ---- ccm-core/web/packages/versioning/rollback.jsp | 31 -- ccm-core/web/packages/versioning/txns.jsp | 50 ---- ccm-core/web/packages/versioning/vlog.css | 60 ---- .../heirloom/packages/formbuilder/README | 5 - .../deployment/development-environment.sgml | 3 +- .../themes/static/aplaws/portal/portlets.xsl | 39 ++- .../contenttypes/ContactInitializer.java | 38 ++- .../heirloom/contenttypes/ldn}/Contact.xsl | 0 .../contenttypes/ESDServiceInitializer.java | 43 ++- .../heirloom/contenttypes/ldn}/ESDService.xsl | 0 .../portalserver/xsl/portalserver.xsl | 2 +- .../portalworkspace/Initializer.java | 5 +- .../com/arsdigita/portalworkspace/Loader.java | 17 +- .../packages/portal-workspace/xsl/portal.xsl | 12 +- .../portal-workspace/xsl/portlets.xsl | 6 +- ccm-portlet-collection/application.xml | 23 ++ .../oracle-se-create.sql | 2 + .../postgres-create.sql | 4 + .../src/ccm-portlet-collection.config | 7 + .../src/ccm-portlet-collection.load | 24 ++ .../portlet/PortletCollectionInitializer.java | 282 ++++++++++++++++++ .../portlet/PortletCollectionLoader.java | 165 ++++++++++ .../arsdigita}/portlet/TimeOfDayPortlet.java | 4 +- .../portlet/ui}/TimeOfDayPortletRenderer.java | 14 +- .../portlets}/time-of-day-portlet.xsl | 0 .../deployment/development-environment.sgml | 3 +- .../bundle/ui/AssignedItemTerms.java | 3 +- ccm-sci-bundle/bundles/devel/cfg/project.xml | 39 ++- .../deployment/development-environment.sgml | 3 +- .../bundle/ui/AssignedItemTerms.java | 3 +- .../default/aplaws-folder.jsp | 0 .../content-section}/default/aplaws-item.jsp | 0 .../static/aplaws-generic/portal/portlets.xsl | 39 ++- .../portal/time-of-day-portlet.xsl | 15 +- .../CollectedVolumeInitializer.java | 3 +- .../cms/contenttypes/JournalInitializer.java | 31 +- .../contenttypes/MonographInitializer.java | 31 +- .../contenttypes/ProceedingsInitializer.java | 32 +- .../contenttypes/PublicationInitializer.java | 8 + .../PublicationWithPublisherInitializer.java | 32 +- .../contenttypes/PublisherInitializer.java | 29 +- .../cms/contenttypes/ReviewInitializer.java | 31 +- .../contenttypes/SciAuthorInitializer.java | 33 +- .../cms/contenttypes/SeriesInitializer.java | 31 +- .../contenttypes/UnPublishedInitializer.java | 29 +- .../contenttypes/WorkingPaperInitializer.java | 31 +- .../SciDepartmentInitializer.java | 57 +++- .../contenttypes/sci}/SciDepartment.xsl | 0 .../contenttypes/SciInstituteInitializer.java | 57 +++- .../contenttypes/sci}/SciInstitute.xsl | 0 .../contenttypes/SciProjectInitializer.java | 62 +++- tools-legacy/tools/ccm-tools.spec.in | 4 +- 103 files changed, 1499 insertions(+), 992 deletions(-) rename ccm-cms-types-healthCareFacility/web/{static/content-types/com/arsdigita/cms => themes/heirloom}/contenttypes/HealthCareFacility.xsl (100%) rename ccm-cms-types-inlinesite/web/{static/content-types/com/arsdigita/cms => themes/heirloom}/contenttypes/InlineSite.xsl (100%) rename ccm-cms-types-job/web/{static/content-types/com/arsdigita/cms => themes/heirloom}/contenttypes/Job.xsl (100%) rename ccm-cms-types-legalnotice/web/{static/content-types/com/arsdigita/cms => themes/heirloom}/contenttypes/LegalNotice.xsl (100%) rename ccm-cms-types-minutes/web/{static/content-types/com/arsdigita/cms => themes/heirloom}/contenttypes/Minutes.xsl (100%) rename ccm-cms-types-organization/web/{static/content-types/com/arsdigita/cms => themes/heirloom}/contenttypes/Organization.xsl (100%) rename ccm-cms-types-pressrelease/web/{static/content-types/com/arsdigita/cms => themes/heirloom}/contenttypes/PressRelease.xsl (100%) rename ccm-cms-types-service/web/{static/content-types/com/arsdigita/cms => themes/heirloom}/contenttypes/Service.xsl (100%) rename ccm-cms-types-xmlfeed/web/{static/content-types/com/arsdigita/cms => themes/heirloom}/contenttypes/XMLFeed.xsl (100%) rename ccm-cms/web/{packages/content-section/templates => templates/ccm-cms/content-section}/default/category.jsp (100%) rename ccm-cms/web/{packages/content-section/templates => templates/ccm-cms/content-section}/default/folder.jsp (100%) rename ccm-cms/web/{packages/content-section/templates => templates/ccm-cms/content-section}/default/item.jsp (100%) delete mode 100755 ccm-core/web/packages/formbuilder/xsl/OptionWidgets.xsl delete mode 100755 ccm-core/web/packages/formbuilder/xsl/PersistentDate.xsl delete mode 100755 ccm-core/web/packages/formbuilder/xsl/PersistentSubmit.xsl delete mode 100755 ccm-core/web/packages/formbuilder/xsl/TextWidgets.xsl delete mode 100755 ccm-core/web/packages/formbuilder/xsl/formbuilder.xsl delete mode 100755 ccm-core/web/packages/versioning/footer.jspf delete mode 100755 ccm-core/web/packages/versioning/graph.jsp delete mode 100755 ccm-core/web/packages/versioning/header.jspf delete mode 100755 ccm-core/web/packages/versioning/main.jsp delete mode 100755 ccm-core/web/packages/versioning/rollback.jsp delete mode 100755 ccm-core/web/packages/versioning/txns.jsp delete mode 100755 ccm-core/web/packages/versioning/vlog.css delete mode 100644 ccm-core/web/themes/heirloom/packages/formbuilder/README rename ccm-ldn-types-contact/web/{static/content-types/com/arsdigita/london/contenttypes => themes/heirloom/contenttypes/ldn}/Contact.xsl (100%) rename ccm-ldn-types-esdservice/web/{static/content-types/com/arsdigita/london/contenttypes => themes/heirloom/contenttypes/ldn}/ESDService.xsl (100%) create mode 100755 ccm-portlet-collection/application.xml create mode 100755 ccm-portlet-collection/sql/ccm-portlet-collection/oracle-se-create.sql create mode 100755 ccm-portlet-collection/sql/ccm-portlet-collection/postgres-create.sql create mode 100755 ccm-portlet-collection/src/ccm-portlet-collection.config create mode 100755 ccm-portlet-collection/src/ccm-portlet-collection.load create mode 100755 ccm-portlet-collection/src/com/arsdigita/portlet/PortletCollectionInitializer.java create mode 100755 ccm-portlet-collection/src/com/arsdigita/portlet/PortletCollectionLoader.java rename {ccm-portalworkspace/src/com/arsdigita/portalworkspace => ccm-portlet-collection/src/com/arsdigita}/portlet/TimeOfDayPortlet.java (91%) rename {ccm-portalworkspace/src/com/arsdigita/portalworkspace/ui/portlet => ccm-portlet-collection/src/com/arsdigita/portlet/ui}/TimeOfDayPortletRenderer.java (83%) rename {ccm-portalworkspace/web/themes/heirloom/packages/portal-workspace/xsl => ccm-portlet-collection/web/themes/heirloom/portlets}/time-of-day-portlet.xsl (100%) rename ccm-sci-bundle/web/{packages/content-section/templates => templates/ccm-cms/content-section}/default/aplaws-folder.jsp (100%) rename ccm-sci-bundle/web/{packages/content-section/templates => templates/ccm-cms/content-section}/default/aplaws-item.jsp (100%) rename ccm-sci-types-department/web/{static/content-types/com/arsdigita/cms/contenttypes => themes/heirloom/contenttypes/sci}/SciDepartment.xsl (100%) rename ccm-sci-types-institute/web/{static/content-types/com/arsdigita/cms/contenttypes => themes/heirloom/contenttypes/sci}/SciInstitute.xsl (100%) diff --git a/ccm-bundle/src/com/arsdigita/bundle/ui/AssignedItemTerms.java b/ccm-bundle/src/com/arsdigita/bundle/ui/AssignedItemTerms.java index 433c7478e..eb0646edd 100644 --- a/ccm-bundle/src/com/arsdigita/bundle/ui/AssignedItemTerms.java +++ b/ccm-bundle/src/com/arsdigita/bundle/ui/AssignedItemTerms.java @@ -26,7 +26,8 @@ import com.arsdigita.london.terms.ui.AbstractAssignedTerms; /** * * Invoked by jsp - * (e.g. packages/content-section/templates/default/aplaws-item.jsp) + * (e.g. templates/ccm-cms/content-section/default/aplaws-item.jsp + * previously: packages/content-section/templates/default/aplaws-item.jsp) */ public class AssignedItemTerms extends AbstractAssignedTerms { diff --git a/ccm-bundle/web/themes/static/aplaws-generic/portal/portlets.xsl b/ccm-bundle/web/themes/static/aplaws-generic/portal/portlets.xsl index 7af695964..034983188 100644 --- a/ccm-bundle/web/themes/static/aplaws-generic/portal/portlets.xsl +++ b/ccm-bundle/web/themes/static/aplaws-generic/portal/portlets.xsl @@ -1,28 +1,23 @@ - - - + - - - - - - - - - - - - - + + + + + + + + + + diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileInitializer.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileInitializer.java index 10ee7b0fc..2b909aa9d 100644 --- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileInitializer.java +++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/contenttypes/PublicPersonalProfileInitializer.java @@ -1,31 +1,81 @@ +/* + * Copyright (c) 2010 Jens Pelzetter, + * for the Center of Social Politics of the University of Bremen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + package com.arsdigita.cms.contenttypes; import org.apache.log4j.Logger; /** + * Executes at each system startup and initializes the PublicPersonalProfile + * content type. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Jens Pelzetter * @version $Id$ */ public class PublicPersonalProfileInitializer extends ContentTypeInitializer { - private static final Logger logger = Logger.getLogger(PublicPersonalProfileInitializer.class); + /** Private Logger instance for debugging purpose. */ + private static final Logger logger = Logger.getLogger( + PublicPersonalProfileInitializer.class); + /** + * Constructor, sets the PDL manifest file and object type string. + */ public PublicPersonalProfileInitializer() { super("ccm-cms-publicpersonalprofile.pdl.mf", PublicPersonalProfile.BASE_DATA_OBJECT_TYPE); } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override public String[] getStylesheets() { return new String[]{ - "/static/content-types/com/arsdigita/cms/contenttypes/PublicPersonalProfile.xsl" + INTERNAL_THEME_TYPES_DIR + "PublicPersonalProfile.xsl" }; } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override public String getTraversalXML() { - return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/PublicPersonalProfile.xml"; + return + "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/PublicPersonalProfile.xml"; } } diff --git a/ccm-cms-types-formitem/web/themes/heirloom/contenttypes/FormItem.xsl b/ccm-cms-types-formitem/web/themes/heirloom/contenttypes/FormItem.xsl index 01f65727d..ae2388805 100755 --- a/ccm-cms-types-formitem/web/themes/heirloom/contenttypes/FormItem.xsl +++ b/ccm-cms-types-formitem/web/themes/heirloom/contenttypes/FormItem.xsl @@ -4,16 +4,19 @@ xmlns:bebop="http://www.arsdigita.com/bebop/1.0" exclude-result-prefixes="cms bebop"> - + + - + - +

diff --git a/ccm-cms-types-healthCareFacility/src/com/arsdigita/cms/contenttypes/HealthCareFacilityInitializer.java b/ccm-cms-types-healthCareFacility/src/com/arsdigita/cms/contenttypes/HealthCareFacilityInitializer.java index a62e1f655..2d8d9e19c 100644 --- a/ccm-cms-types-healthCareFacility/src/com/arsdigita/cms/contenttypes/HealthCareFacilityInitializer.java +++ b/ccm-cms-types-healthCareFacility/src/com/arsdigita/cms/contenttypes/HealthCareFacilityInitializer.java @@ -16,18 +16,27 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ + package com.arsdigita.cms.contenttypes; import org.apache.log4j.Logger; /** - * Initializer of the HealthCareFacility content type. + * Executes at each system startup and initializes the HealthCareFacility + * content type. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Sören Bernstein */ public class HealthCareFacilityInitializer extends ContentTypeInitializer { - private static final Logger s_log = Logger.getLogger(HealthCareFacilityInitializer.class); + /** Private Logger instance for debugging purpose. */ + private static final Logger s_log = Logger.getLogger( + HealthCareFacilityInitializer.class); /** * Constructor. calls only the constructor of the parent class with name of @@ -39,11 +48,23 @@ public class HealthCareFacilityInitializer extends ContentTypeInitializer { } /** - * - * @return path of the XSL stylesheet file. The stylesheet is very generic, because this - * contenttype will be used with the new mandalay theme only. + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + * The stylesheet is very generic, because this + * contenttype will be used with the new mandalay theme only. */ - public String getStylesheet() { - return "static/content-types/com/arsdigita/cms/contenttypes/HealthCareFacility.xsl"; + @Override + public String[] getStylesheets() { + return new String[] + { INTERNAL_THEME_TYPES_DIR + "HealthCareFacility.xsl"} ; } } diff --git a/ccm-cms-types-healthCareFacility/web/static/content-types/com/arsdigita/cms/contenttypes/HealthCareFacility.xsl b/ccm-cms-types-healthCareFacility/web/themes/heirloom/contenttypes/HealthCareFacility.xsl similarity index 100% rename from ccm-cms-types-healthCareFacility/web/static/content-types/com/arsdigita/cms/contenttypes/HealthCareFacility.xsl rename to ccm-cms-types-healthCareFacility/web/themes/heirloom/contenttypes/HealthCareFacility.xsl diff --git a/ccm-cms-types-inlinesite/src/com/arsdigita/cms/contenttypes/InlineSiteInitializer.java b/ccm-cms-types-inlinesite/src/com/arsdigita/cms/contenttypes/InlineSiteInitializer.java index 1339679f2..030fcea46 100755 --- a/ccm-cms-types-inlinesite/src/com/arsdigita/cms/contenttypes/InlineSiteInitializer.java +++ b/ccm-cms-types-inlinesite/src/com/arsdigita/cms/contenttypes/InlineSiteInitializer.java @@ -16,28 +16,52 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ + package com.arsdigita.cms.contenttypes; import org.apache.log4j.Logger; /** - * The CMS initializer. + * Executes at each system startup and initializes the InlineSite content type. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Justin Ross <jross@redhat.com> * @version $Id: InlineSiteInitializer.java 757 2005-09-02 14:12:21Z sskracic $ */ public class InlineSiteInitializer extends ContentTypeInitializer { + /** Private Logger instance for debugging purpose. */ private static final Logger s_log = Logger.getLogger(InlineSiteInitializer.class); + /** + * Constructor, sets the PDL manifest file and object type string. + */ public InlineSiteInitializer() { super("ccm-cms-types-inlinesite.pdl.mf", InlineSite.BASE_DATA_OBJECT_TYPE); } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ + @Override public String[] getStylesheets() { return new String[] { - "/static/content-types/com/arsdigita/cms/contenttypes/InlineSite.xsl" + INTERNAL_THEME_TYPES_DIR + "InlineSite.xsl" }; } } diff --git a/ccm-cms-types-inlinesite/web/static/content-types/com/arsdigita/cms/contenttypes/InlineSite.xsl b/ccm-cms-types-inlinesite/web/themes/heirloom/contenttypes/InlineSite.xsl similarity index 100% rename from ccm-cms-types-inlinesite/web/static/content-types/com/arsdigita/cms/contenttypes/InlineSite.xsl rename to ccm-cms-types-inlinesite/web/themes/heirloom/contenttypes/InlineSite.xsl diff --git a/ccm-cms-types-job/src/com/arsdigita/cms/contenttypes/JobInitializer.java b/ccm-cms-types-job/src/com/arsdigita/cms/contenttypes/JobInitializer.java index 2a4944b66..4f7f0fa17 100755 --- a/ccm-cms-types-job/src/com/arsdigita/cms/contenttypes/JobInitializer.java +++ b/ccm-cms-types-job/src/com/arsdigita/cms/contenttypes/JobInitializer.java @@ -16,10 +16,16 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ + package com.arsdigita.cms.contenttypes; /** - * Initializer + * Executes at each system startup and initializes the Job content type. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Rafael H. Schloming <rhs@mit.edu> * @version $Revision: #7 $ $Date: 2004/08/17 $ @@ -29,16 +35,38 @@ package com.arsdigita.cms.contenttypes; public class JobInitializer extends ContentTypeInitializer { + /** + * Constructor, sets the PDL manifest file and object type string. + */ public JobInitializer() { super("ccm-cms-types-job.pdl.mf", Job.BASE_DATA_OBJECT_TYPE); } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ + @Override public String getTraversalXML() { return "WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Job.xml"; } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ + @Override public String[] getStylesheets() { - return new String[] {"/static/content-types/com/arsdigita/cms/contenttypes/Job.xsl"}; + return new String[] {INTERNAL_THEME_TYPES_DIR + "Job.xsl"}; } diff --git a/ccm-cms-types-job/web/static/content-types/com/arsdigita/cms/contenttypes/Job.xsl b/ccm-cms-types-job/web/themes/heirloom/contenttypes/Job.xsl similarity index 100% rename from ccm-cms-types-job/web/static/content-types/com/arsdigita/cms/contenttypes/Job.xsl rename to ccm-cms-types-job/web/themes/heirloom/contenttypes/Job.xsl diff --git a/ccm-cms-types-legalnotice/src/com/arsdigita/cms/contenttypes/LegalNoticeInitializer.java b/ccm-cms-types-legalnotice/src/com/arsdigita/cms/contenttypes/LegalNoticeInitializer.java index 76768c6b9..7d451ee06 100755 --- a/ccm-cms-types-legalnotice/src/com/arsdigita/cms/contenttypes/LegalNoticeInitializer.java +++ b/ccm-cms-types-legalnotice/src/com/arsdigita/cms/contenttypes/LegalNoticeInitializer.java @@ -16,12 +16,13 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ + package com.arsdigita.cms.contenttypes; import org.apache.log4j.Logger; /** - * Initializes the Legal Notice content type. + * Executes at each system startup and initializes the LegalNotice content type. * * Defines the content type specific properties and just uses the super class * methods to register the content type with the (transient) content type store @@ -35,6 +36,7 @@ import org.apache.log4j.Logger; public class LegalNoticeInitializer extends ContentTypeInitializer { + /** Private Logger instance for debugging purpose. */ private static final Logger s_log = Logger.getLogger(LegalNoticeInitializer.class); /** @@ -45,14 +47,22 @@ public class LegalNoticeInitializer extends ContentTypeInitializer { } /** - * Retrieve location of this content types stylesheet. Overwrites parent - * method with FormItem specific value for use by the parent class worker - * methods. - * @return + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme */ + @Override public String[] getStylesheets() { return new String[] { - "/static/content-types/com/arsdigita/cms/contenttypes/LegalNotice.xsl" }; + INTERNAL_THEME_TYPES_DIR + "LegalNotice.xsl" }; } } diff --git a/ccm-cms-types-legalnotice/web/static/content-types/com/arsdigita/cms/contenttypes/LegalNotice.xsl b/ccm-cms-types-legalnotice/web/themes/heirloom/contenttypes/LegalNotice.xsl similarity index 100% rename from ccm-cms-types-legalnotice/web/static/content-types/com/arsdigita/cms/contenttypes/LegalNotice.xsl rename to ccm-cms-types-legalnotice/web/themes/heirloom/contenttypes/LegalNotice.xsl diff --git a/ccm-cms-types-minutes/src/com/arsdigita/cms/contenttypes/MinutesInitializer.java b/ccm-cms-types-minutes/src/com/arsdigita/cms/contenttypes/MinutesInitializer.java index c44bf42de..b19446a08 100755 --- a/ccm-cms-types-minutes/src/com/arsdigita/cms/contenttypes/MinutesInitializer.java +++ b/ccm-cms-types-minutes/src/com/arsdigita/cms/contenttypes/MinutesInitializer.java @@ -16,12 +16,13 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ + package com.arsdigita.cms.contenttypes; import org.apache.log4j.Logger; /** - * Initializes the Minutes content type. + * Executes at each system startup and initializes the Minutes content type. * * Defines the content type specific properties and just uses the super class * methods to register the content type with the (transient) content type store @@ -35,6 +36,7 @@ import org.apache.log4j.Logger; public class MinutesInitializer extends ContentTypeInitializer { + /** Private Logger instance for debugging purpose. */ private static final Logger s_log = Logger.getLogger(MinutesInitializer.class); /** @@ -45,15 +47,22 @@ public class MinutesInitializer extends ContentTypeInitializer { } /** - * Retrieve location of this content types stylesheet. Overwrites parent - * method with FormItem specific value for use by the parent class worker - * methods. - * - * @return complete path info string + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme */ + @Override public String[] getStylesheets() { return new String[] { - "/static/content-types/com/arsdigita/cms/contenttypes/LegalNotice.xsl" }; + INTERNAL_THEME_TYPES_DIR + "Minutes.xsl" }; } } diff --git a/ccm-cms-types-minutes/web/static/content-types/com/arsdigita/cms/contenttypes/Minutes.xsl b/ccm-cms-types-minutes/web/themes/heirloom/contenttypes/Minutes.xsl similarity index 100% rename from ccm-cms-types-minutes/web/static/content-types/com/arsdigita/cms/contenttypes/Minutes.xsl rename to ccm-cms-types-minutes/web/themes/heirloom/contenttypes/Minutes.xsl diff --git a/ccm-cms-types-organization/src/ccm-cms-types-organization.config b/ccm-cms-types-organization/src/ccm-cms-types-organization.config index ae3b34f20..d70feedd0 100755 --- a/ccm-cms-types-organization/src/ccm-cms-types-organization.config +++ b/ccm-cms-types-organization/src/ccm-cms-types-organization.config @@ -1,5 +1,7 @@ + diff --git a/ccm-cms-types-organization/src/com/arsdigita/cms/contenttypes/OrganizationInitializer.java b/ccm-cms-types-organization/src/com/arsdigita/cms/contenttypes/OrganizationInitializer.java index a8171939d..6a2965763 100755 --- a/ccm-cms-types-organization/src/com/arsdigita/cms/contenttypes/OrganizationInitializer.java +++ b/ccm-cms-types-organization/src/com/arsdigita/cms/contenttypes/OrganizationInitializer.java @@ -16,12 +16,13 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ + package com.arsdigita.cms.contenttypes; import org.apache.log4j.Logger; /** - * Initializes the Organization content type. + * Executes at each system startup and initializes the Organization content type. * * Defines the content type specific properties and just uses the super class * methods to register the content type with the (transient) content type store @@ -33,6 +34,7 @@ import org.apache.log4j.Logger; */ public class OrganizationInitializer extends ContentTypeInitializer { + /** Private Logger instance for debugging purpose. */ private static final Logger s_log = Logger.getLogger(OrganizationInitializer.class); /** @@ -44,15 +46,22 @@ public class OrganizationInitializer extends ContentTypeInitializer { } /** - * Retrieve location of this content types stylesheet. Overwrites parent - * method with FormItem specific value for use by the parent class worker - * methods. - * - * @return complete path info string + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme */ + @Override public String[] getStylesheets() { return new String[] { - "/static/content-types/com/arsdigita/cms/contenttypes/Organization.xsl" + INTERNAL_THEME_TYPES_DIR + "Organization.xsl" }; } diff --git a/ccm-cms-types-organization/web/static/content-types/com/arsdigita/cms/contenttypes/Organization.xsl b/ccm-cms-types-organization/web/themes/heirloom/contenttypes/Organization.xsl similarity index 100% rename from ccm-cms-types-organization/web/static/content-types/com/arsdigita/cms/contenttypes/Organization.xsl rename to ccm-cms-types-organization/web/themes/heirloom/contenttypes/Organization.xsl diff --git a/ccm-cms-types-pressrelease/src/com/arsdigita/cms/contenttypes/PressReleaseInitializer.java b/ccm-cms-types-pressrelease/src/com/arsdigita/cms/contenttypes/PressReleaseInitializer.java index 8329d0472..7b98ac9b5 100755 --- a/ccm-cms-types-pressrelease/src/com/arsdigita/cms/contenttypes/PressReleaseInitializer.java +++ b/ccm-cms-types-pressrelease/src/com/arsdigita/cms/contenttypes/PressReleaseInitializer.java @@ -16,12 +16,18 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ + package com.arsdigita.cms.contenttypes; import org.apache.log4j.Logger; /** - * Initializer + * Executes at each system startup and initializes the PressRelease content type. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Rafael H. Schloming <rhs@mit.edu> * @version $Revision: #6 $ $Date: 2004/08/17 $ @@ -30,6 +36,7 @@ import org.apache.log4j.Logger; public class PressReleaseInitializer extends ContentTypeInitializer { + /** Private Logger instance for debugging purpose. */ private static final Logger s_log = Logger.getLogger(PressReleaseInitializer.class); /** @@ -40,15 +47,22 @@ public class PressReleaseInitializer extends ContentTypeInitializer { } /** - * Retrieve location of this content types stylesheet. Overwrites parent - * method with FormItem specific value for use by the parent class worker - * methods. - * - * @return complete path info string + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme */ + @Override public String[] getStylesheets() { return new String[] { - "/static/content-types/com/arsdigita/cms/contenttypes/PressRelease.xsl" }; + INTERNAL_THEME_TYPES_DIR + "PressRelease.xsl" }; } } diff --git a/ccm-cms-types-pressrelease/web/static/content-types/com/arsdigita/cms/contenttypes/PressRelease.xsl b/ccm-cms-types-pressrelease/web/themes/heirloom/contenttypes/PressRelease.xsl similarity index 100% rename from ccm-cms-types-pressrelease/web/static/content-types/com/arsdigita/cms/contenttypes/PressRelease.xsl rename to ccm-cms-types-pressrelease/web/themes/heirloom/contenttypes/PressRelease.xsl diff --git a/ccm-cms-types-service/src/com/arsdigita/cms/contenttypes/ServiceInitializer.java b/ccm-cms-types-service/src/com/arsdigita/cms/contenttypes/ServiceInitializer.java index cd5aa3580..ce0479f1d 100755 --- a/ccm-cms-types-service/src/com/arsdigita/cms/contenttypes/ServiceInitializer.java +++ b/ccm-cms-types-service/src/com/arsdigita/cms/contenttypes/ServiceInitializer.java @@ -16,12 +16,13 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ + package com.arsdigita.cms.contenttypes; import org.apache.log4j.Logger; /** - * Initializes the Service content type. + * Executes at each system startup and initializes the Service content type. * * Defines the content type specific properties and just uses the super class * methods to register the content type with the (transient) content type store @@ -34,6 +35,7 @@ import org.apache.log4j.Logger; */ public class ServiceInitializer extends ContentTypeInitializer { + /** Private Logger instance for debugging purpose. */ private static final Logger s_log = Logger.getLogger(ServiceInitializer.class); /** @@ -44,14 +46,21 @@ public class ServiceInitializer extends ContentTypeInitializer { } /** - * Retrieve location of this content types stylesheet. Overwrites parent - * method with FormItem specific value for use by the parent class worker - * methods. - * - * @return complete path info string + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme */ + @Override public String[] getStylesheets() { return new String[] { - "/static/content-types/com/arsdigita/cms/contenttypes/Service.xsl" }; + INTERNAL_THEME_TYPES_DIR + "Service.xsl" }; } } diff --git a/ccm-cms-types-service/web/static/content-types/com/arsdigita/cms/contenttypes/Service.xsl b/ccm-cms-types-service/web/themes/heirloom/contenttypes/Service.xsl similarity index 100% rename from ccm-cms-types-service/web/static/content-types/com/arsdigita/cms/contenttypes/Service.xsl rename to ccm-cms-types-service/web/themes/heirloom/contenttypes/Service.xsl diff --git a/ccm-cms-types-survey/src/com/arsdigita/cms/contenttypes/ui/editors/ScaleEditor.java b/ccm-cms-types-survey/src/com/arsdigita/cms/contenttypes/ui/editors/ScaleEditor.java index 1305292f3..dbc2c7c53 100644 --- a/ccm-cms-types-survey/src/com/arsdigita/cms/contenttypes/ui/editors/ScaleEditor.java +++ b/ccm-cms-types-survey/src/com/arsdigita/cms/contenttypes/ui/editors/ScaleEditor.java @@ -32,7 +32,6 @@ import com.arsdigita.domain.DataObjectNotFoundException; import com.arsdigita.domain.DomainObjectFactory; import com.arsdigita.formbuilder.PersistentOption; import com.arsdigita.formbuilder.ui.PropertiesEditor; -import com.arsdigita.persistence.DataAssociationCursor; import com.arsdigita.util.UncheckedWrapperException; import com.arsdigita.web.RedirectSignal; import com.arsdigita.xml.Element; diff --git a/ccm-cms-types-survey/web/themes/heirloom/contenttypes/Survey.xsl b/ccm-cms-types-survey/web/themes/heirloom/contenttypes/Survey.xsl index bb1a05344..d0661883a 100644 --- a/ccm-cms-types-survey/web/themes/heirloom/contenttypes/Survey.xsl +++ b/ccm-cms-types-survey/web/themes/heirloom/contenttypes/Survey.xsl @@ -3,17 +3,21 @@ xmlns:cms="http://www.arsdigita.com/cms/1.0" xmlns:bebop="http://www.arsdigita.com/bebop/1.0" exclude-result-prefixes="cms bebop"> - + + - + - +

diff --git a/ccm-cms-types-xmlfeed/src/com/arsdigita/cms/contenttypes/xmlfeed/Initializer.java b/ccm-cms-types-xmlfeed/src/com/arsdigita/cms/contenttypes/xmlfeed/Initializer.java index 8c0151e3a..fa028f485 100755 --- a/ccm-cms-types-xmlfeed/src/com/arsdigita/cms/contenttypes/xmlfeed/Initializer.java +++ b/ccm-cms-types-xmlfeed/src/com/arsdigita/cms/contenttypes/xmlfeed/Initializer.java @@ -41,15 +41,22 @@ public class Initializer extends ContentTypeInitializer { } /** - * Retrieve location of this content types stylesheet. Overwrites parent - * method with FormItem specific value for use by the parent class worker - * methods. - * - * @return complete path info string + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + * (path-info string) */ + @Override public String[] getStylesheets() { - return new String[] { "/static/content-types/com/" + - "arsdigita/cms/contenttypes/XMLFeed.xsl" }; + return new String[] { INTERNAL_THEME_TYPES_DIR + "XMLFeed.xsl" }; } } diff --git a/ccm-cms-types-xmlfeed/web/static/content-types/com/arsdigita/cms/contenttypes/XMLFeed.xsl b/ccm-cms-types-xmlfeed/web/themes/heirloom/contenttypes/XMLFeed.xsl similarity index 100% rename from ccm-cms-types-xmlfeed/web/static/content-types/com/arsdigita/cms/contenttypes/XMLFeed.xsl rename to ccm-cms-types-xmlfeed/web/themes/heirloom/contenttypes/XMLFeed.xsl diff --git a/ccm-cms/application.xml b/ccm-cms/application.xml index c95a8f4ea..ed9567b32 100755 --- a/ccm-cms/application.xml +++ b/ccm-cms/application.xml @@ -2,7 +2,7 @@ diff --git a/ccm-cms/src/com/arsdigita/cms/CMSConfig.java b/ccm-cms/src/com/arsdigita/cms/CMSConfig.java index 28454eb6f..41f74db87 100755 --- a/ccm-cms/src/com/arsdigita/cms/CMSConfig.java +++ b/ccm-cms/src/com/arsdigita/cms/CMSConfig.java @@ -154,8 +154,11 @@ public final class CMSConfig extends AbstractConfig { new StringParameter( "com.arsdigita.cms.template_root_path", Parameter.REQUIRED, - "/packages/content-section/templates"); - // URL resource: protocol handler removal: START + "/templates/ccm-cms/content-section"); + // up to version 6.6.4 + // "/packages/content-section/templates"); + + // URL resource: protocol handler removal: START // remove: // try { // m_itemAdapters = new URLParameter diff --git a/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties b/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties index ee5bcb8d9..ebcb1fc06 100755 --- a/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties +++ b/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties @@ -9,8 +9,8 @@ com.arsdigita.cms.default_folder_template_path.example=/default/folder.jsp com.arsdigita.cms.default_folder_template_path.format=[string] com.arsdigita.cms.template_root_path.title=Template Root Path -com.arsdigita.cms.template_root_path.purpose=Path for the default template folder. Path is relative to webapp root -com.arsdigita.cms.template_root_path.example=/packages/content-section/templates +com.arsdigita.cms.template_root_path.purpose=Path for the default template folder. Path is relative to webapp root. Don't modify without really good reasons! +com.arsdigita.cms.template_root_path.example=/templates/ccm-cms/content-section com.arsdigita.cms.template_root_path.format=[string] com.arsdigita.cms.default_item_resolver_class.title=Item resolver class diff --git a/ccm-cms/src/com/arsdigita/cms/ContentSectionServlet.java b/ccm-cms/src/com/arsdigita/cms/ContentSectionServlet.java index d3656dc90..56382de7f 100755 --- a/ccm-cms/src/com/arsdigita/cms/ContentSectionServlet.java +++ b/ccm-cms/src/com/arsdigita/cms/ContentSectionServlet.java @@ -135,6 +135,7 @@ public class ContentSectionServlet extends BaseApplicationServlet { Session ssn = SessionManager.getSession(); TransactionContext txn = ssn.getTransactionContext(); txn.addTransactionListener(new AbstractTransactionListener() { + @Override public void beforeCommit(TransactionContext txn) { Assert.fail("uncommittable transaction"); } diff --git a/ccm-cms/src/com/arsdigita/cms/dispatcher/ContentItemDispatcher.java b/ccm-cms/src/com/arsdigita/cms/dispatcher/ContentItemDispatcher.java index bcabd9eb0..a65f359d3 100755 --- a/ccm-cms/src/com/arsdigita/cms/dispatcher/ContentItemDispatcher.java +++ b/ccm-cms/src/com/arsdigita/cms/dispatcher/ContentItemDispatcher.java @@ -52,25 +52,24 @@ import org.apache.log4j.Logger; */ public class ContentItemDispatcher implements Dispatcher { - private static final Logger s_log = - Logger.getLogger(ContentItemDispatcher.class.getName()); + /** Private Logger instance for debugging purpose. */ + private static final Logger s_log = Logger.getLogger( + ContentItemDispatcher.class.getName()); - //the cache table for mapping content items to template JSP's - private static CacheTable s_cache = - new CacheTable("ContentItemDispatcherCache"); - //cache for the template resolver - public static Map s_templateResolverCache = - Collections.synchronizedMap(new HashMap()); + /** the cache table for mapping content items to template JSP's */ + private static CacheTable s_cache = new CacheTable( + "ContentItemDispatcherCache"); + /** cache for the template resolver */ + public static Map s_templateResolverCache = Collections + .synchronizedMap(new HashMap()); + /** */ protected ItemXML m_itemXML; - // public static final String TEMPLATE_ROOT = - // "/packages/content-section/templates"; - // public static final String DEFAULT_ITEM_TEMPLATE = - // "/default/item.jsp"; - // public static final String DEFAULT_FOLDER_TEMPLATE = - // "/default/folder.jsp"; + /** + * Constructor + */ public ContentItemDispatcher() { m_itemXML = new ItemXML(); } @@ -79,12 +78,13 @@ public class ContentItemDispatcher implements Dispatcher { * @see com.arsdigita.dispatcher.Dispatcher#dispatch * (HttpServletRequest, HttpServletResponse, RequestContext) */ - public void dispatch - (final HttpServletRequest request, final HttpServletResponse response, - final RequestContext actx) - throws IOException, ServletException { - Boolean bXMLMode = - (Boolean)request.getAttribute(ContentSectionServlet.XML_MODE); + public void dispatch( final HttpServletRequest request, + final HttpServletResponse response, + final RequestContext actx) + throws IOException, ServletException { + + Boolean bXMLMode = (Boolean)request + .getAttribute(ContentSectionServlet.XML_MODE); if (bXMLMode != null && bXMLMode.booleanValue()) { //if this is XML mode, then use itemXML m_itemXML.dispatch(request, response, actx); @@ -267,8 +267,10 @@ public class ContentItemDispatcher implements Dispatcher { return (String)s_cache.get(key); } - private String getTemplatePath(ContentItem item, HttpServletRequest req, + private String getTemplatePath(ContentItem item, + HttpServletRequest req, RequestContext ctx) { + //check if the template path is cached //BigDecimal id = item.getID(); //String sPath = cacheGet(id); @@ -323,7 +325,8 @@ public class ContentItemDispatcher implements Dispatcher { * @param section The content section * @return The TemplateResolver associated with the content section */ - public TemplateResolver getTemplateResolver(ContentSection section) { + public TemplateResolver getTemplateResolver(ContentSection section) { + String name = section.getName(); TemplateResolver ir = (TemplateResolver) s_templateResolverCache.get(name); diff --git a/ccm-cms/src/com/arsdigita/cms/dispatcher/ItemDispatcher.java b/ccm-cms/src/com/arsdigita/cms/dispatcher/ItemDispatcher.java index 58ffc2d36..041e98605 100755 --- a/ccm-cms/src/com/arsdigita/cms/dispatcher/ItemDispatcher.java +++ b/ccm-cms/src/com/arsdigita/cms/dispatcher/ItemDispatcher.java @@ -61,10 +61,10 @@ public class ItemDispatcher implements ChainedDispatcher { public static final String FILE_SUFFIX = ".jsp"; public static final String INDEX_FILE = "/index"; - public static final String TEMPLATE_ROOT = - "/packages/content-section/templates"; - public static final String DEFAULT_ITEM_TEMPLATE = "/default/item.jsp"; - public static final String DEFAULT_FOLDER_TEMPLATE = "/default/folder.jsp"; +// public static final String TEMPLATE_ROOT = +// "/packages/content-section/templates"; +// public static final String DEFAULT_ITEM_TEMPLATE = "/default/item.jsp"; +// public static final String DEFAULT_FOLDER_TEMPLATE = "/default/folder.jsp"; public static final String XML_SUFFIX = ".xml"; public static final String XML_MODE = "xmlMode"; diff --git a/ccm-cms/src/com/arsdigita/cms/enterprise.init.nolongerInUse b/ccm-cms/src/com/arsdigita/cms/enterprise.init.nolongerInUse index 4501aa484..6b734b8f4 100755 --- a/ccm-cms/src/com/arsdigita/cms/enterprise.init.nolongerInUse +++ b/ccm-cms/src/com/arsdigita/cms/enterprise.init.nolongerInUse @@ -283,6 +283,7 @@ init com.arsdigita.formbuilder.installer.Initializer { // // used anymore, all specifications are relative to webapplication base. // // So the following may have to be changed to "packages/content-section/templates" // // if someone tries to use p2fs +// // NEW LOCATION: /templates/ccm-cms/content-section (since cms 6.6.5) // { "com.arsdigita.cms.Template", // // "webapps/ROOT/packages/content-section/templates", // "packages/content-section/templates", diff --git a/ccm-cms/src/com/arsdigita/cms/publishToFile/Initializer.java b/ccm-cms/src/com/arsdigita/cms/publishToFile/Initializer.java index 4517b851a..6bac3f804 100755 --- a/ccm-cms/src/com/arsdigita/cms/publishToFile/Initializer.java +++ b/ccm-cms/src/com/arsdigita/cms/publishToFile/Initializer.java @@ -122,11 +122,12 @@ public class Initializer extends CompoundInitializer { // * // * @param evt The legacy init event. // */ -// An empty implementations prevents this initializer from beiong executed. +// An empty implementations prevents this initializer from being executed. // A missing implementations causes the super class method to be executed, which // invokes the above added LegacyInitializer. // That initializer starts P2fs background thread and creation of // ~/packages/content-section/templates/content works now. +// SEE NEW LOCATION: ~/templates/ccm-cms/content-section // public void init(LegacyInitEvent evt) {} /** diff --git a/ccm-cms/src/com/arsdigita/cms/publishToFile/PublishToFileConfig.java b/ccm-cms/src/com/arsdigita/cms/publishToFile/PublishToFileConfig.java index c725135a3..36542d19f 100644 --- a/ccm-cms/src/com/arsdigita/cms/publishToFile/PublishToFileConfig.java +++ b/ccm-cms/src/com/arsdigita/cms/publishToFile/PublishToFileConfig.java @@ -198,7 +198,7 @@ public class PublishToFileConfig extends AbstractConfig { " false, " + " '/p2fs' }, " + " { 'com.arsdigita.cms.Template', " + - " 'packages/content-section/templates', " + + " '/templates/ccm-cms/content-section', " + " false, " + " '/templates' } " + "} " @@ -316,7 +316,7 @@ public class PublishToFileConfig extends AbstractConfig { s_tmpDestList.add ( new ArrayList() {{ add("com.arsdigita.cms.Template"); - add("packages/content-section/templates"); + add("templates/ccm-cms/content-section"); add(new Boolean(false)); add("/templates"); }} diff --git a/ccm-cms/src/com/arsdigita/cms/publishToFile/enterprise.init.nolongerInUse b/ccm-cms/src/com/arsdigita/cms/publishToFile/enterprise.init.nolongerInUse index 11b911196..c7d138921 100644 --- a/ccm-cms/src/com/arsdigita/cms/publishToFile/enterprise.init.nolongerInUse +++ b/ccm-cms/src/com/arsdigita/cms/publishToFile/enterprise.init.nolongerInUse @@ -29,6 +29,7 @@ init com.arsdigita.cms.publishToFile.LegacyInitializer { // used anymore, all specifications are relative to webapplication base. // So the following may have to be changed to "packages/content-section/templates" // if someone tries to use p2fs + // new location: /templates/ccm-cms/content-section { "com.arsdigita.cms.Template", // "webapps/ROOT/packages/content-section/templates", "packages/content-section/templates", diff --git a/ccm-cms/src/com/arsdigita/cms/publishToFile/package.html b/ccm-cms/src/com/arsdigita/cms/publishToFile/package.html index a148fb143..67b476afb 100755 --- a/ccm-cms/src/com/arsdigita/cms/publishToFile/package.html +++ b/ccm-cms/src/com/arsdigita/cms/publishToFile/package.html @@ -42,7 +42,9 @@ com.arsdigita.cms.publishToFile.Initializer entry to your enterprise.init. For example:

- +
 init com.arsdigita.cms.publishToFile.Initializer {
     destination = { 
diff --git a/ccm-cms/src/com/arsdigita/cms/ui/ContentItemPage.java b/ccm-cms/src/com/arsdigita/cms/ui/ContentItemPage.java
index 4c8d7b054..ffd26db2b 100755
--- a/ccm-cms/src/com/arsdigita/cms/ui/ContentItemPage.java
+++ b/ccm-cms/src/com/arsdigita/cms/ui/ContentItemPage.java
@@ -73,6 +73,7 @@ import org.apache.log4j.Logger;
  */
 public class ContentItemPage extends CMSPage implements ActionListener {
 
+    /** Private Logger instance for debugging purpose.                        */
     private static final Logger s_log = Logger.getLogger(ContentItemPage.class);
     /**
      * The URL parameter that must be passed in in order to set
@@ -282,8 +283,8 @@ public class ContentItemPage extends CMSPage implements ActionListener {
         final ContentItem item = m_item.getContentItem(state);
 
         if (item == null) {
-            throw new FormProcessException("The item_id supplied does not reference a valid "
-                                           + "ContentItem.");
+            throw new FormProcessException("The item_id supplied does not "
+                                           + "reference a valid ContentItem.");
         }
     }
 
diff --git a/ccm-cms/web/packages/content-section/templates/default/category.jsp b/ccm-cms/web/templates/ccm-cms/content-section/default/category.jsp
similarity index 100%
rename from ccm-cms/web/packages/content-section/templates/default/category.jsp
rename to ccm-cms/web/templates/ccm-cms/content-section/default/category.jsp
diff --git a/ccm-cms/web/packages/content-section/templates/default/folder.jsp b/ccm-cms/web/templates/ccm-cms/content-section/default/folder.jsp
similarity index 100%
rename from ccm-cms/web/packages/content-section/templates/default/folder.jsp
rename to ccm-cms/web/templates/ccm-cms/content-section/default/folder.jsp
diff --git a/ccm-cms/web/packages/content-section/templates/default/item.jsp b/ccm-cms/web/templates/ccm-cms/content-section/default/item.jsp
similarity index 100%
rename from ccm-cms/web/packages/content-section/templates/default/item.jsp
rename to ccm-cms/web/templates/ccm-cms/content-section/default/item.jsp
diff --git a/ccm-core/src/com/arsdigita/portal/PortletType.java b/ccm-core/src/com/arsdigita/portal/PortletType.java
index 02a85afb8..9d5189ff9 100755
--- a/ccm-core/src/com/arsdigita/portal/PortletType.java
+++ b/ccm-core/src/com/arsdigita/portal/PortletType.java
@@ -16,6 +16,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  *
  */
+
 package com.arsdigita.portal;
 
 import java.math.BigDecimal;
@@ -67,6 +68,18 @@ public class PortletType extends ResourceType {
     public static final String WIDE_PROFILE = "wide";
     public static final String NARROW_PROFILE = "narrow";
 
+    /** Directory holding the internal base theme                             */
+    public static final String INTERNAL_THEME_DIR = "/themes/heirloom/";
+    /** Default Directory holding internal base theme portlet XSL files        
+     *  May be used by portlet initializers while registerin itself in domain  
+     * init step.                                                             */
+    public static final String INTERNAL_THEME_PORTLET_DIR = INTERNAL_THEME_DIR 
+                                                          + "portlets/";
+    /** Default portlet namespace. 
+     * A portlet may define it's ohne namespace though                        */
+    public static final String PORTLET_XML_NS = 
+                               "http://www.uk.arsdigita.com/portlet/1.0";
+
     // ===== Constructors ==================================================== //
 
     /**
@@ -385,6 +398,7 @@ public class PortletType extends ResourceType {
             return m_path.equals(e.m_path) && m_type.equals(e.m_type);
         }
 
+        @Override
         public int hashCode() {
             return m_path.hashCode() + m_type.hashCode();
         }
diff --git a/ccm-core/src/com/arsdigita/versioning/VersioningServlet.java b/ccm-core/src/com/arsdigita/versioning/VersioningServlet.java
index 004ca706f..27df00152 100755
--- a/ccm-core/src/com/arsdigita/versioning/VersioningServlet.java
+++ b/ccm-core/src/com/arsdigita/versioning/VersioningServlet.java
@@ -61,8 +61,9 @@ public final class VersioningServlet extends BaseServlet {
     private final static String CMD   = "cmd";
     private final static String OID   = "oid";
     private final static String TITLE = "title";
-    private final static String JSP_DIR = "themes/heirloom//packages/versioning/";
+    private final static String JSP_DIR = "/themes/heirloom/packages/versioning/";
 
+    @Override
     public void doService(HttpServletRequest req, HttpServletResponse resp) 
         throws ServletException, IOException {
 
@@ -73,6 +74,7 @@ public final class VersioningServlet extends BaseServlet {
         TransactionContext txn = SessionManager.getSession().
             getTransactionContext();
         txn.addTransactionListener(new AbstractTransactionListener() {
+                @Override
                 public void beforeCommit(TransactionContext txn) {
                     Assert.fail("uncommittable transaction");
                 }
diff --git a/ccm-core/web/packages/formbuilder/xsl/OptionWidgets.xsl b/ccm-core/web/packages/formbuilder/xsl/OptionWidgets.xsl
deleted file mode 100755
index 3c0c1bd00..000000000
--- a/ccm-core/web/packages/formbuilder/xsl/OptionWidgets.xsl
+++ /dev/null
@@ -1,122 +0,0 @@
-
-
-
-
-
-
-
-
-   
-     checkbox
-   
-
-
-
-
-
-   
-     radio
-   
-
-
-
-   
-   
-     
-   
-   
-     
-   
-     
-     
-       
-     
-     
-
- -
- - - - - checkbox - - - - : - - - - checked - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ No newline at end of file diff --git a/ccm-core/web/packages/formbuilder/xsl/PersistentDate.xsl b/ccm-core/web/packages/formbuilder/xsl/PersistentDate.xsl deleted file mode 100755 index 328d82376..000000000 --- a/ccm-core/web/packages/formbuilder/xsl/PersistentDate.xsl +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - .year - - - - - - - .month - - - - - - - - - - - - .day - - - - .day - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ccm-core/web/packages/formbuilder/xsl/PersistentSubmit.xsl b/ccm-core/web/packages/formbuilder/xsl/PersistentSubmit.xsl deleted file mode 100755 index 1127bad16..000000000 --- a/ccm-core/web/packages/formbuilder/xsl/PersistentSubmit.xsl +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - if(this.value == 'null') { this.value = 'Please Wait'; this.form.submit(); } - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ccm-core/web/packages/formbuilder/xsl/TextWidgets.xsl b/ccm-core/web/packages/formbuilder/xsl/TextWidgets.xsl deleted file mode 100755 index 9afe39f2e..000000000 --- a/ccm-core/web/packages/formbuilder/xsl/TextWidgets.xsl +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 30 - - - - - 30 - - - - - - - - - - - - - - - - - - diff --git a/ccm-core/web/packages/formbuilder/xsl/formbuilder.xsl b/ccm-core/web/packages/formbuilder/xsl/formbuilder.xsl deleted file mode 100755 index 677d96e8c..000000000 --- a/ccm-core/web/packages/formbuilder/xsl/formbuilder.xsl +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - - - - -
- - post - - - - - - - - form. - - - - - - - - - - - -
- - - -
- - - -
- - post - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- -
- - - - -

- -
- - -
diff --git a/ccm-core/web/packages/versioning/footer.jspf b/ccm-core/web/packages/versioning/footer.jspf deleted file mode 100755 index 387f7b9ff..000000000 --- a/ccm-core/web/packages/versioning/footer.jspf +++ /dev/null @@ -1,4 +0,0 @@ -
-

<%= new java.util.Date() %> - - diff --git a/ccm-core/web/packages/versioning/graph.jsp b/ccm-core/web/packages/versioning/graph.jsp deleted file mode 100755 index aeb9e19c6..000000000 --- a/ccm-core/web/packages/versioning/graph.jsp +++ /dev/null @@ -1,25 +0,0 @@ -<%@ page - import="com.arsdigita.versioning.VersioningServlet.GraphPrinter" -%> - -<%@ include file="header.jspf" %> - -

Versioning Dependence Graph

- -
-<%
-  GraphPrinter printer = (GraphPrinter) request.getAttribute("graphPrinter");
-
-  if ( printer == null ) {
-      throw new ServletException("couldn't find the printer attribute");
-  }
-  printer.setWriter(out);
-  printer.printGraph();
-%>
-
- -
- Main -
- -<%@ include file="footer.jspf" %> diff --git a/ccm-core/web/packages/versioning/header.jspf b/ccm-core/web/packages/versioning/header.jspf deleted file mode 100755 index e3dab4fb1..000000000 --- a/ccm-core/web/packages/versioning/header.jspf +++ /dev/null @@ -1,6 +0,0 @@ - - - <%= (String) request.getAttribute("title") %> - - - diff --git a/ccm-core/web/packages/versioning/main.jsp b/ccm-core/web/packages/versioning/main.jsp deleted file mode 100755 index 802cbbd2c..000000000 --- a/ccm-core/web/packages/versioning/main.jsp +++ /dev/null @@ -1,56 +0,0 @@ -<%@ page - import="com.arsdigita.versioning.VersioningServlet.VersionedObjects, - com.arsdigita.persistence.OID, - java.net.URLEncoder" -%> - -<%@ include file="header.jspf" %> - -
-Object type: - - - - -<% - VersionedObjects oids = (VersionedObjects) request.getAttribute("versionedObjects"); - if ( oids!= null && oids.size() > 0 ) { -%> - -

OIDs

- -<% - } -%> - - - - - - -<% - - if ( oids != null ) { - while ( oids.hasNext() ) { - String serOID = (String) oids.next(); - String strOID = oids.getOID().toString(); - String encoded = URLEncoder.encode(serOID); - String href = "txns?cmd=showTxns&oid=" + encoded; - String taggedHref = href + "&tagged=yes"; -%> - - - - - -<% - } - } -%> -
Data ObjectShow Txns
<%= strOID %>affectingtagged
- - - -<%@ include file="footer.jspf" %> diff --git a/ccm-core/web/packages/versioning/rollback.jsp b/ccm-core/web/packages/versioning/rollback.jsp deleted file mode 100755 index 5d400f254..000000000 --- a/ccm-core/web/packages/versioning/rollback.jsp +++ /dev/null @@ -1,31 +0,0 @@ -<%@ page - autoFlush="true" - contentType="text/plain" - import="com.arsdigita.versioning.VersioningServlet.RollbackLogger, - com.arsdigita.persistence.OID, - com.arsdigita.util.AssertionError, - java.io.IOException, - java.io.PrintWriter, - java.math.BigInteger" -%> - -<% - RollbackLogger rbl = (RollbackLogger) request.getAttribute("logger"); - - if ( rbl == null ) { - throw new ServletException("couldn't find the logger attribute"); - } -%> - -Rolling back <%= rbl.getOID() %> to txnID=<%= rbl.getTxnID() %> - -<% - rbl.setWriter(out); - try { - rbl.rollback(); - } catch (RuntimeException ex) { - rbl.printException(ex); - } catch (AssertionError er) { - rbl.printException(er); - } -%> diff --git a/ccm-core/web/packages/versioning/txns.jsp b/ccm-core/web/packages/versioning/txns.jsp deleted file mode 100755 index fd7c9a524..000000000 --- a/ccm-core/web/packages/versioning/txns.jsp +++ /dev/null @@ -1,50 +0,0 @@ -<%@ page - import="com.arsdigita.versioning.Tag, - com.arsdigita.versioning.Transaction, - com.arsdigita.versioning.TransactionCollection, - com.arsdigita.persistence.OID, - com.arsdigita.developersupport.Debug, - java.math.BigInteger, - java.util.Date" -%> - -<%@ include file="header.jspf" %> - -<% - TransactionCollection txnColl = - (TransactionCollection) request.getAttribute("txns"); - if ( txnColl == null ) { - throw new ServletException("couldn't find the txns attribute"); - } - OID oid = (OID) request.getAttribute("oid"); - if ( oid == null ) { - throw new ServletException("couldn't find the oid attribute"); - } - String encodedOID = (String) request.getAttribute("encodedOID"); - %> - -

Txns for <%= oid.toString() %>

- - - -<% - while ( txnColl.next() ) { - Transaction txn = txnColl.getTransaction(); - BigInteger id = txn.getID(); - String strID = id.toString(); - Date date = txn.getTimestamp(); - String strDate = String.valueOf(date); - String href = "rollback?cmd=rollback&txnID=" + id + "&oid=" + encodedOID; -%> - - - - - -<% - } -%> - -
<%= id %><%= date %>
- -<%@ include file="footer.jspf" %> diff --git a/ccm-core/web/packages/versioning/vlog.css b/ccm-core/web/packages/versioning/vlog.css deleted file mode 100755 index a93416159..000000000 --- a/ccm-core/web/packages/versioning/vlog.css +++ /dev/null @@ -1,60 +0,0 @@ -body { - background: white; - color: black; - margin-left: 3%; - margin-right: 3%; -} - -td { - padding-left: 8px; - margin-top: 0px; - margin-bottom: 0px; - font-family: arial, helvetica; - font-size: x-small; -} - -p { - font-family: georgia, arial, helvetica; - font-size: x-small; -} - -th { - font-family: arial, helvetica; - text-align: left; - padding-left: 8px; - font-size: x-small; - background-color: #878175; - color: white; -} - -h1 { - font-family: arial, helvetica; - font-weight: bold; - margin-bottom: 4px; -} - -h2 { - font-family: arial, helvetica; - font-size: small; - font-weight: bold; - margin-bottom: 4px; - margin-top: 4px; -} - -pre { - display: block; - font-family: monospace; - white-space: pre; - margin: 0%; - padding-top: 0.5ex; - padding-bottom: 0.5ex; - padding-left: 1ex; - padding-right: 1ex; - width: 100%; -} - -pre.programlisting { - background: WhiteSmoke; - color: black; - border: 1px solid black; -} diff --git a/ccm-core/web/themes/heirloom/packages/formbuilder/README b/ccm-core/web/themes/heirloom/packages/formbuilder/README deleted file mode 100644 index c9813a9e4..000000000 --- a/ccm-core/web/themes/heirloom/packages/formbuilder/README +++ /dev/null @@ -1,5 +0,0 @@ -Used by: - -[pb@shuttle ROOT]$ grep -R packages/formbuilder/xsl/ * -static/content-types/com/arsdigita/cms/contenttypes/FormItem.xsl: - diff --git a/ccm-ldn-aplaws/doc/deployment/development-environment.sgml b/ccm-ldn-aplaws/doc/deployment/development-environment.sgml index cc7670fde..282e0d535 100755 --- a/ccm-ldn-aplaws/doc/deployment/development-environment.sgml +++ b/ccm-ldn-aplaws/doc/deployment/development-environment.sgml @@ -678,7 +678,8 @@ publish-to-fs-servers = "http://servlet1/", "http://servlet2/" publish-to-fs-source = "http://servlet1/" publish-to-fs-this-server = "http://servlet1/" search-engine = intermedia -template-root = /packages/content-section/templates +# old: template-root = /packages/content-section/templates +template-root = /templates/ccm-cms/content-section # Portal initialization file portal-url = /portal/ diff --git a/ccm-ldn-aplaws/web/themes/static/aplaws/portal/portlets.xsl b/ccm-ldn-aplaws/web/themes/static/aplaws/portal/portlets.xsl index 7af695964..77b687ea8 100644 --- a/ccm-ldn-aplaws/web/themes/static/aplaws/portal/portlets.xsl +++ b/ccm-ldn-aplaws/web/themes/static/aplaws/portal/portlets.xsl @@ -1,28 +1,23 @@ - - - + - - - - - - - - - - - - - + + + + + + + + + + diff --git a/ccm-ldn-types-contact/src/com/arsdigita/london/contenttypes/ContactInitializer.java b/ccm-ldn-types-contact/src/com/arsdigita/london/contenttypes/ContactInitializer.java index edc9f7485..7445250cb 100755 --- a/ccm-ldn-types-contact/src/com/arsdigita/london/contenttypes/ContactInitializer.java +++ b/ccm-ldn-types-contact/src/com/arsdigita/london/contenttypes/ContactInitializer.java @@ -16,9 +16,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ -package com.arsdigita.london.contenttypes; -import java.util.ArrayList; +package com.arsdigita.london.contenttypes; import com.arsdigita.cms.ContentPage; import com.arsdigita.cms.ContentSection; @@ -28,36 +27,65 @@ import com.arsdigita.london.contenttypes.ui.AddContactPropertiesStep; import com.arsdigita.cms.ui.authoring.AuthoringKitWizard; import com.arsdigita.globalization.GlobalizedMessage; import com.arsdigita.runtime.DomainInitEvent; + +import java.util.ArrayList; + import org.apache.log4j.Logger; /** - * Initializer class to initialize ContentType Contact. + * Executes at each system startup and initializes the Contact content type. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Shashin Shinde sshinde@redhat.com * @version $Id: ContactInitializer.java 287 2005-02-22 00:29:02Z sskracic $ */ public class ContactInitializer extends ContentTypeInitializer { + /** Private Logger instance for debugging purpose. */ private static final Logger logger = Logger.getLogger( ContactInitializer.class); + /** + * Constructor, sets the PDL manifest file and object type string. + */ public ContactInitializer() { super("ccm-ldn-types-contact.pdl.mf", Contact.BASE_DATA_OBJECT_TYPE); } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override public String[] getStylesheets() { return new String[]{ - "/static/content-types/com/arsdigita/london/contenttypes/Contact.xsl",}; + INTERNAL_THEME_TYPES_DIR + "ldn/Contact.xsl",}; } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override public String getTraversalXML() { return "/WEB-INF/traversal-adapters/com/arsdigita/london/contenttypes/Contact.xml"; } + private static ArrayList phoneTypesList = new ArrayList(10); - static { logger.debug("Static initalizer starting..."); phoneTypesList.add("Office"); diff --git a/ccm-ldn-types-contact/web/static/content-types/com/arsdigita/london/contenttypes/Contact.xsl b/ccm-ldn-types-contact/web/themes/heirloom/contenttypes/ldn/Contact.xsl similarity index 100% rename from ccm-ldn-types-contact/web/static/content-types/com/arsdigita/london/contenttypes/Contact.xsl rename to ccm-ldn-types-contact/web/themes/heirloom/contenttypes/ldn/Contact.xsl diff --git a/ccm-ldn-types-esdservice/src/com/arsdigita/london/contenttypes/ESDServiceInitializer.java b/ccm-ldn-types-esdservice/src/com/arsdigita/london/contenttypes/ESDServiceInitializer.java index 1bf850034..a94433443 100755 --- a/ccm-ldn-types-esdservice/src/com/arsdigita/london/contenttypes/ESDServiceInitializer.java +++ b/ccm-ldn-types-esdservice/src/com/arsdigita/london/contenttypes/ESDServiceInitializer.java @@ -15,35 +15,58 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + package com.arsdigita.london.contenttypes; import com.arsdigita.cms.contenttypes.ContentTypeInitializer; /** - * Initializer class to initialize ContentType ESDService. + * Executes at each system startup and initializes the ESDService content type. + * * Defines the content type specific properties and just uses the super class * methods to register the content type with the (transient) content type store - * (map). + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Shashin Shinde sshinde@redhat.com * @version $Id: ESDServiceInitializer.java 287 2005-02-22 00:29:02Z sskracic $ */ public class ESDServiceInitializer extends ContentTypeInitializer { + /** + * Constructor, sets the PDL manifest file and object type string. + */ public ESDServiceInitializer() { super("ccm-cms-types-esdservice.pdl.mf", ESDService.BASE_DATA_OBJECT_TYPE); } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override - public String[] getStylesheets() { - return new String [] { - "/static/content-types/com/arsdigita/london/contenttypes/ESDService.xsl", - }; - } + public String[] getStylesheets() { + return new String [] { + INTERNAL_THEME_TYPES_DIR + "ldn/ESDService.xsl", + }; + } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override - public String getTraversalXML() { - return "/WEB-INF/traversal-adapters/com/arsdigita/london/contenttypes/ESDService.xml"; - } + public String getTraversalXML() { + return "/WEB-INF/traversal-adapters/com/arsdigita/london/contenttypes/ESDService.xml"; + } } diff --git a/ccm-ldn-types-esdservice/web/static/content-types/com/arsdigita/london/contenttypes/ESDService.xsl b/ccm-ldn-types-esdservice/web/themes/heirloom/contenttypes/ldn/ESDService.xsl similarity index 100% rename from ccm-ldn-types-esdservice/web/static/content-types/com/arsdigita/london/contenttypes/ESDService.xsl rename to ccm-ldn-types-esdservice/web/themes/heirloom/contenttypes/ldn/ESDService.xsl diff --git a/ccm-portalserver/web/themes/heirloom/packages/portalserver/xsl/portalserver.xsl b/ccm-portalserver/web/themes/heirloom/packages/portalserver/xsl/portalserver.xsl index a4dbc0905..1b188b1f2 100644 --- a/ccm-portalserver/web/themes/heirloom/packages/portalserver/xsl/portalserver.xsl +++ b/ccm-portalserver/web/themes/heirloom/packages/portalserver/xsl/portalserver.xsl @@ -18,7 +18,7 @@ - + diff --git a/ccm-portalworkspace/src/com/arsdigita/portalworkspace/Initializer.java b/ccm-portalworkspace/src/com/arsdigita/portalworkspace/Initializer.java index 61c13d5b9..e2197dcbd 100755 --- a/ccm-portalworkspace/src/com/arsdigita/portalworkspace/Initializer.java +++ b/ccm-portalworkspace/src/com/arsdigita/portalworkspace/Initializer.java @@ -36,7 +36,7 @@ import com.arsdigita.portalworkspace.portlet.FlashPortletInitializer; import com.arsdigita.portalworkspace.portlet.FreeformHTMLPortlet; import com.arsdigita.portalworkspace.portlet.LoginPortlet; import com.arsdigita.portalworkspace.portlet.RSSFeedPortlet; -import com.arsdigita.portalworkspace.portlet.TimeOfDayPortlet; +// import com.arsdigita.portlet.TimeOfDayPortlet; import com.arsdigita.portalworkspace.portlet.MyWorkspacesPortlet; import com.arsdigita.portalworkspace.portlet.WorkspaceNavigatorPortlet; import com.arsdigita.portalworkspace.portlet.WorkspaceSummaryPortlet; @@ -62,6 +62,7 @@ import com.arsdigita.xml.XML; */ public class Initializer extends CompoundInitializer { + /** Private Logger instance for debugging purpose. */ private static final Logger s_log = Logger.getLogger(Initializer.class); /** @@ -168,6 +169,7 @@ public class Initializer extends CompoundInitializer { } }); + /* MOVED to ccm-portlet-collection e.getFactory().registerInstantiator( TimeOfDayPortlet.BASE_DATA_OBJECT_TYPE, new ACSObjectInstantiator() { @@ -175,6 +177,7 @@ public class Initializer extends CompoundInitializer { return new TimeOfDayPortlet(dataObject); } }); + */ // WorkspaceDirectoryPortlet, imports ccm-ldn-rss // e.getFactory().registerInstantiator( diff --git a/ccm-portalworkspace/src/com/arsdigita/portalworkspace/Loader.java b/ccm-portalworkspace/src/com/arsdigita/portalworkspace/Loader.java index 61c71038b..3a914cd69 100755 --- a/ccm-portalworkspace/src/com/arsdigita/portalworkspace/Loader.java +++ b/ccm-portalworkspace/src/com/arsdigita/portalworkspace/Loader.java @@ -28,7 +28,7 @@ import com.arsdigita.portalworkspace.portlet.FreeformHTMLPortlet; import com.arsdigita.portalworkspace.portlet.LoginPortlet; import com.arsdigita.portalworkspace.portlet.MyWorkspacesPortlet ; import com.arsdigita.portalworkspace.portlet.RSSFeedPortlet; -import com.arsdigita.portalworkspace.portlet.TimeOfDayPortlet; +// import com.arsdigita.portlet.TimeOfDayPortlet; import com.arsdigita.portalworkspace.portlet.WorkspaceNavigatorPortlet; import com.arsdigita.portalworkspace.portlet.WorkspaceSummaryPortlet; import com.arsdigita.portal.PortletType; @@ -60,6 +60,7 @@ import org.apache.log4j.Logger; */ public class Loader extends PackageLoader { + /** Private Logger instance for debugging purpose. */ private static final Logger s_log = Logger.getLogger(Loader.class); private StringParameter m_url = new StringParameter( @@ -112,7 +113,7 @@ public class Loader extends PackageLoader { loadLoginPortlet(); loadMyWorkspacesPortlet(); loadRSSFeedPortlet(); - loadTimeOfDayPortlet(); +// loadTimeOfDayPortlet(); loadWorkspaceNavigatorPortlet(); loadWorkspaceSummaryPortlet(); } @@ -264,12 +265,12 @@ public class Loader extends PackageLoader { /** * */ - private void loadTimeOfDayPortlet() { - PortletType type = PortletType.createPortletType("Time of Day", - PortletType.WIDE_PROFILE, - TimeOfDayPortlet.BASE_DATA_OBJECT_TYPE); - type.setDescription("Displays the current date and time"); - } +// private void loadTimeOfDayPortlet() { +//PortletType type = PortletType.createPortletType("Time of Day", +// PortletType.WIDE_PROFILE, +// TimeOfDayPortlet.BASE_DATA_OBJECT_TYPE); +// type.setDescription("Displays the current date and time"); +// } private void loadWorkspaceNavigatorPortlet() { PortletType type = PortletType.createPortletType( diff --git a/ccm-portalworkspace/web/themes/heirloom/packages/portal-workspace/xsl/portal.xsl b/ccm-portalworkspace/web/themes/heirloom/packages/portal-workspace/xsl/portal.xsl index 961434a5b..351686ff8 100755 --- a/ccm-portalworkspace/web/themes/heirloom/packages/portal-workspace/xsl/portal.xsl +++ b/ccm-portalworkspace/web/themes/heirloom/packages/portal-workspace/xsl/portal.xsl @@ -1,10 +1,10 @@ - - + diff --git a/ccm-portalworkspace/web/themes/heirloom/packages/portal-workspace/xsl/portlets.xsl b/ccm-portalworkspace/web/themes/heirloom/packages/portal-workspace/xsl/portlets.xsl index 593e152c6..acd1e9735 100755 --- a/ccm-portalworkspace/web/themes/heirloom/packages/portal-workspace/xsl/portlets.xsl +++ b/ccm-portalworkspace/web/themes/heirloom/packages/portal-workspace/xsl/portlets.xsl @@ -1,6 +1,6 @@ + version="1.0"> @@ -9,7 +9,9 @@ - + + + diff --git a/ccm-portlet-collection/application.xml b/ccm-portlet-collection/application.xml new file mode 100755 index 000000000..d3f458b63 --- /dev/null +++ b/ccm-portlet-collection/application.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + A collection of portlets which serve generic tasks and do not depend on + specific CCM packages. + + diff --git a/ccm-portlet-collection/sql/ccm-portlet-collection/oracle-se-create.sql b/ccm-portlet-collection/sql/ccm-portlet-collection/oracle-se-create.sql new file mode 100755 index 000000000..5eb3f18cd --- /dev/null +++ b/ccm-portlet-collection/sql/ccm-portlet-collection/oracle-se-create.sql @@ -0,0 +1,2 @@ +-- @ ddl/oracle-se/create.sql +-- @ ddl/oracle-se/deferred.sql diff --git a/ccm-portlet-collection/sql/ccm-portlet-collection/postgres-create.sql b/ccm-portlet-collection/sql/ccm-portlet-collection/postgres-create.sql new file mode 100755 index 000000000..61a1872df --- /dev/null +++ b/ccm-portlet-collection/sql/ccm-portlet-collection/postgres-create.sql @@ -0,0 +1,4 @@ +-- begin; +-- \i ddl/postgres/create.sql +-- \i ddl/postgres/deferred.sql +-- end; diff --git a/ccm-portlet-collection/src/ccm-portlet-collection.config b/ccm-portlet-collection/src/ccm-portlet-collection.config new file mode 100755 index 000000000..6473c3540 --- /dev/null +++ b/ccm-portlet-collection/src/ccm-portlet-collection.config @@ -0,0 +1,7 @@ + + + + diff --git a/ccm-portlet-collection/src/ccm-portlet-collection.load b/ccm-portlet-collection/src/ccm-portlet-collection.load new file mode 100755 index 000000000..d0a7019a5 --- /dev/null +++ b/ccm-portlet-collection/src/ccm-portlet-collection.load @@ -0,0 +1,24 @@ + + + +
+ + + + + + + + + + + + + + diff --git a/ccm-portlet-collection/src/com/arsdigita/portlet/PortletCollectionInitializer.java b/ccm-portlet-collection/src/com/arsdigita/portlet/PortletCollectionInitializer.java new file mode 100755 index 000000000..b82157992 --- /dev/null +++ b/ccm-portlet-collection/src/com/arsdigita/portlet/PortletCollectionInitializer.java @@ -0,0 +1,282 @@ +/* + * Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +package com.arsdigita.portlet; + +import com.arsdigita.bebop.RequestLocal; +import com.arsdigita.db.DbHelper; +import com.arsdigita.domain.DomainObject; +import com.arsdigita.domain.DomainObjectInstantiator; +import com.arsdigita.domain.xml.TraversalHandler; +import com.arsdigita.kernel.ACSObjectInstantiator; +import com.arsdigita.kernel.ResourceType; +import com.arsdigita.kernel.ResourceTypeConfig; +import com.arsdigita.kernel.ui.ResourceConfigComponent; +import com.arsdigita.kernel.ui.ResourceConfigFormSection; +import com.arsdigita.portal.PortletType; +// import com.arsdigita.portalworkspace.portlet.ApplicationDirectoryPortlet; +// import com.arsdigita.portalworkspace.portlet.ContentDirectoryPortlet; +// import com.arsdigita.portalworkspace.portlet.FlashPortletInitializer; +// import com.arsdigita.portalworkspace.portlet.FreeformHTMLPortlet; +// import com.arsdigita.portalworkspace.portlet.LoginPortlet; +// import com.arsdigita.portalworkspace.portlet.RSSFeedPortlet; +// import com.arsdigita.portalworkspace.portlet.MyWorkspacesPortlet; +// import com.arsdigita.portalworkspace.portlet.WorkspaceNavigatorPortlet; +// import com.arsdigita.portalworkspace.portlet.WorkspaceSummaryPortlet; +// import com.arsdigita.portalworkspace.ui.admin.WorkspaceConfigFormSection; +// import com.arsdigita.portalworkspace.ui.portlet.ContentDirectoryPortletEditor; +// import com.arsdigita.portalworkspace.ui.portlet.FreeformHTMLPortletEditor; +// import com.arsdigita.portalworkspace.ui.portlet.RSSFeedPortletEditor; +// import com.arsdigita.portalworkspace.ui.portlet.RSSFeedPortletEditorForm; +import com.arsdigita.persistence.DataObject; +// import com.arsdigita.persistence.pdl.ManifestSource; +// import com.arsdigita.persistence.pdl.NameFilter; +import com.arsdigita.runtime.CompoundInitializer; +import com.arsdigita.runtime.DomainInitEvent; +import com.arsdigita.runtime.PDLInitializer; +import com.arsdigita.runtime.RuntimeConfig; +import com.arsdigita.xml.XML; + +import org.apache.log4j.Logger; + + +/** + * Initializes the portlets of the portlet collection package + * + * @version $Id: PortletCollectionInitializer.java 2070 2010-01-28 08:47:41Z pboy $ + */ +public class PortletCollectionInitializer extends CompoundInitializer { + + private static final Logger s_log = Logger.getLogger(PortletCollectionInitializer.class); + + /** + * Constructor + * + */ + public PortletCollectionInitializer() { + final String url = RuntimeConfig.getConfig().getJDBCURL(); + final int database = DbHelper.getDatabaseFromURL(url); + /* + add(new PDLInitializer(new ManifestSource("ccm-portalworkspace.pdl.mf", + new NameFilter(DbHelper.getDatabaseSuffix(database), + "pdl")))); + */ + } + + /** + * + * @param e + */ + @Override + public void init(DomainInitEvent e) { + + super.init(e); + + +/* + e.getFactory().registerInstantiator( + ApplicationDirectoryPortlet.BASE_DATA_OBJECT_TYPE, + new ACSObjectInstantiator() { + @Override + public DomainObject doNewInstance(DataObject dataObject) { + return new ApplicationDirectoryPortlet(dataObject); + } + }); +*/ +/* + e.getFactory().registerInstantiator( + ContentDirectoryPortlet.BASE_DATA_OBJECT_TYPE, + new ACSObjectInstantiator() { + public DomainObject doNewInstance(DataObject dataObject) { + return new ContentDirectoryPortlet(dataObject); + } + }); +*/ +/* + + e.getFactory().registerInstantiator( + FreeformHTMLPortlet.BASE_DATA_OBJECT_TYPE, + new ACSObjectInstantiator() { + public DomainObject doNewInstance(DataObject dataObject) { + return new FreeformHTMLPortlet(dataObject); + } + }); +*/ +/* + + e.getFactory().registerInstantiator( + LoginPortlet.BASE_DATA_OBJECT_TYPE, + new ACSObjectInstantiator() { + @Override + public DomainObject doNewInstance(DataObject dataObject) { + return new LoginPortlet(dataObject); + } + }); +*/ +/* + + e.getFactory().registerInstantiator( + MyWorkspacesPortlet.BASE_DATA_OBJECT_TYPE, + new ACSObjectInstantiator() { + @Override + public DomainObject doNewInstance(DataObject dataObject) { + return new MyWorkspacesPortlet(dataObject); + } + }); +*/ +/* + + e.getFactory().registerInstantiator( + RSSFeedPortlet.BASE_DATA_OBJECT_TYPE, + new ACSObjectInstantiator() { + @Override + public DomainObject doNewInstance(DataObject dataObject) { + return new RSSFeedPortlet(dataObject); + } + }); +*/ + + // ----- Processing TimeOf DayPortlet ----- + /* Initialize the Time Of Day portlet */ + e.getFactory().registerInstantiator( + TimeOfDayPortlet.BASE_DATA_OBJECT_TYPE, + new ACSObjectInstantiator() { + @Override + public DomainObject doNewInstance(DataObject dataObject) { + return new TimeOfDayPortlet(dataObject); + } + }); + /* Register internal default themes's stylesheet which concomitantly + * serves as a fallback if a custom theme is used without supporting + * this portlet. */ + PortletType.registerXSLFile( + TimeOfDayPortlet.BASE_DATA_OBJECT_TYPE, + PortletType.INTERNAL_THEME_PORTLET_DIR + "time-of-day-portlet.xsl"); + +/* + e.getFactory().registerInstantiator( + WorkspaceNavigatorPortlet.BASE_DATA_OBJECT_TYPE, + new ACSObjectInstantiator() { + @Override + public DomainObject doNewInstance(DataObject dataObject) { + return new WorkspaceNavigatorPortlet(dataObject); + } + }); +*/ +/* + + e.getFactory().registerInstantiator( + WorkspaceSummaryPortlet.BASE_DATA_OBJECT_TYPE, + new ACSObjectInstantiator() { + @Override + public DomainObject doNewInstance(DataObject dataObject) { + return new WorkspaceSummaryPortlet(dataObject); + } + }); +*/ + +/* + + new ResourceTypeConfig(ContentDirectoryPortlet.BASE_DATA_OBJECT_TYPE) { + @Override + public ResourceConfigFormSection getCreateFormSection( + final ResourceType resType, + final RequestLocal parentAppRL) { + final ResourceConfigFormSection config = + new ContentDirectoryPortletEditor(resType, + parentAppRL); + return config; + } + + @Override + public ResourceConfigFormSection getModifyFormSection( + final RequestLocal application) { + final ContentDirectoryPortletEditor config = + new ContentDirectoryPortletEditor(application); + return config; + } + }; +*/ +/* + + new ResourceTypeConfig(RSSFeedPortlet.BASE_DATA_OBJECT_TYPE) { + @Override + public ResourceConfigFormSection getCreateFormSection( + final ResourceType resType, + final RequestLocal parentAppRL) { + final RSSFeedPortletEditorForm config = + new RSSFeedPortletEditorForm(resType, parentAppRL); + return config; + } + + @Override + public ResourceConfigFormSection getModifyFormSection( + final RequestLocal application) { + final RSSFeedPortletEditorForm config = + new RSSFeedPortletEditorForm(application); + return config; + } + + @Override + public ResourceConfigComponent getCreateComponent( + final ResourceType resType, + final RequestLocal parentAppRL) { + final ResourceConfigComponent config = + new RSSFeedPortletEditor(resType, parentAppRL); + return config; + } + + @Override + public ResourceConfigComponent getModifyComponent( + final RequestLocal application) { + final RSSFeedPortletEditor config = + new RSSFeedPortletEditor(application); + return config; + } + }; +*/ +/* + + new ResourceTypeConfig(FreeformHTMLPortlet.BASE_DATA_OBJECT_TYPE) { + @Override + public ResourceConfigFormSection getCreateFormSection( + final ResourceType resType, + final RequestLocal parentAppRL) { + final ResourceConfigFormSection config = + new FreeformHTMLPortletEditor(resType, parentAppRL); + return config; + } + + @Override + public ResourceConfigFormSection getModifyFormSection( + final RequestLocal application) { + final FreeformHTMLPortletEditor config = + new FreeformHTMLPortletEditor(application); + return config; + } + }; + +*/ +/* + + FlashPortletInitializer.initialize(); +*/ + + + } +} diff --git a/ccm-portlet-collection/src/com/arsdigita/portlet/PortletCollectionLoader.java b/ccm-portlet-collection/src/com/arsdigita/portlet/PortletCollectionLoader.java new file mode 100755 index 000000000..fec702d9f --- /dev/null +++ b/ccm-portlet-collection/src/com/arsdigita/portlet/PortletCollectionLoader.java @@ -0,0 +1,165 @@ +/* + * Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +package com.arsdigita.portlet; + +import com.arsdigita.kernel.Kernel; +import com.arsdigita.kernel.KernelExcursion; +import com.arsdigita.kernel.ResourceType; +import com.arsdigita.loader.PackageLoader; +// import com.arsdigita.portalworkspace.portlet.ApplicationDirectoryPortlet; +// import com.arsdigita.portalworkspace.portlet.ContentDirectoryPortlet; +// import com.arsdigita.portalworkspace.portlet.FreeformHTMLPortlet; +// import com.arsdigita.portalworkspace.portlet.LoginPortlet; +// import com.arsdigita.portalworkspace.portlet.MyWorkspacesPortlet ; +// import com.arsdigita.portalworkspace.portlet.RSSFeedPortlet; +// import com.arsdigita.portlet.TimeOfDayPortlet; +// import com.arsdigita.portalworkspace.portlet.WorkspaceNavigatorPortlet; +// import com.arsdigita.portalworkspace.portlet.WorkspaceSummaryPortlet; +import com.arsdigita.portal.PortletType; +import com.arsdigita.runtime.ScriptContext; +import com.arsdigita.util.Assert; +import com.arsdigita.util.parameter.BooleanParameter; +import com.arsdigita.util.parameter.Parameter; +import com.arsdigita.util.parameter.StringParameter; +import com.arsdigita.web.Application; +import com.arsdigita.web.ApplicationType; + +import org.apache.log4j.Logger; + +/** + * Executes nonrecurring at install time and loads (and configures ) all the + * portlets of the protlet collection in a default configuration. + * + * @author Justin Ross <jross@redhat.com> + * @author Peter Boy + * @version $Id: Loader.java 2070 2010-01-28 08:47:41Z pboy $ + */ +public class PortletCollectionLoader extends PackageLoader { + + /** Private Logger instance for debugging purpose. */ + private static final Logger s_log = Logger.getLogger(PortletCollectionLoader.class); + + + /** + * Standard constructor loads/registers the configuration parameter. + */ + public PortletCollectionLoader() { + /* + register(m_isPublic); + register(m_url); + register(m_title); + */ + } + + /** + * Run script invoked by com.arsdigita.packing loader script. + * + * @param ctx + */ + public void run(final ScriptContext ctx) { + + new KernelExcursion() { + public void excurse() { + setEffectiveParty(Kernel.getSystemParty()); + + // loadApplicationDirectoryPortlet(); + // loadContentDirectoryPortlet(); + // loadFreeformHTMLPortlet(); + // loadLoginPortlet(); + // loadMyWorkspacesPortlet(); + // loadRSSFeedPortlet(); + loadTimeOfDayPortlet(); + // loadWorkspaceNavigatorPortlet(); + // loadWorkspaceSummaryPortlet(); + } + }.run(); + } + + + + /** + * + */ +/* + private void loadApplicationDirectoryPortlet() { + PortletType type = PortletType.createPortletType( + "Application Directory", PortletType.WIDE_PROFILE, + ApplicationDirectoryPortlet.BASE_DATA_OBJECT_TYPE); + type.setDescription("Displays a list of portal workspace applications"); + } + + private void loadContentDirectoryPortlet() { + PortletType type = PortletType.createPortletType("Content Directory", + PortletType.WIDE_PROFILE, + ContentDirectoryPortlet.BASE_DATA_OBJECT_TYPE); + type.setDescription("Displays the content directory categories"); + } + + private void loadFreeformHTMLPortlet() { + PortletType type = PortletType.createPortletType("Freeform HTML", + PortletType.WIDE_PROFILE, + FreeformHTMLPortlet.BASE_DATA_OBJECT_TYPE); + type.setDescription("Displays a freeform block of HTML"); + } + + private void loadLoginPortlet() { + PortletType type = PortletType.createPortletType("Site Login", + PortletType.WIDE_PROFILE, LoginPortlet.BASE_DATA_OBJECT_TYPE); + type.setDescription("Display a login form or user details"); + } + + private void loadMyWorkspacesPortlet() { + PortletType type = PortletType.createPortletType("My Workspaces", + PortletType.WIDE_PROFILE, MyWorkspacesPortlet.BASE_DATA_OBJECT_TYPE); + type.setDescription("MyWorkspaces: Display ????"); + } + + private void loadRSSFeedPortlet() { + PortletType type = PortletType.createPortletType("RSS Feed", + PortletType.WIDE_PROFILE, RSSFeedPortlet.BASE_DATA_OBJECT_TYPE); + type.setDescription("Displays an RSS Feed"); + } +*/ + /** + * + */ + private void loadTimeOfDayPortlet() { + PortletType type = PortletType.createPortletType("Time of Day", + PortletType.WIDE_PROFILE, + TimeOfDayPortlet.BASE_DATA_OBJECT_TYPE); + type.setDescription("Displays the current date and time"); + } + +/* + private void loadWorkspaceNavigatorPortlet() { + PortletType type = PortletType.createPortletType( + "Workspace Navigator Portlet", PortletType.WIDE_PROFILE, + WorkspaceNavigatorPortlet.BASE_DATA_OBJECT_TYPE); + type.setDescription("Displays ??"); + } + + private void loadWorkspaceSummaryPortlet() { + PortletType type = PortletType.createPortletType( + "Workspace Summary Portlet", PortletType.WIDE_PROFILE, + WorkspaceSummaryPortlet.BASE_DATA_OBJECT_TYPE); + type.setDescription("Displays ???"); + } +*/ + +} diff --git a/ccm-portalworkspace/src/com/arsdigita/portalworkspace/portlet/TimeOfDayPortlet.java b/ccm-portlet-collection/src/com/arsdigita/portlet/TimeOfDayPortlet.java similarity index 91% rename from ccm-portalworkspace/src/com/arsdigita/portalworkspace/portlet/TimeOfDayPortlet.java rename to ccm-portlet-collection/src/com/arsdigita/portlet/TimeOfDayPortlet.java index 6d30caa84..f47477e51 100755 --- a/ccm-portalworkspace/src/com/arsdigita/portalworkspace/portlet/TimeOfDayPortlet.java +++ b/ccm-portlet-collection/src/com/arsdigita/portlet/TimeOfDayPortlet.java @@ -13,10 +13,10 @@ * */ -package com.arsdigita.portalworkspace.portlet; +package com.arsdigita.portlet; import com.arsdigita.bebop.portal.AbstractPortletRenderer; -import com.arsdigita.portalworkspace.ui.portlet.TimeOfDayPortletRenderer; +import com.arsdigita.portlet.ui.TimeOfDayPortletRenderer; import com.arsdigita.persistence.DataObject; import com.arsdigita.portal.Portlet; diff --git a/ccm-portalworkspace/src/com/arsdigita/portalworkspace/ui/portlet/TimeOfDayPortletRenderer.java b/ccm-portlet-collection/src/com/arsdigita/portlet/ui/TimeOfDayPortletRenderer.java similarity index 83% rename from ccm-portalworkspace/src/com/arsdigita/portalworkspace/ui/portlet/TimeOfDayPortletRenderer.java rename to ccm-portlet-collection/src/com/arsdigita/portlet/ui/TimeOfDayPortletRenderer.java index 4af69f91e..33c6e7856 100755 --- a/ccm-portalworkspace/src/com/arsdigita/portalworkspace/ui/portlet/TimeOfDayPortletRenderer.java +++ b/ccm-portlet-collection/src/com/arsdigita/portlet/ui/TimeOfDayPortletRenderer.java @@ -13,16 +13,18 @@ * */ -package com.arsdigita.portalworkspace.ui.portlet; - -import java.util.Date; +package com.arsdigita.portlet.ui; import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.portal.AbstractPortletRenderer; -import com.arsdigita.portalworkspace.portlet.TimeOfDayPortlet; -import com.arsdigita.portalworkspace.ui.PortalConstants; +import com.arsdigita.portal.PortletType; +import com.arsdigita.portlet.TimeOfDayPortlet; +// import com.arsdigita.portalworkspace.ui.PortalConstants; import com.arsdigita.xml.Element; +import java.util.Date; + + public class TimeOfDayPortletRenderer extends AbstractPortletRenderer { private TimeOfDayPortlet m_portlet; @@ -32,7 +34,7 @@ public class TimeOfDayPortletRenderer extends AbstractPortletRenderer { public void generateBodyXML(PageState state, Element parent) { Element date = parent.newChildElement("portlet:timeOfDay", - PortalConstants.PORTLET_XML_NS); + PortletType.PORTLET_XML_NS); date.addAttribute("date", (new Date()).toString()); } } diff --git a/ccm-portalworkspace/web/themes/heirloom/packages/portal-workspace/xsl/time-of-day-portlet.xsl b/ccm-portlet-collection/web/themes/heirloom/portlets/time-of-day-portlet.xsl similarity index 100% rename from ccm-portalworkspace/web/themes/heirloom/packages/portal-workspace/xsl/time-of-day-portlet.xsl rename to ccm-portlet-collection/web/themes/heirloom/portlets/time-of-day-portlet.xsl diff --git a/ccm-quasi-bundle/doc/deployment/development-environment.sgml b/ccm-quasi-bundle/doc/deployment/development-environment.sgml index cc7670fde..282e0d535 100644 --- a/ccm-quasi-bundle/doc/deployment/development-environment.sgml +++ b/ccm-quasi-bundle/doc/deployment/development-environment.sgml @@ -678,7 +678,8 @@ publish-to-fs-servers = "http://servlet1/", "http://servlet2/" publish-to-fs-source = "http://servlet1/" publish-to-fs-this-server = "http://servlet1/" search-engine = intermedia -template-root = /packages/content-section/templates +# old: template-root = /packages/content-section/templates +template-root = /templates/ccm-cms/content-section # Portal initialization file portal-url = /portal/ diff --git a/ccm-quasi-bundle/src/com/arsdigita/bundle/ui/AssignedItemTerms.java b/ccm-quasi-bundle/src/com/arsdigita/bundle/ui/AssignedItemTerms.java index 433c7478e..eb0646edd 100644 --- a/ccm-quasi-bundle/src/com/arsdigita/bundle/ui/AssignedItemTerms.java +++ b/ccm-quasi-bundle/src/com/arsdigita/bundle/ui/AssignedItemTerms.java @@ -26,7 +26,8 @@ import com.arsdigita.london.terms.ui.AbstractAssignedTerms; /** * * Invoked by jsp - * (e.g. packages/content-section/templates/default/aplaws-item.jsp) + * (e.g. templates/ccm-cms/content-section/default/aplaws-item.jsp + * previously: packages/content-section/templates/default/aplaws-item.jsp) */ public class AssignedItemTerms extends AbstractAssignedTerms { diff --git a/ccm-sci-bundle/bundles/devel/cfg/project.xml b/ccm-sci-bundle/bundles/devel/cfg/project.xml index 9e6a1eacc..74250a779 100644 --- a/ccm-sci-bundle/bundles/devel/cfg/project.xml +++ b/ccm-sci-bundle/bundles/devel/cfg/project.xml @@ -14,9 +14,9 @@ webapp="ROOT" xsi:schemaLocation="http://ccm.redhat.com/ccm-project file:tools-ng/common/xsd/project.xsd"> - - - + + + @@ -95,6 +95,8 @@ + + @@ -107,11 +109,10 @@ + - + + + + - - - - + + + + + --> + + + + diff --git a/ccm-sci-bundle/doc/deployment/development-environment.sgml b/ccm-sci-bundle/doc/deployment/development-environment.sgml index cc7670fde..282e0d535 100644 --- a/ccm-sci-bundle/doc/deployment/development-environment.sgml +++ b/ccm-sci-bundle/doc/deployment/development-environment.sgml @@ -678,7 +678,8 @@ publish-to-fs-servers = "http://servlet1/", "http://servlet2/" publish-to-fs-source = "http://servlet1/" publish-to-fs-this-server = "http://servlet1/" search-engine = intermedia -template-root = /packages/content-section/templates +# old: template-root = /packages/content-section/templates +template-root = /templates/ccm-cms/content-section # Portal initialization file portal-url = /portal/ diff --git a/ccm-sci-bundle/src/com/arsdigita/bundle/ui/AssignedItemTerms.java b/ccm-sci-bundle/src/com/arsdigita/bundle/ui/AssignedItemTerms.java index 433c7478e..eb0646edd 100644 --- a/ccm-sci-bundle/src/com/arsdigita/bundle/ui/AssignedItemTerms.java +++ b/ccm-sci-bundle/src/com/arsdigita/bundle/ui/AssignedItemTerms.java @@ -26,7 +26,8 @@ import com.arsdigita.london.terms.ui.AbstractAssignedTerms; /** * * Invoked by jsp - * (e.g. packages/content-section/templates/default/aplaws-item.jsp) + * (e.g. templates/ccm-cms/content-section/default/aplaws-item.jsp + * previously: packages/content-section/templates/default/aplaws-item.jsp) */ public class AssignedItemTerms extends AbstractAssignedTerms { diff --git a/ccm-sci-bundle/web/packages/content-section/templates/default/aplaws-folder.jsp b/ccm-sci-bundle/web/templates/ccm-cms/content-section/default/aplaws-folder.jsp similarity index 100% rename from ccm-sci-bundle/web/packages/content-section/templates/default/aplaws-folder.jsp rename to ccm-sci-bundle/web/templates/ccm-cms/content-section/default/aplaws-folder.jsp diff --git a/ccm-sci-bundle/web/packages/content-section/templates/default/aplaws-item.jsp b/ccm-sci-bundle/web/templates/ccm-cms/content-section/default/aplaws-item.jsp similarity index 100% rename from ccm-sci-bundle/web/packages/content-section/templates/default/aplaws-item.jsp rename to ccm-sci-bundle/web/templates/ccm-cms/content-section/default/aplaws-item.jsp diff --git a/ccm-sci-bundle/web/themes/static/aplaws-generic/portal/portlets.xsl b/ccm-sci-bundle/web/themes/static/aplaws-generic/portal/portlets.xsl index 7af695964..33286b190 100644 --- a/ccm-sci-bundle/web/themes/static/aplaws-generic/portal/portlets.xsl +++ b/ccm-sci-bundle/web/themes/static/aplaws-generic/portal/portlets.xsl @@ -1,28 +1,23 @@ - + - - - - - - - - - - - - - - + + + + + + + + + + - diff --git a/ccm-sci-bundle/web/themes/static/aplaws-generic/portal/time-of-day-portlet.xsl b/ccm-sci-bundle/web/themes/static/aplaws-generic/portal/time-of-day-portlet.xsl index 1d4dd4075..35c7398c9 100644 --- a/ccm-sci-bundle/web/themes/static/aplaws-generic/portal/time-of-day-portlet.xsl +++ b/ccm-sci-bundle/web/themes/static/aplaws-generic/portal/time-of-day-portlet.xsl @@ -1,12 +1,11 @@ - - + diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/CollectedVolumeInitializer.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/CollectedVolumeInitializer.java index db044f9b1..01add3ce0 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/CollectedVolumeInitializer.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/CollectedVolumeInitializer.java @@ -60,7 +60,8 @@ public class CollectedVolumeInitializer extends ContentTypeInitializer { */ @Override public String[] getStylesheets() { - return new String[]{"INTERNAL_THEME_TYPES_DIR + sci/CollectedVolume.xsl"}; + return new String[]{ + INTERNAL_THEME_TYPES_DIR + "sci/CollectedVolume.xsl"}; } /** diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/JournalInitializer.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/JournalInitializer.java index 0fae98593..e9b1e8c33 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/JournalInitializer.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/JournalInitializer.java @@ -20,12 +20,21 @@ package com.arsdigita.cms.contenttypes; /** + * Executes at each system startup and initializes the Journal content type, + * part of the ScientificCMS extension. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Jens Pelzetter */ public class JournalInitializer extends ContentTypeInitializer { /** + * Constructor, sets the PDL manifest file and object type string. + * * The pdl.mf file used here is empty, since the * {@link PublicationInitializer} loads all things using the pdl.mf file * of the module. Also, it may causes on silly errors in the load-bundle @@ -35,14 +44,32 @@ public class JournalInitializer extends ContentTypeInitializer { super("empty.pdl.mf", Journal.BASE_DATA_OBJECT_TYPE); } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override public String[] getStylesheets() { return new String[]{ - "/static/content-types/com/arsdigita/cms/contenttypes/Journal.xsl"}; + INTERNAL_THEME_TYPES_DIR + "sci/Journal.xsl"}; } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override public String getTraversalXML() { - return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Journal.xml"; + return + "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Journal.xml"; } } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/MonographInitializer.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/MonographInitializer.java index e26bf6d9b..63e08e48a 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/MonographInitializer.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/MonographInitializer.java @@ -20,12 +20,21 @@ package com.arsdigita.cms.contenttypes; /** + * Executes at each system startup and initializes the Monograph content type, + * part of the ScientificCMS extension. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Jens Pelzetter */ public class MonographInitializer extends ContentTypeInitializer { /** + * Constructor, sets the PDL manifest file and object type string. + * * The pdl.mf file used here is empty, since the * {@link PublicationInitializer} loads all things using the pdl.mf file * of the module. Also, it may causes on silly errors in the load-bundle @@ -35,14 +44,32 @@ public class MonographInitializer extends ContentTypeInitializer { super("empty.pdl.mf", Monograph.BASE_DATA_OBJECT_TYPE); } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override public String[] getStylesheets() { - return new String[]{"/static/content-types/com/arsdigita/cms/contenttypes/Monograph.xsl"}; + return new String[]{ INTERNAL_THEME_TYPES_DIR + "sci/Monograph.xsl" }; } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override public String getTraversalXML() { - return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/PublicationWithPublisher.xml"; + return + "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/PublicationWithPublisher.xml"; } } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ProceedingsInitializer.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ProceedingsInitializer.java index 5c708d90e..f4f3b1727 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ProceedingsInitializer.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ProceedingsInitializer.java @@ -20,30 +20,56 @@ package com.arsdigita.cms.contenttypes; /** + * Executes at each system startup and initializes the Proceedings content type, + * part of the ScientificCMS extension. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Jens Pelzetter */ public class ProceedingsInitializer extends ContentTypeInitializer { /** + * Constructor, sets the PDL manifest file and object type string. + * * The pdl.mf file used here is empty, since the * {@link PublicationInitializer} loads all things using the pdl.mf file * of the module. Also, it may causes on silly errors in the load-bundle * step if the same pdl.mf file is used in more than one initializer. */ - public ProceedingsInitializer() { super("empty.pdl.mf", Proceedings.BASE_DATA_OBJECT_TYPE); } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override public String[] getStylesheets() { - return new String[] {"/static/content-types/com/arsdigita/cms/contenttypes/Proceedings.xsl"}; + return new String[] { INTERNAL_THEME_TYPES_DIR + "sci/Proceedings.xsl"}; } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override public String getTraversalXML() { - return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Proceedings.xml"; + return + "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Proceedings.xml"; } } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationInitializer.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationInitializer.java index f3987c4e2..a545301e8 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationInitializer.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationInitializer.java @@ -44,10 +44,18 @@ public class PublicationInitializer extends ContentTypeInitializer { /** Private Logger instance for debugging purpose. */ private final Logger logger = Logger.getLogger(PublicationInitializer.class); + /** + * Constructor, sets the PDL manifest file and object type string. + */ public PublicationInitializer() { super("ccm-sci-publications.pdl.mf", Publication.BASE_DATA_OBJECT_TYPE); } + /** + * Initializes the domain coupling machinery + * + * @param event + */ @Override public void init(final DomainInitEvent event) { super.init(event); diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationWithPublisherInitializer.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationWithPublisherInitializer.java index 631de7024..f9c3a55aa 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationWithPublisherInitializer.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublicationWithPublisherInitializer.java @@ -20,12 +20,21 @@ package com.arsdigita.cms.contenttypes; /** + * Executes at each system startup and initializes the PublicationWithPublisher + * content type, part of the ScientificCMS extension. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Jens Pelzetter */ public class PublicationWithPublisherInitializer extends ContentTypeInitializer { /** + * Constructor, sets the PDL manifest file and object type string. + * * The pdl.mf file used here is empty, since the * {@link PublicationInitializer} loads all things using the pdl.mf file * of the module. Also, it may causes on silly errors in the load-bundle @@ -35,14 +44,33 @@ public class PublicationWithPublisherInitializer extends ContentTypeInitializer super("empty.pdl.mf", PublicationWithPublisher.BASE_DATA_OBJECT_TYPE); } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override public String[] getStylesheets() { - return new String[]{"/static/content-types/com/arsdigita/cms/contenttypes/PublicationWithPublisher.xsl"}; + return new String[]{ + INTERNAL_THEME_TYPES_DIR + "sci/PublicationWithPublisher.xsl"}; } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override public String getTraversalXML() { - return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/PublicationWithPublisher.xml"; + return + "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/PublicationWithPublisher.xml"; } } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublisherInitializer.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublisherInitializer.java index ed1fd8719..b198b6637 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublisherInitializer.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/PublisherInitializer.java @@ -20,12 +20,21 @@ package com.arsdigita.cms.contenttypes; /** + * Executes at each system startup and initializes the Publisher content type, + * part of the ScientificCMS extension. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Jens Pelzetter */ public class PublisherInitializer extends ContentTypeInitializer { /** + * Constructor, sets the PDL manifest file and object type string. + * * The pdl.mf file used here is empty, since the * {@link PublicationInitializer} loads all things using the pdl.mf file * of the module. Also, it may causes on silly errors in the load-bundle @@ -35,11 +44,29 @@ public class PublisherInitializer extends ContentTypeInitializer { super("empty.pdl.mf", Publisher.BASE_DATA_OBJECT_TYPE); } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override public String[] getStylesheets() { - return new String[]{"/static/content-types/com/arsdigita/cms/contenttypes/Publisher.xsl"}; + return new String[]{ + INTERNAL_THEME_TYPES_DIR + "sci/Publisher.xsl" }; } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override public String getTraversalXML() { //return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Publisher.xml"; diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ReviewInitializer.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ReviewInitializer.java index d504aeeed..011d15ac1 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ReviewInitializer.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/ReviewInitializer.java @@ -20,12 +20,21 @@ package com.arsdigita.cms.contenttypes; /** + * Executes at each system startup and initializes the Review content type, + * part of the ScientificCMS extension. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Jens Pelzetter */ public class ReviewInitializer extends ContentTypeInitializer { /** + * Constructor, sets the PDL manifest file and object type string. + * * The pdl.mf file used here is empty, since the * {@link PublicationInitializer} loads all things using the pdl.mf file * of the module. Also, it may causes on silly errors in the load-bundle @@ -35,14 +44,32 @@ public class ReviewInitializer extends ContentTypeInitializer { super("empty.pdl.mf", Review.BASE_DATA_OBJECT_TYPE); } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override public String[] getStylesheets() { - return new String[]{"/static/content-types/com/arsdigita/cms/contenttypes/Review.xsl"}; + return new String[]{ INTERNAL_THEME_TYPES_DIR + "sci/Review.xsl" }; } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override public String getTraversalXML() { - return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Publication.xml"; + return + "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Publication.xml"; } } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/SciAuthorInitializer.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/SciAuthorInitializer.java index 5f1017c39..36a6578f6 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/SciAuthorInitializer.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/SciAuthorInitializer.java @@ -21,26 +21,53 @@ package com.arsdigita.cms.contenttypes; /** - * Initializer for {@link SciAuthor} + * Executes at each system startup and initializes the SciAuthor content type, + * part of the ScientificCMS extension. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Jens Pelzetter */ public class SciAuthorInitializer extends ContentTypeInitializer { + /** + * Constructor, sets the PDL manifest file and object type string. + */ public SciAuthorInitializer() { super("empty.pdl.mf", SciAuthor.BASE_DATA_OBJECT_TYPE); } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override public String[] getStylesheets() { return new String[] { - "/static/content-types/com/arsdigita/cms/contenttypes/SciAuthor.xsl" + INTERNAL_THEME_TYPES_DIR + "sci/SciAuthor.xsl" }; } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override public String getTraversalXML() { - return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/SciAuthor.xml"; + return + "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/SciAuthor.xml"; } } diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/SeriesInitializer.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/SeriesInitializer.java index 590b4ad36..118c7f09b 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/SeriesInitializer.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/SeriesInitializer.java @@ -17,15 +17,27 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ + package com.arsdigita.cms.contenttypes; + + /** + * Executes at each system startup and initializes the Series content type, + * part of the ScientificCMS extension. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Jens Pelzetter */ public class SeriesInitializer extends ContentTypeInitializer { /** + * Constructor, sets the PDL manifest file and object type string. + * * The pdl.mf file used here is empty, since the * {@link PublicationInitializer} loads all things using the pdl.mf file * of the module. Also, it may causes on silly errors in the load-bundle @@ -35,11 +47,28 @@ public class SeriesInitializer extends ContentTypeInitializer { super("empty.pdl.mf", Series.BASE_DATA_OBJECT_TYPE); } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override public String[] getStylesheets() { - return new String[]{"/static/content-types/com/arsdigita/cms/contenttypes/Series.xsl"}; + return new String[]{INTERNAL_THEME_TYPES_DIR + "sci/Series.xsl"}; } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override public String getTraversalXML() { return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Series.xml"; diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/UnPublishedInitializer.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/UnPublishedInitializer.java index 11aff8e67..c849e72f2 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/UnPublishedInitializer.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/UnPublishedInitializer.java @@ -17,15 +17,25 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ + package com.arsdigita.cms.contenttypes; /** + * Executes at each system startup and initializes the UnPublished content type, + * part of the ScientificCMS extension. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Jens Pelzetter */ public class UnPublishedInitializer extends ContentTypeInitializer { /** + * Constructor, sets the PDL manifest file and object type string. + * * The pdl.mf file used here is empty, since the * {@link PublicationInitializer} loads all things using the pdl.mf file * of the module. Also, it may causes on silly errors in the load-bundle @@ -35,11 +45,28 @@ public class UnPublishedInitializer extends ContentTypeInitializer { super("empty.pdl.mf", UnPublished.BASE_DATA_OBJECT_TYPE); } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override public String[] getStylesheets() { - return new String[]{"/static/content-types/com/arsdigita/cms/contenttypes/UnPublished.xsl"}; + return new String[]{ INTERNAL_THEME_TYPES_DIR + "sci/UnPublished.xsl" }; } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override public String getTraversalXML() { return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Publication.xml"; diff --git a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/WorkingPaperInitializer.java b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/WorkingPaperInitializer.java index 2be66822c..4e1696085 100644 --- a/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/WorkingPaperInitializer.java +++ b/ccm-sci-publications/src/com/arsdigita/cms/contenttypes/WorkingPaperInitializer.java @@ -20,12 +20,21 @@ package com.arsdigita.cms.contenttypes; /** + * Executes at each system startup and initializes the WorkingPaper content type, + * part of the ScientificCMS extension. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Jens Pelzetter */ public class WorkingPaperInitializer extends ContentTypeInitializer { /** + * Constructor, sets the PDL manifest file and object type string. + * * The pdl.mf file used here is empty, since the * {@link PublicationInitializer} loads all things using the pdl.mf file * of the module. Also, it may causes on silly errors in the load-bundle @@ -35,14 +44,32 @@ public class WorkingPaperInitializer extends ContentTypeInitializer { super("empty.pdl.mf", WorkingPaper.BASE_DATA_OBJECT_TYPE); } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override public String[] getStylesheets() { - return new String[]{"/static/content-types/com/arsdigita/cms/contenttypes/WorkingPaper.xsl"}; + return new String[]{ INTERNAL_THEME_TYPES_DIR + "sci/WorkingPaper.xsl" }; } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override public String getTraversalXML() { - return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/WorkingPaper.xml"; + return + "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/WorkingPaper.xml"; } } diff --git a/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/SciDepartmentInitializer.java b/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/SciDepartmentInitializer.java index 8e93557a7..4cf493109 100644 --- a/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/SciDepartmentInitializer.java +++ b/ccm-sci-types-department/src/com/arsdigita/cms/contenttypes/SciDepartmentInitializer.java @@ -1,3 +1,23 @@ +/* + * Copyright (c) 2010 Jens Pelzetter, + * for the Center of Social Politics of the University of Bremen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + package com.arsdigita.cms.contenttypes; import com.arsdigita.cms.ContentType; @@ -11,17 +31,32 @@ import com.arsdigita.cms.ui.authoring.AuthoringKitWizard; import com.arsdigita.runtime.DomainInitEvent; /** + * Executes at each system startup and initializes the SciDepartment + * content type, part of the ScientificCMS extension. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Jens Pelzetter * @version $Id$ */ public class SciDepartmentInitializer extends ContentTypeInitializer { + /** + * Constructor, sets the PDL manifest file and object type string. + */ public SciDepartmentInitializer() { super("ccm-sci-types-department.pdl.mf", SciDepartment.BASE_DATA_OBJECT_TYPE); } + /** + * Initializes the domain coupling machinery + * + * @param event + */ @Override public void init(final DomainInitEvent event) { super.init(event); @@ -81,15 +116,33 @@ public class SciDepartmentInitializer extends ContentTypeInitializer { } } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override public String[] getStylesheets() { return new String[]{ - "/static/content-types/com/arsdigita/cms/contenttypes/SciDepartment.xsl" + INTERNAL_THEME_TYPES_DIR + "sci/SciDepartment.xsl" }; } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override public String getTraversalXML() { - return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/SciDepartment.xml"; + return + "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/SciDepartment.xml"; } } diff --git a/ccm-sci-types-department/web/static/content-types/com/arsdigita/cms/contenttypes/SciDepartment.xsl b/ccm-sci-types-department/web/themes/heirloom/contenttypes/sci/SciDepartment.xsl similarity index 100% rename from ccm-sci-types-department/web/static/content-types/com/arsdigita/cms/contenttypes/SciDepartment.xsl rename to ccm-sci-types-department/web/themes/heirloom/contenttypes/sci/SciDepartment.xsl diff --git a/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/SciInstituteInitializer.java b/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/SciInstituteInitializer.java index 90da26569..de833f7ba 100644 --- a/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/SciInstituteInitializer.java +++ b/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/SciInstituteInitializer.java @@ -1,3 +1,23 @@ +/* + * Copyright (c) 2010 Jens Pelzetter, + * for the Center of Social Politics of the University of Bremen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + package com.arsdigita.cms.contenttypes; import com.arsdigita.cms.ContentType; @@ -11,17 +31,32 @@ import com.arsdigita.cms.ui.authoring.AuthoringKitWizard; import com.arsdigita.runtime.DomainInitEvent; /** + * Executes at each system startup and initializes the SciInstitute + * content type, part of the ScientificCMS extension. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Jens Pelzetter * @version $Id$ */ public class SciInstituteInitializer extends ContentTypeInitializer { + /** + * Constructor, sets the PDL manifest file and object type string. + */ public SciInstituteInitializer() { super("ccm-sci-types-institute.pdl.mf", SciInstitute.BASE_DATA_OBJECT_TYPE); } + /** + * Initializes the domain coupling machinery + * + * @param event + */ @Override public void init(final DomainInitEvent event) { super.init(event); @@ -91,15 +126,33 @@ public class SciInstituteInitializer extends ContentTypeInitializer { } } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override public String[] getStylesheets() { return new String[]{ - "/static/content-types/com/arsdigita/cms/contenttypes/SciInstitute.xsl" + INTERNAL_THEME_TYPES_DIR + "sci/SciInstitute.xsl" }; } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override public String getTraversalXML() { - return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/SciInstitute.xml"; + return + "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/SciInstitute.xml"; } } diff --git a/ccm-sci-types-institute/web/static/content-types/com/arsdigita/cms/contenttypes/SciInstitute.xsl b/ccm-sci-types-institute/web/themes/heirloom/contenttypes/sci/SciInstitute.xsl similarity index 100% rename from ccm-sci-types-institute/web/static/content-types/com/arsdigita/cms/contenttypes/SciInstitute.xsl rename to ccm-sci-types-institute/web/themes/heirloom/contenttypes/sci/SciInstitute.xsl diff --git a/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/SciProjectInitializer.java b/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/SciProjectInitializer.java index e77c66d36..e7fe0df00 100644 --- a/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/SciProjectInitializer.java +++ b/ccm-sci-types-project/src/com/arsdigita/cms/contenttypes/SciProjectInitializer.java @@ -1,3 +1,23 @@ +/* + * Copyright (c) 2010 Jens Pelzetter, + * for the Center of Social Politics of the University of Bremen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + package com.arsdigita.cms.contenttypes; import com.arsdigita.cms.contenttypes.ui.SciProjectGlobalizationUtil; @@ -7,18 +27,38 @@ import com.arsdigita.cms.contenttypes.ui.SciProjectSuperProjectsStep; import com.arsdigita.cms.ui.authoring.AuthoringKitWizard; import com.arsdigita.runtime.DomainInitEvent; +import org.apache.log4j.Logger; + + /** + * Executes at each system startup and initializes the SciProject content type, + * part of the ScientificCMS extension. + * + * Defines the content type specific properties and just uses the super class + * methods to register the content type with the (transient) content type store + * (map). This is done by runtimeRuntime startup method which runs the init() + * methods of all initializers (this one just using the parent implementation). * * @author Jens Pelzetter * @version $Id$ */ public class SciProjectInitializer extends ContentTypeInitializer { + /** Private Logger instance for debugging purpose. */ + private final Logger logger = Logger.getLogger(SciProjectInitializer.class); + + /** + * Constructor, sets the PDL manifest file and object type string. + */ public SciProjectInitializer() { super("ccm-sci-types-project.pdl.mf", SciProject.BASE_DATA_OBJECT_TYPE); } + /** + * + * @param event + */ @Override public void init(final DomainInitEvent event) { super.init(event); @@ -59,15 +99,33 @@ public class SciProjectInitializer extends ContentTypeInitializer { } } + /** + * Retrieve location of this content type's internal default theme + * stylesheet(s) which concomitantly serve as a fallback if a custom theme + * is engaged. + * + * Custom themes usually will provide their own stylesheet(s) and their own + * access method, but may not support every content type. + * + * Overwrites parent method with AgendaItem specific value for use by the + * parent class worker methods. + * + * @return String array of XSL stylesheet files of the internal default theme + */ @Override public String[] getStylesheets() { return new String[]{ - "/static/content-types/com/arsdigita/cms/contenttypes/SciProject.xsl" + INTERNAL_THEME_TYPES_DIR + "sci/SciProject.xsl" }; } + /** + * Retrieves fully qualified traversal adapter file name. + * @return + */ @Override public String getTraversalXML() { - return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/SciProject.xml"; + return + "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/SciProject.xml"; } } diff --git a/tools-legacy/tools/ccm-tools.spec.in b/tools-legacy/tools/ccm-tools.spec.in index 2e77b4fda..77b12f995 100755 --- a/tools-legacy/tools/ccm-tools.spec.in +++ b/tools-legacy/tools/ccm-tools.spec.in @@ -85,7 +85,7 @@ ln -s ../../..%{ccmdatadir} $RPM_BUILD_ROOT%{ccmhome}/data ln -s ../../..%{ccmtmpdir} $RPM_BUILD_ROOT%{ccmhome}/tmp %{__mkdir_p} $RPM_BUILD_ROOT%{ccmwebappsdir} -%{__mkdir_p} $RPM_BUILD_ROOT%{ccmwebappsdir}/ROOT/packages/content-section/templates +%{__mkdir_p} $RPM_BUILD_ROOT%{ccmwebappsdir}/ROOT/templates/ccm-cms/content-section ln -s ../../..%{ccmwebappsdir} $RPM_BUILD_ROOT%{ccmhome}/webapps %clean @@ -171,7 +171,7 @@ fi %attr(-,ccmadmin,ccmadmin) %dir %{ccmwebappsdir}/ROOT %attr(-,ccmadmin,ccmadmin) %dir %{ccmwebappsdir}/ROOT/packages %attr(-,ccmadmin,ccmadmin) %dir %{ccmwebappsdir}/ROOT/packages/content-section -%attr(0775,servlet,servlet) %{ccmwebappsdir}/ROOT/packages/content-section/templates +%attr(0775,servlet,servlet) %{ccmwebappsdir}/ROOT/templates/ccm-cms/content-section %dir %{ccmconfdir} %attr(-,ccmadmin,ccmadmin) %dir %{ccmconfdir}/registry