System Processes
EUCLID data feed
The relevant part of the PebblePad data island specification is as follows (from Appendix 1 of the BRD):
- Groups
- UniqueId
- Title
- Description
- GroupMembership
- GroupUniqueId
- Username
Inside the data island, groups are very simple collections of students. We will be creating groups which correspond to Euclid courses.
Euclid does not have a 'uniqueid' for courses, so we will be creating one by concatenating the 4 PKs which define a course within Euclid. This is the same method used by LEARN. The uniqueId is constructed as follows
course_code || course_year_code || course_occurence || course_period
Additionally, we replace the '/' from course_year_code with '-', and replace any '+' in course_period, with 'plus'.
This unqueID generation can be easily done within the euclid view as follows:
SELECT c1_course_code ||REPLACE(c3_course_year_code,'/','-') ||c2_course_occurrence ||REPLACE(c4_course_period,'+','plus') UniqueId
The group title should be the name of the course.
The group description should be built from the four PKs, prefixed by 'Course', like the following example:
Course; MATH11094; 2011/2; SS1; SEM1
The group membership file should be a simple mapping of group IDs to student UUNs.
SQL scripts should be created to define these two new views, which should be named:
- eugex_pebblepad_groups_vw
- eugex_pebblepad_grpmembers_vw
An additional script should be written to configure the Euclid file generator for these new files. It must:
- INSERT a row into EUGEX_INTERFACE for both files
- INSERT a row into EUGEX_INTERFACE_OUTPUT for both files
- INSERT a row into EUGEX_INTERFACE_PROP for the groups file
The unix shell script on the java application servers must then be updated in order to generate the new files and include them for download.
The script can be found at: /u01/software/eugex/scripts/pebblepad/eugex_pebblepad.sh
The following lines must be added:
cp /u01/software/eugex/output/pebblepad/pebblepad_groups.csv /u01/software/eugex/htdocs/pebblepad/ cp /u01/software/eugex/output/pebblepad/pebblepad_groupmembership.csv /u01/software/eugex/htdocs/pebblepad/
Deprovisioning
There is a deprovisioning stage required once PebblePad have confirmed the new files are being processed. This stage must (in order):
- remove the three old files from the shell script
- remove the interfaces from the relevant Eugex interface tables
- remove the corresponding views.
Interfaces:
- SELECT rows with name = 'PEBBLEPAD_COURSES', 'PEBBLEPAD_PROGRAMMES' and 'PEBBLEPAD_ENROLMENTS'
- DELETE FROM eugex_interface_output WHERE interface_id = the rows selected above
- DELETE FROM eugex_interface_prop WHERE interface_id = the rows selected above
- DELETE FROM eugex_interface WHERE interface_id = the rows selected above
Views:
- DROP PUBLIC SYNONYM EUGEX_PEBBLEPAD_PROGRAMMES_VW;
- DROP PUBLIC SYNONYM EUGEX_PEBBLEPAD_ENROLMENTS_VW;
- DROP PUBLIC SYNONYM EUGEX_PEBBLEPAD_COURSES_VW;
- DROP VIEW EUGEX_PEBBLEPAD_PROGRAMMES_VW;
- DROP VIEW EUGEX_PEBBLEPAD_ENROLMENTS_VW;
- DROP VIEW EUGEX_PEBBLEPAD_COURSES_VW;