Thursday, June 18, 2009 - 07:35
Written by

I have two kids who started school late last year in San Francisco. I've been getting more involved with the school and their education and have been noticing the lack of open source software in most of the school operations. In the great open source tradition of scratching your own itch, this summer i'm looking at building a few modules. These seem applicable to a lot of schools and figured it might make more sense to do some research into whats available out there.

To clarify some terminology:

CMS - Content Management System like Drupal or Joomla
CRM - Contact / Constituent Relationship Management System like CiviCRM
SIS - Student Information System like SchoolTool or Open Admin
LMS - Learning Management System like Moodle

Parts of this post have been extracted from the discussion Drupal/CiviCRM as a SIS (student information system). I also chatted with Tom Hoffman about SchoolTool and SIS on the schooltool irc channel.

So all 4 areas independently have good open source options. However the integration between the CMS, CRM and SIS is non-existent. I do not know a lot about LMS's and will omit them for now. Wikipedia's definition of an SIS can be found here. Basically an SIS handles all information about a Student: from the classes a student takes, to grades, scores, attendance and discipline records. An SIS system typically does not store information on parents and families and how students are related.

Some needs of schools that are more related to a CMS/CRM rather than an SIS include:

  • Manage contact information on parents, guardians and students, alumni. This includes emergency contact and medical information for students.
  • Relationship information between students and parents
  • Allow parents read/write to their contact information. Parents should also be able to update contact information for all the children that they are responsible for. This needs to handle cases where parents are separated.

In addition there are quite a few applications/form that can be built on top of a CMS/CRM to assist with school administration:

  • Application process. Storing and managing all data related to the application form. At the end of the process, moving the accepted applications to the school database.
  • Extended Care management. Ability for parents to sign in/out their children. Calculating the number of blocks used / child and accepting payment
  • Summer Camp Application process.
  • Managing various events like the Walk-a-thon.
  • Auction Management: Both Online and Offline. The current auction provider charges each school $600 + 9% of total amount collected. We've already built some support for this in CiviCRM, but did not complete it in time for this school year (plus i wanted to see how things really worked)
  • Parent Teacher Conferences: Scheduling them online rather than calling the front desk
  • Periodic newsletter blasts

Some other things that can potentially be done with this combination of tools:

  • Alumni management
  • Donor Database
  • Online formation and management of parent groups via a module like Organic groups

I'll blog about this in more detail as i make progress on it. Zack Rosen blogged about why this should happen a long time ago (feb 2006): Moodle, Elgg, CivicSpace, CiviCRM and Drupal should join forces.

Filed under



For a somehow related subject, I'm having a look at what the sunlight fundation has done with their api to make easier to relate and aggregates informations stored in different systems but about the same person (a politician in their case, student in your).

I did some integration between two different systems using json and the rest API, doable but lot of manual stuff to code still. Could be made easier


any one made or know any API for integration of these modules to make full school admin, please give some info, how to get if need to pay also is ok

Are you planning to look at open source tools for connecting to the school library? It would be nice to email "book overdue" notices to the head of household ( as defined in CiviCRM) if the kids have forgotten to return a book. Also if we know the courses a student is enrolled in, then books related to that course can be highlighted.

Some links for open source library software: