We're planning to build an alumni portal for one of our clients, a
secondary school. Here's a brief overview of the specs:
Personas
We want to support the following groups of people and their respecive
goals:
- School Administrator
Goals
- gather demographic info from alumni, and possibly identify
outstanding alumni
- spam alumni list re: donations, or alumni activities
- Alumni
Goals
- keep abreast of school events and activities relevant to school alumni
- keep in touch with old school friends
Use Cases
- Allow school administrator to spam alumni list
- Allow school administrator to maintain a calendar of
alumni-related activities
- Allow alumni to register online
- Allow alumni to search alumni database
- Allow alumni to keep in touch with each other through an online forum
- Allow alumni to view calendar of activities
Here's how I plan to implement this using OACS 4.5:
- create a group named "alumni" and create a calendar for this group
- give alumni members read-only access to the alumni calendar
- give school admins admin rights to the calendar
- create a registration page. This is a modified user registration
page that collects additional info about alumni (i.e. college enrolled
in/graduated, company, etc.) and automatically enrolls the new user
into the alumni group
- create an alumni report page, accessible only by school admins,
that provides the following info:
- total number of registered alumni
- number of registered alumni, by batch
- some other report, based on the alumni details collected in #4 above
- provide a friendly interface to the spam module and allow school
admins to spam alumni from here
I'm planning to put the UI, data model and supporting procs for #4 and
#5 inside a new package ("alumni-portal"?). However, I have a
strong hunch that:
- this is the 3.x-ish way of doing things and not the 4.x-way, and
- I can accomplish my goals with out-of-the-box OACS4.5 using
acs-subsite and some other packages that I don't know of
What do you think? Should I build a new package, or RTFM?
PS. We need to deploy this immediately, which leaves out the upcoming
dotLRN-Postgres as an option. Our client can't afford Oracle, so
dotLRN-Oracle is also not an option.