CDM Changes since version 1

A list of changes done to the CommonDataModel since the version1 freeze. Mainly from implementing the CdmLibrary and the CATE project.

Release 1.1

Source Code

  • Correct misspelling of synonym (synoynm) in Cdm:taxon:SynonymRelationship and Cdm:taxon:Synonym methods: [r1430|* renamed Cdm:name:NonViralName.uninomial into Cdm:name:NonViralName.genusOrUninomial r1441]

  • Cdm:common:OrderedTermBase: OrderedTermBase got Attribute orderIndex

  • Cdm:common:OrderedTermVocabulary: new Subclass of Cdm:common:TermVocabulary for Cdm:common:OrderedTermBase , taking over some of the methods from Cdm:common:TermVocabulary (Version 1.0)

  • Cdm:common:TermVocabulary: deleted all methods/attributes that deal with ordered terms

  • Cdm:description:CharacterTree (renamed into Cdm:description:FeatureTree) with hierarchical character nodes (Cdm:description:FeatureNode)

  • Cdm:name:NonViralName with BasAuth and (Bas)Year

  • Cdm:common:Rights missing owner Agent

  • Cdm:common:Annotation allow external annotation via blog backlinks. Store external comment URL.

  • Cdm:name:TaxonNameBase split nameRelationships attribute into 2, relationsToThisName and relationsFromThisName

Release 1.2

  • Cdm:common:MediaInstance remove suffix property. MIME type is enough

  • Cdm:description:DescriptionBase remove label. covered already by IdentifiableEntity.titleCache

Release 1.3

  • Moved 10 classes from eu.etaxonomy.cdm.model.common to

  • Created Cdm:common:LanguageStringBase

  • Changed name for abstract class DerivedUnit to Cdm:occurrence:DerivedUnitBase

  • Some new method for handling synonyms in class Cdm:taxon:Taxon

Release 1.4

  • A number of changes has been made for release 1.4. Unfortunately, none of them are documented.

Release 2.0


  • Cdm:agent:Agent has been renamed to Cdm:agent:AgentBase.

  • The field contact has been moved up in the inheritance tree from Cdm:agent:Person and Cdm:agent:Institution to Cdm:agent:AgentBase.

  • Cdm:agent:Contact became @Embeddable and does not inherit from Cdm:common:VersionableEntity anymore.


  • New classes: Cdm:common:Credit, Cdm:common:Group, Cdm:common:GrantedAuthorityImpl, Cdm:common:LSID, Cdm:common:LSIDAuthority, Cdm:common:PartialUserType, Cdm:common:PersistentMultiLanguageText, Cdm:common:PartialUserType, Cdm:common:PersistentMultiLanguageTextType, Cdm:common:User

  • New interfaces: Cdm:common:IDefinedTerm, Cdm:common:IMultiLanguageText

  • Interface IVocabularyStore removed.

  • Field vocabularyStore removed from Cdm:common:DefinedTermBase.

  • Cdm:common:TimePeriod has new attributes dayType, monthType, yearType.

  • The attributes relatedFrom, relatedTo, and type have been moved down from Cdm:common:RelationshipBase to the derived classes Cdm:name:HybridRelationship, Cdm:name:NameRelationship, Cdm:taxon:SynonymRelationship, and Cdm:taxon:TaxonRelationship.

  • Boolean flag doubtful has been added to Cdm:common:RelationshipBase.

  • Type of field annotationType in Cdm:common:Annotation changed from MarkerType to AnnotationType.


  • Cdm:description:DescriptionBase has a new field descriptiveSystem.

  • Cdm:description:Feature has a new boolean field supportsCategoricalData.

  • Cdm:description:IdentificationKey has new fields geoScopes and taxonomicScope.


  • New defined term class added: Cdm:name:NameTypeDesignationStatus

  • Cdm:name:TypeDesignationStatus is going to be renamed to SpecimenTypeDesignationStatus


  • Field derivedFrom has been renamed to derivationEvent.


  • New class Cdm:reference:Publisher added which is referenced by Cdm:reference:PublicationBase.


  • Field taxonStatusUnknown added to Cdm:taxon:Taxon.


  • In boolean fields names the prefix "is" has been removed. For example, field isMonomHybrid has been renamed to monomHybrid.

  • For programmatic reasons, fields of type MultilanguageText now have the type Map.

Release 2.2

Changes not yet recorded

