Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 57

PENANG LIBRARIES NETWORK PROJECT

PLN AND PLNDL


TECHNICAL DOCUMENTATION

Table of Content
1. INTRODUCTION.. 1
2. SYSTEM REQUIREMENT.. 2
3. SYSTEM ANALYSIS AND DESIGN OF PLN.. 3
3.1. PLN Access Level 3
3.2. Inter Library Loan Process 3
3.3. PLNDL Connections... 8
4. WINISIS INSTALLATION AND CONFIGURATION 10
5. GDL 4.0 INSTALLATION... 31
6. APPENDIX A : List of PHP Files for Admin, Librarian and Patron..
42
7. APPENDIX B : List of Files for CDS/ISIS.. 47
8. APPENDIX C : MARC Format... 50
9. APPENDIX D : PENANG LIBRARIES NETWORK - (ILL) .. 52

Penang Libr@ries Network: Technical Documentation

1 INTRODUCTION
Penang Libraries Network (PLN), a project that emerged from an idea from a group
concerned librarians in 1999, has grown to be a one-stop portal for searching an
integrated collection of library resources from various public and private institutions as
well as a non-government organization in Penang. This project is also a form of
cooperation among all librarians of member PLN institutions.
The PLN project is divided into 3 phases i.e.:
Phase I: Determining the detail requirements and needs of member institutions regarding
a collaborative collection of digital resources and developing the PLN system and tools
for submitting, storing and sharing of digital resources. This entails the development of a
PLN system and portal.
Phase II: Dissemination, installation, and training to member institutions and promotion
to other institutions especially government and research bodies.
Phase III: Extension of PLN system and services to schools and the general public as an
e-community effort.
From it's inception in September 2002, the Network Research Group of School of
Computer Sciences, Universiti Sains Malaysia has undertaken the development and the
maintenance of the PLN portal with support from the PLN Committee and Asia-Pacific
Advanced Network, Malaysia. The portal is owned and maintained by the Penang State
Library (Perbadanan Perpustakaan Pulau Pinang) since June 2005. Penang State
Government, under the K-ICT Knowledge Worker Steering Committee, has funded the
project in Phase I and II of the project, as well as providing annual maintenance budget
for the project.

Penang Libr@ries Network: Technical Documentation

2 SYSTEM REQUIREMENT
Below is the system requirement for the PLN system:

Operating System: Window XP

Hardware requirements are:


14/15/17 PC Monitor
Microprocessor, Intel Pentium 300
10MB hard disk
128 MB RAM
Display card
Floppy Drive
CD Drive
Keyboard and mouse

Apache Web Server


PHP
MySQL
SMTP Server
WISIS

Penang Libr@ries Network: Technical Documentation

3 SYSTEM ANALYSIS AND DESIGN


3.1 PLN Access Level
Admin is the highest level for the maintenances of PLN. It start from administrator and
followed by librarian level. Patron and internet user is the lowest level but patron has
extraordinary authorized while accessing PLN. They are provided a few facilities like
inter-library loan (ILL1) service.
Searching database
Registration
Log in
Change password
Make ILL request
Verify ILL
Add patron
Verify patron
Add library
Add librarian
Add bulletin
Verify bulletin
Update CDS/ISIS2
Report
Log out
Contact admin

Admin

Librarian

Patron

Internet User

3.2 Inter-library Loan Process


These diagrams show the flow of interlibrary loan request between two institutions.
The sequence of activities is as follows:
1) Patron request for an item via his/her library (the borrowing library)
2) The librarian of the borrowing library will then verify the status of the patron or other
conditions before accepting the request. The verified request will appear in the
incoming request menu.
a) If the request is accepted, the information will be sent to the lender library for
further processing.
b) If the request is rejected, the loan request stops here.
3) The lending library will check the incoming ILL request and process it accordingly. A
loan status will be set whether its approved, on queue, rejected or damaged. The
borrowing and return date will also be set.
4) The patron can always check the status of his/her request from the interlibrary-Loan
menu after proper login.
1

For more details about ILL, please refer to APPENDIX D.


The CDS database for libraries complies with the MARC Format for Bibliographic Information. For more
details, please refer to APPENDIX C.
2

Penang Libr@ries Network: Technical Documentation

ILL transaction process in a local library

ILL transaction process between library members

Legend: Librarian A (Borrower)


Librarian B (Lender)

Penang Libr@ries Network: Technical Documentation

Patron
New request from patron
- patron need to fill the form
- Book location library name where book belong to.
- Book reference call number or ISSN that identify the material.
- Deliver method the way that book will pick up or send.

ILL info
- Patron account: disna
- Library: Disted
- Id: DISDT59198
- Book location : disted
- Loan id: 47

Penang Libr@ries Network: Technical Documentation

ILL Status
- by clicking the status link
- user can edit or choose the other delivery

Status after request approve

New Request
- Library account: lib_disted
- Status: not verify
- Loan id: 47
- Librarian need to verify first

Verify Patron Record menu.


Loan id: 47

Penang Libr@ries Network: Technical Documentation

Status

Library verify loan

Request approve and transaction begin

Penang Libr@ries Network: Technical Documentation

3.3 PLNDL Connections


Societies or communities that are targeted by the network consist of individuals and
institutions that have knowledge to share or need. Despite coming from different
academic backgrounds, they share one common interest; to promote knowledge sharing in
the community. Each community will be grouped together into a cluster network
base on its knowledge domain or region. This cluster of network will provide basic
management, including registration, managing users, knowledge sharing and etc.
A basic digital library needs to provide the basic services to the users. These services
includes information searching, file upload and file download, user registration and data
management. These services are important in sharing information to all the nodes.
PLNDL was built based on the IndonesiaDLN. The software (IndonesiaDLN) was also
based on GDL40, which is an open source freeware. This software provides mainly the
basic services as a digital library, as had mention above.
PLNDL is designed to be connected to the IndonesiaDLN Central Hub. It is part of the
registered node in IndonesiaDLN Central Hub. It can harvest records, export data, and
share information with the other nodes that are connected to the Central Hub. It can be
visualize in Figure 1.

PLNDL

Figure 1: Connection Between PLNDL and IndonesiaDLN Central Hub

Penang Libr@ries Network: Technical Documentation

PLNDL is divided into four layers which are users portal, services, repositories, and
protocols, as shown in Figure 2.

Figure 2: Schema of the PLNDL

Penang Libr@ries Network: Technical Documentation

4 WINISIS Installation and Configuration


WINISIS version 1.3 Installation and configuration

1. Click the application icon -

2. Set up program started. Click Continue button.

