Documentation

Find documentation for our Joomla extensions on this page.

JoomSchool - Manage Library and Transport

Two non-academic but everyday subsystems: a small library that tracks books, racks, members and checkouts, and a transport module that records routes, vehicles, drivers and per-route fares. This article covers both.

Overview

The Library subsystem turns JoomSchool into a basic book-checkout system: who has which book, when it was issued, when it is due back. It supports a catalogue (Books), physical organisation (Racks), grouping (Categories), a member roster and individual issue records.

The Transport subsystem records the school's transport routes — typically school buses or vans. Each route has a name, a vehicle registration, a driver and a fare. Students are linked to a route on their Student profile.

Both subsystems are independent of the academic structure, but they share the same student records, so changes to a student (renaming, unpublishing) ripple through.

Prerequisites

  • Students exist with class, section and roll number.
  • For the Library, the recommended order is: Categories → Racks → Books → Members → Issues.
  • For Transport, you only need the route, then assign students individually from the Student form.

Library

Book Categories

Components → JoomSchool → Book Categories (or via the Library admin sidebar).

The category list groups books by subject, language, age range or whatever organising principle suits your school.

To create a category:

  1. Click New.
  2. Fill in Category Name (required, e.g. "Science", "Fiction", "Reference").
  3. Click Save & Close.

Book Racks

Components → JoomSchool → Book Racks.

A rack represents a physical shelf or cabinet in the library. Tracking the rack number alongside each book makes shelving and stocktaking much faster.

To create a rack:

  1. Click New.
  2. Fill in:
FieldDescriptionRequired
Rack Name Free-text name (e.g. "Fiction A-M", "Reference north wall"). Yes
Rack Number Numeric identifier — usually a simple integer printed on a label on the rack itself. Yes
  1. Click Save & Close.

Books

Components → JoomSchool → Books. The catalogue.

To add a book:

  1. Click New.
  2. Fill in:
FieldDescriptionRequired
ISBN Book's ISBN. Used as the cataloguing key. Yes
Book Category Which category it belongs to. Yes
Rack Number Which physical rack. Yes
Book Name The book's title. Yes
Writer Name The author. Yes
Price Purchase price (used in inventory valuations). No
Quantity Number of copies in stock. Yes
Description Free-text summary or notes. No
Cover Photo Upload a cover image. No
  1. Click Save & Close.

Book Members

Components → JoomSchool → Book Members. A roster of which students are library members for a given academic year.

To add a member:

  1. Click New.
  2. Pick:
FieldDescriptionRequired
Class The student's class. Yes
Section The student's section. Yes
Division The student's division. Yes
Year Academic year for which the membership is valid. Yes
  1. The roll number is matched against the student record automatically (the form references the student via a hidden ID).
  2. Click Save & Close.

You can edit a membership when a student moves up a class or starts a new academic year.

Library — Book Issues

Components → JoomSchool → Library. The actual checkout register.

To issue a book:

  1. Click New.
  2. Fill in:
FieldDescriptionRequired
Class The student's class. Yes
Roll The student's roll number. The student is found via the class + roll combination. Yes
Issue Date The date the book was checked out. Yes
Period (Days) How long the student may keep the book (e.g. 14 days). Yes
Return Date The due date. Usually = Issue Date + Period. Yes
Book Category Filter to narrow down the book picker. Yes
Book The specific book being issued. Yes
Accept Book Yes/No toggle — Yes once the librarian has confirmed handover. No
  1. Click Save & Close.

Quantity in the Books list is decremented automatically when a book is issued and incremented when it is returned (you mark the return by editing the issue and changing Accept Book to Yes once it comes back, or by trashing the issue if the book was returned cleanly and you don't need a record).

Returning a book

JoomSchool keeps things simple: there is no separate "Return" action. Either:

  • Edit the issue record and update Accept Book plus an optional comment to indicate the return.
  • Trash the issue record if you don't need a return-history audit trail. The book's quantity returns to the pool.

Schools that need a full audit trail should keep all issues and use status changes; schools that just need to know what's currently checked out can prune trashed records periodically.

Transport

Transport Routes

Components → JoomSchool → Transports. The full list of routes the school operates.

To add a route:

  1. Click New.
  2. Fill in:
FieldDescriptionRequired
Route Name Human-readable name (e.g. "North Route", "Bus 7"). Yes
Number of Vehicle The internal fleet number for the vehicle. Yes
Vehicle Registration No The vehicle's road registration plate. Yes
Driver Name The driver's full name. Yes
Driver Contact No Driver's mobile or contact number. Yes
Route Fare Per-student fare for this route. Used as the default amount when assigning students. Yes
Driver Photo Optional photo of the driver. No
  1. Click Save & Close.

Assigning a student to a route

Open the student record (Components → JoomSchool → Students → click a student). On the Academic Info tab, the Transport field is a dropdown of every published route. Pick the route, save the student.

Removing a student from a route is the same: edit the student, set Transport to "Select Transport" (the empty option), save.

Updating route information

Click any route in the list view to re-open the form. Editing a route's name, fare or driver applies to every student linked to it — there is no per-student override. If your school charges different fares for different students on the same route, create separate routes.

Tips & Best Practices

  • Catalogue books with ISBNs even if your school has a small library — it makes future cataloguing software migrations much easier.
  • Print rack labels (just numbered tags) and stick them on the physical shelves so anyone in the library can find a book from its rack number.
  • Reset memberships annually. When you promote students to the next class, also re-issue Book Member records for the new academic year. Otherwise the membership status of last year's students lingers.
  • Photograph drivers. A driver photo on the route record is useful when parents call asking who picks up their child. Most schools snap a quick mobile photo on day one.
  • Use distinct route names. Avoid "Bus 1, 2, 3..." — those are identical at a glance. Prefer "North Route", "South Route", "Industrial Park Route".
  • Update the fare before the new academic year, so promotion picks up the new price.

Troubleshooting

SymptomLikely causeFix
Book Issue form's Book dropdown is empty. No published books exist in the chosen Category, or the Category dropdown is blank. Pick a Category; check the Books list view for published books in that category.
Quantity goes negative on a book. More copies were issued than the catalogue had. Adjust the book's Quantity manually to match physical stock.
Issue record doesn't show in the parent's view. The frontend doesn't currently expose library checkouts to parents. Library is admin-only; share information manually if needed.
Transport dropdown on the student form is empty. All routes are unpublished. Publish at least one route.
Student shows on a route but the fare is wrong on their invoice. The route fare changed after the invoice was created — the invoice keeps the original amount. Edit the invoice's pay type / total to the new amount, or re-issue.
Driver photo doesn't appear after upload. File too large or wrong format. Check Options → Attachments for size limits; re-upload as JPG/PNG.
Student returned a book but the quantity stayed the same. The issue record wasn't trashed and no return action was taken. Either trash the issue or edit it and use a workflow your team agrees on.
Cron Job Starts

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.

Ok