SciAuthor im Publikationenmodul hinzugefügt. Bisher gabe es, wenn das Publikationenmodul ohne ccm-sci-types-publications oder ccm-cms-types-member installiert
wird, kein im ContentCenter verwendbaren, von GenericPerson abgeleiteteten Typ. git-svn-id: https://svn.libreccm.org/ccm/trunk@643 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
df1b5ca91d
commit
47729728d7
|
|
@ -0,0 +1,8 @@
|
||||||
|
model com.arsdigita.cms.contenttypes;
|
||||||
|
|
||||||
|
import com.arsdigita.kernel.ACSObject;
|
||||||
|
import com.arsdigita.cms.*;
|
||||||
|
|
||||||
|
object type SciAuthor extends GenericPerson {
|
||||||
|
reference key ( ct_sciauthors.author_id );
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ctd:content-types xmlns:ctd="http://xmlns.redhat.com/cms/content-types"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://xmlns.redhat.com/cms/content-types content-types.xsd">
|
||||||
|
|
||||||
|
<ctd:content-type label="SciPublications/Author"
|
||||||
|
description="Author of a publication"
|
||||||
|
objectType="com.arsdigita.cms.contenttypes.SciAuthor"
|
||||||
|
classname="com.arsdigita.cms.contenttypes.SciAuthor">
|
||||||
|
|
||||||
|
<ctd:authoring-kit createComponent="com.arsdigita.cms.contenttypes.ui.GenericPersonCreate">
|
||||||
|
|
||||||
|
<ctd:authoring-step labelKey="cms.contenttypes.shared.basic_properties.title"
|
||||||
|
labelBundle="com.arsdigita.cms.CMSResources"
|
||||||
|
descriptionKey="cms.contenttypes.shared.basic_properties.description"
|
||||||
|
descriptionBundle="com.arsdigita.cms.CMSResources"
|
||||||
|
component="com.arsdigita.cms.contenttypes.ui.SciAuthorPropertiesStep"
|
||||||
|
ordering="1"/>
|
||||||
|
|
||||||
|
<ctd:authoring-step
|
||||||
|
labelKey="person.authoring.contact_properties.title"
|
||||||
|
labelBundle="com.arsdigita.cms.contenttypes.ContenttypesResources"
|
||||||
|
descriptionKey="person.authoring.contact_properties.description"
|
||||||
|
descriptionBundle="com.arsdigita.cms.contenttypes.ContenttypesResources"
|
||||||
|
component="com.arsdigita.cms.contenttypes.ui.GenericPersonContactPropertiesStep"
|
||||||
|
ordering="2"/>
|
||||||
|
|
||||||
|
<ctd:include href="/WEB-INF/content-types/assign-categories-step.xml"/>
|
||||||
|
|
||||||
|
</ctd:authoring-kit>
|
||||||
|
|
||||||
|
</ctd:content-type>
|
||||||
|
|
||||||
|
</ctd:content-types>
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xrd:adapters
|
||||||
|
xmlns:xrd="http://xmlns.redhat.com/schemas/waf/xml-renderer-rules"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://rhea.redhat.com/schemas/waf/xml-renderer-rules xml-renderer-rules.xsd">
|
||||||
|
<xrd:context name="com.arsdigita.cms.dispatcher.SimpleXMLGenerator">
|
||||||
|
|
||||||
|
<xrd:adapter objectType="com.arsdigita.cms.contenttypes.SciAuthor"
|
||||||
|
extends="com.arsdigita.cms.ContentPage">
|
||||||
|
|
||||||
|
<xrd:associations rule="include">
|
||||||
|
<xrd:property name="/object/contacts"/>
|
||||||
|
<xrd:property name="/object/contacts/contactentries"/>
|
||||||
|
<xrd:property name="/object/contacts/address"/>
|
||||||
|
</xrd:associations>
|
||||||
|
|
||||||
|
</xrd:adapter>
|
||||||
|
</xrd:context>
|
||||||
|
</xrd:adapters>
|
||||||
|
|
@ -23,6 +23,7 @@
|
||||||
<table name="ct_working_paper"/>
|
<table name="ct_working_paper"/>
|
||||||
<table name="ct_expertise"/>
|
<table name="ct_expertise"/>
|
||||||
<table name="ct_review"/>
|
<table name="ct_review"/>
|
||||||
|
<table name="sciauthors"/>
|
||||||
<initializer class="com.arsdigita.cms.contenttypes.PublicationInitializer"/>
|
<initializer class="com.arsdigita.cms.contenttypes.PublicationInitializer"/>
|
||||||
<initializer class="com.arsdigita.cms.contenttypes.PublicationWithPublisherInitializer"/>
|
<initializer class="com.arsdigita.cms.contenttypes.PublicationWithPublisherInitializer"/>
|
||||||
<initializer class="com.arsdigita.cms.contenttypes.SeriesInitializer"/>
|
<initializer class="com.arsdigita.cms.contenttypes.SeriesInitializer"/>
|
||||||
|
|
@ -40,6 +41,7 @@
|
||||||
<initializer class="com.arsdigita.cms.contenttypes.WorkingPaperInitializer"/>
|
<initializer class="com.arsdigita.cms.contenttypes.WorkingPaperInitializer"/>
|
||||||
<initializer class="com.arsdigita.cms.contenttypes.ExpertiseInitializer"/>
|
<initializer class="com.arsdigita.cms.contenttypes.ExpertiseInitializer"/>
|
||||||
<initializer class="com.arsdigita.cms.contenttypes.ReviewInitializer"/>
|
<initializer class="com.arsdigita.cms.contenttypes.ReviewInitializer"/>
|
||||||
|
<initializer class="com.arsdigita.cms.contenttypes.SciAuthorInitializer"/>
|
||||||
</provides>
|
</provides>
|
||||||
<scripts>
|
<scripts>
|
||||||
<schema directory="ccm-sci-publications"/>
|
<schema directory="ccm-sci-publications"/>
|
||||||
|
|
@ -60,5 +62,6 @@
|
||||||
<data class="com.arsdigita.cms.contenttypes.WorkingPaperLoader"/>
|
<data class="com.arsdigita.cms.contenttypes.WorkingPaperLoader"/>
|
||||||
<data class="com.arsdigita.cms.contenttypes.ExpertiseLoader"/>
|
<data class="com.arsdigita.cms.contenttypes.ExpertiseLoader"/>
|
||||||
<data class="com.arsdigita.cms.contenttypes.ReviewLoader"/>
|
<data class="com.arsdigita.cms.contenttypes.ReviewLoader"/>
|
||||||
|
<data class="com.arsdigita.cms.contenttypes.SciAuthorLoader"/>
|
||||||
</scripts>
|
</scripts>
|
||||||
</load>
|
</load>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
/*
|
||||||
|
* 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.domain.DataObjectNotFoundException;
|
||||||
|
import com.arsdigita.persistence.DataObject;
|
||||||
|
import com.arsdigita.persistence.OID;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A concrete class extending {@link GenericPerson}. Does not add any new
|
||||||
|
* fields, it just makes the internal type <code>GenericPerson</code> usable
|
||||||
|
* without any other modules.
|
||||||
|
*
|
||||||
|
* @author Jens Pelzetter
|
||||||
|
*/
|
||||||
|
public class SciAuthor extends GenericPerson {
|
||||||
|
|
||||||
|
public static final String BASE_DATA_OBJECT_TYPE =
|
||||||
|
"com.arsdigita.cms.contenttypes.SciAuthor";
|
||||||
|
|
||||||
|
public SciAuthor() {
|
||||||
|
this(BASE_DATA_OBJECT_TYPE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public SciAuthor(BigDecimal id) throws DataObjectNotFoundException {
|
||||||
|
this(new OID(BASE_DATA_OBJECT_TYPE, id));
|
||||||
|
}
|
||||||
|
|
||||||
|
public SciAuthor(OID oid) throws DataObjectNotFoundException {
|
||||||
|
super(oid);
|
||||||
|
}
|
||||||
|
|
||||||
|
public SciAuthor(DataObject dobj) {
|
||||||
|
super(dobj);
|
||||||
|
}
|
||||||
|
|
||||||
|
public SciAuthor(String type) {
|
||||||
|
super(type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
/*
|
||||||
|
* 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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializer for {@link SciAuthor}
|
||||||
|
*
|
||||||
|
* @author Jens Pelzetter
|
||||||
|
*/
|
||||||
|
public class SciAuthorInitializer extends ContentTypeInitializer {
|
||||||
|
|
||||||
|
public SciAuthorInitializer() {
|
||||||
|
super("empty.pdl.mf", SciAuthor.BASE_DATA_OBJECT_TYPE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] getStylesheets() {
|
||||||
|
return new String[] {
|
||||||
|
"/static/content-types/com/arsdigita/cms/contenttypes/SciAuthor.xsl"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTraversalXML() {
|
||||||
|
return "/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/SciAuthor.xml";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
/*
|
||||||
|
* 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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loader for {@link SciAuthor}
|
||||||
|
*
|
||||||
|
* @author Jens Pelzetter
|
||||||
|
*/
|
||||||
|
public class SciAuthorLoader extends AbstractContentTypeLoader {
|
||||||
|
|
||||||
|
private static final String[] TYPES = {"/WEB-INF/content-types/com/arsdigita/cms/contenttypes/SciAuthor.xml"};
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] getTypes() {
|
||||||
|
return TYPES;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -206,3 +206,4 @@ publications.ui.series.volumes.none=No volumes
|
||||||
publications.ui.series.volumes.remove=Remove volume
|
publications.ui.series.volumes.remove=Remove volume
|
||||||
publications.ui.series.volumes.remove.confirm=Really remove this volume?
|
publications.ui.series.volumes.remove.confirm=Really remove this volume?
|
||||||
publications.ui.series.volumes.volume_of_series=Volume of series
|
publications.ui.series.volumes.volume_of_series=Volume of series
|
||||||
|
sciauthor.ui.edit_basic_properties=Basic properties
|
||||||
|
|
|
||||||
|
|
@ -205,3 +205,4 @@ publications.ui.series.volumes.none=Keine B\u00e4nde gefunden.
|
||||||
publications.ui.series.volumes.remove=Band entfernen.
|
publications.ui.series.volumes.remove=Band entfernen.
|
||||||
publications.ui.series.volumes.remove.confirm=Diesen Band wirklich entfernen
|
publications.ui.series.volumes.remove.confirm=Diesen Band wirklich entfernen
|
||||||
publications.ui.series.volumes.volume_of_series=Band der Serie
|
publications.ui.series.volumes.volume_of_series=Band der Serie
|
||||||
|
sciauthor.ui.edit_basic_properties=Basiseigenschaften
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,64 @@
|
||||||
|
/*
|
||||||
|
* 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.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.Component;
|
||||||
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
|
import com.arsdigita.cms.contenttypes.SciAuthor;
|
||||||
|
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.toolbox.ui.DomainObjectPropertySheet;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Step for editing a {@link SciAuthor}
|
||||||
|
*
|
||||||
|
* @author Jens Pelzetter
|
||||||
|
*/
|
||||||
|
public class SciAuthorPropertiesStep extends SimpleEditStep {
|
||||||
|
|
||||||
|
public static final String EDIT_SHEET_NAME = "edit";
|
||||||
|
|
||||||
|
public SciAuthorPropertiesStep(ItemSelectionModel itemModel,
|
||||||
|
AuthoringKitWizard parent) {
|
||||||
|
super(itemModel, parent);
|
||||||
|
|
||||||
|
BasicPageForm editSheet;
|
||||||
|
editSheet = new SciAuthorPropertyForm(itemModel, this);
|
||||||
|
add(EDIT_SHEET_NAME,
|
||||||
|
(String) PublicationGlobalizationUtil.globalize(
|
||||||
|
"sciauthor.ui.edit_basic_properties").localize(),
|
||||||
|
new WorkflowLockedComponentAccess(editSheet, itemModel),
|
||||||
|
editSheet.getSaveCancelSection().getCancelButton());
|
||||||
|
|
||||||
|
setDisplayComponent(getSciAuthorPropertySheet(itemModel));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Component getSciAuthorPropertySheet(
|
||||||
|
ItemSelectionModel itemModel) {
|
||||||
|
DomainObjectPropertySheet sheet;
|
||||||
|
|
||||||
|
sheet = (DomainObjectPropertySheet) GenericPersonPropertiesStep.
|
||||||
|
getGenericPersonPropertySheet(itemModel);
|
||||||
|
|
||||||
|
return sheet;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
/*
|
||||||
|
* 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.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.FormData;
|
||||||
|
import com.arsdigita.bebop.event.FormInitListener;
|
||||||
|
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||||
|
import com.arsdigita.bebop.event.FormSubmissionListener;
|
||||||
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
|
import com.arsdigita.cms.contenttypes.SciAuthor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Form for editing the basic properties of a {@link SciAuthor}. This form
|
||||||
|
* extends the form for editing the basic properties of {@link GenericPerson}.
|
||||||
|
*
|
||||||
|
* @author Jens Pelzetter
|
||||||
|
* @see SciAuthor
|
||||||
|
* @see GenericPerson
|
||||||
|
* @see GenericPersonPropertyForm
|
||||||
|
*/
|
||||||
|
public class SciAuthorPropertyForm
|
||||||
|
extends GenericPersonPropertyForm
|
||||||
|
implements FormInitListener,
|
||||||
|
FormSubmissionListener {
|
||||||
|
|
||||||
|
public SciAuthorPropertyForm(ItemSelectionModel itemModel) {
|
||||||
|
this(itemModel, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public SciAuthorPropertyForm(ItemSelectionModel itemModel,
|
||||||
|
SciAuthorPropertiesStep step) {
|
||||||
|
super(itemModel);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void addWidgets() {
|
||||||
|
super.addWidgets();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init(FormSectionEvent fse) {
|
||||||
|
super.init(fse);
|
||||||
|
|
||||||
|
super.initBasicWidgets(fse);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void process(FormSectionEvent fse) {
|
||||||
|
super.process(fse);
|
||||||
|
|
||||||
|
SciAuthor author = (SciAuthor) super.processBasicWidgets(fse);
|
||||||
|
if ((author != null) && getSaveCancelSection().getSaveButton().
|
||||||
|
isSelected(fse.getPageState())) {
|
||||||
|
author.save();
|
||||||
|
|
||||||
|
init(fse);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
<!DOCTYPE stylesheet [
|
||||||
|
<!ENTITY nbsp " " ><!-- no-break space = non-breaking space, U+00A0 ISOnum -->
|
||||||
|
]>
|
||||||
|
|
||||||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
xmlns:cms="http://www.arsdigita.com/cms/1.0"
|
||||||
|
version="1.0">
|
||||||
|
|
||||||
|
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.SciAuthor']"
|
||||||
|
mode="cms:CT_graphics"
|
||||||
|
name="cms:CT_graphics_com_arsdigita_cms_contenttypes_SciAuthor">
|
||||||
|
<p><xsl:value-of select="./name"/></p>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.SciAuthor']" mode="cms:CT_text"
|
||||||
|
name="cms:CT_text_com_arsdigita_cms_contenttypes_SciAuthor">
|
||||||
|
<p><xsl:value-of select="./name"/></p>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
||||||
Loading…
Reference in New Issue