3. Set path in Destination Path if want to use another path. Other wise can use
currently path as default. (As shown). Click Continue button.

4. Click Continue button.

5. System Setting dialog box to set path DATA folder path.


a. Make sure that path is same with previous path to avoid any trouble.
b. Click Continue button to continue installing.

10

Penang Libr@ries Network: Technical Documentation

6. Default language is used in program. EN that means this program use English
language as default. Click Continue button to keep on installing.

7. Advanced System Setting dialog box to set path PROGRAM folder path.
a. Make sure that path is same with previous path to avoid any trouble.
b. Click Continue button to continue installing.

11

Penang Libr@ries Network: Technical Documentation

8. Installation in progress. Please wait until finish.

9. After installation finished, Read-Me dialog box appear. Click OK button.

10. Set up almost complete when Setup Success dialog box displayed. Click OK
button.

12

Penang Libr@ries Network: Technical Documentation

WINISIS configuration
In windows 2000 and windows XP, WINISIS need to configure manually.
1. Open WINISIS folder in C:\ or where the WINISIS did has been installed.

2. Click the WISIS icon .


3. if the program get error like below;

a. Copy
ctl3d.dll in ctld.dll folder and paste into WINISIS folder.
i. Do not use CTL3D folder in same WINISIS folder that appear after
installation.
b. Then try to use the WINISIS software. If the software gets any error, copy
again the clt3d.dll file into C:\WINNT\system. Then, run the system again.
4. Restart the program
a. Click the WISIS icon to start the program.
b. Open the database and choose the database.
5. Close program
a. To close the program, click Database >> Close.
13

Penang Libr@ries Network: Technical Documentation

b. To exit, click Database >> Exit

ADD DATA USING WINISIS (FILE*.ISO) .


Assume that:
i..WINISIS is already install.
ii. file*.iso is already in DATA folder.(it could be anywhere but usually in
C:\WINISIS\DATA).

1. Open syspar
from C:\WINISIS .
NOTE : each time CDS/ISIS is started it will first read SYSPAR.PAR and set the
system, menu and message paths.
1=D:\winisis\prog\
2=D:\winisis\menu\
3=D:\winisis\msg\
4=D:\winisis\work\
5=D:\winisis\data\
Make sure the path 5=D:\winisis\data\ is correct. Then save.
2. Open WINISIS

14

Penang Libr@ries Network: Technical Documentation

3. Open and select database

4. Select import

15

Penang Libr@ries Network: Technical Documentation

5. Select the directories from where you want to. E.g : d:\winisis\data.

6. Then click ok.

7. Waiting for the progress.

8. Then click complete. Finish.


16

Penang Libr@ries Network: Technical Documentation

9. Click Database ->exit to close it. NOTE: Dont close it directly.


NOTE : only file*.iso (zip up files) use winisis.

17

Penang Libr@ries Network: Technical Documentation

ADD DATA USING DOSISIS .(FILE*.BKP)


1. Open

from dosisis.e.g : C:\dosktpl .

1=D:\dosktpl\prog\
2=D:\dosktpl\menu\
3=D:\dosktpl\msg\
5=D:\gdl40\Apache\plndl\pln\wisis\ktpl\
Make sure the path 5=D:\gdl40\Apache\plndl\pln\winisis\ktpl\
is correct. Note: the path is depend on which folder are used.
2. Open

from dosisis.e.g : C:\dosktpl .

3. Enter M then enter database name.e.g KTPL

4. Then ENTER.

18

Penang Libr@ries Network: Technical Documentation

5. Then enter r for master file restore. Then type the directory you want to use. E.g : a:
(from floppy A ). Then ENTER

19

Penang Libr@ries Network: Technical Documentation

7. Then ENTER until the screen below are displayed. Then enter x to exit this session.

8. then enter I for Inverted file services

20

Penang Libr@ries Network: Technical Documentation

9. Then enter F for full inverted file generation.

10. Then enter y for yes

21

Penang Libr@ries Network: Technical Documentation

11. Then enter the MFN limits e.g : 1 <space> 600 then enter.

12. Then ENTER

22

Penang Libr@ries Network: Technical Documentation

13. Then enter x until fully exit from dosisis. Finish.

14. NOTES: -only file*.bkp use DOS version.


-file*.bkp means the entire zip up files.

23

Penang Libr@ries Network: Technical Documentation

DETAIL DESCRIPTION OF *.XIS AND *.PFT FILES.


File*.xis
All the functions are called by the command from file*.xis.
e.g : here we use databases name is seri. (note: file* = seri)
Must have all these flow command.
1.
- use the wxis.exe to get all the command that will used
2.

-the button
value called search.

will call the file*.xis . e.g : seri.xis to get the

3. From seri.xis,
-

folder seri are detected.

search are already declared which is ready to use by the command.

next step, form_s.pft are called.

4.

5.

Note: a. @ must be added together with the files name.


b. form_s is stand for form search.

6.

24

Penang Libr@ries Network: Technical Documentation

Expression is the value that hold on by form_s.pft


Note : 3011 from: first browse hit and
3012 to: last browse hit

do start search from database names seri.


Then display previous.pft, FULLR.PFT and next.pft.

7.

8. Another file*.pft is optional to use. Depend on what are the files you want to be
appeared.
e.g : Declaration files from seri.xis, all the file*.pft like below are used.

Seri.xis
<IsisScript name="SERI">
<!-Tag
---

Content
-------

1001
1002
1031
1032

Isis_Current
Isis_Total
Isis_From
Isis_To

1101
1102

Isis_Lock
Isis_Status

1501
2000
2001

CGI environment variable PATH_TRANSLATED


All CGI parameters
The button

3001

search expression

25

Penang Libr@ries Network: Technical Documentation


3002
3011
3012

selected MFN
from: first browse hit
to: last browse hit

-->
<section name="SERI">
<display><pft>'Content-type: text/html'/#</pft></display>
<display><BODY></display>
<field action="cgi" tag="2000">^n^v</field>
<!-- Uncomment this 2 lines to have the script trace
<trace>On</trace>
<display><pft>ALL</pft></display>
-->
<field action="replace" tag="1501"><pft>getenv('PATH_TRANSLATED')</pft></field>
<parm name="cipar">
<pft>
'SERI.*=',v1501,'SERI.*'/,
'prolog.pft=',v1501,'..\pft\prolog.pft'/,
'epilog.pft=',v1501,'epilog.pft'/,
'form_s.pft=',v1501,'form_s.pft'/,
'form_ns.pft=',v1501,'form_ns.pft'/,
'form_n.pft=',v1501,'form_n.pft'/,
'back.pft=',v1501,'back.pft'/,
'guide.pft=',v1501,'guide.pft'/,
'previous.pft=',v1501,'previous.pft'/,
'BRIEF.PFT=',v1501,'BRIEF.PFT'/,
'FULLR.PFT=',v1501,'FULLR.PFT'/,
'show.pft=',v1501,'show.pft'/,
'next.pft=',v1501,'next.pft'/,
'baner.pft=',v1501,'..\pft\baner.pft'/,
'footer.pft=',v1501,'..\pft\footer.pft'/,
</pft>
</parm>
<field
<flow
<field
<flow

