red1.org Forum Index red1.org
Nihili est - in vita priore ego imperator romanus fui
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Library Management System

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    red1.org Forum Index -> College ERP Project
View previous topic :: View next topic  
Author Message
red1
Site Admin


Joined: 06 Jul 2004
Posts: 1756
Location: Kuala Lumpur, Malaysia

PostPosted: Tue Nov 29, 2005 8:51 am    Post subject: Library Management System Reply with quote

Sam, can pls give the standalone module for Library system? Give some howto make it work.
Some writeup on how to integrate to MYSQL will be good or we can meet to work on it.
Gan, u got the library specs with u? I dont recall client needing anything specific. But if u got anything on it, pls paste here.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Gan MH
Senior


Joined: 08 Apr 2005
Posts: 350

PostPosted: Tue Nov 29, 2005 3:08 pm    Post subject: Reply with quote

I have some papers on library module with me. Will go tru and paste any special specifications here. Perhaps, Sam can also list down all ready-functions in the existing library system. From there I can make comparison, what we have and what we don't have.
Back to top
View user's profile Send private message Yahoo Messenger MSN Messenger
Gan MH
Senior


Joined: 08 Apr 2005
Posts: 350

PostPosted: Thu Dec 01, 2005 12:59 am    Post subject: Reply with quote

1) LIBRARY MEMBERSHIP REGISTRATION (Students, Supporting Staff, Lecturer) – RM5 is charged for any replacement card

2) CYBERNETICS LIBRARY SERVICES

i) Borrowing Service – there are 2 different sections:

Section 1: Reference Section:
Student – 2 volumes for usage within the library
Lecturer – 2 volumes within 1 week
Staff – 2 volumes within 1 week

Section 2: Common Reading Section:
Student – 3 volumes within 1 week
Lecturer – 4 volumes within 1 week
Staff – 4 volumes within 1 week

ii) Borrowing from other libraries
- making request to National Library by filling up Inter Library Loan (ILL) Form // probably the system keeps track of which student and what book only

iii) Reference – book/material cataloguing

iv) Novel Renting
- 2 volumes within 1 week per individual, RM0.50 per volume
- RM0.50 penalty for every single day delayed

v) Internet Service – 15 minutes usage per individual // this might not be relevant

vi) Student Group Discussion Room
- pre-booking is required
- 2 hours slot for maximum of 10 students

vii) Staff Resource Center – for lecturer and staff only // this might not be relevant

I was informed by Khairin that, Cik Haslina who prepared the document on library module has left Cybernetics. He will introduce the new Chief Librarian to us on our next visit.

-- to be continued --
Back to top
View user's profile Send private message Yahoo Messenger MSN Messenger
red1
Site Admin


Joined: 06 Jul 2004
Posts: 1756
Location: Kuala Lumpur, Malaysia

PostPosted: Wed Dec 14, 2005 11:03 am    Post subject: Reply with quote

I have uploaded the Library System from Sam here: http://red1.org/Cybernetics/library.zip and http://red1.org/Cybernetics/library_data.zip

To run is to put them exactly in C:\library and the data in C:\library\data only.

Then double-click the Index.htm and it will pop-up the system. Gan can amend the JSP pages to make it into Cybernetics design.

But this way is wrong as it shuld run from http://localhost:88/. After import the project into Eclipse and Run Tomcat there. I cant run from there cos its not reading the jsp files, must be context not loaded rite. Shuld be ok after some t/shoot.

Solution is to rite-click the Eclipse project > Properties > (General tab) Context > (add the word: /library)

Then run http://localhost:88/library .
Back to top
View user's profile Send private message Send e-mail Visit poster's website
red1
Site Admin


Joined: 06 Jul 2004
Posts: 1756
Location: Kuala Lumpur, Malaysia

PostPosted: Thu Dec 15, 2005 9:27 am    Post subject: Reply with quote

To deploy the library system as a tomcat project without going thru Eclipse:

1) Just put the library folder in your local Tomcat folder
2) Leave the C:\library\data alone as it is refered to for data
3) Startup tomcat/bin service
4) See it in http://localhost/library

I tried it and can see the 3 books in the database. I can create new students ID. But i dont know how to check out a book as it ask for CALL NO which i cant see any explanation yet. Will debug from Eclipse and see what it looks up.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
red1
Site Admin


Joined: 06 Jul 2004
Posts: 1756
Location: Kuala Lumpur, Malaysia

PostPosted: Sun Dec 18, 2005 11:00 am    Post subject: Reply with quote

Sam wer can we find the support site for the library system, as we need to t/shoot it. I think there is Tomcat setting issue cos we hit this error when we try to check in the book Rohana Awang borrowed:
Code:
Dec 18, 2005 10:57:30 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
   at org.apache.jsp.jsp.in.checkin_jsp._jspService(org.apache.jsp.jsp.in.checkin_jsp:49)
   at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
   at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
   at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
   at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
   at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
   at java.lang.Thread.run(Unknown Source)
