PAL (Princeton Academic Linker) Project Timeline Document
March 16th, Meeting:
Met to discuss the architectural design of the project,and to write the Project Overview Document. We downloaded the necessary software, thus passing our milestone of all having appropriate environments. We made and sent out a survey for faculty in order to obtain data on Blackboard application usage. Discussed issues in the main implementation.
March 18th
Got a primitive website to redirect the user to CAS and upon return, print out the ticket number.
March 19th
Edited the primitive website from the 18th to also print out the user's netid from CAS validation.
March 20th
All members have finished the Django tutorial.
March 30th
Met with Kevin Perry and Dennis Hood. Realized original model of information flow was not feasible due to the lack of proper credientials for the Miner. We decided to switch to writing a Chrome Extension with the same functionality: representing the information on Blackboard to a student user in a nicer format. We beta-tested simulating user actions in javascript through a primitive extension. Unfortunately, we ran into problems getting XMLHttpRequest to work.
March 31st
Met with Emily Lancaster, with whom we made the tragic discovery that Blackboard has ill-formed XML/HTML pages that sometimes don't close tags. Given this, we decided to skip XML parsing and just use regular expressions to extract information from Blackboard pages.
April 2nd
Divided up sections of BB among members to work on for Friday. Learned the HTML structure of BB and began to extract content and print to the console.
April 6th
Almost finished preliminary mining and printing to console. Begin to shift to populating Course objects. Aim to have fully populated Courses by Monday and a working UI by Friday.
April 9th
Finished preliminary mining. Clean-up error logs and begin UI.
April 13th
Able to clear the window and print (very) unreadable text to the user's browser window. Begin formatting the template layout of PAL and using CSS.
April 19th
Local storage capabilities in place. Backend architecture is only missing difference detection.
April 20th
Enabled recovery of prototypes after local storage and passing objects through messages.
April 23rd
Starting to build UI and necessary functions to populate a student's course information to the browser's window. Ran into problems running JS functions in the window. Waiting to hear back from Emily Lancaster for help.
April 25th
Solved problems with content script scope using Event Listeners. Changed all hrefs to event listeners for consistency.
April 26th
Preliminary UI is functional. Still doesn't populate / mine everything correctly. Potential bugs in mineAnnouncements and mineDocuments. Want to enable traversing folder hierarchies of Blackboard.
April 27th
Enabled Tools as a separate frame in PAL. Tabs for individual tools not yet enabled. Need to also enable tabs for other, nonstandard side bar elements such as Reading List. Tabs are able to be removed and restored. Moved Course Description from a tab to a separate dedicated link.
April 28th
Enabled viewing of the syllabus directly in PAL.
April 29th
Folder hierarchy traversal enabled. Enabled logout from BB. Enabled manual refreshing of courses. Implemented Loading status message. Fixed major bug in mineAnnouncements.
April 30th
Changed default tabs to include non-standard sidebar elements such as Reading List. Reveresed order of Course Materials and Assignments. Implemented properly sorted semesters. Added back-links for assignment submissions and tools. Changed auto-expansion of semesters to (hopefully) only expand the actual current semester.
May 1st
Updated to allow for multiple users on the same extension.
May 2md
Fixed bug with adding and deleting tabs in alternation. Checks for rejected XMLHttpRequests. Added Blackboard Link files to recognizes types. Added state-saves to allow user to return to where they were.
May 3rd
Added nested access to ICE. Fixed some small bugs in mining process. Proper miner for Announcements up and running.
May 4th
Save user's tab preferences. Fixed small bug in mine announcements. Fixed bug in duplication of memos.
May 5th
Detection of PDFs implemented to allow for selective display in-page.
May 6th
Fixed bug in PDF detection. Removes style tags that clog up memos and announcements.
May 7th
Re-introduce white-spaces into memos and announcements. Starting to fix bugs in difference detection architecture. Start to write documentation for final submission.
May 8th
Cleaned up code, unified appearances both in front UI and in CSS organization. Successfully made buttons and tabs rounded.
May 9th
Fixed some white spacing issues in PAL to help readability. Finished first round of difference detection. Fixed a bug in mining of documents. Changed logout system to allow for a single logout button.
May 10th
Added a logo in the extension preferences pane of Chrome. Fix bug in difference detection to not look through auxiiliary contents of Course objects as opposed to actual content from Blackboard. Added access to SCORE within PAL. Demo occurred.
May 12th
Removed opening of PDFs within PAL to allow for opening multiple documents at the same time. Make tabs fully clickable.
May 13th
Finished making tabs fully clickable, changed tab CSS, fixed bugs in diffs, finalized project, wrote reports, and packaged everything up!