action="cgi" tag="2001">form_search</field>
action="jump"><pft>"FORM SEARCH"d2001</pft></flow>
action="cgi" tag="2001">search</field>
action="jump"><pft>"SEARCH"d2001</pft></flow>

<field
<flow
<field
<flow
<field
<flow
<field
<flow
<flow

action="cgi" tag="2001">form_new</field>
action="jump"><pft>"FORM NEW"d2001</pft></flow>
action="cgi" tag="2001">new</field>
action="jump"><pft>"NEW"d2001</pft></flow>
action="cgi" tag="2001">edit</field>
action="jump"><pft>"EDIT"d2001</pft></flow>
action="cgi" tag="2001">write</field>
action="jump"><pft>"WRITE"d2001</pft></flow>
action="exit">0</flow>

<!-- atur cara untuk "search" -->


<label>FORM SEARCH</label> <!-- untuk memasukkan kata kunci -->
<display><pft>@form_s.pft</pft></display>
<flow action="exit">0</flow>
<label>SEARCH</label> <!-- memaparkan hasil pencarian -->
<display><pft>@prolog.pft,@baner.pft</pft></display>
<display><center><font size=5>Search Results</font></center></display>
<display><center><hr color="#000080" size="1" width="904"></font></center></display>
<field action="cgi" tag="3001">expression</field>
<field action="cgi" tag="3011">from</field>

26

Penang Libr@ries Network: Technical Documentation


<field action="cgi" tag="3012">to</field>
<do task="search">
<parm name="db">SERI</parm>
<parm name="expression"><pft>v3001</pft></parm>
<parm name="from"><pft>v3011</pft></parm>
<parm name="to"><pft>v3012</pft></parm>
<field action="define" tag="1001">Isis_Current</field>
<field action="define" tag="1002">Isis_Total</field>
<field action="define" tag="1031">Isis_From</field>
<field action="define" tag="1032">Isis_To</field>
<loop>
<field action="import" tag="list">2000,3001</field>
<display><pft>@previous.pft,@FULLR.PFT,@next.pft</pft></display>
</loop>
<display>
<pft>if val(v1002) = 0 then '<center><br><font size=5>No records for <b>',v3001'
</b>found! Please search again and click
on GO.</font></center>' fi </pft>
</display>
</do>
<display><pft>@form_ns.pft,@epilog.pft</pft></display>
<flow action="exit">0</flow>
<!-- untuk masuk record baru // tak perlu untuk user -->
<!-- dalam percubaan-->
<label>FORM NEW</label>
<display><pft>@form_n.pft</pft></display>
<flow action="exit">0</flow>
<label>NEW</label>
<do task="update">
<parm name="db">SERI</parm>
<parm name="fst"><pft>cat('SERI.FST')</pft></parm>
<parm name="mfn">New</parm>
<field action=define tag=1102>Isis_Status</field>
<update>
<field action="cgi" tag="1">field1</field>
<field action="cgi" tag="2">field2</field>
<field action="replace" tag="2" split="occ"><pft>(v2/)</pft></field>
<write>Unlock</write>
<field action="import" tag="2000">2000</field>
<display><pft>@prolog.pft,@BRIEF.PFT,@epilog.pft</pft></display>
</update>
<display>
<pft>if val(v1102) > 0 then '<h4>Error - ',v2001,| (|v1102|)|,'</h4>' fi</pft>
</display>
</do>
<flow action="exit">0</flow>
<!-- edit record yang dah ada // edit tuk full record -->
<!-- dalam percubaan-->
<label>EDIT</label>
<display><center><font size=5>Full Records</font></center></display>
<display><pft>@prolog.pft</pft></display>
<field action="cgi" tag="3002">mfn</field>
<field action="cgi" tag="3001">expression</field>
<field action="cgi" tag="3011">from</field>
<field action="cgi" tag="3012">to</field>
<do task="update">
<parm name="db">SERI</parm>
<parm name="mfn"><pft>v3002</pft></parm>
<parm name=lockid><pft>getenv('REMOTE_ADDR')</pft></parm>
<field action=define tag=1101>Isis_Lock</field>
<field action=define tag=1102>Isis_Status</field>
<field action="define" tag="1001">Isis_Current</field>
<update>
<!-- <write>Lock</write> -->
<field action="cgi" tag="3002">mfn</field>
<field action="import" tag="2000">2000</field>

27

Penang Libr@ries Network: Technical Documentation


<display><pft>@FULLR.PFT,@back.pft,@epilog.pft</pft></display>
</update>
</do>
<flow action="exit">0</flow>
<!-- tulis dalam record baru dan sedia ada -->
<!-- dalam percubaan-->
<label>WRITE</label>
<field action="cgi" tag="3002">mfn</field>
<do task="update">
<parm name="db">SERI</parm>
<parm name="fst"><pft>cat('SERI.FST')</pft></parm>
<parm name="mfn"><pft>v3002</pft></parm>
<parm name=lockid><pft>getenv('REMOTE_ADDR')</pft></parm>
<field action=define tag=1101>Isis_Lock</field>
<field action=define tag=1102>Isis_Status</field>
<update>
<field action="delete" tag="list">1,2</field>
<field action="cgi" tag="1">field1</field>
<field action="cgi" tag="2">field2</field>
<field action="replace" tag="2" split="occ"><pft>(v2/)</pft></field>
<write>Unlock</write>
<field action="import" tag="2000">2000</field>
<display><pft>@prolog.pft,@BRIEF.PFT,@epilog.pft</pft></display>
</update>
<display>
<pft>if val(v1102) > 0 then '<h4>Error - ',v2001,| (|v1102|)|,'</h4>' fi</pft>
</display>
</do>
<flow action="exit">0</flow>
</section>
</IsisScript>

