Why was the CART feature made to be a stored value? I am curious why a preference wasn't setup for an hour value, and if an item location is displayed anywhere, this setting could be compared to the timestamp and current time and if it is within the value entered, just display CART or Recently Returned or whatever next to the location. I know it would take changing things in several locations, but it seems this would be much more stable, and would also be less information to store. I don't know if it would cause a performance issue or not. Just thought I'd throw this out there.
Time comparisons in a lot of places could possible be more time consuming. We'd also need to pull information that is not available in some places like the XSLT built result list - the time of return would require querying the old_issues table. Having a value to query makes it easier for reporting - that might be another slight advantage. Instead of using the location, one could have imagined having a separate item column for the information. Other systems I know treat the 'cart' more like a status value, but it was always stored with the item. Thinking about this... could it be nice to have a 'reshelving done' feature that allows you to easily change all those 'cart' items returned in a time range back to their usual location without having to wait or schedule the cron?
(In reply to Katrin Fischer from comment #1) > Time comparisons in a lot of places could possible be more time consuming. > We'd also need to pull information that is not available in some places like > the XSLT built result list - the time of return would require querying the > old_issues table. > > Having a value to query makes it easier for reporting - that might be > another slight advantage. Instead of using the location, one could have > imagined having a separate item column for the information. Other systems I > know treat the 'cart' more like a status value, but it was always stored > with the item. > > Thinking about this... could it be nice to have a 'reshelving done' feature > that allows you to easily change all those 'cart' items returned in a time > range back to their usual location without having to wait or schedule the > cron? Either that, or the option of barcode batches, or a checklist that can be checked as one is shelving. Good options, but I think most libraries would rather the system do it automatically. But for those trying to be more accurate, small libraries might go with the time range, since they are handling less books. But there is no guarantee that it is actually shelved. Maybe if it had another status applied to it, like damaged, it is ignored? Just some thoughts.
In thinking this over more, I think it would be great if the item record had one or two shelving statuses available, along with time stamps, and a preference that could manage them. For example, if we had at least one temp shelving field with associated timestamp, we could use this for the cart feature (which I think should at least be renamed bookcart), and we could tell how long it has been since it was triggered. Then we have a preference that allows us to look at this field and watch for certain values, and then decide how long that value sticks around, in either hours or days. So, maybe the entry looks like: bookcart|1d or bookcard|12h But this would only work with 1 value. Sometimes we might want to have more than one value. Maybe we want the item to be on a display too. If we had another field with timestamp, we could have it setup for a temp display for a period of time: display1|31d Maybe we don't need to touch cart at all, and just have the other for displays? It WOULD be helpful if whether it was a cart location or display location, that it would show next to the permanent location rather than replacing it, as the cart location currently does.
Also, maybe we don't want certain locations to be put back on display when returned, and others we do. Maybe if we don't want an item to go back on the display when checked out, instead of a time period, we put something else: display1||x If the item is checked back in and the timestamp is not older than the time period in the setting, or if the time period is x, the location and timestamp are cleared, and it acts as normal. But if it has a time period that hasn't lapsed, when the item is checked in, there is an alert or flag on the item to let the staff know it goes back to display. Then maybe a predefined term, like bookcart, doesn't need to remind or flag items on checkin. Or maybe we can use another indicator to not remind/flag on checkin. That way we have options on everything? bookcart|1d|n I'm just shooting out ideas here. If there would be a better way to implement this and still provide the same abilities, I'd be open to suggestions.