Skip to end of metadata
Go to start of metadata

Summary of Data Model and API Changes (initial publication through v0.1 specifications)

We are grateful for the rich and diverse feedback received during this review cycle via our mailing list, a series of phone calls/conferences, and comments on our Confluence pages. This page summarizes the modifications to the Data Model and API as a result of reviewer feedback.

v1.0 versions of the Data Model and the Public APIs can now be found in the CiviCRM v0.1 Specifications section.

Data Model Changes

General Changes

  • VARCHAR columns have been classified into several 'sizes' and assigned reduced max lengths accordingly.
  • Category and Category_entity objects added to support keyed and hierarchical categorization of entities (Individuals, Organizations, Households, Groups, Relationships, Contact_actions). Entities can be tagged to an unlimited number of categories, and categories can be nested. One anticipated use of categories would be to classify organizations (e.g. non-profit, corporation, political campaign etc.). We don't see these as 'types' since their classification(s) do not affect data properties.

Individual

  • email_to_household (and analogous phone and postal mail flags) moved to this data object (from Household)
  • legal_id added (expected usage = SSN or Drivers License/ID card)
  • external_id added (expected usage = legacy/source app unique identifier, primarily for import deduping)

Organization

  • legal_id added (expected usage = EIN/TIN or non-US equivalent).

Household

  • legal_id added (may be used for household id)

Address

  • Postal code suffix added (supports "zip code / plus 4" separation for US addresses).
  • Option to store street address fields in a much more granular way using a new set of street address components (street number, street name, etc). Better support for a variety of location sorting and grouping requirements.
    NOTE: For this version, either the concatenated street_address OR the address components are stored, not both.
  • Geo location coordinate system elements fleshed out to properly support UTM zones and datum.
  • County column now keyed crm_county table.

Relationship

  • is_active flag added

Contact_action

  • Optional FKeys added to Group and Relationship entities.
  • action_date broken out into insert_date, start_date, end_date

Public API Changes

  • API's added to support categorization of entities ('tagging').
  • Clarified method for clearing property value(s) in 'update' APIs (pass a NULL value).
  • Removed $contact_type from crm_get_contact() - not needed.
Labels
  • None

Creative Commons License
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-Share Alike 3.0 United States Licence.