Back to top
View user's profile Send private message Send e-mail Visit poster's website
sbahrin
Regular


Joined: 17 Dec 2004
Posts: 81
Location: Malaysia

PostPosted: Tue Dec 20, 2005 12:35 am    Post subject: Reply with quote

Sorry.. lama tak tengok forum. Agak kalut sekarang ni sebab kat ofis especially at CYBERMED dah ade requirement untuk module TIMETABLING, and also, kat situ akan buat first student registration on 27 Disember ni, so need to prepare some things especially on accounting parts which needed during registration.

OK.. for the library system.

CALL NO is actually the COPY NO.

Books are identified by ISBN. From what I remember (I've read sometime ago), each ISBN differ according to their titles, publisher and the cover type - soft cover or hard cover. In the library rack, each ISBN shall have many copys.. each identified by COPY NO or CALL NO.

In the system, to enter a book -

1. create the TITLEs.
2. create the ISBNs for each TITLE - many ISBN for each TITLE.
3. create the COPYs for each ISBN - many COPY for each ISBN.

When patron want to borrow a book, this is called, CHECK OUT. Key in the patron id, then key in the CALL NO. (Of course, the patron shall come to the counter with the book).

When patron want to return the book, this is called, CHEK IN. Just key in the CALL NO (the COPY NO), then the system shall retrieved all the information about the patron.. history and so on.

I think this small library system was based on some open source library system, maybe KOHA.

FYI, I developed the library system in year 2002, during that time, I was new to the JAVA language, and do not know MYSQL yet. Because, the system was targeted to school, I create its own database system.. which is actually just a file system.. consists of directory and so on. For a better use, (or Enterprise solution), we need to modified the system to be able to use any JDBC Type Database.

For the ERROR that red1 got above, the exception output are not so friendly (does not point to exactly where the error are) because the it occurs in the jsp page (checkin.jsp). To make debugging easier, when use with eclipse, it is better to convert all the jsp into velocity modules.
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
red1
Site Admin


Joined: 06 Jul 2004
Posts: 1756
Location: Kuala Lumpur, Malaysia

PostPosted: Tue Dec 20, 2005 8:20 pm    Post subject: Reply with quote

Gan has tested and found out that if the date is overdued it can CHECK-IN succesfully.
Thus it must be asking for FINE to be imposed when its not an overdue case.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Gan MH
Senior


Joined: 08 Apr 2005
Posts: 350

PostPosted: Sun Dec 25, 2005 11:03 am    Post subject: Reply with quote

I've committed my first round interface changes to CVS.
Back to top
View user's profile Send private message Yahoo Messenger MSN Messenger
Gan MH
Senior


Joined: 08 Apr 2005
Posts: 350

PostPosted: Wed Jan 04, 2006 1:36 am    Post subject: Reply with quote

I’ve gone through the MECCA EasyLibrary System with CICT Chief Librarian, based on the given process flows. In overall, the system matched their specs. Some customizations are needed, mostly adding new fields in different windows.

Here is the sample system developed by the Chief Librarian: http://www.myintan.com/
We are advised to refer to those necessary data fields in respective windows.
Username/Password: admin/admin

Below are items that require special attention:

1. A layer of login verification is needed. Different user type shall see different window.
Member shall see 3 basic windows: Search Catalogue, Loan History (view mode), and Personal Profile (only certain fields are editable)

2. Need to introduce new field to keep track of item type – magazine, user manual, book, etc.

3. Need to group item by CICT offered program

4. Need to have Reporting Functionality:
a- Library Staff List
b- Library Member List
c- Book List by Program
d- Books On Loan by Program

5. CICT uses call number to define the physical location of a book, and asset number as the unique number used during borrowing and returning. Instead of keeping track of 2 sets of numbers, Red1 suggested we combo these 2 numbers into 1 field (call number) and make the system search for last 4 unique digits, which is the asset number at the moment.
Back to top
View user's profile Send private message Yahoo Messenger MSN Messenger
red1
Site Admin


Joined: 06 Jul 2004
Posts: 1756
Location: Kuala Lumpur, Malaysia

PostPosted: Thu Jan 26, 2006 8:29 am    Post subject: Reply with quote

Most of our work is now done in BUGS, TASKS and FORUM of http://sourceforge.net/projects/university

Most of the bugs are resolved and the system has migrated from previous legacy. Now it contains 170+ items with multiple copies.

System can search for books, their availability, assign borrowing and returning to students, and provide loan history.

About the latest bug we encounter where we click on any item or sypnosis it comes out rubbish, is due to the Book_ID using minus sign (-) inside its ID. So it seems to calculate the sum of it! which mutate the ID.

So now have to ask Sam, how to maintain its string integrity and NOT do plus minus within it.

Otherwise Khairin has to remigrate again but assigning different ID system to it, i.e. UniqueID or running number without minus or hyphen sign inside the ID.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
red1
Site Admin


Joined: 06 Jul 2004
Posts: 1756
Location: Kuala Lumpur, Malaysia

PostPosted: Fri Aug 11, 2006 2:34 pm    Post subject: Reply with quote

Now the Inventory Management module can search by the Call No (CODE) at the LIB_BOOK_COPY level, but it will still return the LIB_BOOK info level, so it means it only search for other titles similar to the one with the CODE.

Library folder is posted to http://red1.org/university/library.rar , Just place it in the Tomcat/webapps folder and it should hot deploy.

Take note that the dbconnection.properties file is in the classes folder.

Next we shall have a general display/excel report to view Loan info by borrowed, unreturn, returned.

The code changed is jsp/book/browse.jsp & /data/BookDb.java
BROWSE.JSP
Code:
   if ( document.f.titlebrowse3.value != "" ) {
      document.f.titlebrowse.value = document.f.titlebrowse3.value;
      type = 3;
   }

BOOKDB.JAVA:
Code:
   public List getBooks(String browse, byte type) {
      List list = new ArrayList();
      String book_id = "";
      Db d = null;
      String sql = "";
      try {
         d = new Db();
         Statement stmt = d.getStatement();
         SQLRenderer r = new SQLRenderer();
         if ( type == CODE ) { //to fetch directly the copy and pass to book level below
            r.add("book_id");
            r.add("code");
            sql = r.getSQLSelect("lib_book_copy");         
            sql += " where code LIKE '%" + browse + "'";
            ResultSet rs = stmt.executeQuery(sql);
            if ( rs.next() ) {
               book_id = rs.getString(1);
               }
            }
         r.clear();
         r.add("book_id");
         r.add("author");
         r.add("title");
         r.add("synopsis");
         if (!book_id.equals("")) r.add("book_id",book_id); //passing to book level
         sql = r.getSQLSelect("lib_book");         
         if ( !"".equals(browse) ) {
            if ( type == CONTAIN ) {
               sql += " where title LIKE '%" + browse + "%'";
            }
            else if ( type == BEGIN ){
               sql += " where title LIKE '" + browse + "%'";
            }
         }
         ResultSet rs = stmt.executeQuery(sql);
         while ( rs.next() ) {
            String id = rs.getString(1);
            String author = rs.getString(2);
            String title = rs.getString(3);
            String synopsis = rs.getString(4);
            Book book = new Book(id);
            book.setAuthor(author);
            book.setTitle(title);
            book.setSynopsis(synopsis);
            list.add(book);
         }   
         
      } catch ( Exception e ) {
         System.out.println("BookDb.getList(): " + sql);
      } finally {
         if ( d != null ) d.close();
      }
      return list;
   }   
Back to top
View user's profile Send private message Send e-mail Visit poster's website
red1
Site Admin


Joined: 06 Jul 2004
Posts: 1756
Location: Kuala Lumpur, Malaysia

PostPosted: Wed Aug 16, 2006 2:37 pm    Post subject: Reply with quote

General display/excel report will
1) Track latest loan activities - Book Title | Call No | Borrowed By | OutDate | DueDate | ReturnDate
This analysis filters by (a) Due Date (b) Unreturned

