At the moment, you have to interrogate the MARCXML to determine if a record is suppressed using OpacSuppression, and you have to iterate through all of a bib's items to see if it's hidden/suppressed using OpacHiddenItems and OpacHiddenItemsHidesRecord. As Tomas said at https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=31161#c21, it would make sense to have a "suppressed" field in the biblio table so that we can determine a biblio record's OPAC visibility using a simple SQL query.
In theory, every bib record change would trigger an evaluation of whether or not the bib is "suppressed", and every item change should trigger an evaluation of whether or not that item is "hidden". There would also need to be an evaluation of whether or not the bib is suppressed if all its items are hidden.
We'd also need a maintenance script then, because if items make a record hidden can be changed on the fly. It would make things a bit less flexible for libraries again... having to ask someone to run jobs server side if often not an easy thing for them. Maybe this makes more sense for OpacSuppression only as a first step?
(In reply to Katrin Fischer from comment #2) > We'd also need a maintenance script then, because if items make a record > hidden can be changed on the fly. It would make things a bit less flexible > for libraries again... having to ask someone to run jobs server side if > often not an easy thing for them. Flexibility is what got us into this mess in the first place... > Maybe this makes more sense for OpacSuppression only as a first step? Sure.