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
