- the public catalogue is bound to the machine itself by default (OPAC_BIND) and,
if ever exposed, requires a library-card login (OpacPublic=0)
- a read-only guest login (VIEWER_USER/VIEWER_PASSWORD) in Quick Add: it may load the
page, read state and search; every other endpoint is admin-only (403); the page
shows only Find a book
- the guest deliberately has NO Koha account: Koha's 'catalogue' permission, the
only one that allows searching, also allows creating/editing label layouts and
templates (tested: a guest created a layout), so it cannot be read-only
- koha/ensure.pl (every start): staff-home 'Library tools' block, and removal of a
guest account an earlier version created
- kiosk add-on shows Find a book signed in as the guest; the admin login never
goes into the kiosk config (tested, incl. a mutation check); old public-catalogue
tabs are cleaned up
- existing installs keep their current public-catalogue behaviour on update
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013wi3ZSot4XbUViwRFgLpRf
- Apache in the Koha container serves Quick Add at /add/ on the staff site
(KOHA_QUICKADD_URL); koha now starts after quickadd so the name resolves
- Quick Add: relative API paths so it works at / and /add/; Add books / Find a
book tabs; search by title, author or ISBN showing each copy's shelf and status
(/api/search); Manage and Public catalogue links
- staff home gets a 'Library tools' block (HTML customizations, how Koha 26.05
stores it) linking to Add books
- installer, kiosk add-on and READMEs advertise one main address; the public
catalogue stays on its own port (Koha gives public and staff sites the same URL
shapes, so they cannot share one address)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013wi3ZSot4XbUViwRFgLpRf
- lib/docker.sh: shared Docker/Compose tooling (on-demand install via apt or
get.docker.com, compose wrapper, container state/health, HTTP wait)
- menus/addon_library.sh: install/update/uninstall the Koha + Quick Add stack
from library/ to /opt/kiosk-library, add the catalogue as a kiosk page
(duration 0), choose kiosk-only vs LAN access, show addresses and login
- wire into install.sh menu, complete_uninstall and clone_settings
- tests/addon_library.test.sh: 41 checks against a stub sudo/docker and a
fixture stack (no root, Docker or network needed)
Note: the 'network access' choice relies on a BIND_ADDR setting in the
library stack, added in a follow-up commit.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013wi3ZSot4XbUViwRFgLpRf