Reference
Quick-reference information for the Library module: permissions, daily best practices, and a troubleshooting guide for common issues.
Permissions
Roles and capabilities for the Library module:
| Permission | Description | Default roles |
|---|---|---|
library.view | View books, copies, rentals, and reservations | Student, Teacher, Librarian, Admin |
library.books.create | Add new book records to the catalog | Librarian, Admin |
library.books.update | Edit existing book records | Librarian, Admin |
library.books.delete | Delete book records | Admin |
library.copies.create | Add physical copies to a book | Librarian, Admin |
library.copies.update | Edit copy details (barcode, location, condition) | Librarian, Admin |
library.copies.delete | Delete copy records | Admin |
library.rentals.create | Process checkouts | Librarian, Admin |
library.rentals.update | Process returns, renewals, mark lost | Librarian, Admin |
library.rentals.delete | Delete rental records | Admin |
library.reservations.create | Create hold requests | Student, Teacher, Librarian, Admin |
library.reservations.update | Update or fulfil reservations | Librarian, Admin |
library.reservations.delete | Delete reservation records | Admin |
library.manage | Full administration: fee waiver, bulk ops, settings | Librarian, Admin |
library.reports.view | View circulation reports and statistics | Librarian, Admin |
Custom roles
The roles above are defaults. Your school's admin can assign library permissions to any custom role. Check Settings → Roles to review your current configuration.
Best practices
Cataloging
- Always search for an existing record before adding a new book. Duplicate titles create split copy counts and confusing search results.
- Use ISBN import when the book has an ISBN — it fills bibliographic fields accurately and pulls in cover art, saving data-entry time.
- Set rental settings at creation time. It is easy to miss configuring late fee rates after the fact, leading to zero-fee overdue items.
- Tag books consistently. Agree on a tag vocabulary with your team (e.g. "exam-prep", "fiction", "grade-10") and document it somewhere accessible.
- Withdraw rather than delete titles with rental history. Withdrawal preserves the audit trail while hiding the title from active catalog searches.
Copy management
- Barcode every copy before putting it on the shelf. An unregistered copy cannot be checked out through the system.
- Set the shelf location field accurately. It appears in search results and helps patrons and staff locate the physical book quickly.
- Record condition at intake. Note whether a donated or purchased book arrives in fair or poor condition so that returning borrowers are not blamed for pre-existing damage.
- Run a stocktake quarterly. Walk the shelves, scan each barcode, and reconcile against the Copies list. Use batch operations to mark any missing items.
- Use the
repairstatus when a book goes to the bindery or for cover repair — it prevents it from being checked out while away.
Circulation
- Verify condition at checkout and at return — especially the spine, pages, and cover. Enter the condition accurately so the system builds a reliable wear history.
- Collect fees promptly. Unpaid fees accumulate and reduce the deterrent effect. Set a school-wide maximum unpaid fee above which checkouts are blocked.
- Process renewals before due dates — same-day renewals prevent unnecessary overdue flags.
- Send reminders 2–3 days before due. A timely reminder has higher return rates than a same-day notice.
- Use the Overdue tab daily as part of the morning library workflow.
Reservations
- Honour queue order. Avoid manually bumping patrons unless there is a documented priority reason — use the Priority flag for legitimate exceptions so it is auditable.
- Set realistic pickup deadlines. A 3-day window is the default; adjust based on your school's size and patron availability patterns.
- Cancel expired reservations promptly so that the copy becomes available for the next patron in queue without delay.
- Cross-check the Reservations tab when processing a return — if a reservation is waiting, fulfil it immediately rather than leaving the copy on the shelf.
Troubleshooting
Cannot check out a book
| Cause | What to check | Fix |
|---|---|---|
| No available copies | Copies list → all copies checked_out or reserved | Wait for a return, or add more copies |
| Book is restricted | Book detail → Restricted toggle is on | Disable restriction, or process checkout under a staff account with library.manage |
| Access level mismatch | Book access level is teachers_only but borrower is a student | Change the book's access level, or create a separate teacher copy |
| Borrower at rental limit | Patron has reached their maximum active rentals | Process a return first, or ask an admin to raise the limit |
| Borrower has unpaid fees exceeding limit | Borrower profile shows unpaid fee balance | Collect the outstanding fees before processing new checkout |
| Copy not available | Copy status is not available | Check the copy status — set it to available if it was incorrectly marked |
Copy status not updating after return
| Cause | Fix |
|---|---|
| Return dialog was closed before completing | Re-open the rental from the Rentals list and click Return again |
| Copy is linked to an open reservation | The status changes to reserved (not available) when a hold is waiting — fulfil the reservation to complete the cycle |
| Sync delay | Refresh the Copies list page — status updates in real time but may require a page refresh in some browser environments |
Reservation not being fulfilled
| Cause | Fix |
|---|---|
Copy was returned but status is available, not reserved | Check if the reservation is active and has the correct book linked. If the status is wrong, delete and re-create the reservation |
| Patron was notified but pickup deadline passed | Mark as no-show or expired, and notify the next patron in queue |
| Priority reservation skipped a patron | Review the queue — if a priority flag was set incorrectly, remove it and let the queue reorder |
Late fees not calculating
| Cause | Fix |
|---|---|
lateFeePerDay is zero on the book record | Edit the book → Rental Settings → set the late fee per day |
| Rental was returned on the due date (not overdue) | No fee applies — this is correct |
| Fee was waived by a librarian | Check the rental record for a waiver note |
| Copy was marked lost before a return was processed | Lost copies generate a replacement fee instead of a late fee — both can coexist; check the fee breakdown |
Book cover image not displaying
| Cause | Fix |
|---|---|
| URL was entered instead of uploading a file | Edit the book and re-upload the cover using the file upload control |
| Cover image URL has expired | Re-import the book from Google Books to refresh the cover, or manually upload a JPEG/PNG file |
| Image format not supported | Upload a JPEG, PNG, or WebP file (max 5 MB) |
Related modules
| Module | Relationship |
|---|---|
| Students | Library borrowers — student records link directly to rental and reservation history |
| People / Staff | Teacher borrowers — staff can borrow books with appropriate access level |
| Communications | Library notifications (pickup ready, overdue reminders) use the Communications module delivery channels |
| Finance | Library fees can be linked to student accounts for consolidated invoicing |