Project

General

Profile

task #7918

Revision of reference type specific properties

Added by Andreas Kohlbecker 9 months ago. Updated 6 months ago.

Status:
Closed
Priority:
Highest
Category:
cdm
Target version:
Start date:
01/26/2018
Due date:
% Done:

100%

Severity:
normal

Description

Reference Editor of Vaadin (2018-11-02) in square brackets: Differences in the TaxEditor

Article
Date published: ok
Title: ok [TaxEditor: also a nomencl. Title is given, in a few cases in TL2 there is an abbreviated title is given]
Authors: ok
In-reference: ok
Series: not sure if needed. Is there a use case? [TaxEditor: also available, ask other projects if needed]
Volume: ok
Uri: ok
MISSING IN VAADIN: DOI [also missing in TaxEditor, this seems to be an issue]

Journal
Date published: needed for the runtime of a journal? E.g. 1945-1990??
Title: ok
Nomenclatural title: ok
Authors: NOT NEEDED [also available in TaxEditor]
In-reference: NOT NEEDED [not in TaxEditor]
Place published: ok (but changes often in the runtime)
Publisher: ok (but changes often in the runtime)
ISSN: ok (nice to have: two fields for print and e-journal, respective)
DOI: In VAADIN NOT NEEDED [not in TaxEditor]
Uri: ok

Book section (Layout in Vaadin narrow)
Date published: just needed, if parts of a book are printed independently
MISSING: Title [available in TaxEditor]
Authors: ok
In-reference: ok
Pages: ok
URI: ok
MISSING: DOI [also missing in TaxEditor, this seems to be an issue]

Book
Date published: ok
Title: okay
Nomenclatural title: ok
Authors: ok
In-reference: ok [in TaxEditor “In Series”]
Series: (Discuss: isn’t In-reference the right place to store and select a series, rather than in a string?) [also available in TaxEditor]
Volume: ok
Pages: ok
Edition: ok
Place published: ok
Publisher: ok
Editor: ok (discuss: person/team atomized?) [same in TaxEditor]
ISBN: ok (nice to have: two fields for print and e-journal, respective)
DOI: ok [MISSING in TaxEditor, this might be an issue in future]
Uri: ok

Inproceedings (might be renamed as Proceedings section)
Date published: just needed, if parts of a book are printed independently
Title: ok
Authors: ok
In-reference: ok
Series: NOT NEEDED [also available in TaxEditor ]
Pages: ok
DOI: ok
URI: ok [MISSING in TaxEditor, this might be an issue in future]

Proceedings
See Book, except for “Edition” but two editions of proceedings cannot be excluded…
ISBN: [MISSING in TaxEditor]

Printseries
Date published: needed for the runtime of a print series? E.g. 1945-1990??
Title: ok
MISSING: Nomenclatural title
Authors: needed? Maybe in a special case
In-reference: Maybe for a print series within a print series?
MISSING Edition: Discuss: this might be useful, if there are editions of print series, such as Adolf Engler’s Syllabus, do not know if we really need this.
Place published: ok
Publisher: ok
Editor: ok (discuss: person/team atomized?)
ISBN: ok (nice to have: two fields for print and e-journal, respective) [MISSING in TaxEditor]
DOI: NEEDED? [not in TaxEditor]
Uri: ok (but changes often in the runtime)

Thesis
Okay, except of MISSING: School [see TaxEditor]
Discuss: A thesis is an effectively published book (see book) or a not effectively published book, an Internet resource, or a microfiche. How to deal with this? Should the Reference type called “Thesis (not effectively published)? If not, we need a “not published” flag, if applicable a text field for the reason. The thing is, that any thesis has a date, a place, sometimes a publisher, even it is not published effectively. This is important, because a lot of novelties have been printed in not effectively published theses. Alternatively we could leave “Thesis” as is, and flag each nomenclatural act as invalid with reference to the respective provisions of the ICN, that this was not effectively published. In Vaadin “School” might be stored under Publisher.


Related issues

