This page is for sketching out ideas for reserves implementation, much to be added here…
do we want an option to list all openly accessible reserve items without requiring authentication?
Different options are presented based on permissions levels. Ultimate permissions are given to the admin account.
ReservesDirect has fairly extensive documentation and this implementation mostly consists of mapping a few slightly different approaches in addition to using it as a model. Ideally, we could make good use of our campus directory system for feeding and/or prepopulating many of the options. For example, creating classes can be done completely within the system, and this would be necessary for many sites, but it would be beneficial to leverage other campus systems for this information.
The "role" based access levels are quite straightforward. The system includes a role for Custodian that allows service desk staff to assist patrons who have forgotten their passwords. The demo site allows access to the system using each of the roles.
The Users and Permissions section describes each role in detail, and each of these seems well worth targeting. If we could associate barcodes and campus ids with the user table, it would be possible to avoid having to allow users the ability to create their own user ids. ReservesDirect uses additional fields (ILS User ID and ILS User Name) for referencing the ILS, but it might be worthwhile to avoid storing more than one ID for a user if possible. Additionally, instead of using a "Not trained" distinction for instructors, there might be scope for a mechanism to suspend access by an administrator.
The ability to join or leave classes on the fly is a very desirable feature, since campus systems can not always be trusted to have course changes immediately recorded.
If a physical item is added to the system, a link is made back to the ILS for fuller description. There are also options for creating item records on the fly. Evergreen has a rich permissions system and it would make sense to tap into it for updates within the ILS. Some courses can have a very large number of materials on reserve and it would be beneficial to have several "sort" options if possible (sorting is available within lists). Another useful feature would be an indication of how many times the item has been selected by the user.
The ability to deactivate, reactivate, and activate/deactivate by date is highly desirable. There is much functionality hidden in the Headings support and instructors would benefit from the ability to define categories for reserves materials, e.g. Week 1.
The system could also be a starting point for building lists of materials, especially if there were strong export options.
OpenSRF makes for a strong embedded search widget, it would be nice to have a pluggable architecture for this
When a physical item is checked out, there will be a pass-through to Evergreen. It would be beyond the scope of the reserves system to assess fines but it would be useful if it could provide a notification function and mediate access based on current statuses. For example, a patron with a 2 hour loan item should not be able to request another item beyond the point when the first one is due. Python has some scheduler support and there has been some work on a scheduler specific to django, but it is probably best to keep a running list of time sensitive events and consult the list as needed. This might include:
One scenario might be to call out to Evergreen and return the date/time due value as part of the transaction.