feature request #6581
Make all microreferenced references OriginalSources
100%
Description
Currently we have OriginalSource usually used for collections of sources while single references such as nomenclaturalReference or references for relations (or even secundum reference) use 2 fields for defining the reference, the references and the microreference fields. This is generally problematic e.g. when formatting the nomenclatural citation. Also it reduces the possibility to add further information that is available in OriginalSource such as name used in source (could be used for original spelling), source information (currently "name in source"), or further features such as URL(s) that do link to an online version of the source together with a comment (see #6588).
We may want to handle all these references as OriginalSources. Also this eases the usage of the Reference class as it is not linked from so many places anymore (but therefore OriginalSource is linked more). Also we can easier implement common formatters for sources.
Also this could improve the handling for protologues and similar "proves" for nomenclatural acts or references in general.
Possible candidates are
- nomenclatural reference
- RelationshipBase reference
- TypeDesignation (rename to designationSource => #9332)
- Classification => needs further discussion as classification is SourcedEntityBase #9211
- Secundum reference => #9327
- TaxonNode
- NomenclaturalStatus
Note: We already have the class ReferencedEntityBase which inherits from AnnotatableEntity and is the base class for RelationshipBase and TypeDesignation. This can be kept and the 3 parameters citation, microCitation and originalNameString can be replaced by according OriginalSource fields.
Open issues:
do we want to keep the direct methods, e.g. getNomenclaturalReference() in the main classes=> for now we keep it, may be removed laterhow to delete a source if it became completely emptyhow to decide if a source is completely empty (is an attached annotation or import source enough to make it not empty, or is it required that a "citation" exist. What about external links as only information=> isEmpty has been implemented and works on completely empty sourceswhere to delete it (in model or only during persistence)=> #9069
should we support one common interface which makes it easier to program against but methods are difficult to name, getSource() or getOriginalSource() might not be an expected label for getNomenclaturalSource() in TaxonName or TypeDesignationBase. Maybe we use 2 interfaces, one for nomenclatural sources.=> we do have a common interface where appropriate nowWhat OriginalSourceType to use: NomenclaturalReference could be a very strict source type for names and type designations, OriginalSource might be a more general one, maybe NomenclaturalReference might become a subtype; how is the relationship to PrimaryTaxonomicSource=> partly handled in #9330IMPORTANT: should we store this source together with other sources if available. This is the case for TaxonName.nomenclaturalReference and TaxonBase.secundum where the main classes are identifiable and already have sources. There might be performance issues and lazy loading issues if the specific source is stored together with the set of OrginalSources.=> we decided not to do soShould we have a strict type checking for the OriginalSourceType?=> we do not handle source type for these sources in TaxEditor yet, maybe this becomes more interesting if we have something like SecondaryTaxonomicSourceShould we allow to always return a placeholder empty source in case no source exists, this reduces NPEs but the semantic must be strictly followed that this placeholder may not be attached to the parent and therefore changes will have no effect; we may have a singleton for this to improve performance and to throw exceptions when any changes are done on this placeholder=> we do not use such an placeholder but we offer a get method with parameter createIfNotExistsRename DescriptionElementSource to NamedSource as the only reason for distinguishing it from IdentifiableSource is now the additional attribute; the back link to the sourced entity does not exist anymore=> #9331
Related issues
Associated revisions
ref #6581 first incomplete version for making nomenclatural reference an orginal source
ref #6581 nomRef to OriginalSource allow setNomRef by Interface for compiling
ref #6581 add DescriptionElementSource to TaxonName import
ref #6581 add uuid to OriginalSourceType.NomenclaturalReference
ref #6581 add TaxonName.nomenclaturalSource_id and adapt constructor visibility for DescriptionElementSource
ref #6581 preliminary revert some changes for making nomenclaturalReference an OriginalSource
ref #6581 checkSource uses OriginalSource.isEmpty for nomenclaturalSources
ref #6581 add "source" to Classification, TypeDesignation, RelationshipBase and NomenclaturalStatus
ref #6581: adapt getter/setter of citation/microcitation in typedesignationbase
ref #6581: fix problems with getter and setter
ref #6581: activate nomenclatural source
ref #6581 adapt registration tests to new source handling in typeDesignation and for nomenclaturalReference
ref #6581 fix persistence tests (except for 1)
ref #6581 fix further tests
ref #6581 fix further testdata for nomenclatural reference testing
ref #6581 remove null-values for nomenclaturalReference and nomenclaturalMicroReference from Test-Files
ref #6581 fix source type in TypeDesignationBase
ref #6581 fix RegistrationServiceTest test data
ref #6581 adapt list/count query in RegistrationDaoHibernateImpl
ref #6581 fix test data with nomenclaturalMicroReference not being null
ref #6581 fix test data with nomenclaturalMicroReference not being null
ref #6581 fix test data with nomenclaturalMicroReference not being null (cont)
ref #6581 remove null values for citationmicroreference and citation_id from test data
ref #6581 remove unnecessary nomenclaturalReference_ids from test data
ref #6581 adapt search in ReferenceDaoHibernateImpl
ref #6581 remove unnecessary links to nomenclaturalReference in persistence test data
ref #6581 adapt links to nomenclaturalReference in persistence test data
ref #6581 remove CITATIONMICROREFERENCE from TaxonRelationship in test data
ref #6581 update HQL and property paths and similar to nomenclaturalSource (some issues unclear)
ref #6581 remove or adapt nomenclaturalReference in service test data (and some removing of not needed data)
ref #6581 adapt TaxonGraphBeforeTransactionCompleteProcess to nomenclaturalSource
ref #6581 adapt NoDuplicateNamesValidator to nomenclaturalSource (doubtful if correct, but all this validation rule must be refactored)
ref #6581 fully remove nomenclaturalReference and nomenclaturalMicroReference fields from TaxonName
ref #6581 !!! PRELIMINARY IGNORE TaxonGraphHibernateListenerTest !!!
ref #6581 fully remove nomenclaturalReference and nomenclaturalMicroReference fields from TaxonName (cont.)
ref #6581 fix ReferringObjectMetadataFactoryTest.xml
ref #6581 improve setNomenclaturalReference(...) handling
ref #6581 !!! PRELIMINARY IGNORE TaxonNameDefaultCacheStrategyTest !!!
ref #6581 remove unused reference and microreference fields from SingleSourced classes (incl. TypeDesignationBase)
ref #6581 update dataset.dtd in cdmlib
ref #6581 update dataset.dtd in taxeditor
ref #6581 fix testdata for DerivedUnitConverterIntegrationTest.cascadeDelete
ref #6581 remove referenceForParentChildRelation from 001-cdm.h2.sql
ref #6581 adapt StatisticsDaoHibernateImpl to TaxonNode.source
ref #6581 adapt SpecimenImportConfiguratorTest test data
ref #6581 fix tests in SpecimenTypeDesignationWorkingSetServiceImpl
ref #6581 fix CdmSpringContextHelperTest in vaadin
ref #6581 try to fix key issue in SpecimenTypeDesignationWorkingSetServiceImplTest
try to fix exception in MatchStrategyConfigurator
ref #6581 try to fix exception in MatchStrategyConfigurator
ref #6581 move references to sources for NomenclaturalStatus, NameRelationship, TaxonRelationship, HybridRelationship, TypeDesignation and TaxonName.nomenclaturalReference
ref #6581 fix detail handling with single quote character
ref #6581 adapt vaadin to new nomenclatural source handling
ref #6581 fixing erroneously changes DTP field name
ref #6581 fixing means to get bean property
ref #6581 add listener to TaxonName.nomenclaturalSource
ref #6581 add listener to TaxonName.nomenclaturalSource (cont.)
ref #6581 adapt BerlinModelTaxonNameExport to new nomenclatural source handling
ref #6581 adapting init strategy to new original source handling
ref #6581 fix update script for nomenclatural sources / nomenclatural status sources
History
#1 Updated by Andreas Müller over 3 years ago
- Description updated (diff)
#2 Updated by Andreas Müller over 3 years ago
- Description updated (diff)
#3 Updated by Andreas Müller over 3 years ago
- Related to feature request #6588: Add URL and URL comment to OriginalSource / ExternalLink added
#4 Updated by Andreas Müller over 3 years ago
- Blocks feature request #6589: Handle protologue as original source with URI link added
#5 Updated by Andreas Müller over 3 years ago
- Description updated (diff)
#6 Updated by Andreas Müller over 3 years ago
- Related to task #6591: Use name used in source for original spelling added
#7 Updated by Andreas Müller over 3 years ago
AK: > Viel besser sollten wir das im ValidationFramework als Rule definieren.
+1
das Ticket https://dev.e-taxonomy.eu/redmine/issues/6581 freut mich wirklich sehr, denn die Nomenklatorischen Referenzen sind auch in Portal sehr lästig, da man mit citation und citationDetail immer noch einen extra Request an den Server schicken muss um den kompletten Citation String zu bekommen.
#8 Updated by Andreas Müller over 3 years ago
- Priority changed from New to Priority14
#9 Updated by Andreas Müller over 3 years ago
- Target version changed from CDM UML 4.7 to CDM UML 5.0
#10 Updated by Andreas Müller over 3 years ago
- Description updated (diff)
- Status changed from New to In Progress
- Priority changed from Priority14 to Highest
#11 Updated by Andreas Müller over 3 years ago
- Description updated (diff)
- % Done changed from 0 to 10
#12 Updated by Andreas Müller over 3 years ago
- Description updated (diff)
#13 Updated by Andreas Müller over 3 years ago
- Related to bug #6623: formatter for bibliografic citations with citationDetail added
#14 Updated by Andreas Müller over 3 years ago
- Related to feature request #6916: Link IntextReference to OriginalSource, not Reference added
#15 Updated by Andreas Müller over 2 years ago
- Priority changed from Highest to Priority14
#16 Updated by Andreas Müller over 2 years ago
- Target version changed from CDM UML 5.0 to CDM UML 5.5
#18 Updated by Andreas Müller over 2 years ago
- Related to bug #7781: original spelling is missing for accepted taxon in taxon page added
#19 Updated by Andreas Müller about 2 years ago
- Priority changed from Priority14 to Priority13
#20 Updated by Andreas Müller almost 2 years ago
- Related to feature request #8017: TypeDesignations need sources additional to lectotypifcation sources added
#21 Updated by Andreas Müller almost 2 years ago
- Description updated (diff)
#22 Updated by Andreas Müller over 1 year ago
- Target version changed from CDM UML 5.5 to CDM UML 5.15
#23 Updated by Andreas Müller 7 months ago
- Related to feature request #9004: Make TaxonNode.referenceForParentChildRelation an OriginalSource and rename it to (placement)source added
#24 Updated by Andreas Müller 7 months ago
- Copied from bug #9069: Remove orphan single sources added
#25 Updated by Andreas Müller 7 months ago
- Priority changed from Priority13 to Highest
#26 Updated by Andreas Müller 7 months ago
- Target version changed from CDM UML 5.15 to CDM UML 5.19
#27 Updated by Andreas Müller 7 months ago
- Related to feature request #9116: Adapt Editor to switch to originalSource for TaxonNode and improve layout of TaxonNode dialogue added
#28 Updated by Andreas Müller 5 months ago
- Description updated (diff)
#29 Updated by Andreas Müller 5 months ago
- Related to feature request #9194: Make RelationshipBase and NomenclaturalStatus reference OriginalSource added
#30 Updated by Andreas Müller 5 months ago
- Related to bug #9199: Adapt TaxEditor to switch to originalSource for remaining single sourced objects added
#31 Updated by Andreas Müller 5 months ago
- Copied to feature request #9211: Handle source(s) for Classification added
#32 Updated by Andreas Müller 5 months ago
- Description updated (diff)
#33 Updated by Andreas Kohlbecker 4 months ago
- Related to task #9222: Adapt dataportal to switch to originalSource for remaining single sourced classes added
#34 Updated by Andreas Kohlbecker 4 months ago
- Related to bug #9223: make changes of nomenclatural references detectable again in TaxonGraphBeforeTransactionCompleteProcess added
#35 Updated by Andreas Müller 4 months ago
- Related to feature request #9225: Make TaxonName.nomenclaturalSource a new DescriptionElementSource subclass added
#36 Updated by Andreas Kohlbecker 4 months ago
- Related to feature request #9229: TaxonNameEditor: use NomenclaturalStatusDTO to avoid data loading probems within setters in TaxonName added
#37 Updated by Andreas Müller 3 months ago
- % Done changed from 10 to 40
#38 Updated by Andreas Müller 2 months ago
- Status changed from In Progress to Resolved
This is more or less solved. Open issues hshould be moved to new tickets if not yet done.
#39 Updated by Andreas Müller 2 months ago
- Related to feature request #9298: Preference for IDinSource, IdNamespace and original information in nomenclatural reference details view added
#40 Updated by Andreas Müller 2 months ago
- Related to task #9266: Remove protologue section from TaxEditor added
#41 Updated by Andreas Kohlbecker 2 months ago
- Related to bug #9289: LazyInitializationException (LIE) in NameTypeDesignationEditor added
#42 Updated by Andreas Kohlbecker 2 months ago
- Related to bug #9313: LazyInitializationException (LIE) in TaxonNamePopupEditor added
#43 Updated by Andreas Müller 2 months ago
- Related to bug #9315: Remove old single source citation and microCitation columns added
#44 Updated by Andreas Kohlbecker about 2 months ago
- Related to bug #9312: NullPointerException (NPE) in TaxonNamePopupEditor added
#45 Updated by Andreas Kohlbecker about 2 months ago
- Related to bug #9318: TaxonNameEditor: nomenclatural reference no longer selectable added
#46 Updated by Andreas Müller about 2 months ago
- Copied to feature request #9327: Make taxon secundum reference an original source added
#47 Updated by Andreas Müller about 2 months ago
- Related to deleted (feature request #9298: Preference for IDinSource, IdNamespace and original information in nomenclatural reference details view)
#48 Updated by Andreas Müller about 2 months ago
- Description updated (diff)
#49 Updated by Andreas Müller about 2 months ago
- Description updated (diff)
#50 Updated by Andreas Müller about 2 months ago
- Copied to feature request #9331: Rename DescriptionElementSource to NamedSource added
#51 Updated by Andreas Müller about 2 months ago
- Description updated (diff)
- Status changed from Resolved to Closed
- % Done changed from 40 to 100
I think we can close this ticket now. Please reopen if you think there is still something open that is not yet handled in related tickets.
#52 Updated by Andreas Müller about 2 months ago
- Description updated (diff)
#53 Updated by Andreas Müller about 2 months ago
- Description updated (diff)
#54 Updated by Andreas Müller about 2 months ago
- Target version changed from CDM UML 5.19 to Release 5.18