On May 28, 2008, at 13:45, "Mike Rylander" <[EMAIL PROTECTED]> wrote:
On Wed, May 28, 2008 at 12:14 PM, Josh Stompro <[EMAIL PROTECTED]> wrote:
This is a feature that my library system is tied to so it would need to be in place for us to consider migrating. We have found the feature to be very useful to our system, with very few problems. I apologize if this has already been discussed. I searched the mailing lists and documentation wiki
for anything similar to this and didn't see anything.

We've thought about it, but there's nothing written down today.
You've got my design juices flowing, though, and I have some ideas
I'll throw out there for others to comment on.

First, we have some underlying infrastructure now to support transit
persistence.  There's a persistant_transfer field on
action.copy_transit (yeah, it's misspelled...) which is meant to be
used (in the future) for processes like what you describe.  The idea
would be to set this flag on the transit if any base-line static rules
about "floating" the item in question suggest that it is allowed and
desirable.

We need a way of marking an item as floating, and to what set of
branches it should float.  The first thing that comes to my mind is to
do this a the copy_location level -- this is what, in the end, is
usually what librarians think of as a "collection code."  So, we add a
float_to field to asset.copy_location and to asset.copy.  In this
field we record one of three things:

 * the highest org unit in the org tree to which covers the locations
that the items can float
 * the (negated) id of the org_lasso[1] group that the item can float
within (setting the value to x * -1 flags this as a lasso ID instead
of an org unit ID)
 * null -- it doesn't float

So, at transit initiation, we check the destination against the copy's
(and copy location's, as a fall-back) float_to and see if the
destination is covered.  If so, we set the persistant_transfer flag.
When the item shows up at the destination we do any optional
title-level checks to see if the item should stay here (is it a
duplicate? not enough local holds? etc) and if not, ignore the
persistant_transfer flag.  If it /should/ stay, then we change the
circ_lib on the copy to be the transfer destination, making it stick
at the destination location.  We can find the original circ_lib for
these items by looking at the copy_location owner, and pull them back
by unsetting the float_to field on the copy_location (and maybe on the
copy) and setting the circ_lib to the copy_location owner.

Thoughts?

--miker

[1] org lassos are a new org_unit grouping contruct available in trunk
which allow searching among arbitrary, librarian assigned groups of
locations -- they represent logical groupings not modeled in the org
hierarchy

Wow! I'm glad you've put this much thought into it. In discussions about the Texas SILS project, I have encountered two related situations. Both situations are non-essential but would be considered significant features.

In one circumstance, the owning library will only make its collection available to consortium members that meet additional criteria. Specifically, this is a regional foundation that is willing to make material available to consortium members that have Friends of the Library groups that are active in the foundation (I hope that made sense). This sounds like a good place for an org_lasso.

The other situation involves interest groups that would like to develop special libraries but lack either the storage facility or a reliably available staff to operate it or both. The consortium libraries in an interest group's region would provide the storage and operation while the IG provides, and owns, the floating collection.

If I understand you correctly, what you describe will handle both situations.

My main question is about the org_lasso. You describe it as an XOR value. Does this mean you routinely pass around the entire list of locations as (a pointer to) an ordered bit field? Or is this a list of location tokens with a '-' prefixed? Your description leaves me a bit surprised.

Paul Waak
[EMAIL PROTECTED]




Reply via email to