Adapting CiviCRM for the needs of a school ...

I've been working on customizing CiviCRM for my kids school. I documented how i exposed relationship information on a profile view in this blog post. In the past week i've also exposed "activities" and "a multiple record custom group" via profiles which i'll describe in this blog post. All this work was done via civicrm hooks and custom templates and run on CiviCRM v2.2.8. You can download the code from here. In this blog post i'll discuss two features that i've implemented: Scheduling Parent Teacher Conferences and Managing Extended Care.

Scheduling Parent Teacher Conferences

The school wanted an automated system to schedule parent teacher conferences. These meetings typically last 30 mins. For some grades its all done in one day, for some other classes its spread out over a couple of weeks (few slots / day). I decided to create a new activity type called "Parent Teacher Conference". For the first parent teacher conference, we have 4 advisors and 30 students. The conferences happen on the same day between 7:00 am - 6:00 pm. Each advisor has 10 students. Some students have 2 advisors. I wrote a script (http://svn.civicrm.org/sfschool/trunk/drupal/modules/sfschool/bin/create...) to populate these activities automatically with the assignee being the advisor. The advisor also has the option of going into his activities tab and deleting all the times when she/he does not want a meeting. We also created a new relationship type called "Advisor <-> Advisee" and used import to create these relationships.

read more