Table of Contents Design
Disregard the letters in square brackets (e.g. [a]) in the table of contents. They do not add meaning to the titles. They were simply designed to disambiguate sections on the ExamSeating page which have identical titles. That way, the links lead to the correct sections.
"In recent terms, Isaac Morland in CSCF has piloted a system for handling a large amount of the bureaucracy associated with midterm and final exams...It ought to represent a considerable simplification of the usual exam scheduling arrangements, particularly for midterm exams in multiple rooms...
The system will take a class list and assign each student a specific seat in one of the rooms assigned to your exam. It will then inform the student of his or her seat (via a secure web interface), and provide instructors with student-seat information as well. The instructor uploads the exam via another secure web interface, and the system prints the exams, with student names and ID numbers pre-printed on the exams. The exams are printed in order according to room and seat location, and distributed to proctors in the usual way. " — David McKinnon's email to instructors
The following terms are seen on the Seat/Candidate Classification charts found here:
http://odyssey.uwaterloo.ca/teaching/ems/classify
_Note_ : Although many instructors will not require this distinction, it is needed to take care of special cases.
"Reserved" indicates that a seat will not be handled at all by the automatic system.
Purpose
"Designation" - the choice of rush vs. assigned seating
"Designated" - the selection between "rush" and "designated" will be/has been indicated.
"Undesignated" - the selection between "rush" and "designated" will _not_ be indicated.
_Note_ : The exam seating system allows some exams to be assigned and others to be rush with no particular pattern. As of Dec. 4, 2012, rush was not used at all.
_See also_ : Fri, Dec 7 2012 09:54 entry of https://cs.uwaterloo.ca/cscf/internal/request_beta/UpdateRequest?86091
Schema visualization :
_See also_ : Thu, Dec 6 2012 10:07 entry of https://cs.uwaterloo.ca/cscf/internal/request_beta/UpdateRequest?86091
The first word in the table name is the class in the schema. In other words, it is the postgres equivalent of the directory.
https://cs.uwaterloo.ca/~omnafees/schemas/
_See Also_ : http://odyssey.uwaterloo.ca/teaching/admin
From Isaac Morland:
"Here are the steps that are performed weekly for midterms:
1) Wednesday: request list of OPD students from OPD (Hank Edwards, hedwards)...
The following query pulls a list of all the courses with examinations for the example week starting October 22:
select exam_id, admin_description from exam_exam natural join teaching_admin where primary_start_time between '2012-10-15' and '2012-10-22' order by admin_description;
2) Thursday: typically you will receive a .xls from Hank sometime Thursday. Please be patient as he is processing similar requests for other departments around the University. It will have columns for UW ID and course.
For the remaining steps, many queries are very similar, just applying different stored procedures to the same set of exams. I will write [current exams] to mean the following tail of a query:
... exam_exam where primary_start_time between '2012-10-15' and '2012-10-22'
(of course, substitute the appropriate begin and end dates).
3) Make sure all examinations for the next week have their default sittings (primary and OPD) set up. This is done by course staff clicking "create sittings". Make sure primary sittings have rooms attached.
INSERT INTO TABLE exam_sitting, exam_exam_sitting ...
4) Friday morning, after database has updated (about 10:15): Add students to examinations. This is done with the exam_add_candidates function, something like this:
select exam_id, exam_add_candidates (exam_id) from [current exams]
This selects candidates for the examinations, according to their membership in the sections attached to the admin unit, excluding students who have withdrawn (WD or WF grade). This will default all students to the primary sitting.
INSERT INTO TABLE exam_exam_student_sitting ...
5) Move OPD students to OPD sittings. This involves updating the sitting_id field of exam_exam_student_sitting appropriately based upon the information in the spreadsheet from OPD. More details to follow.
UPDATE exam_exam_student_sitting.sitting_id ...
6) Designate candidates. In practice this means designating as assigned all students in all sittings.
select exam_id, exam_assign_designate_candidates (exam_id, sitting_id) from exam_exam_sitting natural join [current exams]
UPDATE exam_exam_student_sitting.candidate_assigned = true ...
7) Designate seats in the non-OPD sittings. This means designating as assigned enough seats to handle the students.
select exam_id, exam_assign_designate_seats (exam_id, primary_sitting_id) from [current exams]
UPDATE exam_sitting_room_seat.seat_assigned = true ...
8) Check that everything looks right. This means opening up the main page for each examination and making sure that the total number selected = the number of candidates = seats designated as assigned. This could be done as a query, but the idea is to have some situational awareness so I do it by just looking at the main page for each examination within the time range.
These are all linked from https://odyssey.uwaterloo.ca/teaching/exam/.
9) Assign OPD seats. The 20060 magic number is the admin_id of the "OPD Accommodation" admin unit. This will also automatically allocate an appropriate number of spare copies for OPD.
select exam_test_assign_opd (sitting_id) from exam_sitting where (sitting_term_id, sitting_admin_id) = ('1129', 20060) and start_time between '2012-10-15' and '2012-10-22'
INSERT INTO exam_sitting_room ... INSERT INTO exam_exam_sitting_room ... INSERT INTO exam_exam_sitting_room_seat ...
10) Assign seats in primary sittings.
select exam_id, exam_assign_seats (exam_id, primary_sitting_id) from [current exams]
UPDATE exam_exam_sitting_room_seat.? ...
11) Allocate spare copies in primary sittings.
select exam_id, exam_assign_spare_count (exam_id, primary_sitting_id) from [current exams]
UPDATE exam_exam_sitting_room.? ...
12) Check that everything looks right. This means re-loading all the main pages for each examination and making sure that the total number selected = the number of candidates actually assigned a seat, and that there are no unseated candidates. Also, make sure the total spare count is shown, indicating that all rooms in all sittings have a spare count set. Again, this is situational awareness.
13) Assign sequence numbers.
select exam_id, exam_assign_sequence (exam_id) from [current exams]
At this point, the seat assignment side is completely ready for printing.
[Printed exams are in ijmorland@linux.cs:~/exams/*/*/ps/*.ps]
I left out what to do about special sittings - e.g., conflict accommodation or cultural accommodation, or whatever else an instructor may need. This comes up relatively rarely. They need to be handled at each stage - created on request, rooms attached to them, candidates allocated to them similar to step (5), and so on. The more you can handle this by expanding each step above to include any special cases, the less actual special handling you'll have to do (e.g. assigning sequence numbers twice), and the easier it will be because you'll be doing similar actions together.
UPDATE exam_exam_sitting_room_seat.? UPDATE exam_exam.?
Parallel to all of the above is a much shorter sequence of events involving preparing the PDF master, ending in approval of the PDF by a course staff member. Once both the assignment process detailed here and the PDF approval are done, the actual printing can go ahead."
_See also_ : Mon, Dec 17 2012 14:04 entry of https://cs.uwaterloo.ca/cscf/internal/request_beta/UpdateRequest?8609
B. "SMB is mounted."
4. Put PDF-format exams into the file system. 5. Use the script written by Isaac Morland called "Convert Versatile" to read PDF and to convert to PostScript. 6. Spool using printer-specific commands.
Note : With the Registrar's Office, there may be more than one exam in a sitting.
7. Get rid of the signature list for OPD, since OPD doesn't use it.
8. Copy to PDF directory. There is crossmounting, so you need to copy and delete.
9. Fill out the New Media Services Requisition (https://info.uwaterloo.ca/newmediaservices/newreq/index.php) online to automatically receive an email containing the PDF-format New Media Services form.
10. Fill out the PDF-format New Media Services form emailed to you. This form asks, e.g. which courses require printing and how many copies are needed. OPD sittings are simply mentioned on the same form as the one used for the regular exam, i.e. do not fill out a separate form for OPD sittings, because that makes price-calculation too complicated.
If a course has no ISG and the exam seating system is being used for the first time, introduce the exam seating system to the instructor. After the boxes have arrived, explain how to use the following:
Exam Scheduling Request Form Location
"An electronic version of the scheduling request form can be found here: https://odyssey.uwaterloo.ca/inform/final-examination-request/ (WatIAM/Quest userid and password required)
_See Also_ :
It should be possible to handle the form using the same system as used in RT#78256, with two important changes:
1) each form will be "owned" by the instructor to whom the paper version is currently sent, and they should be authenticated; 2) the forms should be pre-created by a mostly automatic process based upon the class schedule rather than being created upon request.
_See also_ : Thu, Feb 23 2012 11:12 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?81513
"Yesterday I sent a set of reminders to all form owners that had not been updated at all. We still need to be able to send reminders to form owners who have updated but not completed the forms.
Thinking about scheduling, I think it's reasonable, each morning, to remind the owners of any forms who updated the day before but who haven't completed. But how long should we wait before sending a 2nd, 3rd, etc. reminder? "
"The timing for updated-but-not-completed should be tighter than for not updated at all - not updated at all likely means they simply haven't had a chance to look at it, but updated and not completed may mean they think they are done even though they haven't actually indicated that they are done." -- Isaac Morland
_See also_ : Tue, Sep 4 2012 07:28 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?84502
_See Also_ : Fri, Apr 20 2012 14:22 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?81513
`Also had to figure out how to email instructors; it turns out MUO has no reasonable way of emailing all instructors. Instead I wrote a script to send email using our transactional email sender (same as used by graduate admissions for notifications).
_See also_ : Fri, Apr 20 2012 14:21 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?81513
It is now time to decide on arrangements for Spring 2012 final examinations. This term, we now have available an electronic version of the scheduling request form:
https://odyssey.uwaterloo.ca/inform/final-examination-request/
(WatIAM/Quest userid and password required)
Please let Nancy Orvis-Korn (norvisko@uwaterloo.ca) in MUO know if you need assistance or run into any trouble.
This form has one new question which offers you the option of using assigned seating for your midterms and/or final examination. " -- David McKinnon
_See Also_ : Fri, Apr 20 2012 14:22 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?81513
"There is an 'exam turnaround document' which Nancy in MUO normally fills in by hand with the information from the yellow forms. It looks like it should be easy to generate as a report from the database. Emails to instructors go out today; paper forms will go out Monday. " - Isaac Morland
_See also_ : Fri, Apr 20 2012 14:21 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?81513
_See also_ : Mon, Apr 23 2012 14:27 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?81513
The filled-in turnaround document is now available:
http://odyssey.uwaterloo.ca/test/final-examination-special
http://odyssey.uwaterloo.ca/test/final-examination-request (broken link)
I've attached an extract with course/instructor name for courses that haven't completed their online forms. I hope this gives you what you need for your mail-merge. It's already down to 66 courses.
There are some blank instructor names. These come about either because there are no instructors listed, or because there are multiple instructors but I'm not aware of a designated coordinator, or in a few CS cases because the ISCs are permanently assigned to the courses rather than just for the term (I used a query that only pulls term course assignments, not permanent assignments - this is a bit of a kludge which we can fix as we proceed).
A reminder of the URL for the online form:
https://odyssey.uwaterloo.ca/inform/final-examination-request/
note: trailing "/" is currently required, although I'm hoping to fix that.
Right now there are 60 forms not updated, 6 updated but not completed, and 30 completed.
_See also_ : Wed, Oct 7 2009 10:43 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?69509
Answers The completely unmanageable (by hand) part of the process is handled by the Cyon exam scheduling software, but there are still numerous manual steps, some involving a substantial amount of manual work.
Conceptually, the process starts with distributing an "exam turnaround document" to exam reps from each faculty, who indicate which sections are held together and which sections should be scheduled at the same time. For example, in CS, typically all sections of a course will be held as one exam. In other departments, frequently different sections have different exams, but it is still sometimes thought appropriate to have all sections write at the same time.
Large exams (over 100 candidates) are pre-slotted, more or less exactly as requested by the various departments through their exam reps.
Ann loads a file of courses and a file of students from Quest into Cyon. She uses the information from exam reps to manually indicate which courses (really class sections) are combined or held at the same time. She also sets the "location" to a number of specific values to indicate DE courses, courses without exams, and WLU courses. The "location" field in Cyon is not used to indicate specific rooms or PAC sections.
Eventually she uses Cyon to choose specific time slots, first for DE courses and next for other courses, working around the DE schedule. Also pre-slotted exams are already fixed, so the automatic scheduling works around them.
Exam times are exported from Cyon into an Excel spreadsheet. She then manually assigns exams to specific rooms or PAC sections. Note that this manual process allows her to be clever occasionally - e.g. putting a slightly-too-large course into a PAC section which is in front of a PAC section containing a small course.
An attempt is made with "See Prof" exams, i.e., ones which are scheduled but not administered by the Registrar's Office, to put the room booking information into the exam schedule spreadsheet. Sometimes the Registrar's Office actually books the rooms, other times the department finds space. In this last case, the department is supposed to inform Ann so she can put the rooms in the schedule.
The Excel spreadsheet is simply converted to PDF to post on the web.
This means that the Excel spreadsheet is the only place where the final room assignments are known. Also, the record of which sections are held together is only available on the exam turnaround documents.
_See also_ : Fri, Dec 11 2009 15:01 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?69509
_See also_ : Thu, Jun 30 2011 14:45, Mon, Jan 23 2012 14:58, Fri, May 4 2012 09:31 entries of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?69509
1. I have created Java code which works with the iText PDF manipulation library to stamp the required information on PDF files. The stamping takes place in two steps: first, take a PDF from an instructor and put a standard header in the top 4" of the first page and a standard footer in the bottom 3/4" of each page. Second, stamp the student-specific information on the exam blanks. The second phase includes code designed to take a directory of exam blanks and a PostgreSQL "copy" output file and produce the customized PDFs for printing.
_Future consideration_ : It may be desirable to customize non-exam-paper materials as well, including but not limited to OMR cards, answer booklets, and reference sheets. Central stores has an address printing device used to address magazines which may conceivably be adaptable for this purpose. In RT#43799 I made some preliminary enquiries along this line.
2. We used the customization for the CS 100 exam which will be written on Saturday. It worked fine using data exported from the ISG exam seating system.
The customization has been largely re-written to work directly from a PostgreSQL teaching/exams database. It also produces room maps, signature lists, and posting lists.
_See also_ : Mon, Mar 8 2010 14:28 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?69508
_See also_ : Wed, Nov 16 2011 14:27 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?77121 Permitted Materials
"Could the first page exam stamp also include a spot for the student's signature (with a note to sign using a pen)?" -- CS instructor
Permitted materials are now part of the examination stamping process. We would still like to incorporate a signature box if possible.
_See also_ : Mon, Jan 23 2012 15:02 entry of Mon, Jan 23 2012 15:02
Section Number Right now, we always print the primary section number (lecture section) on the identification label/block of each paper. At present it isn't configurable to print tutorial sections, for example - it always does the enrollment section. That's because The teaching/examination printing system currently doesn't know about enrollment sections.
Once it does it will be easy enough to print both lecture and tutorial sections on the papers. We want to have the option of printing other section numbers - e.g. LAB or TUT sections.
_See also_ : Wed, Oct 20 2010 12:31, Sun, Feb 20 2011 09:00, and Mon, Jan 23 2012 15:01 entries of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?74802
See also : Thu, Feb 2 2012 08:55 and Fri, Feb 17 2012 10:55 entries of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?81273
Right now we use "lpr -Pcsgsc_graphics" from core.cs or services108.cs to send files to print. Other relevant queues are "docutech6180" and "csadmin_graphics".
Discussed with Fraser. He indicated that setting up the queues on www150.cs is the way to go. He would also like PPDs for the printers so they can be fully set up in CUPS, although the normal use will be with lpr which bypasses CUPS." -- Isaac Morland
_See also_ : Thu, Sep 13 2012 10:17 and Thu, Sep 13 2012 12:52 entries of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?84796
"Can you please remind me the model number of the Ricoh printers, both where you are and in the DC Copy Centre (or whatever it's called now)?"
"In ST#84816 I've configured printing on www150.cs. (It was running lpd from the ubuntu lpr package. Now it's running cups.) Because of the BrowsePoll config, it tracks the print queues on print.cs.
Of the queues requested in this ST, only docutech6180. Isaac, please test whether that works.
I'll add the other queues when I have make, model and ppd info for them." - Fraser Gunn
I created these two new cups print queues on print.cs (alias for cups1.cs):
graphics_dc_ricoh Description: [CS internal] Ricoh Aficio 1060 Location: DC 1820B, Media.doc DC Driver: Ricoh Aficio 1060 PS (grayscale, 2-sided printing) Connection: lpd://lpr.graphics.uwaterloo.ca/cs Defaults: job-sheets=none, none media=na_letter_8.5x11in sides=two-sided-long-edge
graphics_gsc_ricoh Description: [CS internal] Ricoh Aficio MP 1350 Location: GSC 160, New Media Services Driver: Ricoh Aficio MP 1350 PS (grayscale, 2-sided printing) Connection: lpd://lpr.graphics.uwaterloo.ca/csgsc Defaults: job-sheets=none, none media=na_letter_8.5x11in sides=two-sided-long-edge
in addition to the existing:
docutech6180 Description: [CS internal] Xerox Docutech 6180 Location: GSC 160, New Media Services Driver: Xerox DocuTech 6180 (01.30.00) v2014.108 (grayscale, 2-sided printing) Connection: lpd://lpr.graphics.uwaterloo.ca/docutech6180 Defaults: job-sheets=none, none media=na_letter_8.5x11in sides=two-sided-long-edge
_See also_ : Thu, Nov 22 2012 17:12 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?84796
Note about CUPS
By default, cups loves to rewrite your input files with filters like pstopdf, pdftops and pstops. This might break (typically postcript) printer-ready files that have already had document finishing commands inserted. To avoid this, use raw mode.
If you have been using "lpr -Fl", you should instead use "lpr -l", because the MFCF lpr's -F option was a local addition.
Searching the cups help for "raw" finds:
http://print.cs.uwaterloo.ca:631/help/options.html?QUERY=raw#RAW
which says:
Raw or Unfiltered Output
The -o raw option allows you to send files directly to a printer without filtering. This is sometimes required when printing from applications that provide their own "printer drivers" for your printer:
lp -o raw filename lpr -o raw filename
The -l option can also be used with the lpr command to send files directly to a printer:
lpr -l filename
_See also_ : Thu, Nov 22 2012 17:41 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?84796
Options
1.
The (probably ppd for these) printers allows us to set a large number of options in cups. I have no idea what optional features are installed on the printers. The correct setting for "Fit to Paper" is debatable. I chose "Nearest Size and Crop" over "Prompt User" and "Nearest Size and Scale". Here is an example from graphics_gsc_ricoh:
Set Default Options for graphics_gsc_ricoh
Options Installed Large Capacity Tray: Tray 7: Finisher SR5000: Output Option: Z-folding unit: Multi-hole Punch Unit:
General Fit to Paper: Media Size: Media Source:
Job Log
Banners ... Policies ...
(For the Banners and Policies options, our standard settings are fine.) _See also:_ : Thu, Nov 22 2012 18:11 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?84796
2.
More about options: Here is an example of the lpoptions command:
www150$ lpoptions -p graphics_dc_ricoh auth-info-required=none copies=1 device-uri=ipp://172.19.32.10:631/printers/graphics_dc_ricoh job-hold-until=no-hold job-priority=50 marker-change-time=0 number-up=1 printer-info='[CS internal] Ricoh Aficio 1060' printer-is-accepting-jobs=true printer-is-shared=false printer-location='DC 1820B, Media.doc DC' printer-make-and-model='Ricoh Aficio 1060 PS on 172.19.32.10' printer-state=3 printer-state-change-time=1353617202 printer-state-reasons=none printer-type=27308246 printer-uri-supported=ipp://172.19.32.10:631/printers/graphics_dc_ricoh
www150$ lpoptions -l -p graphics_dc_ricoh PageSize/Media Size: *Letter A4 Photo Photo5x7 3x5 5x8 A5 A6 B5JIS CDDVD80 CDDVD120 Env10 EnvC5 EnvC6 EnvDL EnvISOB5 EnvMonarch Executive FLSA Hagaki Legal Oufuku w558h774 w612h935 WIDTHxHEIGHT PrintoutMode/Printout Mode: Draft *Normal High InputSlot/Media Source: *Default PhotoTray Upper Lower CDDVDTray Envelope LargeCapacity Manual MPTray Duplex/Double-Sided Printing: *DuplexNoTumble DuplexTumble None Quality/Resolution, Quality, Ink Type, Media Type: *FromPrintoutMode 300DraftGrayscaleK 300GrayscaleK 600GrayscaleK
_See also_ : Thu, Nov 22 2012 18:20 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?84796
"What I did was:
15:50 ijmorlan@core.cs$ lpr -Pcsgsc_graphics * 15:55 ijmorlan@core.cs$ pwd /u2/ijmorland/exams/afm491-m/print
But this will be obsolete as soon as ST#43799 is done. " -- Isaac Morland
_See also_ : Thu, Oct 25 2012 15:57 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?85461
_See also_ : Tue, Aug 28 2012 13:09 and Tue, Aug 28 2012 15:03 entries of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?84503
_See also_ : Tue, Aug 28 2012 15:38 and Tue, Sep 4 2012 07:25 entries of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?84503
_See also_ : Tue, Jan 24 2012 09:46 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?81097
_See also_ : Tue, Jan 24 2012 09:46 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?81097
Karen mentioned an issue with a student who was moved to OPD after seating for final examinations had been established. Similar cases have apparently caused trouble in other terms with grades being temporarily lost. This is because the student has two entries in the exam mark entry sheet and the lookup for the exam mark finds the zero one.
_See also_ : Tue, Dec 13 2011 09:41 and Tue, Dec 13 2011 09:43 entries of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?80637
Communicate the following to the requesters:
Rationale
_See also_ : Tue, Dec 13 2011 09:43 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?80637
Most of the instructors do not use the form of their name as listed in the class offerings list (i.e. Sandy rather than Sandra Lynn, Jeff, J.P.)
_See also_ : Wed, Dec 15 2010 11:21 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?75609
Communicate possible solutions to the requesters:
_See also_ : Wed, Dec 15 2010 11:21 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?75609
_See also_ : Sat, Oct 27 2012 16:52 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?85487
"I'll change the building codes for the EV buildings to EV1, EV2, EV3 as appropriate."
_See also_ : Sat, Oct 27 2012 16:55 entry of Sat, Oct 27 2012 16:55 https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?85487
Every Wednesday
Mon. - Sun.
_See also_ : Hank Edwards's contact information: https://uwaterloo.ca/disability-services/about/people/hank-edwards
Every Thursday
Topics Order Design
The following troubleshooting topics roughly follow the chronological order of the workflow (tasks to be done by USG for exam seating).
_See also_ : Tue, Apr 24 2012 14:09 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?82463
"The No Exam Bank option does not seem to be displayed properly under Internet Explorer 9. I check the box but the check mark does not appear on the confirmation page. Same thing happens with the Assigned Seating option. The check mark does not appear on the confirmation page even if you select the option.
But they work fine under Opera 11.52." Michael Liu
_See also_ : Tue, Apr 24 2012 14:10 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?82463
2) use images. Using disabled controls has the advantage that no browser should have a problem and they're guaranteed to look like the enabled controls. On the other hand, I wanted the display to look a bit different - like a "fixed" version of the original form.
_See also_ : Tue, Apr 24 2012 14:09 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?82463
_See also_ : Tue, Apr 24 2012 14:10 entry of Tue, Apr 24 2012 14:10
The problem is only apparent in some browsers, with the way the form is displayed in view-only mode. I'll need to correct this before we use the form again.
I've checked the form and MATH 239 has "Scheduled and Administered by Registrars Office" selected, as well as "no exam bank" (but not "assigned seating"). So as long as this is correct, you can go ahead and confirm it.
_See also_ : Tue, Apr 24 2012 14:10 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?82463
http://www.w3.org/TR/html401/interact/forms.html#adef-disabled
We hope this will display more consistently for everybody.
_See also_ : Wed, Aug 22 2012 17:12 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?82463
> I have attached an email from Joe. I have looked but don't see a problem,
> and told him that.
_See also_ : Tue, Apr 24 2012 13:44 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?81513
In the case of AMATH 231 I can confirm that "Scheduled and Administered by Registrars Office" is selected, and neither "no exam bank" nor "assigned seating" is checked. " -- Isaac Morland
_See also_ : Tue, Apr 24 2012 13:44 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?81513
Future consideration : get instructors to convert their PDFs to JPEG using ghostview.
My name is Jing Qi. I'm a first-year math student and my student number is ____.
Last week, when I tried to log into my account to check my Math 135 midterm
room and seat assignment on https://odyssey.uwaterloo.ca/teaching/schedule,
it showed "Error". This occurred again when I tried to check my Math 138 midterm room
and seat assignment.
For Math 135 and Math 138 midterms, I found that the name, which is "Ji Qi", and the userid, which is "j7qi" on the exam paper are not mine. However, the student number on the paper is actually mine. -- Jing Qi userid j23qi
_See also_ : Sun, Feb 20 2011 22:29 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76429
2) Is this (Winter 2011) your first term as a student at Waterloo?
3) Have you ever been employed by the University, and if so, when?
Also, can you please check your examination schedule (same URL as before) and tell me if it matches up with what you expect to see.
These answers will help me understand what went wrong with your WatIAM record.
_See also_ : Sun, Feb 20 2011 22:46 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76429
1) The first time I found this problem was on Feb,4th, the last
Friday before Math 135 midterm. When I tried to log in, the page turned to be purple and blue with some codes and software error.
2) I was an ELAS student last term, and this is my first term in Waterloo as a full-time student.
3) I have never been employed by the University.
"Her information corroborates my version of what happened. In particular, the P-761214792 is not her, even though it has the same userid. So j23qi really was unaccountably re-used for her when she arrived. " Isaac Morland _See also_ : Sun, Feb 20 2011 22:47 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76429
This is a tricky problem that concerns both WatIAM and the examination system so I want to be sure I fix it correctly.
Looked around in WatIAM extracts and identity database, and found three PDBIDs are involved.
P-150599 is Ji Qi, j7qi. P-761214792 was created with an HR ID, name Ji Qi, userid j23qi. Then this was merged to P-150599. P-850485847 was created later for Jinq Qi, but used userid j23qi.
Our system then went ahead and merged the above since j23qi was associated with both. Since when do we re-use a userid just a few months after it goes out of use?
WatIAM thought two people were the same person at one time. More recently, this has been corrected but the incorrect merge remained in the examination pre-labelling system.
This resulted in some of the student's information being mixed with some of somebody else's information.
_See also_ : Sun, Feb 20 2011 22:46, Sun, Feb 20 2011 22:32, and Sun, Feb 20 2011 22:46 entries of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76429
_See also_ : Sun, Feb 20 2011 22:46 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76429
This student's record (canonical userid) in the exam seating system may need to be adjusted. _See also_ : Fri, Mar 4 2011 10:49 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76535
"Do you mean y84lu? " -- Isaac Morland
"Yes." -- instructor
_See also_ : Fri, Mar 4 2011 12:47 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76535
The PDBID changed, even though it shouldn't; if the setting of canonical identifiers was automatic, this case would have been handled completely smoothly.
_See also_ : Fri, Mar 4 2011 12:51 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76535
odyssey_prod=> update person_identity_canonical set external_id='739177541' where (person_id, external_id_type) = (30048118, 'PDBID'); UPDATE 1 odyssey_prod=> update person_identity_canonical set external_id='y84lu' where (person_id, external_id_type) = (30048118, 'USER'); UPDATE 1
... and the names are back in the appropriate views.
_See also_ : Fri, Mar 4 2011 12:51 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76535
Please contact the server administrator, odyssey@uwaterloo.ca and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Apache/2.2.20 (Ubuntu) mod_fastcgi/2.4.6 mod_jk/1.2.32 mod_ssl/2.2.20 OpenSSL/1.0.0e Server at odyssey.uwaterloo.ca Port 443
For CS 145
500 Internal Server Error There was a problem attempting to generate the folders. Please contact ijmorlan@uwaterloo.ca for more assistance. Error: 'Exception in thread "main" java.lang.NullPointerException\n' '\tat ca.uwaterloo.odyssey.exams.Exam.sortFolders(Exam.java:92)\n' '\tat ca.uwaterloo.odyssey.exams.Exam.writeFolders(Exam.java:121)\n' '\tat ca.uwaterloo.odyssey.exams.printExamFolders.main(printExamFolders.java:32)\n ' Output:
_See also_ : Mon, Oct 1 2012 09:23 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?85095
_See also_ : Mon, Oct 1 2012 09:26 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?85095
Works fine from the command line, on the web server:
09:41 root@www150# export PGSYSCONFDIR=~www-data/.postgresql 09:41 root@www150# export PGSERVICE=_teaching_ui_prod 09:41 root@www150# basedir=~www-data/teaching 09:41 root@www150# export CLASSPATH=$basedir/java-jar/odyssey.jar:$basedir/java-jar/iText-2.1.7.jar:$basedir/java-jar/postgresql-8.4-701.jdbc3.jar 09:41 root@www150# echo $CLASSPATH /software/odyssey_apache/data/home/www-data/teaching/java-jar/odyssey.jar:/software/odyssey_apache/data/home/www-data/teaching/java-jar/iText-2.1.7.jar:/software/odyssey_apache/data/home/www-data/teaching/java-jar/postgresql-8.4-701.jdbc3.jar 09:41 root@www150# setuid www-data pwd /.software/regional/odyssey-3_apache/data/home/www-data/teaching 09:41 root@www150# setuid www-data java ca.uwaterloo.odyssey.exams.printExamFolders 25433 >~ijmorlan/25433.pdf 09:42 root@www150#
So what's the holdup?
_See also_ : Mon, Oct 1 2012 09:44 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?85095
Summary
Works fine from Mac command line; CS 135 still problem via Web. Immediate problem sidestepped for the Instructional Support Coordinator by emailing her the CS 135 folders.
Full Solution
"The problem with CS 145 was possibly because I had not yet assigned sequence numbers. It now comes up for me just fine - let me know if it's still causing trouble for you.
The CS 135 folders are giving me the same symptom you observed. This happens when the process takes too long to respond and the web server times out waiting for the CGI to finish. Strangely, I was able to run it from the command line on my Mac just fine, so I've attached the CS 135 folders. Please take a look at a couple of pages just to make sure I actually sent you the right file. Meanwhile, I'll continue working on this to figure out what the actual problem is.
Also, CS 135 printed on Friday and CS 145 is now spooled."
_See also_ : Mon, Oct 1 2012 09:32 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?85095
_See also_ : Mon, Dec 20 2010 07:39 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?75644
_See also_ : Thu, Dec 30 2010 13:47 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?75644
_See also_ : Thu, Dec 30 2010 14:33 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?75644
_See also_ : Mon, Dec 20 2010 07:40 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?75644
odyssey_prod=> update person_identity_canonical set external_id='bjkajgan' where (person_id, external_id_type) = (30249654, 'USER');
... and now I believe this student's examination schedule is displaying correctly.
_See also_ : * Sun, Feb 20 2011 22:59 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?75644 * https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?75644 In this S.T. item, we saw a userid get re-used.
Tue, Mar 1 2011 13:54 ddexter created the request Li changed his userid from sbli to shaoboli last term. During the current term, the assigned seating website gives the following error: < type 'exceptions.AttributeError' > Python 2.5.1: /software/.admin/bins/bin/python Tue Mar 1 13:47:32 2011
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
/software/pythonLibCscf-1/pythonlib/python-2.5/lib/site-packages/flup/server/fcgi_base.py in run(self=<flup.server.fcgi_base.Request object at 0x2aaaac0ddc90>)
556 """Runs the handler, flushes the streams, and ends the request."""
557 try:
558 protocolStatus, appStatus = self.server.handler(self)
559 except:
560 traceback.print_exc(file=self.stderr)
protocolStatus undefined, appStatus undefined, self = <flup.server.fcgi_base.Request object at 0x2aaaac0ddc90>, self.server = <flup.server.fcgi.WSGIServer object at 0xc35490>, self.server.handler =
He believes this is a result of the scheduling being done with his old ID instead of his current one. Is there a way to update this in our systems?
Student ID: 20396780
_See also_ : Tue, Mar 1 2011 13:54 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76535
https://odyssey.uwaterloo.ca/teaching/schedule/sbli
I see what is presumably the correct schedule.
Using the new userid:
https://odyssey.uwaterloo.ca/teaching/schedule/shaoboli
I get "no examinations currently scheduled". I don't get that weird error, but I believe that is related to the "current user" lookup.
odyssey_prod=> update person_identity_canonical set external_id='shaoboli' where (person_id, external_id_type) = (30166055, 'USER'); UPDATE 1
... and now the second rather than the first link works. I predict that they will now be able to see their examination schedule.
See also : Wed, Mar 2 2011 08:27 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76535
I replicated the problem in development. Problem occurs because the remote_identity is obtained by looking up $REMOTE_USER in person_identity_complete, which searches only canonical userids.
This is correct behaviour, since people should be using only their canonical userids, but there are two problems:
1) bad error message - system should explain clearly that "you are logged in as X but should be using Y". In the cases we are experiencing this would effectively tell people to use their old userids, so...
2) identity database isn't being fully updated - when the canonical identifier for a person changes, the database should be automatically updated accordingly. _See also_ : Wed, Mar 2 2011 08:51 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76535
I have updated your userid in the system. Please try to load the schedule again and let me know if it works now.
_See also_ : Wed, Mar 2 2011 08:29 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76535
We need:
1) useful error message when logging in with an unknown userid;
2) automatic update of identity database upon change in identifiers.
_See also_ : Wed, Mar 2 2011 08:51 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76535
Should error message be provided by CAS interface? Applications should be able to assume that they will only see valid userids in $REMOTE_USER. On the other hand if an application sees a bad userid maybe it shouldn't produce quite such an unfriendly message.
_See also_ : Wed, Mar 2 2011 09:24 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76535
I have updated your userid in the system. Please try to load the schedule again and let me know if it works now. _See also_ : Wed, Mar 2 2011 08:29 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?76535
_See also_ : Wed, Jun 20 2012 15:19 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?83482
_See also_ : Wed, Jun 20 2012 15:19 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?83482
"It seems that somehow you ended up with two WatIAM entries, and sometimes the exam system latches on to the wrong one as being yours. " -- Isaac Morland
_See also_ : Wed, Jun 20 2012 17:20 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?83482
"I've corrected [the double entry error], and you should now be able to see your seating information. Although The ISC has already emailed you your room for tomorrow, it would be helpful if you could try it out to make sure there will be no problems at final examination time. " -- Isaac Morland
_See also_ : Wed, Jun 20 2012 17:20 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?83482
Students select their exam sitting in Quest, unless they don't. Many on-campus students don't bother selecting because they assume it's obvious. DE would like to have all on-campus (taking an on-campus course as well as DE) students write on campus.
Quest has a page where students can see their DE-only exam schedule. Of course it doesn't show seat assignments at present. I will be meeting with David Bean from DE Information Systems whenever he has time in his schedule to discuss the data flows and how we should plan to integrate assigned seating into the existing process.
Exams may have blank answer booklets and OMR cards in addition to the question booklet itself. Other materials are possible but rare. At present students receive a bag containing everything and are to put everything in it when done. These bags are labelled with a barcode, primarily to allow checking off receipt of exams from remote centres.
My enhanced exam scheduling data model can already handle multiple exams in one sitting, and based on this morning's discussion I believe it can handle everything required by DE. If it is decided that courses should alternate to prevent plagiarism during the exam, then this would require the same additional code as providing the same feature for on-campus courses. This might also complicate exam set-up in the case where the different courses require different additional materials.
Not from the meeting, but on point: DE courses are clearly marked in the course data because they are in session 8 rather than the usual 1. So identifying them and handling them differently is not a problem.
_See also_ : Fri, Oct 9 2009 23:38 entry of https://cs.uwaterloo.ca/cscf/internal/request/UpdateRequest?69507
"Here are most of the steps involved in setting up the distance ed (CEL) exams. These are basically the same steps as the regular on-campus midterms you'll be dealing with, but with a couple of different steps related to the specific CEL process.
- import durations - import candidates
select cel_require_facility (facility_code) from (select distinct facility_code from cel_candidate where term_id = '1129') as t;
-- don't do 20060 manually first, eliminate last where clause: insert into teaching_admin_term SELECT DISTINCT term_id, admin_id FROM cel_candidate NATURAL JOIN cel_facility WHERE term_id = '1129' and admin_id <> 20060;
select cel_sittings_attach_candidates ('1129');
select cel_exams_set_primary_sitting ('1129');
-- use PAC space for all "CEL Finals" sittings: insert into exam_sitting_room select sitting_id, room_id from room_room_plus, exam_sitting where (sitting_term_id, sitting_admin_id) = ('1129', 20070) and building_code = 'PAC' and room_current;
-- use all seats, potentially: insert into exam_sitting_room_seat select sitting_id, room_id, seat_col, seat_row from room_seat natural join exam_sitting_room natural join exam_sitting where (sitting_term_id, sitting_admin_id) = ('1129', 20070);
-- Then reserve seats that are not to be used
-- Then manually allocate any manually-allocated exams
-- run cel_allocate_seats select cel_allocate_seats (24628); etc.
-- run normal exam_assign_seats -- designate exams as assigned update exam_exam set exam_assigned=true where exam_id in (select distinct exam_id from exam_exam_sitting natural join exam_sitting where (sitting_term_id, sitting_admin_id) = ('1129', 20070));
-- assign by name insert into exam_assignment_order select distinct exam_id, 'NAME', 1, true from exam_exam_sitting natural join exam_sitting where (sitting_term_id, sitting_admin_id) = ('1129', 20070);
-- designate seats select exam_assign_designate_seats (exam_id, sitting_id) from exam_exam_sitting natural join exam_sitting where (sitting_term_id, sitting_admin_id) = ('1129', 20070);
-- assign seats select exam_assign_seats (exam_id, sitting_id) from exam_exam_sitting natural join exam_sitting where (sitting_term_id, sitting_admin_id) = ('1129', 20070);
-- pseudo-assign remote centres select exam_test_assign_opd (sitting_id) from cel_facility, exam_sitting where (sitting_term_id, sitting_admin_id) = ('1129', admin_id) and facility_code not in ('OPD', 'WT12') order by facility_code;
select exam_test_assign_opd (24584);
-- assign sequence numbers (CS 100 only, for now) select exam_assign_sequence (25504);
-- get list of sittings for cover sheet generation: select string_agg (sitting_id::text, ' ') from (select sitting_Id from cel_facility, exam_sitting where (sitting_term_id, sitting_admin_id) = ('1129', admin_id) and facility_code not in ('OPD') order by sitting_id) t;
(also add OPD CEL sitting to the list)" -- Isaac Morland
_See also_ : Tue, Dec 4 2012 08:25 entry of https://cs.uwaterloo.ca/cscf/internal/request_beta/UpdateRequest?86091
Section's last update : Dec. 4, 2012
1. Go to odyssey.uwaterloo.ca/teaching
2. Click on "Teaching Info Index"
3. Click on "Create" next to the drop down menu.
4. Click on an exam.
5. Select a primary seating. (This is the most important selection.)
6. Select the duration.
7. Select the master uploader for that term.
8. Go to sitting view.
9. Edit the field for the room/location.
Note : The S.T. system was searched using
Of these results, the following list includes items with "Exam Seating" or "Exam Scheduling" in the subject or service field.
Note : It may be beneficial to retain the entries marked as "NU" - "not urgent for USG documentation". That's because if they are ever needed, it would be very time consuming to search through the S.T. to find them back.
I | Attachment | History | Action | Size | Date | Who | Comment |
---|---|---|---|---|---|---|---|
![]() |
BuildingtheAuthorizationList.pdf | r1 | manage | 124.6 K | 2012-12-11 - 11:35 | LilySong | Building the Authorization List |
![]() |
Findallcoursesectionsthatneedabrand-newadminunitautomaticalllycreated.pdf | r1 | manage | 129.7 K | 2012-12-11 - 12:47 | LilySong | |
![]() |
obtaincompletelistofsections.pdf | r1 | manage | 120.3 K | 2012-12-11 - 12:48 | LilySong |