Related to Edit - bug #7913: Remove authorship from IJournal and IPrintSeries Closed 11/20/2018
Related to Edit - feature request #7914: Add ISBN to IProceedings Closed 11/20/2018
Related to Edit - bug #7915: Remove date published from journals and print series Closed 11/20/2018
Related to Edit - bug #7930: Remove DOI from journals, print series and person communications Closed 11/28/2018
Related to Edit - feature request #7982: [Rule] Validate correct usage of reference attributes for reference types. New 01/14/2019
Related to Edit - task #8091: Discuss Referencetype PrintSeries with respect to user needs of PhycoBank and taxonomic projects In Progress 02/11/2019
Related to Edit - bug #7953: Book in BookSeries: incomplete titleCache misses series title Feedback 12/14/2018
Copied from Edit - bug #7223: ReferenceEditor: disable fields depending on the Reference type Feedback 01/26/2018
Copied to Edit - task #7984: Remove URI from Reference New 01/14/2019
Copied to Edit - task #7983: [DISCUSS] Do we need multiple ISBN per reference New 01/14/2019
Copied to Edit - bug #7985: Remove Print Series from InProceedings, use "Proceedings" Closed 01/14/2019
Copied to Edit - task #7986: Let eu.etaxonomy.cdm.model.reference.ReferencePropertyDefinitions use Reference interfaces New 01/14/2019
Copied to Edit - task #7987: [DISUCSS] Do we need an editor in Reference linking to TeamOrPersonBase New 01/14/2019
Copied to Edit - bug #7988: Correct formatting and parsing of Reference.editor New 01/14/2019
Copied from Edit - feature request #8255: Unify ReferencePropertyDefinitions and reference interfaces New 05/03/2019

Associated revisions

Revision cfb05c06 (diff)
Added by Andreas Kohlbecker 8 months ago

ref #7918 harmonizing ReferencePropertyDefinitions with latest changes in reference interface hierarchy

History

#1 Updated by Andreas Kohlbecker 9 months ago

  • Copied from bug #7223: ReferenceEditor: disable fields depending on the Reference type added

#2 Updated by Andreas Kohlbecker 9 months ago