Form_s.pft
/* HTML */
@prolog.pft,@baner.pft,@guide.pft,
'
<div align="center">
<center>
<table cellspacing="0" cellpadding="0" border="0" width="800" height="18" style="border:1px solid
#000080; border-collapse: collapse; padding-left:4; padding-right:4; padding-top:1; padding-bottom:1"
bordercolor="#111111">
<tr>
<td width="100%" align="center" height="16" style="border-right-style: solid; border-right-width: 1"
bgcolor="#EBF4FC">
<p align="center">
<font face="Verdana" size="2">Type in any word or combination of words with Boolean
operators in the Search box and <b>CLICK</b> on GO.</font>
</p>
<form method="POST" action="/cgi-bin/wxis.exe/pln/wisis/seri/">
<input type="hidden" name="IsisScript" value="seri.xis">
<input type="hidden" name="from" value="1">
<input type="hidden" name="to" value="20">
<p align="center">Search: <input type="text" name="expression" size="40">
<input type="submit" value="GO" name="search"></p>
</form>
</td>
</tr>
</table>
</center>
</div><br>
'

28

Penang Libr@ries Network: Technical Documentation


/* HTML final */
@epilog.pft,

FULLR.PFT
'<div align="center">
<TABLE WIDTH="72%" BORDER=0 style="border-collapse: collapse" bordercolor="#111111"
cellpadding="0" cellspacing="0"><TR>
<TD WIDTH="100%">
<!-- <form method="POST" action="/Scripts/wxis.exe/distd/">
<input type="hidden" name="IsisScript" value="disted.xis"> -->
<input type="hidden" name="mfn" value="',mfn(1),'">
<p style="margin-left: 50">
'

'<font color="#000080"><b>No.</b></font> ' v1001,' <b> <font


color="#000080">of</font></b> ',v1002, '<font color="#000080"><b>
records</b></font> '
'
<!-<input type="submit" value="Edit" name="edit"> -->
<!-- </form> -->
<font color="#000080"><b><i>; Record No. ',mfn(5)'</i></b></font></p></TD></TR></TABLE>
</div>
<div align="center"> <center>
<TABLE WIDTH="679" BORDER=1 bordercolor="#000080" style="border-collapse: collapse"
cellpadding="0" cellspacing="0" >
<TR><TD WIDTH="199" bgcolor="#FEFFEA"><p style="margin-left: 35">Call No</TD>
<TD bgcolor="#CCFFFF" width="470"><FONT SIZE=4>'v090^c,v090^a".",v090^b" ",v090^d'</TD>
</TR>'
"<TR> <TD WIDTH='199' bgcolor='#FEFFEA'><p style='margin-left: 35'>Personal Author/s </TD>
<TD bgcolor='#CCFFFF' width='470'><FONT SIZE=4><B>"d100,v100^a+| ; |"" '</B></FONT></TD>
</TR>'
"<TR> <TD WIDTH='199' bgcolor='#FEFFEA'><p style='margin-left: 35'>Corporate
Author/s</TD> <TD bgcolor='#CCFFFF' width='470'><FONT SIZE=4>"v110^a+| ; |"" '</TD> </TR>'
"<TR> <TD WIDTH='199' bgcolor='#FEFFEA'><p style='margin-left: 35'>Title</TD>
<TD bgcolor='#CCFFFF' width='470'><FONT SIZE=4 COLOR=#009900><B><I>"d245, if p(v245^b)
then v245^a"; ",v245^b". " else v245^a". " fi'</I></B></FONT></TD> </TR>'
"<TR> <TD WIDTH='199' bgcolor='#FEFFEA'><p style='margin-left: 35'>Edition</TD> <TD
bgcolor='#CCFFFF' width='470'><FONT SIZE=4>"v250'</FONT></TD> </TR>
<TR> <TD WIDTH="199" bgcolor="#FEFFEA"><p style="margin-left: 35">Imprint</TD>
<TD bgcolor="#CCFFFF" width="470"><FONT=4>'v260^a": ",v260^b", ",v260^c". " '</TD></TR>'
"<TR> <TD WIDTH='199' bgcolor='#FEFFEA'>
<p style='margin-left: 35'>Physical Description</TD>
<TD bgcolor='#CCFFFF' width='470'>"v300^a," "v300^c'</TD> </TR>'
"<TR> <TD WIDTH='199' bgcolor='#FEFFEA'>
<p style='margin-left: 35'>ISBN</TD>
<TD bgcolor='#CCFFFF' width='470'>"v020'</TD> </TR>'
"<TR> <TD WIDTH='199' bgcolor='#FEFFEA'>
<p style='margin-left: 35'>ISSN</TD>
<TD bgcolor='#CCFFFF' width='470'>"v022'</TD> </TR>'
"<tr>
<TD WIDTH='30%' bgcolor='#FEFFEA'>
<p style='margin-left: 35'>Notes</TD> <TD bgcolor='#CCFFFF'>"v500'</TD>
</tr>'
"<tr>
<TD WIDTH='30%' bgcolor='#FEFFEA'><p style='margin-left: 35'>Subject
Heading/s </TD> <TD bgcolor='#CCFFFF'>"d650,v650^a+| ; |"" '</TD>
</tr>
<TR> <TD WIDTH="199" bgcolor="#FEFFEA"><p style="margin-left: 35">Institution </TD> <TD
bgcolor="#CCFFFF" width="470">'v998+|;|'</TD> </TR>
</TABLE></center></div><p><p><p><p><body></center> '/

29

Penang Libr@ries Network: Technical Documentation

Previous.pft
/* Kembali ke 50 rekod sebelumnya */
if val(v1001)=1 then
'<p align="center">Records founds: <b>',v1002'. </b>'fi
if val(v1001)=1 and v1001 = v1031 then
'Searched the records for: <b>',v3001'</b><br></p>'fi,
if val(v1001)<> 1 and v1001 = v1031 then,
'
<p align="center">Records founds: <b>',v1002'. </b>
Searched the records for: <b>',v3001'</b><br></p>
<form method="POST" action="/cgi-bin/wxis.exe/pln/wisis/seri/">
<input type="hidden" name="IsisScript" value="seri.xis">
<input type="hidden" name="expression" value="',v3001,'">
<input type="hidden" name="from" value="',f(val(v1001)-20,1,0),'">
<input type="hidden" name="to" value="',f(val(v1001)-1,1,0),'">
<p style="margin-left: 200" align="left">
<input type="submit" value="Previous" name="search" style="color: #000080; fontfamily: MS Serif; font-weight: bold; border: 1px solid #000080; padding-left: 4; padding-right: 4;
padding-top: 1; padding-bottom: 1">
</p>
</form>
'
fi
/* despliega el boton de edit para cada registro */
/* tag 3002 = mfn del registro a ser modificado
'
<form method="POST" action="/cgi-bin/wxis.exe/pln/wisis/seri/">
<input type="hidden" name="IsisScript" value="pmcl.xis">
<input type="hidden" name="mfn" value="',mfn(1),'">
'
v1001,' of ',v1002,
'
<!--<input type="submit" value="Full Record" name="edit">-->
</form>
'*/

