Local Interface to SIS Data
Student Data
- Student Data downloads are done via ftp from boeprod.ad.students.ubc.ca (142.103.208.149) to
regi@regi.phas.ubc.ca (aliased to omega).
- Appropriate rule in the FWSM is setup as well as /etc/hosts.allow on regi.phas.ubc.ca. Also
need to check Iptables config.
- Home directory for 'regi' account is omega:/opt/sysadmin/sis/regi (not available on login server).
- Files are uploaded to MySQL database and all scripts access them from there.
Two files are downloaded from SIS:
- PHAS_classlists.csv:
- We get a nightly download of all students registered
in a PHYS or ASTR course - (plus APSC 459/479 and SCIE 001).
This file is used to:
- determine whether students are registered in a PHAS
course (for account creation and expiration)
- was previously used for access to restricted Carchive
course content
File location: omega:/opt/sysadmin/sis/regi/PHAS_classlists.csv
SIS Contact: Tony Gill (sisreports@exchange.ubc.ca)
The data should rollover to new academic sessions as follows:
Session From To
------- ---- --
Winter (yyyyW) Sep 1 Mar 31
Summer (yyyyS) Apr 1 Aug 31
Often have to make a request for a new session rollover.
- A nightly upload of this data to a MySQL database has been
set up.
Database: sis
Table: {session}_students
Script name: omega:/opt/sysadmin/sis/students.pl
Only the "current" session is saved to the database. Current session
is defined as:
for yyyy=current year: Jan to Mar (yyyy-1)W
Apr to Aug yyyyS
Sep to Dec yyyyW
- PHAS_programs.csv:
- We also get a weekly download of all students
registered in a
PHAS program (PHYS, ASTR, BIOP or ENPH). This file is used to:
- determine whether students are still registered in
one of
our programs, even though they may not be registered in a course (for
account expiration).
- create the PHAS student email lists (pa2, pa3, pa4
and
pastudents).
File location: omega:/opt/sysadmin/sis/regi/PHAS_programs.csv
SIS Contact: Tony Gill (sisreports@exchange.ubc.ca)
The data should rollover to the new academic WINTER
session on or
before
September 1st each year (probably have to make request for this).
- A nightly upload of this data to a MySQL database has
been
set up.
Database: sis
Table: {session}_programs
Script name: omega:/opt/sysadmin/sis/programs.pl
Only the "current" session is saved to the database. Current session is
defined as:
for yyyy=current year: Jan to Jul (yyyy-1)W
Aug to Dec yyyyW
- Script run daily to generate the pa* email lists:
mail crontab:
## update phas student lists once per day (/mail/slist/pa*/dist)
2 6 * * * /opt/sysadmin/slist/palists.pl
- excludes Eng Phys students and checks for valid addresses
Course Data
- There is a daily cron job to pull the SIS course xml files
from
the web.
Data Location: gamma:/wwws/courses/downloads/{session}/
Script Location: gamma:/opt/sysadmin/sis/get_sis.pl
- The session pulled depends on the current month:
for yyyy=current year: Jan to Mar (yyyy-1)W, yyyyS
Apr to Jul yyyyS, yyyyW
Aug to Dec yyyyW, (yyyy+1)W
- Files are of the form: DEPT_nnn.xml (eg. PHYS_100.xml)
- The list of courses for each department are in files:
00APSC.xml 00ASTR.xml 00PHYS.xml 00SCIE.xml
- A nighly upload of this data to a MySQL database has been
set up.
There are 3 tables per session - no data was thrown away
Database: sis
Tables: {session}_sections {session}_meetings {session}_instructors
Script name: gamma:/opt/sysadmin/sis/parse_sis.php
Debug script: gamma:/wwws/forms/courses/SIS/parse_sis.php
Perl Interface
Perl scripts that interface to this data:
Script location: gamma:/var/www/lib/perl/sql_lib/PAsql_SIS.pm
Documentation: grep "^##" {above file}
Test file: gamma:/var/www/lib/perl/Test/SIStest.pl
PHP Interface
PHP scripts that interface to this data:
Script location: gamma:/usr/local/lib/php/sis_class.php