Data Model for Consortial Circulation in Libraries Danijela Tešendić Faculty of Sciences, University of Novi Sad Trg Dositeja Obradovića 4, Novi Sad, Serbia +381214852873 tesendic@uns.ac.rs ABSTRACT This paper deals with a data model of a software system used to 2. LIBRARY CIRCULATION Library circulation includes all activities associated with manage library patrons. This system is known as a circulation management of library users such as recording user data, charging system and is usually developed within a library management and discharging library items. In order to improve library system. The paper discusses functionalities of a circulation system performance, a large number of research papers in this field that allows circulation at the level of library consortium. Based on describe various aspects of circulation and some directions for these functionalities, a data model is made that contains all further development of electronic support for the process of necessary data for managing library users, both local users and circulation. Internet-oriented services provided to users and users from other libraries within the consortium. The presented internet-oriented communication and data sharing between model was used in the development of one particular circulation libraries represents a major direction in which research is headed. system, but consideration of the following can be useful in the The experiences presented in papers [2] and [4] show that the development of any other circulation system as well. electronic services that libraries provide to users allow more Categories and Subject Descriptors efficient use of either the printed or electronic library collection. H.2.1 [Database Management]: Logical Design – Data models In paper [3] several of those services are described and how they improve the library business. General Terms The most of the software system for circulation is commercial and Design it is not publicly accessible for downloading. What is possible is to download the accessible instructions for the users and, based on Keywords their contents, to analyze the software functionalities. The Library management system, consortial circulation, circulation systems enable standard activities related to the work with the system functionality, UML users such as charging and discharging, membership fee renewal, printing lending form and receipt, searching users and 1. INTRODUCTION publications as well as generating statistical reports. Some of Besides storing and recording a library collection, one of the main them include the support for UNICODE, bar code and RFID activities of each library is to provide that collection to library technology, printing and sending reminders to the users for the users. Its business affairs as related to its users are circulation, exceed of loan period and publication reservation. Client both within the local collection and the library consortium, and applications of the systems are implemented either as Windows interlibrary loans. There are a number of library management applications only supported by the Windows operating systems or systems that support these processes. On the Library of Congress as web applications. website for MARC standards there is a section with an overview A library consortium is an association of libraries in a particular of library software packages [5]. Some of those software packages area that work together towards improvement of services for its which support circulation are ALEPH 500, Voyager, Atriuum, patrons. One of the activities at the consortium level is consortial Polaris Library Systems, SirsiDynix Symphony, Evergreen circulation. The consortial circulation is a process in which users Integrated Library System and Koha. of one library are allowed to borrow books from other libraries This paper discusses the functionalities of a software system for which are members of the consortium. Member libraries of the circulation of a library collection with emphasis on the circulation consortium set up rules for the usage of library collections. Good within a library consortium. According to these functionalities, a examples for library consortiums are public libraries that are data model is made that contains all necessary data for managing composed of several libraries in a city area or university libraries library users, both local users and users from other libraries within within a university. To enable this activity, it is necessary to the consortium. Data model and functionalities are presented provide software support for the circulation of library collections using UML notation. The results presented in this paper were at the consortium level. In other words it is necessary to enable used in the implementation of the library management system user data exchange between libraries within a consortium. The BISIS [1] which is deployed and used in a number of university library where a user belongs to and/or pays fees represents his and city libraries throughout Serbia. The results presented could home library. When a user goes to a library which is not their be useful to anyone who is involved in the development of library home library, it is necessary to provide access to data about that management systems. user which is located in their home library. This access is needed, for example, to check whether the user has the privilege to borrow BCI’12, September 16–20, 2012, Novi Sad, Serbia. books. Also, when the user borrows the book in one library, this Copyright © 2012 by the paper’s authors. Copying permitted only for private and information should be available to other libraries in the academic purposes. This volume is published and copyrighted by its editors. consortium. Communication and data exchange among libraries Local Proceedings also appeared in ISBN 978-86-7031-200-5, Faculty of Sciences, University of Novi Sad. are defined by standardized NCIP (NISO Circulation Interchange 35 Protocol) protocol for exchange data about library users. The Librarian Hom e library protocol is public and can be downloaded from the official website of the protocol [6]. Besides its definition the site offers additional documentation that can be useful for understanding the protocol, news from the area of its development and use, as well Entering user num ber Choosing library as information about implementation of the protocol by various software vendors. 3. FUNCTIONALITIES OF CIRCULATION [Local user] SYSTEM In paper [7] modelling and implementation of a system that [Rem ote user] allows circulation for local library users are described. Functionalities of the system are shown and described using a use Connecting to home library case diagram. The diagram shows actions a librarian carries out Finding local user on a daily basis when serving users. These include registering new users, extending user fees, checking out and retrieving books Finding user and searching users and the library collection. In order to provide service for users who come from other libraries within a consortium, it is necessary to provide functionalities for searching, charging and discharging. Those functionalities now must include communication with systems of other libraries in Accepting user data order to exchange user data. Further in the text these functionalities are explained in detail using activity diagrams with the aim to observe differences in the operation of the system in the case of local users and in the case of users from other libraries. Based on these functionalities a data model is created Figure 1: Activity diagram for finding user data. and described in the next section. the publication’s item ID. Charging by searching the library The activity diagram in Figure 1 shows the functionality for collection is represented by the activity Searching publications finding data about users, whether the data is from a user in the and Finding publication. During the collection search the librarian local system or from a user in the library consortium. The selects from the search results the item ID of the publication diagram clearly shows differences in the operation of the system which is then checked out to the user. Charging of selected in the case of two types of users. Activities Entering user number publications is presented with the activity Checking out and Choosing library represents input of user identification publication. Depending on whether it is charging the local user or number and choice of the library which a user belongs to. Based charging the user from any other library, one of two workflows is on this information data about the user can be found. Depending performed. In the case of charging a local user, data about on what was chosen upon choice of library, whether the user is a charging is stored in the local system, which is represented with local user or a user from another library, one of two workflows is the activity Storing data about charging. In the case of charging a performed. In the case of a local user, data about the user is found user from another library, data is stored in the system of that in the local system which is represented with Finding local user library and that is presented with the activities Connecting to activity. If the case in point is another library in the consortium home library and Storing data about charging. This approach the application accesses the system of that library and finds the ensures that the user’s charging data from any library is stored in user’s data. This is represented with the activities Connecting to the one place from where they are available to all libraries in the home library and Finding user. After finding the user whether in consortium. Besides that a portion of the data about the user and the local system or in the system of another library, the user data their charges are placed in the local system for the purpose of is returned to the application for further processing which registering the charges of publications within the collection, represents the activity Accepting user data. In the case of local which is represented with the activity Storing data about charging user data a librarian is allowed to modify this data and save the remote user. changes made. But in the case of users from other libraries the One of the exceptions of the described functionalities can be librarian does not have the ability to change the data. unavailable network connection to user’s home library. In that The activity diagram in Figure 2 shows the functionality of case there are two solutions. One solution is to not allow charging charging the user. The differences among charging local users and of the user, which is bad solution from the viewpoint of the charging users from other libraries can be seen on the diagram. library users. Other solution is to allow charging and store data Functionalities of the renewals and discharging do not differ only in local system and, after connection is restored, store data in essentially from the functionality of charging and are therefore user’s home library too. This solution is bad for libraries because, left out from the paper. It is assumed that discharging is done in in the moment of charging, there is no way to check user’s data the same library as charging. Charging, which is represented with and all responsibility concerning correctness of user’s data is on the activity Charging, can be done in two different ways: by librarian. This approach is very error prone and because of that entering the publication’s Item ID or by searching the library libraries should decide which solution they are going to use. collection. Depending on the choice one of the workflows is Detail description of these solutions is omitted from the paper performed. The activity Entering Item ID represents entering of because it has no impact on data model. 36 Librarian Home library Library + nam e : String Location Charging 1..1 + address : String + nam e : String + city : String 0..* + last_user_id : int [Searching] + zip : String + email : String 1..1 0..1 0..1 [Entering number] + phone : String Searching publicatons Entering item ID number 0..* 0..* 0..* Finding publication Lending Record 0..1 + item _id : String + record : String 1..1 + charg_date : Date + discharg_date : Date Checking out publication + renew_date : Date + due_date : Date [Remote user] Connecting to home library 0..* 0..* 0..* [Local user] Storing data about charging 0..1 0..1 0..1 Storing data about charging local user Librarian Storing data about charging remote user + username : String + password : String + first_nam e : String + last_nam e : String + address : String + city : String + zip : String Figure 2: Activity diagram for charging users. + phone : String + email : String 4. DATA MODEL OF CIRCULATION + adm in : int SYSTEM Figure 3: Data model extension that allows storing user Based on the described functionalities a data model was created charges from other libraries. for the circulation system. This model is designed according to where the publication was charged, the loan period and the the requirements and set of data used in the library management librarian’s name who charged the publication. Information about system BISIS. It includes data required for both circulation within the date and the librarian also exist for renewals and retrievals of the local library collection and circulation within the library publications. It is assumed that renewal and retrieval is done on consortium. This model as well as the following considerations the same location as charging of publication. presented in this section can serve as the basis for the development of any circulation system and may be useful to In the previous section, the activity diagram in Figure 2 shows the anyone who deals with circulation systems. Moreover, with fewer functionality of the charging users. When it comes to charging modifications and adjustments according to needs of particular local users the previous described model satisfies all requirements library this model could be implemented within any circulation for carrying out this activity. Only change which is done is system. For example, libraries can have different sets of user’s possibility to have different locations for charging, discharging data which they store. and renewal of publication. To enable charging users from other libraries in the consortium the previously described model Paper [7] shows the class diagram of the data model for the requires some extensions. The activity diagram shows that while circulation system. This data model meets all system requirements the user charges from other libraries, data about charging is related to managing local library users. Within the model there is placed within the system of the library that the user belongs to. In a class that describes the user data which is stored in the system this way the data is organized within a consortium so that all (Users), a class that describes the data about user’s membership in information about a user is stored in one place from where it is the library (Registering), and the class that describes the data available for other libraries in the consortium. To make this about user’s charges (Lending). In addition to these there are happen it is necessary to resolve several tasks related to this data classes that represent the coders from which the values are taken. model. As previously mentioned the set of data shown in the model is adjusted to the system BISIS and the libraries that use it. As already mentioned in the current model an item ID number, location, date and librarian are stored for each charge. The first With regard to checked out publications the model stores only its task is related to the item ID number. In a system that stores data item IDs within the user’s charging data. Since the item ID about charging (the system of the library that the user belongs to) number uniquely identifies a publication, other data about this there is no information that ties the bibliographic record to the publication can also be found. Data about publications is stored in item ID number. In other words the publication is not identified, the form of bibliographic records that are located in another part because that information is in the system of the library where the of the system. Besides the item ID number within the user’s charging is done. Moreover, that item ID number could be charging data there is also the date and location within the library assigned to any publication that belongs to that system. This 37 Library home library, but rather stored in the system of the library which + name : String Location has performed the charging. The method of storing this data will 1..1 + address : String + name : String be explained later. + city 0..* : String + last_user_id : int + zip : String The class diagram in Figure 3 shows the data model extension + email : String 1..1 1..1 0..1 0..1 that allows storing user charges from other libraries. This + phone : String extension allows storing all user charges at the consortium level in the system of the library to which the user belongs. Figure 3 shows new previously explained classes, as well as the class Lending, Location and Librarian. All three associations between Lending and Librarian have zero value for lower value of 0..* 0..* 0..* 0..* multiplicity to enable to store charging without information about Librarian librarian who did it. + username : String RemoteUsers 1..1 Besides the data about charges being placed in the system of the + password : String 0..* + user_id : String user’s home library, the activity diagram in Figure 2 also shows + first_name : String + first_name : String + last_name : String that some data about charges and the user are stored in the system 0..1 + last_name : String + address : String + item_id : String of the library which performs charging. The reason for recording + city : String 0..* and tracking the charged publication within the system of the + charg_date : Date + zip : String 0..1 + discharg_date : Date owning library and recording the user who charged the + phone : String 0..* + renew_date : Date publications is to create various statistics within that system. + email : String + due_date : Date + admin : int The class diagram in Figure 4 shows the extension of the data model that allows storing data about charging in the local system Figure 4: Data model extension that allows storing charging of the library which performs charging. The class Remote Users data within local system. describes charges of users from other libraries within the means that when storing data in the system of the user’s home consortium. In addition to data about charging, this class also library, it is important to store information about the publication displays the user identification number, the user’s name and their itself. This task is solved by extending the data model with the home library. Based on this data it is possible to find other user class Record that contains a bibliographic record of the data stored in the system of the user's home library. Besides this publication that the user has charged outside the home library. data, an item ID number is stored for each charging of a This extension is shown in the class diagram of Figure 3. The publication, along with location and date of the charging, the loan variant that was chosen was to place the entire record in the class period for the charge and the librarian who performed the Record, not just some data from the record, because the charging. There is also data about the date, location and librarian circulation system BISIS already has an interface for work with for renewals and retrievals of publications. Classes Location, bibliographic records. With this solution there is no need to Librarian and Library are previously explained. extend the system which would work only with certain data from The class diagram in Figure 5 shows the entire data model of the records. circulation system within library management system BISIS. This The second task that needs to be solved in order to store data data model satisfies all the system functionalities related to about charging in the system of the user’s home library is related managing both local users and users from other libraries within to the location of charging. In the current model class Location the consortium. describes the circulation departments within the library where charging could be done. In order to input information into the 5. CONCLUSION model and the library where the charging is done the model is The circulation of the library collection today includes a wide extended with the class Library which describes the libraries range of services provided to users. Besides the availability of within the consortium. Each library has locations (departments) different information over the Internet, utilizing the collections of for charging and those locations are further described with the several libraries and delivering library materials to specific class Location. This extension is also shown on the class diagram locations is becoming a standard in the library business. This in Figure 3. This solution requires that the data about the libraries paper considers the functionalities of the circulation system that in the consortium and their locations be uniform and shared by all enables the use of collections of several libraries and supports the systems in order to uniquely determine in which library and in circulation within the entire library consortium. Based on the which location within the library is the charging performed. specified functionalities one possible data model of the system is The third task that needs to be resolved is related to data about the given and is explained in detail. This model and the following librarian who performed the charging. If this task could be solved considerations presented in this paper can be used as the basis for in a similar manner as the previous one, where for each charge it the development of any circulation system. The results presented is known which librarian from which library in the consortium in this paper were used in the implementation of the library level completed the task, this would mean that the data about management system BISIS. librarians would be shared at the consortium level. Such data organization in the consortium would not be practical because this 6. ACKNOWLEDGMENTS data is changed often. Thus the task is solved another way. For The work is partially supported by Ministry of Education and charges that are made at locations in other libraries, information Science of the Republic of Serbia, through project no. III47003: about the librarian is not stored within the system of the user’s "Infrastructure for technology enhanced learning in Serbia". 38 RemoteUsers Registering User categs + user_id : String Membership + start_date : Date + id : long 1..1 + first_name : String + expir_date : Date + name : String + id : long 0..* + last_name : String + cost : double + titles_no : int + cost : double + item_id : String + receipt_id : String + period : int + charg_date : Date 0..* 0..* + discharg_date : Date 0..* 0..* 1..* 0..1 0..* 1..1 + renew_date : Date + due_date : Date 1..1 Mmbr_types 0..* 0..* Users + id : long 0..* 0..* 0..* 0..* + sys_id : long + name : java.lang.String + user_id : String + period : int 1..1 0..1 0..1 1..1 + first_name : String + last_name : String 0..1 Librarian + parent_name : String 1..1 1..1 0..1 0..1 Edu_degree + username : String + address : String 1..1 + password : String + city : String 0..* + id : long + first_name : String + zip : int + name : String Location + last_name : String + phone : String + name : String + address : String + email : String 0..1 + last_user_id : int 0..* + city : String + umcn : String Organization + zip : String + doc_id : int 1..1 0..1 0..1 + phone : String + doc_no : String + id : long 0..* 0..* + email : String + doc_city : String + name : String + 0..1 + address : String + admin : int country : String + gender : String + city : String 1..1 + 0..* + zip : int age : String 0..1 0..1 0..1 + add_address : String Library + add_zip : int + add_city : String 0..1 + name : String Languages 0..* 0..* 0..* + add_phone : String + address : String 0..* 0..* 0..* + id : long + note : String + city : String + name : String Lending + interests : String 0..* + zip : String + remind_ind : int + email : String + item_id : String + occupation : String + phone : String + charg_date : Date + title : String + discharg_date : Date 0..* + student_card_no : String 0..1 + renew_date : Date + class_no : int Groups + due_date : Date 1..1 + pass : String + sys_id : long 1..1 + block_reason : String + user_id : String 1..1 1..1 + inst_name : String 0..1 + registering_date : Date 0..* 0..* + address : String Reminders Record + city : String Duplicate + zip : int + remind_date : Date + record : String + phone : String + remind_no : String + id : long + email : String + due_date : Date + dupl_no : int 0..* + fax : String + note : String Remind types + dupl_date : Date 1..1 + add_address : String + id : long + add_city : String Archive + name : String + add_zip : int Remind counters + rtext : String + id : long + add_phone : String 1..1 + sys_id : int + cont_fname : String + id : long 0..* + arch_date : Date + cont_lname : String + remind_year : int + content : String + cont_email : String + last_no : int Figure 5: Data model of circulation system. 7. REFERENCES [4] Joint, N. 2008. Is digitisation the new circulation?: Borrowing trends, digitisation and the nature of reading in [1] BISIS Library Management System, US and UK libraries. Library Review. 57, 2, 87-95. http://www.bisis.uns.ac.rs/ [5] MARC Records, Systems and Tools, [2] Boone, M. D. 2002. Taking FLITE: how new libraries are http://www.loc.gov/marc/marcservice.html visioning their way into the future. Library Hi Tech. 20, 4, 464-468. [6] NCIP Implementation Group website, http://www.ncip.info/ [3] Falk, H. 2005. Temple of the computer. The Electronic Library. 23, 2, 244-248. [7] Tešendić, D., Milosavljević, B., Surla, D. 2009. A Library Circulation System for City and Special Libraries. The Electronic Library. 27, 1,162-186. 39