I think disallowing login altogether is a simpler, clearer approach. It would be confusing for patrons to be able to login but be unable to perform any actions, and there's a risk that their account info would be out-of-date (e.g. if the replica database is an older backup or if they've checked items in/out via offline circ during the read-only period). "Sorry, you can't login right now" is easier to understand. I bet it's also easier to implement.
Action trigger-based OPAC functions like "Email Record Details" should also be disabled in the UI in read-only mode. You need write access to the database to create a/t events, and read-only mode needs to work without db write access.
FWIW, I've tried running EG as-is with read-only database access. Basic search functions work just fine, and you can add titles to a basket (but see above about disabling action trigger-based functions). You can login to the OPAC, but trying to place a hold results in an internal server error, and updating personal info/preferences fails but you get an "account successfully updated" message.
I think disallowing login altogether is a simpler, clearer approach. It would be confusing for patrons to be able to login but be unable to perform any actions, and there's a risk that their account info would be out-of-date (e.g. if the replica database is an older backup or if they've checked items in/out via offline circ during the read-only period). "Sorry, you can't login right now" is easier to understand. I bet it's also easier to implement.
Action trigger-based OPAC functions like "Email Record Details" should also be disabled in the UI in read-only mode. You need write access to the database to create a/t events, and read-only mode needs to work without db write access.
FWIW, I've tried running EG as-is with read-only database access. Basic search functions work just fine, and you can add titles to a basket (but see above about disabling action trigger-based functions). You can login to the OPAC, but trying to place a hold results in an internal server error, and updating personal info/preferences fails but you get an "account successfully updated" message.