docs: add guides/ and reference/ wiki pages

Jonathan Miller
2026-06-23 10:53:46 -05:00
parent 456b16dd60
commit e8a44647bb
3 changed files with 89 additions and 0 deletions
+19
@@ -0,0 +1,19 @@
# Configuration
## Component Settings
| Setting | Default | Description |
|---|---|---|
| Loan period (days) | 14 | Default checkout duration |
| Max renewals | 2 | Times an item can be renewed |
| Grace period (days) | 1 | Days after due before fines start |
| Fine per day | $0.25 | Daily overdue fine rate |
| Max items per patron | 10 | Borrowing limit |
| Reservation hold (days) | 3 | Days a held item waits for pickup |
## Patron Setup
1. Patrons are CRM contacts with library card assigned
2. Create patron from Components > MokoSuite Library > Patrons > New
3. Link to existing CRM contact or create new
4. Assign borrowing limit and card number (auto-generated or manual)
+27
@@ -0,0 +1,27 @@
# Installation
## Prerequisites
| Requirement | Version |
|---|---|
| PHP | 8.3+ |
| Joomla | 6.x |
| MokoSuiteClient | Layer 0 (base) |
| MokoSuiteCRM | Layer 1 (contacts as patrons) |
## Install Steps
1. Download `pkg_mokosuitelibrary-*.zip` from [Releases](https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteLibrary/releases)
2. Install via System > Install > Upload Package File
3. Enable plugin: Extensions > Plugins > search "mokosuitelibrary" > Enable
4. Component appears under Components > MokoSuite Library
## Database Tables Created
- `#__mokosuitelibrary_items` — catalog items
- `#__mokosuitelibrary_item_copies` — physical copies per item
- `#__mokosuitelibrary_patrons` — library card holders
- `#__mokosuitelibrary_checkouts` — checkout/return transactions
- `#__mokosuitelibrary_reservations` — holds
- `#__mokosuitelibrary_fines` — overdue fines
- `#__mokosuitelibrary_fine_payments` — fine payments
+43
@@ -0,0 +1,43 @@
# Helper Reference
## CatalogHelper
| Method | Description |
|---|---|
| `search(filters, limit, offset)` | Full-text catalog search with availability filter |
| `getItem(itemId)` | Item with all copies and availability status |
| `getAvailableCopies(itemId)` | Copies currently on shelf |
## CheckoutHelper
| Method | Description |
|---|---|
| `checkout(copyId, patronId)` | Check out a copy to a patron |
| `checkin(copyId)` | Return a copy, calculate fines |
| `renew(checkoutId)` | Extend due date if allowed |
| `getOverdue()` | All overdue checkouts |
## ReservationHelper
| Method | Description |
|---|---|
| `reserve(itemId, patronId)` | Place hold on an item |
| `fulfillNext(itemId)` | Notify next patron when copy returned |
| `getQueue(itemId)` | Hold queue for an item |
## FineHelper
| Method | Description |
|---|---|
| `calculate(checkoutId)` | Calculate fine for overdue checkout |
| `getPatronBalance(patronId)` | Total outstanding fines |
| `recordPayment(fineId, amount)` | Record fine payment |
| `waive(fineId, reason)` | Waive a fine with reason |
## BarcodeHelper
| Method | Description |
|---|---|
| `generateItemBarcode(itemId)` | Code128 barcode for item |
| `generatePatronQR(patronId)` | QR code for patron card |
| `scanLookup(barcode)` | Identify item or patron from scan |