Next.pft
/* kod paparan rekod seterusnya*/
if v1001 <> v1002 and v1001=v1032 then,
'
<form method="POST" action="/cgi-bin/wxis.exe/pln/wisis/seri/">
<input type="hidden" name="IsisScript" value="seri.xis">
<input type="hidden" name="expression" value="',v3001,'">
<input type="hidden" name="from" value="',f(val(v1001)+1,1,0),'">
<input type="hidden" name="to" value="',f(val(v1001)+20,1,0),'">
<p align="left" style="margin-left: 200">
<input type="submit" value="Next" name="search" style="font-family: Palatino
Linotype; color: #000080; font-weight: bold; border: 1px solid #000080; padding-left: 4; padding-right:
4; padding-top: 1; padding-bottom: 1">
</p>
</form>
'
fi,

30

Penang Libr@ries Network: Technical Documentation

5 GDL 4.0 INSTALLATION


Note: GDL 4.0 runs on Microsoft Windows XP operating system. Please make sure that it
is installed properly. IIS is NOT required. (If you have already installed it, remove it by
going to the windows uninstall menu)

Installing the GDL 4


1. Copy gdl40 folder and paste it into your local drive or C: drive.

2. Double click the


MySQL database automatically.

executable icon to install Apache server and

3. Folder named
contains web page files and main files. All the files that
have a PHP extension and will be displayed in the internet browser (IE) are stored in the
httdocs that functions like the root directory, but in this server, the plndl folder is used as
the root folder instead. The main page is stored there.

31

Penang Libr@ries Network: Technical Documentation

4. Folder named
contains databases even as
PHP applications for web pages.

folder contains

Starting and Stopping the Web Server.

1. Click
icon to start the server and the database. A black small
screen will appear saying that server and MySQL are running. Then type http://localhost/
in IE. GDL40 main page will be displayed.

2. Click
icon to stop Web server. A black small screen will
appear to notify that the server and MySQL are stopping.

Troubleshooting the GDL 4.0


