From 1a15aa0d7c8d89de03359518b79a80d7c762b483 Mon Sep 17 00:00:00 2001 From: jensp Date: Thu, 30 Apr 2009 15:30:10 +0000 Subject: [PATCH] First Version of the generic content type. Compiles, but is not tested yet. Will be extended to make it possible to add members to an organization soon. git-svn-id: https://svn.libreccm.org/ccm/trunk@150 8810af33-2d31-482b-a856-94f89814c4df --- .../application.xml | 24 ++++ .../content-types/GenericOrganization.pdl | 29 +++++ .../postgres-create.sql | 3 + .../cms/contenttypes/GenericOrganization.xml | 28 +++++ .../cms/contenttypes/GenericOrganization.java | 88 ++++++++++++++ .../GenericOrganizationConfig.java | 32 +++++ .../GenericOrganizationInitializer.java | 57 +++++++++ .../GenericOrganizationLoader.java | 41 +++++++ .../ui/GenericOrganizationPropertiesStep.java | 83 +++++++++++++ .../ui/GenericOrganizationPropertyForm.java | 115 ++++++++++++++++++ .../cms/contenttypes/GenericOrganization.xsl | 27 ++++ .../com/arsdigita/content-types/Person.pdl | 19 +++ .../com/arsdigita/cms/contenttypes/Person.xml | 32 ++--- .../arsdigita/cms/contenttypes/Person.java | 16 ++- .../cms/contenttypes/PersonConfig.java | 16 ++- .../cms/contenttypes/PersonInitializer.java | 19 ++- .../cms/contenttypes/PersonLoader.java | 17 ++- .../contenttypes/ui/PersonPropertiesStep.java | 19 +++ .../contenttypes/ui/PersonPropertyForm.java | 19 +++ .../util/PersonGlobalizationUtil.java | 19 +++ .../util/PersonResourceBundle.java | 19 +++ .../com/arsdigita/cms/contenttypes/Person.xsl | 9 +- 22 files changed, 705 insertions(+), 26 deletions(-) create mode 100644 ccm-cms-types-genericorganization/application.xml create mode 100644 ccm-cms-types-genericorganization/pdl/com/arsdigita/content-types/GenericOrganization.pdl create mode 100644 ccm-cms-types-genericorganization/sql/ccm-cms-types-genericorganization/postgres-create.sql create mode 100644 ccm-cms-types-genericorganization/src/WEB-INF/content-types/com/arsdigita/cms/contenttypes/GenericOrganization.xml create mode 100644 ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganization.java create mode 100644 ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganizationConfig.java create mode 100644 ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganizationInitializer.java create mode 100644 ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganizationLoader.java create mode 100644 ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationPropertiesStep.java create mode 100644 ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationPropertyForm.java create mode 100644 ccm-cms-types-genericorganization/web/static/content-types/com/arsdigita/cms/contenttypes/GenericOrganization.xsl diff --git a/ccm-cms-types-genericorganization/application.xml b/ccm-cms-types-genericorganization/application.xml new file mode 100644 index 000000000..fcb192e4f --- /dev/null +++ b/ccm-cms-types-genericorganization/application.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + Generic organization type for OpenCCM + + + diff --git a/ccm-cms-types-genericorganization/pdl/com/arsdigita/content-types/GenericOrganization.pdl b/ccm-cms-types-genericorganization/pdl/com/arsdigita/content-types/GenericOrganization.pdl new file mode 100644 index 000000000..cb1b056f6 --- /dev/null +++ b/ccm-cms-types-genericorganization/pdl/com/arsdigita/content-types/GenericOrganization.pdl @@ -0,0 +1,29 @@ +// +// Copyright (C) 2009 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 +// +// + +model com.arsdigita.cms.contenttypes; + +import com.arsdigita.cms.ContentItem; +import com.arsdigita.cms.ContentPage; + +object type Person extends ContentPage { + String[0..1] organizationname = ct_genericorganizations.organizationname VARCHAR(512); + + reference key (ct_genericorganizations.organization_id); +} \ No newline at end of file diff --git a/ccm-cms-types-genericorganization/sql/ccm-cms-types-genericorganization/postgres-create.sql b/ccm-cms-types-genericorganization/sql/ccm-cms-types-genericorganization/postgres-create.sql new file mode 100644 index 000000000..a733590e2 --- /dev/null +++ b/ccm-cms-types-genericorganization/sql/ccm-cms-types-genericorganization/postgres-create.sql @@ -0,0 +1,3 @@ +begin; +\i ddl/postgres/create.sql +end; \ No newline at end of file diff --git a/ccm-cms-types-genericorganization/src/WEB-INF/content-types/com/arsdigita/cms/contenttypes/GenericOrganization.xml b/ccm-cms-types-genericorganization/src/WEB-INF/content-types/com/arsdigita/cms/contenttypes/GenericOrganization.xml new file mode 100644 index 000000000..8352d0635 --- /dev/null +++ b/ccm-cms-types-genericorganization/src/WEB-INF/content-types/com/arsdigita/cms/contenttypes/GenericOrganization.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + diff --git a/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganization.java b/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganization.java new file mode 100644 index 000000000..e2b83969f --- /dev/null +++ b/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganization.java @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2009 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; +import com.arsdigita.cms.ContentItem; +import com.arsdigita.cms.ContentPage; +import com.arsdigita.domain.DataObjectNotFoundException; +import com.arsdigita.persistence.DataObject; +import com.arsdigita.persistence.OID; +import com.arsdigita.util.Assert; +import java.math.BigDecimal; + +/** + * An very generic type to represent an organization. + * + * @author Jens Pelzetter + */ +public class GenericOrganization extends ContentPage { + + public static final String ORGANIZATIONNAME = "organizationname"; + + public static final String BASE_DATA_OBJECT_TYPE = "com.arsdigita.cms.contenttypes.GenericOrganization"; + private static final GenericOrganizationConfig s_config = new GenericOrganizationConfig(); + + static { + s_config.load(); + } + + public static final GenericOrganizationConfig getConfig () { + return s_config; + } + + /** + * Default constructor. This creates a new (empty) organization + */ + public GenericOrganization() { + this(BASE_DATA_OBJECT_TYPE); + } + + public GenericOrganization(BigDecimal id) throws DataObjectNotFoundException { + this(new OID(BASE_DATA_OBJECT_TYPE, id)); + } + + public GenericOrganization(OID id) throws DataObjectNotFoundException { + super(id); + } + + public GenericOrganization(DataObject obj) { + super(obj); + } + + public GenericOrganization(String type) { + super(type); + } + + public void beforeSave() { + super.beforeSave(); + + Assert.exists(getContentType(), ContentType.class); + } + + /* accessors *************************************************/ + public String getOrganizationName() { + return (String)get(ORGANIZATIONNAME); + } + + public void setOrganizationName(String name) { + set(ORGANIZATIONNAME, name); + } +} \ No newline at end of file diff --git a/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganizationConfig.java b/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganizationConfig.java new file mode 100644 index 000000000..312e1d032 --- /dev/null +++ b/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganizationConfig.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2009 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.runtime.AbstractConfig; +import com.arsdigita.util.parameter.Parameter; +import com.arsdigita.util.parameter.BooleanParameter; + +/** + * + * @author Jens Pelzetter + */ +public class GenericOrganizationConfig extends AbstractConfig { + +} diff --git a/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganizationInitializer.java b/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganizationInitializer.java new file mode 100644 index 000000000..4945eb038 --- /dev/null +++ b/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganizationInitializer.java @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2009 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.ContentTypeInitializer; +import com.arsdigita.domain.DomainObject; +import com.arsdigita.domain.DomainObjectFactory; +import com.arsdigita.domain.DomainObjectInstantiator; +import com.arsdigita.persistence.DataObject; +import com.arsdigita.runtime.DomainInitEvent; +import org.apache.log4j.Logger; + +/** + * + * @author Jens Pelzetter + */ + +public class GenericOrganizationInitializer extends ContentTypeInitializer { + + public final static String versionId = + "$Id: GenericOrganizationInitializer.java 1 2009-04-30 09:32:55Z jensp $" + + "$Author: jensp $" + + "$DateTime: 2009/04/30 11:33:39 $"; + + private static final Logger s_log = Logger.getLogger(GenericOrganizationInitializer.class); + + public GenericOrganizationInitializer() { + super("ccm-cms-types-genericorganization.pdl.mf", + GenericOrganization.BASE_DATA_OBJECT_TYPE); + } + + public void init(DomainInitEvent evt) { + super.init(evt); + } + + public String[] getStylesheets() { + return new String[] { "/static/content-types/com/arsdigita/cms/contenttypes/GenericOrganization.xsl" }; + } + +} \ No newline at end of file diff --git a/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganizationLoader.java b/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganizationLoader.java new file mode 100644 index 000000000..966f9d273 --- /dev/null +++ b/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/GenericOrganizationLoader.java @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2009 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.AbstractContentTypeLoader; + +import org.apache.log4j.Logger; + +/** + * + * @author Jens Pelzetter + */ +public class GenericOrganizationLoader extends AbstractContentTypeLoader { + + public static final Logger s_log = Logger.getLogger(GenericOrganizationLoader.class); + private static final String[] TYPES = { + "/WEB-INF/content-types/com/arsdigita/cms/contenttypes/Person.xml" + }; + + public String[] getTypes() { + return TYPES; + } + +} \ No newline at end of file diff --git a/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationPropertiesStep.java b/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationPropertiesStep.java new file mode 100644 index 000000000..9bdc01a17 --- /dev/null +++ b/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationPropertiesStep.java @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2009 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.ui; + +import com.arsdigita.bebop.Component; +import com.arsdigita.bebop.PageState; +import com.arsdigita.cms.ContentItem; +import com.arsdigita.cms.ContentPage; +import com.arsdigita.cms.ContentSection; +import com.arsdigita.cms.ItemSelectionModel; +import com.arsdigita.cms.contenttypes.GenericOrganization; +import com.arsdigita.domain.DomainObject; +import com.arsdigita.toolbox.ui.DomainObjectPropertySheet; +import com.arsdigita.cms.ui.authoring.AuthoringKitWizard; +import com.arsdigita.cms.ui.authoring.BasicPageForm; +import com.arsdigita.cms.ui.authoring.SimpleEditStep; +import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess; +import com.arsdigita.cms.util.GlobalizationUtil; + +import java.text.DateFormat; + +public class GenericOrganizationPropertiesStep extends SimpleEditStep { + + public static final String EDIT_SHEET_NAME = "edit"; + + public GenericOrganizationPropertiesStep(ItemSelectionModel itemModel, + AuthoringKitWizard parent) { + super(itemModel, parent); + + setDefaultEditKey(EDIT_SHEET_NAME); + BasicPageForm editSheet; + + editSheet = new GenericOrganizationPropertyForm(itemModel, this); + add(EDIT_SHEET_NAME, "Edit", + new WorkflowLockedComponentAccess(editSheet, itemModel), + editSheet.getSaveCancelSection().getCancelButton()); + + setDisplayComponent(getPersonPropertySheet(itemModel)); + } + + public static Component getPersonPropertySheet(ItemSelectionModel itemModel) { + DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel); + + sheet.add((String)GlobalizationUtil.globalize("cms.contenttypes.ui.organizationname").localize(), GenericOrganization.ORGANIZATIONNAME); + + if(!ContentSection.getConfig().getHideLaunchDate()) { + sheet.add((String)GlobalizationUtil.globalize("cms.ui.authoring.page_launch_date").localize(), + ContentPage.LAUNCH_DATE, + new DomainObjectPropertySheet.AttributeFormatter() { + public String format(DomainObject item, + String attribute, + PageState state) { + ContentPage page = (ContentPage)item; + if (page.getLaunchDate() != null) { + return DateFormat.getDateInstance(DateFormat.LONG).format(page.getLaunchDate()); + } + else { + return (String)GlobalizationUtil.globalize("cms.ui.unknown").localize(); + } + } + }); + } + + return sheet; + } +} diff --git a/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationPropertyForm.java b/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationPropertyForm.java new file mode 100644 index 000000000..96798361f --- /dev/null +++ b/ccm-cms-types-genericorganization/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationPropertyForm.java @@ -0,0 +1,115 @@ +/* + * Copyright (C) 2009 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.ui; + +import com.arsdigita.bebop.FormData; +import com.arsdigita.bebop.FormProcessException; +import com.arsdigita.bebop.Label; +import com.arsdigita.bebop.event.FormInitListener; +import com.arsdigita.bebop.event.FormProcessListener; +import com.arsdigita.bebop.event.FormSectionEvent; +import com.arsdigita.bebop.event.FormSubmissionListener; +import com.arsdigita.bebop.event.ParameterEvent; +import com.arsdigita.bebop.event.ParameterListener; +import com.arsdigita.bebop.form.Option; +import com.arsdigita.bebop.form.SingleSelect; +import com.arsdigita.bebop.form.TextArea; +import com.arsdigita.bebop.form.TextField; +import com.arsdigita.bebop.parameters.NotNullValidationListener; +import com.arsdigita.bebop.parameters.StringInRangeValidationListener; +import com.arsdigita.bebop.parameters.ParameterModel; +import com.arsdigita.bebop.parameters.StringParameter; +import com.arsdigita.bebop.parameters.URLValidationListener; +import com.arsdigita.bebop.parameters.ParameterData; +import com.arsdigita.cms.ItemSelectionModel; +import com.arsdigita.cms.contenttypes.GenericOrganization; +import com.arsdigita.cms.ui.authoring.BasicPageForm; +import com.arsdigita.domain.DomainCollection; +import org.apache.log4j.Logger; +import com.arsdigita.cms.util.GlobalizationUtil; + + +/** + * Form to edit the properties of an organization. + * + * @author: Jens Pelzetter + */ +public class GenericOrganizationPropertyForm extends BasicPageForm implements FormProcessListener, FormInitListener, FormSubmissionListener { + + private static final Logger s_log = Logger.getLogger(GenericOrganizationPropertyForm.class); + + private GenericOrganizationPropertiesStep m_step; + + public static final String ORGANIZATIONNAME = GenericOrganization.ORGANIZATIONNAME; + + public static final String ID = "GenericOrganization_edit"; + + public GenericOrganizationPropertyForm(ItemSelectionModel itemModel) { + this(itemModel, null); + } + + public GenericOrganizationPropertyForm(ItemSelectionModel itemModel, GenericOrganizationPropertiesStep step) { + super(ID, itemModel); + m_step = step; + addSubmissionListener(this); + } + + protected void addWidgets() { + super.addWidgets(); + + add(new Label(GlobalizationUtil.globalize("cms.contenttypes.ui.genericorganization.organizationname"))); + ParameterModel nameParam = new StringParameter(ORGANIZATIONNAME); + TextField name = new TextField(nameParam); + add(name); + } + + public void init(FormSectionEvent fse) { + FormData data = fse.getFormData(); + GenericOrganization orga = (GenericOrganization)super.initBasicWidgets(fse); + + data.put(ORGANIZATIONNAME, orga.getOrganizationName()); + } + + public void submitted(FormSectionEvent fse) { + if (m_step != null + && getSaveCancelSection().getCancelButton().isSelected(fse.getPageState())) { + m_step.cancelStreamlinedCreation(fse.getPageState()); + } + } + + public void process(FormSectionEvent fse) { + FormData data = fse.getFormData(); + + GenericOrganization orga = (GenericOrganization)super.processBasicWidgets(fse); + + if (orga != null + && getSaveCancelSection().getSaveButton().isSelected(fse.getPageState())) { + orga.setName((String)data.get(ORGANIZATIONNAME)); + + orga.save(); + } + + if (m_step != null) { + m_step.maybeForwardToNextStep(fse.getPageState()); + } + } +} + + diff --git a/ccm-cms-types-genericorganization/web/static/content-types/com/arsdigita/cms/contenttypes/GenericOrganization.xsl b/ccm-cms-types-genericorganization/web/static/content-types/com/arsdigita/cms/contenttypes/GenericOrganization.xsl new file mode 100644 index 000000000..1055e46b9 --- /dev/null +++ b/ccm-cms-types-genericorganization/web/static/content-types/com/arsdigita/cms/contenttypes/GenericOrganization.xsl @@ -0,0 +1,27 @@ + +]> + + + + +