2) Track latest book copy entries - Book Title | Author | Call No |

The SQL basically uses ORDER BY UID DESC to get the latest sorting as there is no record dating, thus UID will do.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
red1
Site Admin


Joined: 06 Jul 2004
Posts: 1756
Location: Kuala Lumpur, Malaysia

PostPosted: Sat Aug 19, 2006 11:02 am    Post subject: Reply with quote

Correction: Library Loan records doesnt use the UID in Loan_ID key. But it does that in Out_Date instead, which is good enuf.

Uploaded library to http://red1.org/university/library.rar .

It now produces this http://red1.org/university/loan_list.htm .

User has 3 choices to select from the Loan History.
1) Overdue - refers to its Due_Date vs System's Date (in SimpleDate object format).

2) Returned - all that has In_Date not null are regarded as returned.

3) On Loan - are books that has In_Date as null.

There is a RANGE to limit the listing, based on Matric Nos.

The listing are sorted naturally in the Loan table, i.e. as when they are borrowed ascending order.

Previously there were errors in updating records due to system slow or down. What happened is due to user hitting the confirm key many times and created duplicate instances of the same loan! I detected one which has its book returned but it only updated one instance. So u have to remove the other instance like this
Code:
delete from loan where member_id = '03061216' and in_date is null
I will try to made the system check for entered instances so that it wont repeat it.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
red1
Site Admin


Joined: 06 Jul 2004
Posts: 1756
Location: Kuala Lumpur, Malaysia

PostPosted: Mon Aug 21, 2006 2:47 pm    Post subject: Reply with quote

Sorry, the loan_list program is located in the Mecca2.jar which u have to run from. Thus use this link: http://localhost:86/cybernetics/x/mecca.library.LoanListing

Where u set your localhost and the port u using.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    red1.org Forum Index -> College ERP Project All times are GMT + 8 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group