Chopped & Lowered
Cornell's Custom Modifications of AresCornell's Custom Modifications of AresMichael Cook, Cornell UniversityALA Midwinter 2011, San Diego
Why modify Ares?
Unique local requirements & issues:
CU Reserves search relies on multiple data feeds:
• Course data (locomotive) – via Cornell Registrar
• Ares data (the boxcars) – hosted by Atlas
• Voyager data (the caboose) – local availability info
Train won’t leave the station if they are out of sync
& if any are unavailable. Here’s an example . . .
Why modify Ares?
CHEME 6560 has a typo. It shows up in a list of all Ares courses, but not in a Search of the mash-up with LibGuides, roster info, etc.
Why modify Ares?
Challenges:
• Instructors don’t want to learn a new system
• Existing instructor interface lets users input anything
• Typos and duplicate courses
• Carpal tunnel syndrome
Solutions:
• Direct instructors to Blackboard where possible
• Authority control over input by users; keep them from messing
around with old courses
• Automate bibliographic input
Why modify Ares?
Deliverables:
Custom Ares instructor view interface:
• Streamline interface with clear instructions and help
options
• Provide authority control for course creation
• Provide automated bibliographic input for item
request creation
Stock Ares Header
New Menu using jQueryUi
Home Page
The stock Ares Menu and Status areas were removed, giving more screen space to content.
Create Course
Instructors are asked if they will have a Blackboard site or not. If they are they will be instructed to go through Blackboard.
Departments are pulled from Ares.
Course numbers and sections are pulled from an XML feed from the Registrar’s office.
RegistrarID is sorted in the background for matching purposes later.
Integrated HelpHelp buttons are located throughout the site.
Clinking one of these help buttons will open a small window with help for that section or item.
Course OverviewjQuery UI tabs
Cross Listing / Proxy pages are loaded and written to the page using jQuery.*
Links and functions are changed to custom written ones. **
User CreationProblem:• If a user is not in Ares they can not be added
as a proxySolution:• Catch “Invalid Username” error and create a
user using the Ares Web Services.
Proxy Request
Ares
Proxy AddedIn System
Not in SystemCU Directory
VcardGen Soap
RequestAdd User
Resubmit Request
Item Availability Table is populated with item barcodes. The barcodes are switched to their “Current” status from CUL’s Data Service using jQuery.Depending on the
“format” type, citation information is re-formatted using jQuery. This replaces the canned citation format provided by the Ares system.
CUL’s Data ServiceAres Server
Voyager
Current Courses
Items
Print Reserves
Current StatusItem Type
Items +
StatusXML
JSONCUL’s SitesCached
Cached
XML
JSON
A Barcode is stored in Ares allowing the connection to
Voyager.
CUL Site BlackboardAres
Ind. Library Sites
Mann’s Reserves SiteAn example of one of CUL’s Reserves drop-down lists used at some unit libraries.
Course list
Reserve list plus current status in Voyager
This example is filtered to show only courses that have print reserves at Mann’s Circulation Desk.
Sortable TablesAll tables are sortable using the jQuery tablesorter plugin.
Making a table sortable is as easy as:
$(document).ready(function(){$(".instructor-table").tablesorter({widgets: ['zebra']});
});
Document is loaded and ready
Make table sortable
Past Courses
Menu Items are disabled for past courses
Problem – Ares uses the same pages for all courses regardless if they are future, current, or past.
We don’t want users to add or change items or alter course information for past courses.
Solution - jQuery is used to re-write the links to add the tag CUL=past to the URL. Sub pages look for this tag and remove links to unwanted actions.
Form Changes
All hints/ descriptions are pulled from a set of “includes”. This provides one place to update the same information on multiple pages.
<DIV> tag is used to “float” fields to the right to show that they can be imported.
Search / Import button. • Search Catalog (Voyager)• ISBN import• RefWorks citation import.
Default Ares JavaScript has been updated to use jQuery.Benefits –
• Same coding practices throughout the site. • Allows for fewer functions.• More compact code.
Form ValidationReplaced Ares Server Side Validation with Client side validation.
Error Message(s)
Error Override buttonInstructors are allowed to override the errors and still submit the page with missing information.
Form Validation
A custom function allows staff to specify a field and response for each page.
Example:formValidate (['Title', 'ArticleTitle', 'Author'],
['A Journal Title is required for processing.','A Article Title is required for processing.','A Article Author is highly suggested.’],'formValid')
Logic:• The old system is absolute, either a field has a value or not.• New system allows the inclusion of “suggested fields” such as call number.• New system can be expanded to include pattern matching like URL verification.• New system removes the need to submit the form to the server and wait for a
response.
Multiple Copies
Copy selection box:When the form is submitted a JavaScript function looks at this number and submits the form to Ares that number of times. This allows for processing of multiple copies.
Catalog ImportCatalog / Import window is opened using a jQuery version of “Grey Box”.
When the user clicks “Import”, jQuery is used to retrieved the bib ID from the catalog; it then pulls the data from Voyager using its XML API. This data is parsed and inserted into the form.
The ISBN import uses the WorldCat ISBN Search data service.
Refworks Import
Individually exported from RefWorks citations can be pasted in the textbox. The information is parsed and inserted into the form for submission.
Batch Import
Multiple exported RefWorks citations can be pasted in the provided text box. This example has over 100 citations.
A new import form was made to allow instructors to import RefWorks citations.
Batch Import
Each citation is parsed and placed in a corresponding mini submission form, i.e. articles in an article form, books in a book form. This allows instructors to review the information, change the number of copies and pickup locations, etc.
Once the form is submitted each “mini form” is acted upon as if it was a single Ares form, using jQuery.
Blackboard
Menus were removed and replaced with tabs.
If a course does not have a department assigned instructors are prompted to update the course’s information.
Because of the way the Ares building block worked, course information gathered was not structured and hence useless. This forces instructors to update the course’s information providing useful information for linking elsewhere.
Current status is shown, just like the Ares Web Interface
Questions?
MANY thanks to Tom Trutt for screenshots of his jQuery work on Ares.
JQuery: http://jquery.com/
JQuery UI: http://jqueryui.com/
Creative Commons hotrod photo by "Mike" Michael L. Baird, http://www.flickr.com/photos/mikebaird/2302428315/
THANKS!