+ +

+
+ + +

+ +

+
+ +
+ \ No newline at end of file diff --git a/ccm-cms-types-person/pdl/com/arsdigita/content-types/Person.pdl b/ccm-cms-types-person/pdl/com/arsdigita/content-types/Person.pdl index 768b4ea68..b69195ece 100644 --- a/ccm-cms-types-person/pdl/com/arsdigita/content-types/Person.pdl +++ b/ccm-cms-types-person/pdl/com/arsdigita/content-types/Person.pdl @@ -1,3 +1,22 @@ +// +// Copyright (C) 2009 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 +// +// + model com.arsdigita.cms.contenttypes; import com.arsdigita.cms.ContentItem; diff --git a/ccm-cms-types-person/src/WEB-INF/content-types/com/arsdigita/cms/contenttypes/Person.xml b/ccm-cms-types-person/src/WEB-INF/content-types/com/arsdigita/cms/contenttypes/Person.xml index 07f9c6b01..5eaa52b33 100644 --- a/ccm-cms-types-person/src/WEB-INF/content-types/com/arsdigita/cms/contenttypes/Person.xml +++ b/ccm-cms-types-person/src/WEB-INF/content-types/com/arsdigita/cms/contenttypes/Person.xml @@ -2,27 +2,27 @@ + xsi:schemaLocation="http://xmlns.redhat.com/cms/content-types content-types.xsd"> - + label="Person" + description="A generic, Person type" + objectType="com.arsdigita.cms.contenttypes.Person" + classname="com.arsdigita.cms.contenttypes.Person"> + + createComponent="com.arsdigita.cms.ui.authoring.PageCreate"> - - + labelKey="person.authoring.basic_properties.title" + labelBundle="com.arsdigita.cms.contenttypes.PersonResources" + descriptionKey="person.authoring.basic_properties.description" + descriptionBundle="com.arsdigita.cms.contenttypes.PersonResources" + component="com.arsdigita.cms.contenttypes.ui.PersonPropertiesStep" + ordering="1"/> + + - + diff --git a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/Person.java b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/Person.java index fad46da01..2446fdc2d 100644 --- a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/Person.java +++ b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/Person.java @@ -1,5 +1,19 @@ /* - * Copyright (C) 2009 University Bremen, Center for Social Politics, Parkallee 39, 28209 Bremen. + * Copyright (C) 2009 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 * */ diff --git a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonConfig.java b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonConfig.java index 8d9ec51d8..a75ff25ae 100644 --- a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonConfig.java +++ b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonConfig.java @@ -1,5 +1,19 @@ /* - * Copyright (C) 2009 University Bremen, Center for Social Politics, Parkallee 39, 28209 Bremen. + * Copyright (C) 2009 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 * */ diff --git a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonInitializer.java b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonInitializer.java index 4aa9f875d..90cb9e051 100644 --- a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonInitializer.java +++ b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonInitializer.java @@ -1,7 +1,22 @@ /* - * Copyright (C) 2009 University Bremen, Center for Social Politics, Parkallee 39, 28209 Bremen. + * Copyright (C) 2009 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.ContentTypeInitializer; @@ -19,7 +34,7 @@ import org.apache.log4j.Logger; public class PersonInitializer extends ContentTypeInitializer { public final static String versionId = - "$Id: AddressInitializer.java 1 2009-03-19 08:30:26Z jensp $" + + "$Id: PersonInitializer.java 1 2009-03-19 08:30:26Z jensp $" + "$Author: jensp $" + "$DateTime: 2009/03/19 09:30:00 $"; diff --git a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonLoader.java b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonLoader.java index 0aac2011a..f012046bf 100644 --- a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonLoader.java +++ b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/PersonLoader.java @@ -1,7 +1,22 @@ /* - * Copyright (C) 2009 University Bremen, Center for Social Politics, Parkallee 39, 28209 Bremen. + * Copyright (C) 2009 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.AbstractContentTypeLoader; diff --git a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/ui/PersonPropertiesStep.java b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/ui/PersonPropertiesStep.java index c8008a4e2..9c0bd9dd2 100644 --- a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/ui/PersonPropertiesStep.java +++ b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/ui/PersonPropertiesStep.java @@ -1,3 +1,22 @@ +/* + * Copyright (C) 2009 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.ui; import com.arsdigita.bebop.Component; diff --git a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/ui/PersonPropertyForm.java b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/ui/PersonPropertyForm.java index bde22180e..ced02f8e1 100644 --- a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/ui/PersonPropertyForm.java +++ b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/ui/PersonPropertyForm.java @@ -1,3 +1,22 @@ +/* + * Copyright (C) 2009 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.ui; import com.arsdigita.bebop.FormData; diff --git a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/util/PersonGlobalizationUtil.java b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/util/PersonGlobalizationUtil.java index 30141a4bf..8d51027e7 100644 --- a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/util/PersonGlobalizationUtil.java +++ b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/util/PersonGlobalizationUtil.java @@ -1,3 +1,22 @@ +/* + * Copyright (C) 2009 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.util; import com.arsdigita.globalization.GlobalizedMessage; diff --git a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/util/PersonResourceBundle.java b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/util/PersonResourceBundle.java index 1d18d1e52..999bbf468 100644 --- a/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/util/PersonResourceBundle.java +++ b/ccm-cms-types-person/src/com/arsdigita/cms/contenttypes/util/PersonResourceBundle.java @@ -1,3 +1,22 @@ +/* + * Copyright (C) 2009 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.util; import java.util.PropertyResourceBundle; diff --git a/ccm-cms-types-person/web/static/content-types/com/arsdigita/cms/contenttypes/Person.xsl b/ccm-cms-types-person/web/static/content-types/com/arsdigita/cms/contenttypes/Person.xsl index 95a2d3cf8..3f366cbcc 100644 --- a/ccm-cms-types-person/web/static/content-types/com/arsdigita/cms/contenttypes/Person.xsl +++ b/ccm-cms-types-person/web/static/content-types/com/arsdigita/cms/contenttypes/Person.xsl @@ -2,9 +2,10 @@ ]> - + -

This is a person...

-
\ No newline at end of file