Driving Moodle the Lancastrian Way
Ruslan Kabalin
Philip Tubman
Institutional VLE (challenges)
• Lots of courses!• Not taught how it is recorded
– 1 course for 2 ‘modules’ (co-teaching)– 1 course taught multiple times in a year (‘cohorts’)
• Use of Moodle for– Departmental pages– Career pages– Study advice pages– Library skills pages– Fire Safety pages– etc.
• Changing enrolments• e-submission/ e-marking
Additional challenges
• All courses available during entire time at Lancaster
• PhD appraisal system
• Postgraduate admissions portal
Principles
• Moodle does not make up the rules; the student information data (LUSI) is king (queen?)
• Moodle will never display official grades to students (related to above – the student portal/ interactive transcript does this)
• Departments can control their ‘VLE destiny’ (how many, when do students get access, whether to copy content forward…)
• E-submissions will be recorded and time-stamped in student information system
• Naming convention is enforced
What is LUSI?
• Homegrown student info system
– Data owned by registry
– System owned by ISS
• Managed in departments
• Operated using LUSI Desktop (Windows VB client)
Data in LUSI
• Modules
• Staff
• Enrolments
• Assessments
• Time tabling
• Current year, past and future
• PGR appraisals
Let’s look at some pictures
Moodle
• Introduced as Pilot in 2011 to replace buggy existing VLE
• Live since 2012
• HA infrastructure
• Packaged with more than 20 plugins
• Mahara integration
• Contributions to core
Some stats
• Up to 350 simultaneous users at peak time
• 3700+ unique logins per day
• 4938 courses (4528 automatically created)
• 36K active users
LUSI Integration
• Intermediate database and sync scripts
• Enrolment plugin that syncs Moodle
• Assignments submission information synced back to registry
How we sync
• Only API communication with LUSI
• XML::SAX for parsing large data on the fly
• Intermediate DB on PostgreSQL
DBAPI
LUSI Webservice
Sync Script
Moodle
/enrol/lusi
/local/luassignsync
Intermediate Database
Moodle comes to play
• Enrolment plugin– Uses intermediate database
– Uses idnumber filed as identifier
– Syncing various things• Categories
• Courses
• Cohorts
• Enrolments
• Groups and groupings
• Assessments (assignments)
Moodle comes to play
Categories syncing
• Builds and maintains category tree for 5 years
– Changes visibility
– Updates category names
– Moves category items
– Deletes category items
5-year sync window
13/1412/13 14/15 15/1610/11 11/12 16/17
Categories syncing
Course syncing
• Creates courses based on LUSI data
– Rolls over content from previous year if instructed
• Moves courses between categories
• Updates courses data (full name, short name)
Course syncing
• Shared courses
– Contains several modules
• Non-shared courses
– Contains one module
– Same module could also be a member of a shared course
• Students are enrolled to modules in LUSI, but transferred to course enrolments in Moodle
Course syncing
Cohort syncing
• Creates cohorts based on modules data
• Updates cohorts data
• Remove cohorts
• Maintain student enrolments to cohorts (based on module enrolments data)
Cohort syncing
Enrolments
• Course enrolments based on module enrolments data.
– Enrol users and assign roles
– Update roles
– Set enrolment validity dates
– Expire users who no longer enrolled
Enrolments
Syncing groups and groupings
• Create and maintain groups
– based on event data (e.g. lecture, seminar)
– based on modules data aka cohort groups
• Create an maintain groupings
– Event groupings
– Cohort groupings
– Alternate groupings
• Group and groupings membership updates
Syncing groups and groupings
Assignment sync
• Create and maintain assignments based on assignments data
– Normal Moodle assignments
– Turnitin assignments
• Limit assignment access to particular grouping.
• Sync submission event with LUSI
Assignment sync
Something else to sync?
PG applicant web boards
• Courses for PG offer holders
• User data comes from CRM system
• Uses applicant’s account that will be linked to real username at the start of academic year
• Courses represent faculties
• Created in LUSI similar to shared courses
PG applicant web boards
PG appraisals
• PGR record of studies
• Appraisal activities (e.g. supervisor meeting, confirmation panel, appraisals)
• Moodle courses represent faculties
• Course sections access restricted via grouping
• Grouping is determined by LUSI data
– Students
– Appraisers
– Panel members
PG appraisals
Thanks!
Contact us:
Ruslan Kabalin, [email protected], @rkabalin
Philip Tubman, [email protected], @philtubman