Drupal + CiviCRM for educational site
Hi all,
I am developing a site (currently in dev at http://new.pittsburghprep.com) for a test prep company. They provide classes on the SAT and other tests, in addition to private tutoring. They will also have a web store for textbooks and other course materials. Here is a breakdown of the site's core functionality:
First, for end users:
1) Course sign-up and pay
2) Tutoring package sign up and pay
3) Textbook/course material purchase
4) Participation in group discussions and intra-group messaging
5) Take e-courses
And for site admins:
1) Create and manage courses, tutoring packages, and physical store products
2) Administer, track, group, and contact students based on the class they're in
3) Administer group discussions/forums
4) Create/sell e-courses (mostly videos and PDFs)
Now, most of this is fairly straightforward: OG for group discussions, Ubercart for store, UC Node Access for providing per-user access to the nodes where the e-courses reside.
But where I am not 100% sure, and haven't been able to find complete answers, is in the creation and administration of courses. My inclination is to use CiviCRM, as it has the messaging, event creation, and payment options. Courses are essentially events, which means CiviCRM's CiviEvent should fit quite well. But I have some functionality questions, having never used CiviCRM before:
1) It seems fairly straightforward to "sync" Drupal users to CiviCRM contacts. But can it be done the other way around? So, for instance, what happens when someone registers for a course and pays? Obviously they become a CiviCRM contact, but are they also added automatically to the Drupal user list? I know this happens in reverse.
2) Related to the first question: how do roles relate back and forth? Can CiviCRM roles be "mapped" to Drupal user roles, such that (for instance) someone who registers for a course could be "promoted" to the user role of "student" in both CiviCRM and Drupal? For instance, i want someone who registers through CiviEvent to be granted the role permissions necessary to participate in certain Organic Groups.
3) Are CiviCRM events and registration pages able to be used as nodes in Drupal? Besides using the Drupal calendar, how much ability does one have in using events in Views 2 and other modules? Also, can Drupal grant access to the "nodes" created in CiviCRM, or does CiviCRM have an entirely different access control system?
4) Does CiviCRM (or Ubercart) allow for multiple payment plans-- up front, monthly, etc.?
Thanks in advance! I am not sure I want to use CiviCRM unless there's the possibility for fairly solid integration.
Nate

Might want to post this on the CiviCRM forums ..
thats where most of the users/developers hang out
lobo