This chapter covers the main building blocks that CiviCRM uses to store data, and describes their intended usage. It is recommended reading for working out how you should organise your data in CiviCRM.
Using CiviCRM successfully depends on having your data stored in the right place. The following is an introduction to how contacts are dealt with in CiviCRM, how CiviCRM stores data related to contacts by default, and how to add fields to store additional data. This chapter introduces the following concepts: Contacts, Relationships, Groups and Tags, Activities, Custom Fields, and Profiles. This should also help you to understand why you would store data in one place and not another.
CiviCRM uses contact records as central hubs for data about your organisation's contacts. There are three distinct contact types defined in CiviCRM, each suited to a common type of contact your organisation may want to track:
- Individuals: any person your organisation wants to keep a record of
- Organisations: this could be another non-profit, a company, a chapter of your organisation, or a committee. You will generally want to create at least one contact of the Organization type to represent your organisation. This is particularly useful when you are configuring memberships
- Households: a family or group of people who share a physical location
CiviCRM provides different fields for each contact type, according to the different kinds of data you will probably want to track. For example, gender only applies to individuals, not organisations or households, so the gender field is only available for Individual contact types and subtypes. You can also define additional data that you want to collect and apply it to only one type. You could choose to create a custom data field to record the Chairperson or CEO's name and only apply this field to organisations.
Relationships are a way to connect two contacts to each other. Two default relationship types in CiviCRM are the "employer - employee" and the "parent - child" relationship types.
There are always two ways to describe a relationship in CiviCRM: one describes the relationship of A to B, and the other of B to A. For example, Adam is Bernard's son and Bernard is Adam's father. Sometimes both descriptions will be the same: Charlie is Diane's friend and Diane is Charlie's friend.
CiviCRM comes with a number of relationship types in the standard installation. You can define further relationship types to meet your needs, for example you might define a relationship type of "vicar - church".
It may be helpful to compare relationships to groups: relationships connect two contacts, while groups contain two or more contacts who have something in common.
Groups are useful to identify two or more contacts with something in common. For example, the advisory board of your organisation could be modeled as a group.
Groups are often used as mailing lists. For example, you could create a group containing all your newsletter subscribers, then use the group to send an email newsletter.
Groups are also used in many other situations. For example, a search can be saved as a group (known as a smart group) which means that it will automatically update as more/fewer contacts match the search criteria as you put updated information in your database.
Groups can also be used to provide permissions in Drupal. To find out more about groups and how they are used, read the chapter on groups and tags.
Tags are in many ways similar to groups, but as well as being used to identify contacts they can also be applied to activities and cases that have something in common. To find out more about tags, and how they are different from groups, read the chapter on groups and tags.
Activities are a key concept in CiviCRM. Activities track interactions between the organisation and its clients or contacts at a specific point in time. While all of CiviCRM's components make extensive use of activities, such as recording contributions, event attendance, membership subscriptions, and emails, you can also create additional activity types to define specific activities that your organisation carries out, for example, training, review, support etc.
CiviCRM makes it possible to collect and track information beyond what's possible with the default set-up.
According to your organisation's needs, you might want to add additional fields than those present in CiviCRM. For example, as part of your event management process, you might need to enter information about dietary preferences for participants. CiviCRM lets you add custom fields to collect this data and associate it with participant records.
Read the chapter in this section on Custom Fields for more detailed examples and information on how to add them.
CiviCRM allows you to pull together sets of fields for different purposes, and help you reduce the amount of time staff spends on administrative tasks. These sets of fields are known as profiles.
A few examples where profiles are necessary include the following: collecting information or letting people join your mailing list via online forms, facilitating event registration and getting everything you need to know from registrants, or creating data entry screens for volunteers with ONLY the fields that volunteers should see.
Read the Profiles chapter in this section for detailed information about how to make use of profiles.
In addition to these basic building blocks, CiviCRM provides what are known as components to help streamline administrative tasks related to event management, membership, sending communications, receiving contributions and donations, case management, conducting campaigns, administering grants programs, and more.
Each of these components is covered in a separate section of this book. The components are CiviEvent, CiviMember, CiviMail, CiviContribute, CiviCase, CiviCampaign, and CiviGrant.
The sections on Survey, Petition, and CiviEngage (the latter is actually a Drupal module) relate closely to CiviCampaign and their special functionality is described in the respective chapters.
There is also a separate reporting section related specifically to using reports and doing analysis on your data for ongoing evaluation of your work.