CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using Drupal Modules »
  • Using CiviSchool (Moderators: Donald Lobo, Deepak Srivastava) »
  • Parent-teacher conference setup: student advisors
Pages: [1]

Author Topic: Parent-teacher conference setup: student advisors  (Read 3151 times)

pzingg

  • Guest
Parent-teacher conference setup: student advisors
July 23, 2010, 12:30:33 pm
Here is the discussion as it was posted on Google Groups, and my latest thoughts.

I thought about setting up multiple "Advisor" relationships for each student, but thought that linking via teacher groups (based on grade levels) would be

1. Easier to setup - unless and until you get the batch screens developed.

2. Less burden on database.  In our case, each student could have about 8 "advisors" x 500 students = 4000 relationship records to manage.  Versus a grade level field in the student record, and an average of 2 grade level group membership records for each teacher x 30 = 60 group membership records.

Downside of course is that the advisor relationship is more general as you have laid out in your use cases.  Otherwise I think your use cases are fine, but I guess I don't get the distinction between a "shared" advisor and and a "non-shared" advisor.  Doesn't each advisor in the school have more than one student assigned to her?

On Fri, Jul 23, 2010 at 12:15 AM, Donald Lobo <donald.lobo@gmail.com> wrote:

deepak and i chatted about this and here are a couple of thoughts. I think this covers most of the current use cases:

I think keeping the "Advisor" relationship is useful, since a grade can have multiple teachers but not teachers are advisors for all students (especially in the higher grades). So seperating the two is key. Also we should be able to build batch screens to create such relationship en-masse

* 1 Student <-> 1 Advisor: 1 or more reservation(s) at any time. Number of reservations and constrains determined by a config setting (or xml file setting)

* 1 Student <-> 2 or more shared Advisors: 1 or more reservation(s) at any time. Number of reservations and constrains determined by a config setting (or xml file setting)

* 1 Student <-> 2 or more non-shared Advisors: 1 or more reservation(s) at any time. Number of reservations and constrains determined by a config setting (or xml file setting)

* 1 Application <-> 1 School (for school tours). Multiple appointments on the same time slot

All the above can be modelled as activities and fits well within our current architecture. It also provides the configurability so different schools can have different rules / settings based on their needs

Peter: does this cover all your use case(s)? If not, lets discuss on IRC

lobo

On Thu, Jul 22, 2010 at 11:21 PM, Peter Zingg <peter.zingg@gmail.com> wrote:

Just to see if I could actually get something to work in CiviSchool, I
spent a day in the PHP/Smarty code.  I was able to implement the user
interface for a parallel method for selecting parent-teacher
conferences.  Rather than look for the one "advisor" for each student,
our school wants parents to be able to select up to two teachers for
conferences. Instead of using the advisor relationship, my code relies
on teacher contacts being put into grade-level groups. Some teachers
teach in one grade level, others in multiple grades.  When a parent
goes to sign up, she is presented with a list of all the teachers from
the student's grade level, and can add up to 2 conferences.

Since I am pretty much a newbie in the CiviCRM system, here's what I
need to know in order to generalize the code and share it:

1. I need a place to store school-specific preferences. For instance
in our school, I would like to disable all the extended care and
medical information work (at least for now).  It would be great to be
able to have checkboxes in the UI (or in an XML or PHP config file) to
turn these on or off (by passing the preferences to the Smarty
templates).  Also, to make my work generic, I would need these
preferences:

a. A per-grade limit of conferences for each student (right now our
5th grade parents can get one conference, upper grade parents can sign
up for two).

b. A per-grade association of the teacher grade-level group (right now
I hard-code this association, so that sis_grade 5 gets linked to a
teacher contact group named "5th grade", etc.).

c. A flag that would toggle between advisor/grade level selection of
parent teacher conferences (or perhaps this could be determined
automatically -- if the student *has* one or more advisors, limit the
conferences to those teacher(s), otherwise let parents choose from
list of grade-level teachers).  I believe the current model in the
repository assumes that every student has just one advisor, and
therefore a parent can only select one conference slot with one
teacher.  To use the alternate selection method, my code currently
relies on passing a query-string parameter to the profile pages.

d. Flags for enabling/disabling after-school and other parts of the
CiviSchool profile.  These are also controlled by the query-string
parameter right now.

2. I'd like to use Ajax to keep the user on the same page, so that
when they select a teacher for a conference, an Ajax call could
populate the selection of available conferences for that teacher.
Right now it's a two-page process, select the teacher, Submit, and
then select the conference.  Because this is all happening on a
profile page, I get a "your information has been saved" after the
teacher is selected.  This is a little annoying.  I have no "best
practices" idea for how to put Ajax into the Smarty templates.  I also
am not clear on all the subleties of the CiviCRM method of setting up,
validating and post-processing forms, even though I can see how the
hooks have been set up in the CiviSchool code. I'm sure there are
tricks that can be used (besides Ajax) to cleanly implement multi-step
forms (or "wizards").

Anyway, I'm pretty pleased that even a non-CiviCRM hacker like me
could actually get something done in the code.  I'm going to take a
few days off from this to work on some of my other systems.

Comments appreciated.


Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: Parent-teacher conference setup: student advisors
July 24, 2010, 09:32:25 pm

hey peter:

the main reason why i think that a "relationship" is slightly better than a grade level teacher group is because in some schools (including SFS) all the teachers in your grade are not your advisors. i.e. you are assigned one (or two) advisors from the set of teachers in your grade. In your case the group method is more efficient (from a db and query perspective), but i dont think it is generalizable to handle all the cases

In some cases, two teachers "co-advise" the student. i..e both the advisors try to be present for all parent teacher meetings. hence the distinction between shared and non-shared :)

lobo
A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

nycschool

  • I’m new here
  • *
  • Posts: 16
  • Karma: 1
Re: Parent-teacher conference setup: student advisors
July 26, 2010, 10:06:37 am
hi Lobo and Peter, we have "co-advisers" and "co-teachers" who would try to be present for all  parent teacher conferences (sometimes as many as 3 or 4 school teachers/advisers  would be present at a meeting.   

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using Drupal Modules »
  • Using CiviSchool (Moderators: Donald Lobo, Deepak Srivastava) »
  • Parent-teacher conference setup: student advisors

This forum was archived on 2017-11-26.