Beta 2.4


  • got two new attributes:

    • fullReference (the long form of a given abbreviated reference) and
    • abbreviatedReference (the abbreviated form of a full reference) (#1551)


  • changed database attribute 'symmetric' in the DefinedTermBase table to 'symmetrical' to be compliant with PostGreSQL (#1181)


  • added area (still under discussion if this should be a set) (#1303)


  • changed 'reported in error' presence status into a absence status (the terms got a new uuid) (#1293)

  • added 'doubtfully present' as an presence status

A database update script for MySQL is available in cdmlib2.4/cdmlib-model/src/main/resources/update

Release 2.5

Changes not yet recorded

Release 3.0

  • Added barcode attribute to DerivedUnitBase

  • Added exsiccatum attriubte to Specimen

  • Added country attribute to GatheringEvent

  • Added primaryCollector attribute to FieldObservation

  • Added area attribute to CommonTaxonName

  • Added sortIndex on FeatureNode childs to make it a real list

  • Added unplaced and excluded flags to Taxon

  • Added inReference to IGeneric and IWebPage

  • Renamed ReferenceBase to Reference

  • Renamed TaxonomicTree to Classification

  • Renamed database columns to get consistent column names (see #1547)

  • Renamed SpecimenOrObservationBase.description to SpecimenOrObservationBase.definition

  • Renamed DerivedUnitBase.derivationEvent to DerivedUnitBase.derivedFrom

  • Detached PolytomousKey from FeatureTree

    • PolytomousKey inherits now from IdentifiableEntity
    • Created classes PolytomousKeyNode and KeyStatement
    • Moved attributes taxon and dd from FeatureNode to PolytomousKeyNode
  • Updated labels for languages. Use full text now instead of ISO Code

  • Mapping for modifers in StatisticalMeasurementValue is ManyToMany now

  • URI: all fields representing URIs where changed to type URI. This is MediaRepresentationPart.uri and Reference.uri

  • Terms:

    • Created new Vocabulary "Unknown Languages" and added "unknown Language" and "original language" as new terms
    • Added comb. illeg. to NomenclaturalStatusType
    • Added Habitat, Habitat & Ecologyy and Chromosome Numbers to Feature
    • Added aff. and cf. to DeterminationModifier
    • Added Hermaphrodite and Unknown Sex to Sex
    • Added Third parent, Fourth parent, Major parent and Minor parent to HybridRelationshiptypes
    • Added doubtful present to PresenceTerm

See also Milestone CDM 3.0

Release 3.1

  • Bugfix for TaxonNameBase.typeDesignations mapping

Release 3.3

  • Add CdmPreferences table for handling preferences #3555

  • Clean up terms:

    • Replace some DefinedTerm subclasses by DefinedTerm (Modifiers (Sex, Stage, ...), #2678
    • Type for TermVocabulary and DefinedTerms #2998, #3478
    • Add identifier in vocabulary to terms #3479, #3540
    • RankClass (suprageneric, genus, infrageneric, species group, species, infraspecific) for Ranks #3521
    • Remove TdwgArea and Continent(?) class (replace by NamedArea) #3539
    • Rename TDWG area Sicily #2766
    • Remove dummy terms #3706
    • Split WaterbodyOrCountry in 2 vocabularies and make waterbody terms NamedAreas #3700, #3705
    • Update vocabulary default representations #3708
    • --- concrete terms ---
    • New nom status: new combination #3545
    • Original spelling and isonym name relationships #2874, #2901
    • Add Ranks "proles", "race" and "sublusus" #2793
    • Add new DerivationEvent types #3714
  • Types replace classes

    • Type (recordBasis) for SpecimenOrObservation and remove (Specimen, Observation, Fossil, LivingBeing) and add (!MediaSpecimen, ...) some subclasses #3568, #3378, #3614, #3517
    • Type for OriginalSourceBase (!PrimaryTaxonomicSource, Import, Data Linneage, ...) #1549
    • Interface (hierarchie) for enumerations and defined terms #3611, #3618
    • String persistence for enumerations #2615
  • Changes in trees

    • Tree index for trees (!TaxonNode, FeatureNode) #2947
    • Ordering of taxon nodes #3508
  • References

    • Abbreviated and long form for references #1551
    • Implement ReferenceType "Section" #2853
    • Add DOI to reference #3572
  • Remodelling of molecular package #3360, #2540, #3325, #3552, #3686, #3591, (#3551, #3590)

  • publish bit for taxon and specimen #1780

  • Common handling for altitude (int), distance to ground and watersurface (double): min single value , max value, free text #2663, #3072, #3074

  • TimePeriod scope for DescriptionElementBase #3312

  • Make Specimen - DescriptionBase 1:M #3571

  • kindOfUnit for SpecimenOrObservationBase #3568

  • Starting number for PolytomousKeys #2327

  • Resize some objects

    • resize titleCache and other caches 255 -> 800 Byte #1592
    • All URLs/URIs become and CLOBs #2339, #2340, #2313, #3296
    • URIs become CLOBs #3345
  • Rename some objects

    • Change ICBN -> ICNAFP #2864
    • Rename RightsTerm -> RightType #1306
    • Rename CategoricalData.states collection to stateData #2923
    • Rename FieldObservation -> FieldUnit #3351
    • Rename Rights table to RightsInfo #2945
    • Move DescriptionElementSource to description package #2345
    • Adapt database and JAXB to renamed field Annotation.linkbackUri #3374
  • Remove some objects

    • Remove media from SpecimenOrObservationBase #3597
    • Remove getCitation form TaxonNameBase #3670
    • Remove ReferencedMediaBase and Figure #2541, #2539
    • Remove homotypical group from TypeDesignationBase and interface #2173
    • Remove isDescriptionSeparated from FeatureTree
    • remove descriptiveSystem from DescriptionBase #2202

Release 3.4

Not yet available !

Updated by Andreas Müller almost 8 years ago · 68 revisions