Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

SchoolTool Integration: Difference between revisions

From MoodleDocs
Line 44: Line 44:


== Planning meeting prep/notes (to be integrated above after meeting) ==
== Planning meeting prep/notes (to be integrated above after meeting) ==
* When: Friday, June 5 at 10am
* Where: #schooltool-moodle on freenode
* What user data will go between SchoolTool & Moodle?
* What user data will go between SchoolTool & Moodle?
** Which user profile fields do SchoolTool & Moodle have in common?
** Which user profile fields do SchoolTool & Moodle have in common?

Revision as of 14:45, 3 June 2009

The SchoolTool SIS project recently released version 1.0, and lots of people could benefit from a solid integration between Moodle and SchoolTool. This page is a work-in-progress specification for the first version of this integration.

Goal: Moodle-SchoolTool integration modeled on Moodle-Mahara integration.

  • SchoolTool-Mahara integration should require very little extra effort when this project is complete.
  • SchoolTool+Moodle+Mahara will provide a complete, integrated school administration/learning/portfolio suite that will be easily installable and supportable by time-crunched education systems administrators.

Requirements

  • SSO between SchoolTool and Moodle
  • Auto-enrolment in Moodle tracking enrolments in SchoolTool
  • Automatic grade transfer from Moodle to SchoolTool
  • Completely web-based integration configuration (similar to Moodle-Mahara configuration)

Supported versions

  • SchoolTool 1.0
  • Moodle 1.9.5+

Background info and references

Implementation notes/ideas

  • The PHP mnet library will be ported to python.
    • SchoolTool will need to use this library. Discussion about plugin architectures (auth, enrolment, grades) underway in #schooltool on freenode...
  • Moodle will need some awareness of SchoolTool in the mnet auth plugin. Not sure yet what this entails. (i.e., Mahara shows up in the list. We need SchoolTool in there, too.)
  • Moodle will need an enrolment plugin that gets data from mnet but is otherwise modeled on the external DB enrolment plugin.
  • Moodle will need a gradebook plugin (does this even exist? or something...) that can pass grades to SchoolTool via mnet.

Schedule

  • mnet library porting ASAP (Brett)
  • mnet interface and data content examples drawn from Moodle as input to SchoolTool design ASAP (Matt)
  • SchoolTool-side planning/spec meeting TBA

Data Samples

Auth/Profile

  • idnumber,lastname,firstname,username,email,<other profile fields TBD>

Enrolment

  • userid, courseid, role?, course name?, status?, credits?, other?

Grade

  • userid, courseid, item name, points earned, points possible?, other?

Moodle mnet Interfaces

SchoolTool mnet Interfaces

Planning meeting prep/notes (to be integrated above after meeting)

  • When: Friday, June 5 at 10am
  • Where: #schooltool-moodle on freenode
  • What user data will go between SchoolTool & Moodle?
    • Which user profile fields do SchoolTool & Moodle have in common?
  • What enrollment data will go between SchoolTool & Moodle?
    • What are SchoolTool's course status concepts, and how will these interact with Moodle? (e.g., is enrollment simply binary, or are there other status options?)
  • What grade data will go between Moodle & ST?
    • One grade/student/course, or one grade/assessment/student/course? (Eventually want to provide admin(?) with option.)
  • Identify MNET interfaces published by Moodle & ST for this integration.
  • Produce mock-ups of the SSO, enrollment, & grading data. (XML)
  • Write down some use cases about ST+Moodle integration
    • Drop SchoolTool into existing Moodle site, leave Moodle as authoritative user directory, enrollment management system.
    • Drop SchoolTool into existing Moodle site, after bulk data transfer from Moodle->SchoolTool, flip configuration and use SchoolTool as the authoritative user directory and/or enrollment management system.
      • Could this be used to migrate to SchoolTool from another SIS (integrated somehow with Moodle) by way of Moodle?
    • Start fresh with both.
    • Drop Moodle into SchoolTool site.
    • Drop SchoolTool into Mahara site (and vice-versa, out of scope at present)
  • Where will the python mnet library live?
  • Grades will only go from Moodle to SchoolTool.
  • Can we allow the admin to choose whether auth directory goes from SchoolTool to Moodle or vice-versa?
    • Definitely want bulk update via cron available for the chosen transfer direction.
    • Optionally allow on-demand update per user if used before bulk update via cron. (Moodle works this way now.)
  • Can we allow the admin to choose whether enrollment authority is in SchoolTool or Moodle?
    • Definitely want bulk update via cron available for the chosen transfer direction.
    • Optionally allow on-demand update per user if used before bulk update via cron. (Moodle works this way now.)
  • What will the code between SchoolTool and the python MNET library look like? (This is probably where zope-related considerations come into play.)
    • What, in summary, does MNET provide?