1. If the server fails to run properly and the PLN homepage is not displayed, change C
drive into D drive or another drive as instruction below:
2. Change drive C:\ to D:\ ( D:\gdl40\ )
Modify httpd.conf (D:\gdl40\Apache\conf)
ServerRoot "C:/gdl40/apache" has changed to ServerRoot "D:/gdl40/apache"
DocumentRoot "/gdl40/apache/htdocs" (original ) to DocumentRoot
"/gdl40/apache/plndl"
Set the NameVirtualHost 127.0.0.1 (just remove the sign #)
Set virtual host to :
<VirtualHost 127.0.0.1>
ServerAdmin webmaster@host.some_domain.com
DocumentRoot /gdl40/apache/plndl
ServerName localhost
</VirtualHost>
Modify file install.bat (using notepad)
Change all c:\ to d:\
Reinstall gdl40
click install icon
click gdlstart-nt icon to run apache server
to stop the server click gdl40stop-nt
Type http://localhost in IE and main page will be displayed.

32

Penang Libr@ries Network: Technical Documentation

Main page for GDL40

33

Configuring the Database


Note: To store clients info and patron.

1. The

folder has a database file like bin, data lib and shared folder.

2. The
Folder contains a MySQL application file. Click
to open MySQL interface.

icon

MySQL interface.
We can insert data manually using MySQL interface. Other wise, we can create new
database and tables.
Set up database with PHP.

Open
named

or

folder and click

folder. Click a files

. Set database name and host name with their path like below.

Penang Libr@ries Network: Technical Documentation

The path

35

Penang Libr@ries Network: Technical Documentation

MySQL Codes
PLN was developed using PHP language to generate the web pages and MySQL to store
data. All codes are separated into 3 levels:
1. admin
2. librarian
3. patron
PLN also contains data for admin, librarian and patron. Below are the tables that are used
in PLN. The PLN database is named pln. In MySQL; these codes are use to show tables
in pln database.
Database name = pln.
The following are all the tables in the pln database:
- pln_adlibrarian
- pln_bulletin
- pln_library
- pln_loan
- pln_loan_deliver
- pln_loan_status
- pln_patron
Every table contains attribute that have value for each field.
1. pln_adlibrarian
This table contains attributes for admin and librarians table.
Field
adlibrarian_id

Type
smallint(5)
unsigned
adlibrarian_email
varchar(50)
library_id
| int(5)
|adlibrarian_username varchar(10)
adlibrarian_password varchar(10)

Null
YES
YES
YES
YES

Key Default Extra


PRI NULL auto_increment
NULL
NULL
NULL
NULL

MySQL codes are shown below:


CREATE TABLE pln_adlibrarian
(adlibrarian_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
adlibrarian_email VARCHAR(50), library_id INT(5),
adlibrarian_username VARCHAR(10), adlibrarian_password VARCHAR(10),
PRIMARY KEY (adlibrarian_id) );

36

Penang Libr@ries Network: Technical Documentation

2. pln_ bulletin
This table contains attributes for bulletin table.
Field
bulletin_id
adlibrarian_id
bulletin_title
bulletin_content
bulletin_verified
bulletin_date

Type
smallint(5)
unsigned
| int(5)
varchar(50)
text
enum('yes','no')
date

Null

Key Default Extra


PRI NULL auto_increment

YES
YES
YES
YES
YES

NULL
NULL
NULL
NULL
NULL

MySQL codes are shown below:


CREATE TABLE pln_bulletin
(bulletin_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
adlibrarian_id INT(5) NOT NULL,
bulletin_title VARCHAR(50), bulletin_content TEXT,
bulletin_verified ENUM('yes','no'), bulletin_date DATE,
PRIMARY KEY (bulletin_id) );

3. pln_library
This table contains attributes for libraries information that has joined PLN.
Field
library_id

Type
smallint(5)
unsigned
library_name
varchar(100)
library_address
varchar(100)
library_representative_name varchar(50)
library_contact
varchar(30)
library_fax
varchar(30)
library_email
varchar(50)
library_website
varchar(100)

Null

YES
YES
YES
YES
YES
YES

Key Default Extra


PRI NULL auto_increment
NULL
NULL
NULL
NULL
NULL
NULL

MySQL codes are shown below:


CREATE TABLE pln_library
(library_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
library_name VARCHAR(100) NOT NULL, library_address VARCHAR(100),
library_representative_name VARCHAR(50),
library_contact VARCHAR(30), library_fax VARCHAR(30),
library_email VARCHAR(50),
library_website VARCHAR(100),
PRIMARY KEY (library_id) );

4. pln_loan
This table contains attributes for loan.
37

Penang Libr@ries Network: Technical Documentation

Field
loan_id
library_bookid
date_request
date_borrow
date_return
deliver_id
book_ref
status_id
note
loan_verify
patron_id

Type
smallint(5)
int(10)
date
date
date
int(10)
varchar(100)
int(2)
text
enum('yes','no'
)
varchar(10)

Null|
unsigned

Key
PRI

YES
YES
YES
YES

Default
NULL
0
0
0
NULL
NULL

YES
YES
YES

NULL
NULL
NULL

YES

NULL

Extra|
auto_increment

MySQL codes are shown below:


CREATE TABLE pln_loan
(loan_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
library_userid INT(10) NOT NULL, library_bookid INT(10) NOT NULL,
userid INT(10) NOT NULL, date_request DATE, date_borrow DATE,
date_return DATE, deliver_id INT(10),
book_ref VARCHAR(100) NOT NULL, status_id INT(2), note TEXT,
PRIMARY KEY(loan_id) );

5. pln_loan_delivery
This table contains attributes for delivery and its description.
Field
pln_loan_deliver_id

Type
smallint(5)
unsigned
pln_loan_deliver_desc
varchar(50)
pln_loan_deliver_charge float

Null|

YES

Key
PRI

Default
NULL

Extra|
auto_increment

NULL

MySQL codes are shown below:


CREATE TABLE pln_loan_deliver
(pln_loan_deliver_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
pln_loan_deliver_desc VARCHAR(50) NOT NULL, pln_loan_deliver_charge FLOAT,
PRIMARY KEY (pln_loan_deliver_id) );

38

Penang Libr@ries Network: Technical Documentation

6. pln_loan_status
This table contains attributes for status and its description.
Field

Type

pln_loan_status_id

smallint(5)
unsigned
varchar(10)

pln_loan_status_desc

Null

Key
PRI

YES

Defaul
t
NULL

Extra
auto_increment

NULL

MySQL codes are shown below:


CREATE TABLE pln_loan_status
(pln_loan_status_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
pln_loan_status_desc VARCHAR(10),
PRIMARY KEY(pln_loan_status_id) );

7. pln_patron
This table contains attributes for patron that was registered in PLN.
Field
patron_id
library_id
patron_name
patron_gender
patron_email
patron_username
patron_password
patron_entryDate
patron_verified

Type
varchar(10)
int(5)
varchar(50)
enum('male','female'
varchar(50)
varchar(10)
varchar(10)
date
enum('yes','no')

Null
YES
YES
YES
YES
YES
YES
YES
YES

Key Default Extra


PRI
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL

MySQL codes are shown below:


CREATE TABLE pln_patron
(patron_id VARCHAR(10) NOT NULL, library_id INT(5),
patron_name VARCHAR(50), patron_gender ENUM('male','female'),
patron_email VARCHAR(50), patron_username VARCHAR(10),
patron_password VARCHAR(10),
patron_entryDate DATE, patron_verified ENUM('yes','no'),
PRIMARY KEY (patron_id) );

39

Penang Libr@ries Network: Technical Documentation

Admin has the highest level of control for the maintenance of PLN as an administrator
and followed by the librarian level. Patron and internet users are at the lowest level but
patrons can enjoy value added services such as the inter-library loan capability.
Searching database
Registration
Log in
Change password
Make ILL request
Verify ILL
Add patron
Verify patron
Add library
Add librarian
Add bulletin
Verify bulletin
Update CDS/ISIS
Report
Log out
Contact admin

Admin

Librarian

Patron

40

Internet User

Penang Libr@ries Network: Technical Documentation

STRUCTURE OF THE APACHE WEB SERVER

Apache
Apache

C:\gdl40\Apache
C:\gdl40\Apache

Cgi-bin
Cgi-bin

plndl
plndl

C:\gdl40\Apache\cgi-bin
C:\gdl40\Apache\cgi-bin

C:\gdl40\Apache\plndl
C:\gdl40\Apache\plndl

pln
pln

wxis.exe
wxis.exe

C:\gdl40\Apache\plndl\pln
C:\gdl40\Apache\plndl\pln

wisis
wisis

C:\gdl40\Apache\plndl\
C:\gdl40\Apache\plndl\
pln\wisis
pln\wisis

Individual institute folder


Individual institute folder

C:\inetpub\wwwroot\ folder_name
C:\inetpub\wwwroot\ folder_name

file.htm
file.htm

Call wxis.exe

Folder_name.*
Previous.pft
Form_s.pft

file.xis
file.xis

guide.pft
prolog.pft
form_ns.pft

41

next.pft
epilog.pft

NOTE : * means
.mst .pft .fmt
.any .cnt .fdt
.fst
.L0I .L02
.stw
. wpr .xrf
.n01
.n02

Penang Libr@ries Network: Technical Documentation

6 APPENDIX A: List of the PHP files for Admin,


Librarian and Patron
Admin
Images
Add_down.gif
Add_up.gif
Arrow_down.gif
Arrow_left.gif
Arrow_right.gif
Arrow_up.gif
Delete.gif
Edit.gif
Include
inc_admin_manage.php
logs
home.php.log
main.php.log
admin_addedLibrarian.php
admin_addLibrarian.php
admin_addLibrary.php
admin_bulletin.php
admin_bulletinAdd.php
admin_bulletinUpdate.php
admin_editLibrarian.php
admin_editLibrary.php
admin_list.php
admin_listInfo.php
admin_listLib.php
admin_listMenu.php
admin_listPatron.php
admin_main.php
admin_manage.php
admin_manage_ejournal.php
admin_manage_ejournal_create_db.php
admin_manage_ejournal_create_grp.php
admin_manage_ejournal_delete_db.php
admin_manage_ejournal_delete_grp.php
admin_manage_ejournal_edit_db.php
admin_manage_ejournal_edit_grp.php
admin_manage_kids.php
admin_manage_kids_create_db.php
admin_manage_kids_create_grp.php
admin_manage_kids_delete_db.php
admin_manage_kids_delete_grp.php
admin_manage_kids_edit_db.php
admin_manage_kids_edit_grp.php
admin_manage_link_inter.php
admin_manage_link_inter_create_db.php
42

Penang Libr@ries Network: Technical Documentation

admin_manage_link_inter_create_grp.php
admin_manage_link_inter_delete_db.php
admin_manage_link_inter_delete_grp.php
admin_manage_link_inter_edit_db.php
admin_manage_link_inter_edit_grp.php
admin_manage_links_local.php
admin_manage_links_local_createDb.php
admin_manage_links_local_createGrp.php
admin_manage_links_local_deleteDb.php
admin_manage_links_local_deleteGrp.php
admin_manage_links_local_editDb.php
admin_manage_links_local_editGrp.php
admin_manage_news.php
admin_manage_news_add.php
admin_manage_news_delete.php
admin_manage_news_edit.php
admin_manage_news_thumb.php
admin_manage_news_upload.php
admin_manage_onlinebk_adult.php
admin_manage_onlinebk_adult.php
admin_manage_onlinebk_adult.php
admin_manage_onlinebk_adult_edit.php
admin_manage_onlinebk_adult_move.php
admin_manage_onlinebk_kids.php
admin_manage_subsdb.php
admin_manage_subsdb_create_db.php
admin_manage_subsdb_create_grp.php
admin_manage_subsdb_delete_db.php
admin_manage_subsdb_delete_grp.php
admin_manage_subsdb_edit_db.php
admin_manage_subsdb_edit_grp.php
admin_menu.php
admin_queryAdd.php
admin_queryAddBulletin.php
admin_queryAddLib.php
admin_queryDelete.php
admin_queryDeleteBulletin.php
admin_queryDeleteLib.php
admin_queryUpdate.php
admin_queryUpdateBulletin.php
admin_queryUpdateLib.php
admin_reportMenu.php
admin_updatecdsisi.php
counter.php
main.css
printlib.php
printlibrarian.php
printpat.php
style.css

43

Penang Libr@ries Network: Technical Documentation

Librarian
img
arrow_green2.gif
arrow_light.gif
back.jpg
blue.gif
cal.gif
end_blue.gif
forward.jpg
light_blue.gif
light_blue_footer.gif
next.gif
next_year.gif
pixel.gif
prev.gif
prev_year.gif
pro.gif
rasporka_inv.gif
library
form.php
lib_addmtncDeliver.php
lib_addmtncStatus.php
lib_addPatron.php
lib_addStatus.php
lib_bulletin.php
lib_bulletinAdd.php
lib_bulletinUpdate.php
lib_editmtncDeliver.php
lib_editmtncStatus.php
lib_editmtncStatus1.php
lib_editPatron.php
lib_fileupload.php
lib_illInfo.php
lib_illLibMembRequest.php
lib_illLibrarianDeliver.php
lib_illLibrarianOK.php
lib_illLibrarianRequest.php
lib_illLibrarianStatus.php
lib_illLibrarianStatusIn.php
lib_illLinkp.php
lib_illMenu.php
lib_illPatEdit.php
lib_illPatronDeliver.php
lib_illPatronOK.php
lib_illPatronRequest.php
lib_illPatronStatus.php
lib_illPatronVerify.php
lib_illPatVerifyDel.php

44

Penang Libr@ries Network: Technical Documentation

lib_illPickup.php
lib_illPickupp.php
lib_illSubMenu.php
lib_illSubMenuL.php
lib_illVerify.php
lib_main.php
lib_menu.php
lib_mtncDelivery.php
lib_mtncPStatus.php
lib_mtncStatus.php
lib_newUserList.php
lib_patronInfo.php
lib_patronList.php
lib_queryAddBulletin.php
lib_queryAddDeliver.php
lib_queryAddPatron.php
lib_queryAddStatus.php
lib_queryDeleteBulletin.php
lib_queryDeleteDeliver.php
lib_queryDeleteILL.php
lib_queryDeletePatron.php
lib_queryDeleteStatus.php
lib_queryILLpick.php
lib_queryILLpickp.php
lib_queryInactiveILL.php
lib_queryInactivePat.php
lib_queryUpdateBulletin.php
lib_queryUpdateDeliver.php
lib_queryUpdateILL.php
lib_queryUpdateILLp.php
lib_queryUpdateILLp2.php
lib_queryUpdateILLpick.php
lib_queryUpdateStatus.php
lib_queryUpdateUser.php
lib_validupload.php
lib_verifyUser.php
print.deliver.php
printnewuser.php
printpatron.php
printstatus.php
patron
form.php
patron_ill.php
patron_illNewRequest.php
patron_illStatus(backupp).php
patron_illStatus.php

45

Penang Libr@ries Network: Technical Documentation

patron_login.php
patron_logout.php
patron_main.php
patron_menu.php
patron_menu1.php
patron_myInfo.php
patron_pswd.php
patron_queryillAdd.php
patron_queryillDelete.php
printill.php
register.php
reguser.php
valid_passwd.php
verifp.php

46

Penang Libr@ries Network: Technical Documentation

7 APPENDIX B: List of Files for CDS/ISIS


diss:
diss.cnt
diss.ifp
diss.l01
diss.l02
diss.mst
diss.n01
diss.n02
diss.xrf
disted:
distd.cnt
distd.ifp
distd.l01
distd.l02
distd.mst
distd.n01
distd.n02
distd.xrf
jbib:
jbib.cnt
jbib.ifp
jbib.l01
jbib.l02
jbib.mst
jbib.n01
jbib.n02
jbib.xrf
ktpl:
ktpl.cnt
ktpl.ifp
ktpl.l01
ktpl.l02
ktpl.mst
ktpl.n01
ktpl.n02
ktpl.xrf
mbib:
mbib.cnt
mbib.ifp
mbib.l01
mbib.l02
mbib.mst
mbib.n01

47

Penang Libr@ries Network: Technical Documentation

mbib.n02
mbib.xrf
pkta:
pkta.cnt
pkta.ifp
pkta.l01
pkta.l02
pkta.mst
pkta.n01
pkta.n02
pkta.xrf
pmcl:
pmcl.cnt
pmcl.ifp
pmcl.l01
pmcl.l02
pmcl.mst
pmcl.n01
pmcl.n02
pmcl.xrf
ris_ma:
risa.cnt
risa.ifp
risa.l01
risa.l02
risa.mst
risa.n01
risa.n02
risa.xrf
sas:
sas.cnt
sas.ifp
sas.l01
sas.l02
sas.mst
sas.n01
sas.n02
sas.xrf
seri:
seri.cnt
seri.ifp
seri.l01
seri.l02
seri.mst
seri.n01

48

Penang Libr@ries Network: Technical Documentation

seri.n02
seri.xrf
walib:
walib.cnt
walib.ifp
walib.l01
walib.l02
walib.mst
walib.n01
walib.n02
walib.xrf
show_diss.pft
show_disted.pft
show_jbib.pft
show_ktpl.pft
show_mbib.pft
show_pkta.pft
show_pmcl.pft
show_risa.pft
show_sas.pft
show_seri.pft
show_walib.pft
eg.xis
summary.xis
wxis.exe

49

Penang Libr@ries Network: Technical Documentation

8 APPENDIX C
MARC Format for Bibliographic Information
A Modified Subset for New PLN Member Database
Tag

Field name

Subfield codes

Repeatable

020

ISBN

022

ISSN

040

Language/s

^aLanguage code

090

Call No.

^aClass no.
^bAuthor mark
^cSize (folio, etc.)
^dCollection type

100

Personal Author/s

^aSurname
^hForname
^eHonorific title

110

Corporate Author/s

^aCorporate name
^cSubordinate body

245

Title Statement

^aTitle
^bSubtitle
^lOther language title
^mType of material (GMD)

248

Translated Title

^aTitle
^bSubtitle

250

Use Standard List of


Classification, eg.
Dewey Decimal, LC
Classification, NLM
Classification, etc.

Edition

260

Publication Area

^aPlace of publication
^bName of publisher
^cYear of publication

300

Physical Description ^aPagination/volumes


^cHeight (in cm.)
^eAccompanying material

350

Price

445

Series Statement

500

General Notes

^aSeries title, vol., no., year.

50

Notes

Penang Libr@ries Network: Technical Documentation

502
650
990

Analytic Notes
Subject Heading/s

^aSubject heading
^xSubdivision

Use Standard List of


Subject Headings, eg.
Sear's List of Subject

Entered by
Headings, LC Subject

991

Date Entered
(DD/MM/YYYY)

998

Institution Code

999

Accession No/s.

Headings, NLM
Medical Subject
Headings, etc.

^iAccession no.

51

Penang Libr@ries Network: Technical Documentation

lch/marcformat/2.8.2004

9 APPENDIX D
PENANG LIBRARIES NETWORK
(INTERLIBRARY LOAN)

TERMS AND CONDITIONS

INTRODUCTION
1.

These guidelines provide specific information on interlibrary loan (ILL)


procedures. These guidelines are to be used in conjunction with the PLN and do
not supercede other cooperative agreements to which member libraries subscribe.

2.

The purpose of interlibrary loan is to provide access to material not owned by


PLN libraries and share material with other libraries. Interlibrary loan regulations
govern borrowing and lending activities with other libraries. These regulations
are necessary to maintain a pricing structure that offsets the lending costs
associated with interlibrary loan transactions.
INTERLIBRARY LOAN

1.

Interlibrary loan is an inter-institutional agreement between libraries requests will


only be accepted from libraries and made to libraries.
RULES AND REGULATIONS

1.

This service is limited to members of PLN users only.

2.

Any individual wanting to use PLN services must be a member of a library in the
PLN.

3.

ILL borrowing requests will be processed for currently validated PLN members at
no charge.

4.

Libraries should attempt to verify all requests and provide a complete citation if
possible.

5.

An authorized staff member must review each ILL request for completeness.
Member libraries must supply the processing centre with the name of a contact
person.

6.

Requests may be submitted by completing the ILL request form, online form, email or by fax. A separate form must be used for each request.

52

Penang Libr@ries Network: Technical Documentation

7.

The borrowing library is financially responsible for any materials borrowed from
the time the material leaves the lending library until it is received back by the
lending library. The borrowing library also assumes financial responsibility for:
Lost or damaged material
Overdue fees when charged
Photocopy costs, if charged
Mailing when charged
Loan fee, if charged

8.

Lending requests will be accepted directly from libraries, not individuals.

9.

Any individual wanting to use PLN services must be a member of a library in the
PLN.

10.

Some materials requested may be restricted in usage and subject to special


responsibility clauses.

11.

Photocopies will be mailed to the library or placed in self-service pick-up bins


according to the library instructions.

12.

Some materials requested may be restricted in usage and subject to special


responsibility clauses.

13.

Libraries regularly not returning the books in time might be suspended from using
the service.
MEMBERSHIP

1.

It was also decided that membership and registration fees will not be charged for
the moment.

2.

The criteria of joining PLN for institutions are as follows:


Institutions with an IT base library/resource centre.
Institutions must be willingly to share their resources.

3.

The different categories of memberships are as follows:


University libraries
Colleges libraries
Private Colleges libraries
Schools under Pusat Sumber Pendidikan Negeri
NGOs eg. CAP, PHT etc.
Private hospitals
Government bodies

4.

All registered library users are eligible for the service.

5.

Individual members will comply with the rules and regulations of PLN.
53

Penang Libr@ries Network: Technical Documentation

6.

Individuals/organizations shall bear the cost of any charges incurred. Eg. Postal
charges/printing/photocopying.

7.

Individual members wishing to use the facilities of another library within PLN
shall produce a letter of introduction from their Chief Librarian/Senior officer of
their organization.
CHARGES

1.

Charges will be nominal and may vary from institution to institution.

2.

All payment must be paid to the library concerned.


LOAN PERIOD

1.

The loan period will vary from institution to institution depending on the nature
and popularity of the item.

2.

No renewals are allowed.

3.

Lending requests will be accepted directly from libraries, not individuals.

4.

Requests from others libraries must be submitted preferably via PLN portal.

5.

The onus is on the lending library to check the condition of the materials
borrowed and/or returned. Otherwise, the borrowing library will not be liable for
the damage.
RETURNING

1.

The borrowing library should ensure that the materials are returned on or before
the due date. Failure to do so may jeopardize the librarys ability to borrow
materials in the future.

2.

When returning materials, the borrowing library should make sure that materials
are in good condition, carefully packaged and clearly labelled.
OTHERS

1.

Users will be charged for lost or damaged material and for any fines incurred.

2.

The conditions of use of the library lending the material must be followed.

3.

Some documents may be used in the library concerned only.

4.

Users regularly not returning the books in time will be suspended from using the
service.

54

Penang Libr@ries Network: Technical Documentation

5.

Most requests should be fulfilled within a week.

6.

Not all materials can be provided through interlibrary loan. Reference works,
patents, loose-leaf collection, theses, Malaysiana and red spot collections are not
available via ILL.

Edited after comments from members. Initial draft prepared by:


Pn. Che Norma & En. Mohd. Idris HA
Perpustakaan USM

55

You might also like