[copied from #7223#note-19 , Andreas Müller]

Some notes on the above:

DOIs: are available but just not implemented yet => #3767 (implemented in v5.5)

Date published for Journals and Printseries: Date published is NOT meant for the runtime but for an exact date when a publication was published or a period if this date can not be defined exactly. I do not see the necessity of having a "runtime" attribtue but if needed we should use another attribute due to the different semantics. But as we are not a reference managing tool I think there is no need for this.
The methods will be removed from the according interfaces.

Journals Authors: not needed, I agree, will be removed from the interface

Book Series: (Discuss: isn’t In-reference the right place to store and select a series, rather than in a string?): often you only have information like "ser. 2". The CDM philosophy is that a book should always be a possible endpoint in the reference hierarchy holding all informations needed for correct formatting. PrintSeries might only be an additional possiblity to group books together. This is also for performance reaons as otherwise you may need to initialize up to 4 references to format a single reference.

Editor: ok (discuss: person/team atomized?): this is under discussion in CDM, not yet sure if it will be implemented, but maybe it will => copied to #7987 and #7988

ISBN: correct handling of multiple ISBN definetly needs further discussion as references may have multiple ISBN, and especially the ISBN for the e-Version is an important issue => copied to #7983

Print Series - Edition : Not needed, can be handled via title as print series is anyway only meant for grouping publications and not for formatting.

Uri: currently available for most types but will be removed in future except for websites (and maybe databases). Links to online available references should not be stored in URI but in the new "ExternalLink" which will be related as a collection of external links available for this publication. This is because there might be multiple links available for the same reference and it also allows a description what exactly stands the link for. Currently this is already available for the OriginalSource class to link to sources (e.g. single pages in a reference). => copied to #7984

InProceedings - Series: Correct, that this is not needed. Also it is not available in the IInProceedings interface so I wonder how it made it's way into the TaxEditor. Please remove. => copied to #7985

Proceedings - ISBN: correct, this is missing as proceedings are not inheriting from IBook though they are mostly books, I added ISBN to IProceedings => #7914

PrintSeries - Nomenclatural title: not necessarily needed for formatting, but nice to have; it is already available in IPrintSeries via inheritence from IReference, so we should implement it in TaxEditor

PrintSeries - authors: rejected, this is not needed and may lead to confusion, should always be stored with the concrete publication (book, article, ...)

Print-Series: In-reference: no need, leads to confusion

#3 Updated by Andreas Kohlbecker 9 months ago

[partially copied from #7223#note-12 , Andreas Kohlbecker]

I think it is also worth mentioning the class eu.etaxonomy.cdm.model.reference.ReferencePropertyDefinitions which has been created to allow UIs to adapt to ReferenceType changes dynamically. The ReferenceType specific interfaces like IJournal, ... , are not very useful in this context and are actually not used at all except for the methods in the Reference class. Maybe we should consider to remove these interfaces.

#4 Updated by Andreas Kohlbecker 9 months ago

[copied from #7223#note-26 , Andreas Müller]

Andreas Kohlbecker wrote:

I think it is also worth mentioning the class eu.etaxonomy.cdm.model.reference.ReferencePropertyDefinitions which has been created to allow UIs to adapt to ReferenceType changes dynamically. The ReferenceType specific interfaces like IJournal, ... , are not very useful in this context and are actually not used at all except for the methods in the Reference class. Maybe we should consider to remove these interfaces.

I don't like the fact that we have this information now at 2 different places. This makes changes like the one I implemented for the interfaces difficult to maintain. ReferencePropertyDefinitions uses hardcoded strings, why do we not use reflection on the interfaces? This way both systems can be easily maintained and are always up-to-date. At least tests are a strict requirement for hardcoded strings which immediately show the requirement to change the code if something changes elsewhere.

In future we may also use the new property path framework, once it is developed.

Interfaces are for both documentation (e.g. https://cybertaxonomy.eu/cdm/latest/index.htm?goto=10:283) and type save programming (e.g. programming an import by using the interfaces prevents the programmer from doing incorrect mappings). Therefore they should not be deleted.

#5 Updated by Andreas Kohlbecker 9 months ago

[copied from #7223#note-28 , Andreas Kohlbecker]

Andreas Müller wrote:

Andreas Kohlbecker wrote:

I think it is also worth mentioning the class eu.etaxonomy.cdm.model.reference.ReferencePropertyDefinitions which has been created to allow UIs to adapt to ReferenceType changes dynamically. The ReferenceType specific interfaces like IJournal, ... , are not very useful in this context and are actually not used at all except for the methods in the Reference class. Maybe we should consider to remove these interfaces.

I don't like the fact that we have this information now at 2 different places. This makes changes like the one I implemented for the interfaces difficult to maintain. ReferencePropertyDefinitions uses hardcoded strings, why do we not use reflection on the interfaces? This way both systems can be easily maintained and are always up-to-date. At least tests are a strict requirement for hardcoded strings which immediately show the requirement to change the code if something changes elsewhere.

In future we may also use the new property path framework, once it is developed.

Interfaces are for both documentation (e.g. https://cybertaxonomy.eu/cdm/latest/index.htm?goto=10:283) and type save programming (e.g. programming an import by using the interfaces prevents the programmer from doing incorrect mappings). Therefore they should not be deleted.

Thank you for mentioning cdmlib-apps and the UML based documentation on the cdm model. I really thought that these reference interfaces are not used at all. Removing unused code would have reduced the efforts in maintaining code changes. From the broader view on the usage of these interfaces it is clear that we need to keem 'em.

The type level java doc of ReferencePropertyDefinitions already mentions the need to overcome the duplication if the information provided by the interfaces and by this class. Using pure reflection to obtain the needed information will not be sufficient, though. For example ISection declares the property inReference, IInProceedings which extends ISection declares the property inProceedings. From using pure reflection the Sections would have both, inReference and inProceedings even if inProceedings is just a "renaming" of the property inReference.

For dynamically adapting UIs to reference type changes more information is needed. The information that inProceedings is referring to the same field just with another "label" is required. So it is obvious that we need an additional source of information. Creating a method level annotation which is evaluated by ReferencePropertyDefinitions could be one solution to this problem.

=> #8255

#6 Updated by Andreas Kohlbecker 9 months ago

[copied from #7223#note-29 , Andreas Kohlbecker]

InProceedings - Series: Correct, that this is not needed.
Also it is not available in the IInProceedings interface so I wonder how it made it's way into the TaxEditor. Please remove.

The inSeries comes from ISection which is extended by IInProceedings

#7 Updated by Andreas Kohlbecker 9 months ago

  • Related to bug #7913: Remove authorship from IJournal and IPrintSeries added

#8 Updated by Andreas Kohlbecker 9 months ago

#9 Updated by Andreas Kohlbecker 9 months ago

  • Related to bug #7915: Remove date published from journals and print series added

#10 Updated by Andreas Kohlbecker 9 months ago

  • Subject changed from Reference type specific properties revision to Revision of reference type specific properties

#11 Updated by Andreas Müller 9 months ago

Andreas Kohlbecker wrote:

[copied from #7223#note-29 , Andreas Kohlbecker]

InProceedings - Series: Correct, that this is not needed.
Also it is not available in the IInProceedings interface so I wonder how it made it's way into the TaxEditor. Please remove.

The inSeries comes from ISection which is extended by IInProceedings

I can't see inSeries in ISection !!

#12 Updated by Andreas Müller 9 months ago

  • Category changed from cdmlib to cdm

#13 Updated by Andreas Kohlbecker 9 months ago

Andreas Müller wrote:

Andreas Kohlbecker wrote:

[copied from #7223#note-29 , Andreas Kohlbecker]

InProceedings - Series: Correct, that this is not needed.
Also it is not available in the IInProceedings interface so I wonder how it made it's way into the TaxEditor. Please remove.

The inSeries comes from ISection which is extended by IInProceedings

I can't see inSeries in ISection !!

I am absolutely astonished, I swear I've seen it. The question is: Where? Maybe I was confused by the same thing that lead Katja to the assumption that inSeries is relevant for IInProceedings.

#14 Updated by Andreas Müller 9 months ago

  • Related to bug #7930: Remove DOI from journals, print series and person communications added

#15 Updated by Andreas Kohlbecker 8 months ago

  • Status changed from New to Feedback
  • Assignee changed from Andreas Kohlbecker to Andreas Müller
  • % Done changed from 0 to 50

this should be complete now except of the fact that ISection inherits datePublished from IWithAuthorAndDate, which makes no sense in my eyes.

#16 Updated by Andreas Müller 7 months ago

  • Related to feature request #7982: [Rule] Validate correct usage of reference attributes for reference types. added

#17 Updated by Andreas Müller 7 months ago

  • Copied to task #7984: Remove URI from Reference added

#18 Updated by Andreas Müller 7 months ago

  • Copied to task #7983: [DISCUSS] Do we need multiple ISBN per reference added

#19 Updated by Andreas Müller 7 months ago

  • Copied to bug #7985: Remove Print Series from InProceedings, use "Proceedings" added

#20 Updated by Andreas Müller 7 months ago

  • Copied to task #7986: Let eu.etaxonomy.cdm.model.reference.ReferencePropertyDefinitions use Reference interfaces added

#21 Updated by Andreas Müller 7 months ago

  • Status changed from Feedback to Resolved
  • Assignee changed from Andreas Müller to Wolf-Henning Kusber

Generally this ticket is fixed or open issues are moved to explicit tickets. See my comments on referencing tickets in #7918#note-2.

Discussion on eu.etaxonomy.cdm.model.reference.ReferencePropertyDefinitions has been moved to #7986.

Henning, could you please review after release if everything works as expected in TaxEditor now and close ticket afterwards?

#22 Updated by Andreas Müller 7 months ago

Andreas Kohlbecker wrote:

this should be complete now except of the fact that ISection inherits datePublished from IWithAuthorAndDate, which makes no sense in my eyes.

I can't see why this should not make sense. Most often ISection may inherit datePublished from it's parent, however, there are cases were parts of references have a different publication date than other parts of publications. And as ISection is a somehow generic case for handling in-references it should allow explicit date published.
But maybe this is not what you meant by "makes no sense"?

#23 Updated by Andreas Müller 7 months ago

  • % Done changed from 50 to 90

#24 Updated by Andreas Müller 7 months ago

  • Copied to task #7987: [DISUCSS] Do we need an editor in Reference linking to TeamOrPersonBase added

#25 Updated by Andreas Müller 7 months ago

  • Copied to bug #7988: Correct formatting and parsing of Reference.editor added

#26 Updated by Wolf-Henning Kusber 6 months ago

  • Assignee changed from Wolf-Henning Kusber to Andreas Müller

Revision of these issues:

Almost all issues are perfectly resolved, in TaxEditor and Vaadin as well.

I propose to close this ticket and open new smaller ones for remaining details in Vaadin and and/or TaxEditor.

I am not happy with the handling PrintSeries (it is working but not perfect) and will open a new ticket for further discussion.

#27 Updated by Wolf-Henning Kusber 6 months ago

for Reference type = PrintSeries see task #8091

#28 Updated by Wolf-Henning Kusber 6 months ago

  • Related to task #8091: Discuss Referencetype PrintSeries with respect to user needs of PhycoBank and taxonomic projects added

#29 Updated by Andreas Müller 6 months ago

  • Status changed from Resolved to Closed
  • % Done changed from 90 to 100

As remaining issues are now in #8091 we can close this ticket.

#30 Updated by Andreas Müller 4 months ago

  • Related to bug #7953: Book in BookSeries: incomplete titleCache misses series title added

#31 Updated by Andreas Müller 4 months ago

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 40 MB)