CiviCRM 2.0 Design Series - Simplifying and Improving the Data Model for Activities

Published
2007-08-10 22:40
Written by
Activities and Activity History records are a critical part of the CRM equation. They allow organizations to get a detailed snapshot of the interactions with their constituents. As part of our 2.0 data model overhaul, we are planning major changes to the Activities data model. These changes are designed to:
  • Simplify the data model for activities by merging activity-related tables into a consolidated Activity table. Meeting, Phonecall, Activity History, Email History and SMS History will all be merged and dropped.
  • Replace the use of entity_table/entity_id model with explicit foreign keys to the Contact table to improve performance on queries.
  • Allow activity "creators" to assign the activity to someone else, and integrate changes made for Frontline to support multiple "assignees" for a single activity.
  • Migrate useful features from the Task object into Activity - specifically the ability to set a Priority and a Due Date for an Activity.
At the same time, we need to maintain the extensibility of the current Activity History object which allows 3rd party components to easily register Activity History records with activity types that they define and provide callbacks to allow "Details" link to redirect to a 3rd party module's URL. You can review the details of the proposed data model changes, along with rationales and some examples of new queries on the wiki. Developers who have written or are using modules which integrate with CiviCRM by registering Activity History records are especially encouraged to review the plan, ask questions, and provide feedback.
Filed under