-
Notifications
You must be signed in to change notification settings - Fork 9
Course Reserves
Launchpad could have a Course Reserves link in the header after ‘found a problem?”
Using the Course Reserves search form, a user would select a search type from course id, instructor last name, department, or book title. The form would submit a search request to launchpad with a reserves url as described below.
One approach could be to have the search form submit the request to Launchpad in this form
/reserves/searchtype/searchterm
/reserves/course/6302
/reserves/instructor/lancaster
/reserves/dept/acc
/reserves/title/accounting
Alternatively, the form could submit the request in the form /reserves/?q=title:accounting
Launchpad reserve search would return a table listing titles that match. The Title links are directed to search launchpad by bibid, Dept. links target reserve search by department, Instructor links target reserve search by instructor. Results might look something like the table below. (Dept is not linked because this result a search for department.)
Titles on Reserve for Department ACC
| Institution, Title | Dept | Course | Instructor |
|---|---|---|---|
| George Washington | |||
| Accounting / | ACCY | GW [2001] (#) | [Li] (#) |
| Business Law : The Ethical, Global, and E-Commerce | ACCY | GW [6601] (#) | [Moersen] (#) |
| Characteristics and Skills of the Forensic Accountant | ACCY | GW [6302] (#) | [Mankins] (#) |
| Financial Accounting / | ACCY | GW [1051] (#) | [Lucero] (#) |
| [Intermediate accounting] (#) / | ACCY | GW [6104] (#) | [Lancaster] (#) |
SQL for department search
SELECT
BIB_TEXT.TITLE_BRIEF, DEPARTMENT.DEPARTMENT_CODE, COURSE.COURSE_NUMBER, INSTRUCTOR.LAST_NAME, BIB_ITEM.BIB_ID, BIB_MASTER.LIBRARY_ID, LIBRARY.LIBRARY_NAME
FROM
(((((((BIB_ITEM INNER JOIN RESERVE_LIST_ITEMS ON BIB_ITEM.ITEM_ID = RESERVE_LIST_ITEMS.ITEM_ID)
INNER JOIN RESERVE_LIST_COURSES ON RESERVE_LIST_ITEMS.RESERVE_LIST_ID = RESERVE_LIST_COURSES.RESERVE_LIST_ID)
INNER JOIN DEPARTMENT ON RESERVE_LIST_COURSES.DEPARTMENT_ID = DEPARTMENT.DEPARTMENT_ID)
INNER JOIN INSTRUCTOR ON RESERVE_LIST_COURSES.INSTRUCTOR_ID = INSTRUCTOR.INSTRUCTOR_ID)
INNER JOIN COURSE ON RESERVE_LIST_COURSES.COURSE_ID = COURSE.COURSE_ID)
INNER JOIN BIB_TEXT ON BIB_ITEM.BIB_ID = BIB_TEXT.BIB_ID)
INNER JOIN BIB_MASTER ON BIB_TEXT.BIB_ID = BIB_MASTER.BIB_ID)
INNER JOIN LIBRARY ON BIB_MASTER.LIBRARY_ID = LIBRARY.LIBRARY_ID
WHERE (((DEPARTMENT.DEPARTMENT_CODE) Like “ACC”)
AND ((COURSE.END_DATE) Is Null Or (COURSE.END_DATE)>Now()))
ORDER BY DEPARTMENT.DEPARTMENT_CODE, LIBRARY.LIBRARY_NAME;
// The WHERE clause would be built dynamically depending on the query parameters.
// instructor match would be ucase( INSTRUCTOR.LAST_NAME) LIKE “*SMOOT*”
// course number match would be COURSE.COURSE_NUMBER LIKE “*4500*”
// title match would be ucase(BIB_TEXT.TITLE_BRIEF LIKE “*ACCOUNTING*”
// Oracle SQL may have different names of the functions for Now() and Ucase
// There could be more than one consortium library’s reserve items retrieved. UI could separate by
// library
Result
Accounting /|ACCY|GW 2001|Li|11880492|7|GW