For the exercises in this series, you are administering a CiviCRM site used by the Boston Community School ("BCS"). The school uses CiviCRM to store staff, student and parent contact information, as well as for fundraising. |
Getting around / Contacts and their data
- Get used to the menus, contact and search screens
- Change the employer of Ms Chris D Adams Jr to Inner City Arts
- Add two mobile phone numbers for Pat Jones (07686 422876 and 07621 132173)
- Add the following work address for Rebecca Smith: Greens Farm, Tregony, Cornwall TR5 7RT
Configuration Checklist
- Change CiviCRM to your local language
- Localization - Some school alumni now live in the UK. Update Available Countries and State / Provinces to include both US and UK.
- Domain Information - Add BCS info:

Boston Community School
System emails from: BCS Administration <admin@bcs.org>
110 Webster St.
Boston, MA 02128
- Site Preferences - Remove 'Instant Messenger' and 'Open ID' fields from the contact edit forms.
- The school doesn't have a 'membership' system, so disable the CiviMember component (Global Settings >> Enable Components)
- Students and parents with similar names are most easily differentiated by street address, so replace Autocomplete Contact Search 'Email' display with 'Street Address'. Use the quick search box in upper left corner to verify the new behavior.
- Configure a reCAPTCHA key for use in public-facing forms (Miscellaneous Settings). Instructions are on the form. (We'll use this later.)
- Configure a Google Mapping key. Enter yourself as a contact with a valid street address and verify that a map link is displayed and functional when viewing your Contact Summary.
- Configure Outbound Email settings: using SMTP from localhost.
- Since many contacts in your DB will NOT have email addresses, update the default 'Fuzzy' Duplicate Matching Rule for Individuals to include Phone. The goal is that same first+last name AND email OR same first+last name AND phone number will return a possible duplicate match. Now try and enter two contacts with the same name and phone # to see if your rule is working.
Custom data
- Your school needs to keep track of some special information for Students, and different information for Parents. You'll want to be able to search on all fields. Create two custom data sets with the following fields (each set of fields should extend that contact type:
Custom data set = Student Information (display inline)
Custom data set = Parent Information (display as tab)
|
- Enter a new Student and a new Parent contact, and verify that the expected custom data fields are present for input and display.
Profiles and CMS integration
- Update Drupal User Permissions so that 'anonymous' role only has the following CiviCRM permissions:
- access all custom data
- profile create
- profile view
- Create a new CiviCRM Group ("Parents - New"). Group type = Mailing List.
- Modify the "Name and Address" Profile to collect "Parent Information". Profile is "used for" Profiles. Adds new contacts to your "Parents - New" group. Enable mapping. Set "Account creation required".
Include these fields (in addition to whats already there)
|
- Create a (front-end) menu item linking to this profile accessible to anonymous users. Also add a link to this profile on the front page of your site.
- Log-out (or use another browser) and go to your new profile and fill it in:

Tanya Thomas
502 Washington St, Boston, MA 02135
212 520-0001
tanya@bigco.com
License: MA090218
Interested in: Fundraising
- Login and check Tanya's record (she should be in the "Parents - New" group and have the expected data).
- Find any two other individual contacts and change their contact type to Parent.
- Create a Smart Group of all contacts who are Parent contact type - "Parents - All".
- Create a new Profile - "Parent Directory", used for "Profile". Limit listings to Group - "Parents - All". Add the following fields (visibility = Public and Listing, searchable, include in results columns):

First Name
Last Name
Primary Phone
Primary Email
- Access your searchable Parent Directory with this URL: http://<your site>/civicrm/profile?gid=N&reset=1 (replace 'N' with the ID or your new Profile).
CiviContribute
- Tanya has sent in a donation (check *1032) for $500 in honor of her mom, Sarah Thomas. Record this donation and make sure she is sent a confirmation / receipt.
- You want to track year to date contributions from people in your 'Parents - Current' group. Create an instance of the Donor Summary report which will do this.
- Configure the "dummy" payment processor.
- Create an online contribution page to be used for your annual fundraising campaign. Allow folks to "pay by check" if they want. Include the "Supporter Profile" profile in the contribution page. Also enable the Tell a Friend feature.
- Create a link to your contribution page on your site's home page.
- Review the system message template used for online contribution receipts, and add / modify as needed.
- Log out and make a contribution as an anonymous visitor.
CiviMember
- You're now ready to track memberships in a new Alumni Club for the school. You'll need to first re-enable the CiviMember component. Then add the BCS itself as an organization and setup your membership types. All memberships are for "rolling" 12 month periods.
|
- Create a reminder message template to be used for renewal reminders and update your membership types to remind members 7 days ahead of their member expiration.
- For your club, the grace period for 'expiring' memberships is 2 months. Check and adjust membership status rules as needed.
- Configure the "dummy" payment processor (if you haven't done this yet).
- Create an online contribution page to be used for membership signup and renewal. Allow folks to "pay by check" if they want. Include the "Supporter" profile in the contribution page. Also enable the Tell a Friend feature.
- Create a link to your membership signup and renewal page on your site's home page.
- Use your online membership signup page as an anonymous visitor.
Extra membership tasks
You are keen to encourage members to contribute toward your annual fundraising campaign.
- Send all members with details of the upcoming
- Create mailing labels for all current members without email addresses (hint: use smart groups)
CiviEvent
- Your school holds an annual fundraising dinner-dance event. Create an event template for this event, since it occurs every year. You want to know who's coming, so enable online registration. The event is always held at:
|
Beth-el Synagogue |
- The fees for attending the dinner are:
- Dinner and Dance : $250
- Dance Only: $100
- Include your Supporter Profile profile in the online registration so you get folks information when they register.
- Now create an event for the April 5th dinner. 6pm - 11pm
- Tanya Thomas already sent in a check for $250 for the event. Register her (create new -> new event registration).
- Now logout and use online registration to register a new "supporter" for the dance only - Jane Goodone, jane@example.org, VISA = 4111111111111111, CSC = 000, Exp Jan 2012.
Extra event tasks
You are getting ready for the Rain-forest Cup Youth Soccer Tournament.
- Create an attendance list with blank column at the beginning and end for attendees
- Create name badges for attendees
Import
- Create a csv file on your local disk with the following contents
- Run an import that only imports the organizations (first column) and put in a group
- Run an import that only imports the individuals (second,third,fourth column) and put in the same group as above
- Delete all contacts from the above group
- Create a new relationship type "primary contact" which links an org to an individual
- Run an import that imports both sets of contacts. Create a relationship between the organization and the "primary contact". Add all contacts created to a group
