As it happens, the config.usr_activity_type already includes values for "circ", "hold", and "search", so a bit of of the infrastructure for this was anticipated.
If we add a column to config.usr_activity_type to specify the desired precision of the timestamp and sprinkle in the user activity logging calls in the right places, I think that would suffice. I think that the precision should be set at the activity type level rather than bothering with library settings -- and I think there's benefit in forcing a consortium to come to a consensus. Doing it that way would also make it a bit easier for a trigger to do the truncation of the timestamp.
I would advocate for the 'circ' and 'hold' event types to be both transient and inactive by default with the timestamp precision set to year and month by default.
As it happens, the config. usr_activity_ type already includes values for "circ", "hold", and "search", so a bit of of the infrastructure for this was anticipated.
If we add a column to config. usr_activity_ type to specify the desired precision of the timestamp and sprinkle in the user activity logging calls in the right places, I think that would suffice. I think that the precision should be set at the activity type level rather than bothering with library settings -- and I think there's benefit in forcing a consortium to come to a consensus. Doing it that way would also make it a bit easier for a trigger to do the truncation of the timestamp.
I would advocate for the 'circ' and 'hold' event types to be both transient and inactive by default with the timestamp precision set to year and month by default.