Skip to content

Course Reserves

Michael Cummings edited this page Feb 28, 2014 · 20 revisions

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

Clone this wiki locally