This feature has been developed and is part of the current stable version of Koha

Virtual Bookshelves

Pat, Steve and ewan had a discussion on [http://www.haz.cmsd.bc.ca/cgi-bin/kohalog.pl?date=05Sep02&refresh=&firstline=257&lastline=427&eventid=14 IRC] about managing “collections” with Koha. We had a good discussion about using the concept of Virtual Bookshelves to handle this, and found that it might simplify a few other things in Koha as well.

VirtualBookshelves

  1. can contain a list of items, a list of biblioitems, or a list of biblios
  2. can have an arbitrary name, and will have a unique numerical identifier
  3. will have arbitrary metadata (properties) associated with it
    • Sharing information (private, only visible by the owner of the shelf; shared with a group of patrons; public, viewable by anybody)
    • Special circulation rules - Do not return to home branch, do not circulate, reduced loan time (ie 3 day loan)
    • Search query term - if the shelf is the result of a query, the query itself can be stored with the list of books that resulted
    • Creation date - useful for 'retiring' a stale cached query result
    • Access information - who has “write” or “read” access to the shelf.
    • Searchable - If a patron can perform a search query on the contents of this shelf

Patrons typically will only use “biblioitem” bookshelves, and will not need to be presented with the differences between biblioitem and item bookshelves.

Some uses for VirtualBookshelves

  1. Cache search results for faster response on popular searches
  2. Name search results so that patrons can pull up saved searches
  3. Creation of sub-collections within a library or branch
  4. replacing “itemtypes” field… this would allow an individual item to be a member of more than one itemtype
  5. store a patron's reading record (if he chooses to store such data)
  6. store a patron's “To be read” list
  7. A teacher of a course could add a list of books to a shelf for his course and ask that those items be marked non-circulating so students always have access to them at the library.
    • The teacher creates the list of materials that she wants to be non-circulating (or reduced to 3-day loan) and marks them as such
    • A librarian receives a notice that a shelf requires her attention. He can pull up a list of the contents of the shelf, the owner of the shelf, and the reason the owner is requesting this change in circulation rules. The librarian can approve or deny the request.
    • Optionally, create an access flag that grants teachers the right to put items on modified circulation shelves without librarian intervention.

Proposed Schema for VirtualBookshelves

Three tables: bookshelfs, bookshelfattributes, and bookshelfcontents

  1. bookshelfs
    • Fields
      • bookshelfid - int
      • bookshelfname - char(255)
      • bookshelfowner - int (borrower's card number, or '0' if it's a system defined shelf)
    • The combination of bookshelfowner and bookshelfname should be unique, bookshelfid is always unique by itself
  2. bookshelfattributes
    • Fields
      • bookshelfid - int
      • attribute - char(255)
      • value - char(255)
    • Will have some system-defined attributes like
      • 'shelftype' for determining if the shelf holds biblios, biblioitems, or items
      • 'queryterm' set if the shelf was generated as a cache of a search query
      • 'freecirculating' true if an item does not need to be returned to its home branch
    • Fields
      • bookshelfid - int
      • shelfitem - int (might refer to a biblio, biblioitem, or item depending on value of “shelftype” attribute)
  3. bookshelfcontents
    • Fields
      • bookshelfid - int
      • contentid - int
 
en/development/virtualshelves.txt · Last modified: 2006/05/11 07:50 by russ
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki