docs: add guides/ and reference/ wiki pages
@@ -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)
|
||||
@@ -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
|
||||
@@ -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 |
|
||||
Reference in New Issue
Block a user