Nguon mo green stone va ung dung

184
TRƯỜNG ĐẠI HC KHOA HC TNHIÊN KHOA CÔNG NGHTHÔNG TIN BMÔN CÔNG NGHPHN MM NGUYN THÀNH QUY – LÊ HOÀNG NGC QUNH TÌM HIU NGUN MGREENSTONE NG DNG KHOÁ LUN CNHÂN TIN HC TP. HCM, 2005

Transcript of Nguon mo green stone va ung dung

Page 1: Nguon mo green stone va ung dung

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM

NGUYỄN THÀNH QUY – LÊ HOÀNG NGỌC QUỲNH

TÌM HIỂU NGUỒN MỞ GREENSTONE VÀ ỨNG DỤNG

KHOÁ LUẬN CỬ NHÂN TIN HỌC

TP. HCM, 2005

Page 2: Nguon mo green stone va ung dung

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM

SINH VIÊN THỰC HIỆN

NGUYỄN THÀNH QUY 0112195 LÊ HOÀNG NGỌC QUỲNH 0112471

TÌM HIỂU NGUỒN MỞ GREENSTONE VÀ ỨNG DỤNG

KHOÁ LUẬN CỬ NHÂN TIN HỌC

GIÁO VIÊN HƯỚNG DẪN

ThS. NGUYỄN THỊ BÍCH

NIÊN KHOÁ 2001 – 2005

Page 3: Nguon mo green stone va ung dung

i

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

....................................................................................................................................... Thành phố Hồ Chí Minh, ngày tháng 07 năm 2005

Giáo viên hướng dẫn

Page 4: Nguon mo green stone va ung dung

ii

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

....................................................................................................................................... Thành phố Hồ Chí Minh, ngày tháng 07 năm 2005

Giáo viên phản biện

Page 5: Nguon mo green stone va ung dung

iii

LỜI CẢM ƠN

Chúng em xin chân thành cảm ơn Khoa Công nghệ Thông tin, Thư viện Cao

học Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh đã tạo điều kiện thuận lợi

cho chúng em hoàn thành đề tài Tốt nghiệp này.

Chúng em xin chân thành cảm ơn Th.S Nguyễn Thị Bích đã rất tận tình

hướng dẫn, chỉ bảo chúng em trong suốt thời gian thực hiện đề tài vừa qua.

Chúng em cũng xin chân thành cảm ơn tất cả các Thầy, các Cô trong Khoa

đã tận tình giảng dạy, trang bị cho chúng em những kiến thức cần thiết, quý báu

trong những năm tháng học tập tại Trường. Xin cảm ơn Thầy Trần Minh Triết,

Thầy Nguyễn Đình Khương cũng như Thầy Cô và các anh chị trong Phòng SeLab

đã tạo điều kiện giúp đỡ chúng em thực hiện đề tài.

Qua đây, chúng tôi cũng muốn bày tỏ lòng biết ơn của mình đến các giáo sư

Đại học Waikato, New Zealand, đặc biệt là giáo sư I.H.Witten và giảng viên

Katherine Don. Xin cảm ơn sự giúp đỡ chân thành của bạn bè khắp thế giới.

Xin cảm ơn sự giúp đỡ của các bạn, những người luôn bên cạnh và giúp đỡ

chúng tôi.

Và cuối cùng, chúng con xin tỏ lòng biết ơn sâu sắc đến ông bà, bố mẹ, và cả

gia đình đã nuôi dưỡng, giáo dục và luôn động viên để chúng con có ngày hôm nay.

Mặc dù chúng em đã cố gắng hoàn thành Luận văn với tất cả sự nỗ lực của

bản thân, nhưng chắc chắn Luận văn vẫn không thể tránh khỏi những thiếu sót nhất

định, kính mong nhận được sự cảm thông và chỉ bảo tận tình của Quý Thầy Cô và

các bạn.

TP. HCM, tháng 7 năm 2005

Nhóm sinh viên thực hiện

Thành Quy & Ngọc Quỳnh

Page 6: Nguon mo green stone va ung dung

iv

MỞ ĐẦU

Sống trong kỷ nguyên của sự bùng nổ thông tin như hiện nay, một vấn đề

quan trọng đặt ra là làm sao quản lý thông tin hiệu quả, khoa học nhất, để có thể tìm

ra một vài thông tin hữu ích trong hàng ngàn, hàng triệu thông tin nhanh chóng,

chính xác.

Chúng ta đều biết, cách quản lý tài liệu truyền thống chủ yếu trên giấy có

những hạn chế nhất định, không chỉ tốn kém không gian lưu trữ, mà còn chiếm

nhiều thời gian khi muốn tìm kiếm thông tin. Ngoài ra còn khó bảo quản trong thời

gian lâu dài dưới những điều kiện xấu, dễ hư hỏng, mất mát. Chưa kể việc khai thác

sản xuất giấy làm ảnh hưởng tới môi trường sinh thái.

Máy tính ra đời, giúp giải quyết rất nhiều vấn đề liên quan đến việc quản lý

thông tin. Hình thức lưu trữ tài liệu dưới dạng điện tử ngày càng thông dụng hơn.

Thử làm một ví dụ nhỏ để so sánh giữa hình thức lưu trữ trên giấy với trên máy

tính, ở dạng điện tử. Mỗi hình thức lưu trữ có những ưu khuyết điểm riêng nhưng ở

đây chỉ so sánh về không gian lưu trữ, và thời gian tìm kiếm, truy xuất thông tin, mà

không tính đến những yếu tố khác. Đơn vị dung lượng lưu trữ phổ biến hiện nay là

Gigabyte. Một cuốn sách 200 trang lưu trên đĩa cần khoảng 1 megabyte. Như vậy

một gigabyte có thể lưu trữ khoảng một ngàn cuốn sách điện tử. Trong khi đó, để

lưu trữ một ngàn cuốn sách giấy truyền thống cần một kệ sách đầy từ sàn cho đến

trần nhà, chưa kể tiền mặt bằng, tiền in ấn, phát hành! Khi mà yêu cầu thông tin đòi

hỏi nhanh chóng, chính xác, tài liệu điện tử càng thể hiện những khả năng ưu việt

của mình. Cảm thấy rất tâm đắc với những hệ thống quản lý dữ liệu như vậy, chúng

em đã chọn đề tài “Tìm hiểu nguồn mở Greenstone và Ứng dụng” để làm đề tài Tốt

nghiệp, với mong muốn hiểu thêm về cách quản lý thông tin, từ đó mong muốn

đóng góp phần nào vào việc xây dựng thư viện điện tử cho Khoa Công nghệ Thông

tin, Trường Đại học Khoa học Tự nhiên, Thành phố Hồ Chí Minh.

Page 7: Nguon mo green stone va ung dung

v

NỘI DUNG

Nội dung Luận văn được tổ chức thành 9 chương:

Chương 1 – Tổng quan. Giới thiệu về thư viện điện tử và Greenstone.

Trong chương này sẽ trình bày lý do và các mục tiêu khi thực hiện đề tài.

Chương 2 – Các khái niệm cơ bản trong Greenstone. Mục đích của chương

này là giải thích, làm sáng rõ những khái niệm quan trọng trong Greenstone.

Chương 3 – Xây dựng bộ sưu tập. Tìm hiểu các quá trình thực thi của

Greenstone để tạo nên một bộ sưu tập hoàn chỉnh.

Chương 4 – Hiệu chỉnh giao diện của Greenstone. Khai thác khả năng tuỳ

biến cao của Greenstone để thay đổi giao diện cho phù hợp với yêu cầu thực tế.

Chương 5 – Hệ thống Web Greenstone. Đi sâu vào những khái niệm nâng

cao của hệ thống Greenstone, tập trung vào phần xử lý trên web của hệ thống.

Chương 6 – Xây dựng ứng dụng. Xây dựng thư viện số ITDL cho Khoa.

Trong chương này sẽ xác định yêu cầu thực tế, xác định hai mô-đun chính của hệ

thống: ITLib và ITLibWeb.

Chương 7 – ITLib – Mô-đun xử lý offline. Chương này phân tích thiết kế

hệ thống ITLib với chức năng chính là tạo các bộ sưu tập.

Chương 8 – ITLibWeb – Mô-đun xử lý online. Chương này sẽ phân tích,

thiết kế hệ thống ITLibWeb với giao diện web, tạo thư viện số, giúp người dùng sử

dụng các bộ sưu tập cũng như các chức năng, nghiệp vụ thư viện khác.

Chương 9 – Đánh giá và hướng phát triển. Chương cuối cùng của đề tài,

tổng hợp lại về Greenstone, đánh giá lại hệ thống thư viện điện tử ITDL và nêu

những hướng phát triển hệ thống trong tương lai.

Ngoài ra, các phần Phụ lục ở cuối Luận văn còn mở rộng các khía cạnh liên

quan đến thư viện số, các thành phần cấu thành nên Greenstone (MG, GDBM…) và

các mô-đun hỗ trợ Greenstone.

Page 8: Nguon mo green stone va ung dung

vi

MỤC LỤC

LỜI CẢM ƠN ........................................................................................................... iii MỞ ĐẦU................................................................................................................... iv MỤC LỤC................................................................................................................. vi DANH SÁCH HÌNH................................................................................................. xi DANH SÁCH BẢNG ............................................................................................. xiv PHẦN 1. TÌM HIỀU NGUỒN MỞ GREENSTONE.................................................1 CHƯƠNG 1. TỔNG QUAN ...................................................................................2

1.1. Thư viện và thư viện số ................................................................................3 1.1.1. Giới thiệu ..............................................................................................3 1.1.2. Thư viện số............................................................................................3

1.2. Thư viện số Greenstone................................................................................4 1.2.1. Giới thiệu ..............................................................................................4 1.2.2. Tính năng ..............................................................................................5

1.3. Mục đích của đề tài ......................................................................................6 CHƯƠNG 2. CÁC KHÁI NIỆM CƠ BẢN ............................................................7

2.1. Tài liệu..........................................................................................................8 2.2. Bộ sưu tập.....................................................................................................8 2.3. Tìm kiếm ......................................................................................................8 2.4. Duyệt tài liệu ................................................................................................8 2.5. Metadata .....................................................................................................10 2.6. Biên mục.....................................................................................................11 2.7. Plugin..........................................................................................................11

2.7.1. Giới thiệu ............................................................................................11 2.7.2. Danh sách các plugin ..........................................................................12 2.7.3. Các plugin xử lý tài liệu độc quyền ....................................................13 2.7.4. Gán thông tin metadata từ một tập tin mô tả ......................................14 2.7.5. Chia cấu trúc tài liệu nguồn ................................................................16

2.8. Classifier.....................................................................................................22 2.8.1. Giới thiệu ............................................................................................22 2.8.2. Phân loại..............................................................................................23

2.9. Định dạng cách hiển thị tài liệu..................................................................25 2.9.1. Giới thiệu ............................................................................................25 2.9.2. Định dạng danh sách tài liệu...............................................................25 2.9.3. Định dạng các thành phần của trang web hiển thị tài liệu ..................28

CHƯƠNG 3. XÂY DỰNG BỘ SƯU TẬP ...........................................................30 3.1. Giới thiệu....................................................................................................31 3.2. Chương trình mkcol.pl ...............................................................................33 3.3. Chương trình import.pl...............................................................................33 3.4. Chương trình buildcol.pl ............................................................................35 3.5. Cấu trúc thư mục của Greenstone ..............................................................37 3.6. Cấu trúc thư mục của một bộ sưu tập.........................................................38 3.7. Cấu trúc tài liệu theo định dạng XML........................................................39

Page 9: Nguon mo green stone va ung dung

vii

3.8. Tập tin cấu hình bộ sưu tập ........................................................................42 CHƯƠNG 4. HIỆU CHỈNH GIAO DIỆN GREENSTONE.................................45

4.1. Giới thiệu....................................................................................................46 4.2. Ảnh tiêu đề bộ sưu tập................................................................................48 4.3. Các nút duyệt trang.....................................................................................48

4.3.1. Cách hiển thị .......................................................................................48 4.3.2. Vị trí đặt các ảnh .................................................................................51

4.4. Ảnh tiêu đề trang ........................................................................................52 4.5. Các nút duyệt tài liệu..................................................................................53

4.5.1. Giới thiệu ............................................................................................53 4.5.2. Vị trí đặt các ảnh .................................................................................53 4.5.3. Thêm nút mới......................................................................................54

4.5.3.1. Tạo một nút mới dựa vào nút đã có.............................................55 4.5.3.2. Tạo macro mới cho một nút ........................................................55

4.5.4. Xóa nút duyệt tài liệu..........................................................................56 4.5.5. Thay đổi nút duyệt tài liệu ..................................................................56

4.6. Hiển thị văn bản .........................................................................................56 4.6.1. Hiển thị loại CL list.............................................................................56 4.6.2. Hiển thị nội dung ................................................................................57

4.7. Override các macro ....................................................................................58 4.8. Thêm một trang mới ...................................................................................60 4.9. Hiển thị các bộ sưu tập ...............................................................................61 4.10. Macro chuẩn ...........................................................................................62 4.11. Lưu ý.......................................................................................................63

CHƯƠNG 5. HỆ THỐNG WEB GREENSTONE ...............................................64 5.1. Giới thiệu....................................................................................................65 5.2. Tổng quan về cơ chế xử lý .........................................................................65 5.3. Chi tiết về cơ chế xử lý...............................................................................67 5.4. Mã nguồn....................................................................................................69

5.4.1. Các lớp và hàm cơ bản........................................................................70 5.4.2. Collection server .................................................................................70 5.4.3. Receptionist.........................................................................................72

PHẦN 2. XÂY DỰNG ỨNG DỤNG.......................................................................75 CHƯƠNG 6. XÂY DỰNG ỨNG DỤNG.............................................................76

6.1. Tổng quan...................................................................................................77 6.1.1. Phát biểu bài toán................................................................................77 6.1.2. Giới thiệu về ITDL (IT Digital Library).............................................77

6.2. Đối tượng sử dụng hệ thống.......................................................................78 6.3. Các chức năng chính ..................................................................................78

6.3.1. Cung cấp thông tin luận văn ...............................................................78 6.3.2. Chuẩn hoá tài liệu ...............................................................................78 6.3.3. Xây dựng bộ sưu tập ...........................................................................78

6.3.3.1. Xây dựng bộ sưu tập Luận văn....................................................79 6.3.3.2. Xây dựng bộ sưu tập Sách...........................................................79 6.3.3.3. Xây dựng bộ sưu tập Tổng quát ..................................................79

Page 10: Nguon mo green stone va ung dung

viii

6.3.4. Tra cứu tài liệu ....................................................................................79 CHƯƠNG 7. ITLIBWEB......................................................................................80

7.1. Xác định yêu cầu ........................................................................................81 7.1.1. Giới thiệu ............................................................................................81 7.1.2. Bảng chú giải ......................................................................................81

7.1.2.1. ITLib............................................................................................81 7.1.2.2. Greenstone ...................................................................................82 7.1.2.3. Thanh vien Khoa (Thành viên Khoa)..........................................82

7.1.3. Đặc tả bổ sung.....................................................................................82 7.1.3.1. Phạm vi ........................................................................................82 7.1.3.2. Tài liệu tham khảo .......................................................................82 7.1.3.3. Chức năng....................................................................................82 7.1.3.4. Tính khả dụng..............................................................................82 7.1.3.5. Tính ổn định.................................................................................83 7.1.3.6. Sự hỗ trợ ......................................................................................83 7.1.3.7. Tính bảo mật:...............................................................................83 7.1.3.8. Các ràng buộc thiết kế .................................................................83

7.1.4. Mô hình Use Case...............................................................................83 7.1.4.1. Mô hình........................................................................................83 7.1.4.2. Danh sách các Actor ....................................................................85 7.1.4.3. Danh sách các Use Case ..............................................................85 7.1.4.4. Đặc tả các Use case chính ...........................................................86

7.2. Phân tích các Use case chính......................................................................90 7.2.1. Use case “Dang nhap” (Đăng nhập) ...................................................90

7.2.1.1. Lược đồ tuần tự............................................................................90 7.2.1.2. Lược đồ cộng tác .........................................................................92 7.2.1.3. VOPC...........................................................................................93

7.2.2. Use case “Nhap luan van” (Nhập luận văn) .......................................94 7.2.2.1. Lược đồ tuần tự............................................................................94 7.2.2.2. Lược đồ cộng tác .........................................................................97 7.2.2.3. VOPC...........................................................................................99

7.2.3. Use case “Tra cuu” (Tra cứu) ...........................................................100 7.2.3.1. Lược đồ tuần tự..........................................................................100 7.2.3.2. Lược đồ cộng tác .......................................................................100 7.2.3.3. VOPC.........................................................................................102

7.2.4. Use case “Xem luan van” (Xem thông tin luận văn)........................102 7.2.4.1. Lược đồ tuần tự..........................................................................102 7.2.4.2. Lược đồ cộng tác .......................................................................103 7.2.4.3. VOPC.........................................................................................104

7.3. Thiết kế.....................................................................................................105 7.3.1. Lược đồ lớp tổng quát của hệ thống .................................................105 7.3.2. Chi tiết một số lớp chính...................................................................107

7.3.2.1. Lớp đối tượng dùng chung ........................................................107 7.3.2.2. Lớp boundary.............................................................................107 7.3.2.3. Lớp control ................................................................................108

Page 11: Nguon mo green stone va ung dung

ix

7.3.2.4. Lớp entity...................................................................................109 7.3.3. Thiết kế dữ liệu .................................................................................110

7.3.3.1. Mô hình dữ liệu .........................................................................110 7.3.3.2. Danh sách các bảng dữ liệu .......................................................110

7.3.4. Thiết kế giao diện một số trang web chính.......................................111 7.4. Cài đặt.......................................................................................................113

7.4.1. Công cụ và môi trường phát triển hệ thống ......................................113 7.4.2. Mô hình cài đặt .................................................................................114

7.4.2.1. Mô hình......................................................................................114 7.4.2.2. Diễn giải ....................................................................................114

CHƯƠNG 8. ITLib..............................................................................................115 8.1. Xác định yêu cầu ......................................................................................116

8.1.1. Giới thiệu ..........................................................................................116 8.1.2. Bảng chú giải ....................................................................................116

8.1.2.1. Bộ sưu tập..................................................................................116 8.1.2.2. Thủ thư ......................................................................................116 8.1.2.3. Quản trị hệ thống .......................................................................117 8.1.2.4. ITLibWeb ..................................................................................117

8.1.3. Đặc tả bổ sung...................................................................................117 8.1.3.1. Phạm vi ......................................................................................117 8.1.3.2. Tài liệu tham khảo .....................................................................117 8.1.3.3. Chức năng..................................................................................117 8.1.3.4. Tính khả dụng............................................................................117 8.1.3.5. Tính ổn định...............................................................................117 8.1.3.6. Hiệu suất ....................................................................................118 8.1.3.7. Sự hỗ trợ ....................................................................................118 8.1.3.8. Tính bảo mật ..............................................................................118 8.1.3.9. Các ràng buộc thiết kế ...............................................................118

8.1.4. Mô hình Use Case.............................................................................118 8.1.4.1. Lược đồ chính của mô hình Use case........................................118 8.1.4.2. Danh sách Actor ........................................................................119 8.1.4.3. Danh sách Use case ...................................................................119 8.1.4.4. Đặc tả các Use case chính .........................................................119

8.2. Phân tích các Use case chính....................................................................127 8.2.1. Use case “Chuan hoa Tai lieu” .........................................................127

8.2.1.1. Lược đồ tuần tự..........................................................................127 8.2.1.2. Lược đồ cộng tác .......................................................................127 8.2.1.3. VOPC.........................................................................................128

8.2.2. Use case “QL BST Luan van” ..........................................................129 8.2.2.1. Lược đồ tuần tự..........................................................................129 8.2.2.2. Lược đồ cộng tác .......................................................................131 8.2.2.3. VOPC.........................................................................................135

8.3. Thiết kế.....................................................................................................136 8.3.1. Sơ đồ lớp đối tượng của hệ thống .....................................................137 8.3.2. Chi tiết một số lớp đối tượng ............................................................138

Page 12: Nguon mo green stone va ung dung

x

8.3.2.1. Các lớp boundary.......................................................................138 8.3.2.2. Các lớp control ..........................................................................139 8.3.2.3. Các lớp entity.............................................................................140

8.3.3. Thiết kế dữ liệu .................................................................................140 8.3.3.1. Mô hình dữ liệu .........................................................................140 8.3.3.2. Danh sách các bảng dữ liệu .......................................................142

8.3.4. Thiết kế giao diện..............................................................................142 8.3.4.1. Màn hình Chuẩn hoá Tài liệu ....................................................143 8.3.4.2. Màn hình thu thập dữ liệu (cho tất cả các bộ sưu tập) ..............143 8.3.4.3. Màn hình quản lý thông tin bộ sưu tập (cho tất cả các bộ sưu tập) 144 8.3.4.4. Màn hình tiến hành xây dựng bộ sưu tập (cho tất cả các bộ sưu tập) 144 8.3.4.5. Màn hình quản lý thông tin Luận văn .......................................145 8.3.4.6. Màn hình quản lý thông tin Sách/Giáo trình .............................145 8.3.4.7. Màn hình quản lý thông tin một bộ sưu tập tổng quát ..............146

8.4. Cài đặt.......................................................................................................146 8.4.1. Công cụ và môi trường phát triển hệ thống ......................................146 8.4.2. Mô hình cài đặt .................................................................................147

8.4.2.1. Mô hình......................................................................................147 8.4.2.2. Diễn giải ....................................................................................147

PHẦN 3. TỔNG KẾT.............................................................................................149 CHƯƠNG 9. ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN ....................................150

9.1. Đánh giá ...................................................................................................150 9.2. Hướng phát triển.......................................................................................150

PHỤ LỤC A. GIỚI THIỆU VỀ SEARCH ENGINE .............................................151 PHỤ LỤC B. CÁC THƯ VIỆN SỐ Ở VIỆT NAM ...............................................154 PHỤ LỤC C - CÁC THÀNH PHẦN HỖ TRỢ GREENSTONE ..........................156 TÀI LIỆU THAM KHẢO.......................................................................................167

Page 13: Nguon mo green stone va ung dung

xi

DANH SÁCH HÌNH

Hình 2.1 - Minh hoạ duyệt tài liệu ..............................................................................9 Hình 2.2 - Minh hoạ duyệt tài liệu được phân cấp....................................................10 Hình 2.3 - Cây kế thừa của các plugin xử lý tài liệu độc quyền ...............................14 Hình 2.4 - Định nghĩa kiểu tài liệu XML của tập tin metadata.xml .........................14 Hình 2.5 -Ví dụ một tập tin metadata.xml ................................................................15 Hình 2.6 - Minh họa cách chia section cho tài liệu...................................................16 Hình 2.7 - Hiển thị nội dung tài liệu trên trình duyệt web........................................21 Hình 2.8 - Hiển thị nội dung của một chương cụ thể................................................21 Hình 2.9 - Dùng AZList để liệt kê các tài liệu theo từng vùng alphabet ..................22 Hình 2.10 - Minh họa classifier AZList ....................................................................23 Hình 2.11 - Minh họa classifier List .........................................................................23 Hình 2.12 - Minh họa classifier DateList..................................................................24 Hình 2.13 - Minh họa classifier Hierarchy ...............................................................25 Hình 2.14 - Kết quả hiển thị tài liệu trên trình duyệt ................................................27 Hình 3.1 - Quá trình xây dựng bộ sưu tập.................................................................32 Hình 3.2 – Cấu trúc thư mục của Greenstone ...........................................................37 Hình 3.3 – Minh họa cấu trúc phân cấp của tài liệu..................................................41 Hình 3.4 - Tìm kiếm tài liệu theo chỉ mục document và section ..............................42 Hình 4.1 - Các phần trong giao diện web của Greenstone........................................48 Hình 4.2 – Các nút duyệt tài liệu...............................................................................49 Hình 4.3 – Hiển thị danh sách các tài liệu ................................................................57 Hình 4.4 – Hiển thị nội dung tài liệu.........................................................................58 Hình 4.5 - Hiệu chỉnh giao diện trang chủ ................................................................59 Hình 5.1 - Cơ chế xử lý.............................................................................................65 Hình 5.2 - Collection server và receptionist liên lạc qua nghi thức null protocol ....66 Hình 5.3 - Bộ sưu tập Project Gutenberg..................................................................67 Hình 5.4 - Cơ chế xử lý dùng null protocol ..............................................................68 Hình 5.5 - Cấu trúc thư mục chứa mã nguồn Greenstone.........................................69 Hình 5.6 - Các đối tượng Filter .................................................................................71 Hình 7.1 – Lược đồ Use case ....................................................................................84 Hình 7.2 – “Đăng nhập” : dòng sự kiện chính ..........................................................91 Hình 7.3 - “Đăng nhập” : dòng sự kiện khác ............................................................92 Hình 7.4 - “Đăng nhập” : dòng sự kiện chính...........................................................92 Hình 7.5 - “Đăng nhập” : dòng sự kiện khác ............................................................93 Hình 7.6 - “Đăng nhập” : VOPC...............................................................................93 Hình 7.7 – Thêm thông tin luận văn .........................................................................94 Hình 7.8 - Cập nhật thông tin luận văn .....................................................................95 Hình 7.9 - Thông tin nhập không hợp lệ ...................................................................96 Hình 7.10 - thông tin cập nhật không hợp lệ.............................................................97 Hình 7.11 - Thêm thông tin luận văn ........................................................................98 Hình 7.12 - Cập nhật thông tin luận văn ...................................................................98 Hình 7.13 - Thông tin nhập không hợp lệ .................................................................98 Hình 7.14 - Thông tin cập nhật không hợp lệ ...........................................................99

Page 14: Nguon mo green stone va ung dung

xii

Hình 7.15 - “Nhập luận văn” : VOPC.......................................................................99 Hình 7.16 - “Tra cứu” : dòng sự kiện chính............................................................100 Hình 7.17 - “Tra cứu” : dòng sự kiện khác .............................................................100 Hình 7.18 - “Tra cứu” : dòng sự kiện chính............................................................101 Hình 7.19 - “Tra cứu” : dòng sự kiện khác .............................................................101 Hình 7.20 - “Tra cuu” : VOPC................................................................................102 Hình 7.21 - “Xem luận văn” : dòng sự kiện chính..................................................102 Hình 7.22 - “Xem luận văn” : dòng sự kiện khác ...................................................103 Hình 7.23 - “Xem luận văn” : dòng sự kiện chính..................................................103 Hình 7.24 - “Xem luận văn” : dòng sự kiện khác ...................................................104 Hình 7.25 - “Xem luận văn” : VOPC......................................................................104 Hình 7.26 - Lược đồ lớp của hệ thống ....................................................................106 Hình 7.27 - Lớp ThesisInfo.....................................................................................107 Hình 7.28 - Lớp UserInfo........................................................................................107 Hình 7.29 - Lớp InputThesisInfo ............................................................................108 Hình 7.30 - Lớp Login ............................................................................................108 Hình 7.31 - Lớp ThesisController ...........................................................................108 Hình 7.32 - Lớp UserController..............................................................................109 Hình 7.33 - Lớp ThesisEntity..................................................................................109 Hình 7.34 - Lớp UserEntity.....................................................................................109 Hình 7.35 – Mô hình dữ liệu...................................................................................110 Hình 7.36 – Trang chủ ............................................................................................111 Hình 7.37 - Trang chức năng của thành viên ..........................................................111 Hình 7.38 - Trang nhập thông tin luận văn .............................................................112 Hình 7.39 - Trang xem thông tin luận văn..............................................................112 Hình 7.40 - Trang tra cứu tài liệu............................................................................113 Hình 7.1 - Mô hình cài đặt .....................................................................................114 Hình 8.1 - Lược đồ Use case..................................................................................118 Hình 8.2 - “Chuẩn hóa tài liệu” : dòng sự kiện chính............................................127 Hình 8.3 - “Chuẩn hóa Tài liệu” : dòng sự kiện chính...........................................128 Hình 8.4 - “Chuẩn hóa Tài liệu” : VOPC ..............................................................128 Hình 8.5 - Luồng phụ “Tạo mới bộ sưu tập” .........................................................129 Hình 8.6 - Luồng phụ “Mở bộ sưu tập” .................................................................130 Hình 8.7 - Luồng phụ “Xoá bộ sưu tập” ................................................................131 Hình 8.8 - Luồng phụ “Tạo mới bộ sưu tập” .........................................................132 Hình 8.9 - Luồng phụ “Mở bộ sưu tập” .................................................................133 Hình 8.10 - Luồng phụ “Xoá bộ sưu tập” ..............................................................134 Hình 8.11 - Sơ đồ lớp đối tượng của hệ thống.......................................................137 Hình 8.12 - Các lớp boundary................................................................................138 Hình 8.13 - Các lớp control....................................................................................139 Hình 8.14 - Các lớp entity......................................................................................140 Hình 8.15 - Mô hình dữ liệu...................................................................................141 Hình 8.16 - Màn hình chuẩn hoá tài liệu................................................................143 Hình 8.17 - Màn hình thu thập dữ liệu...................................................................143 Hình 8.18 - Màn hình quản lý thông tin BST ........................................................144

Page 15: Nguon mo green stone va ung dung

xiii

Hình 8.19 - Màn hình xây dựng bộ sưu tập ...........................................................144 Hình 8.20 - Màn hình quản lý thông tin Luận văn.................................................145 Hình 8.21 - Màn hình quản lý thông tin Sách/Giáo trình ......................................145 Hình 8.22 - Màn hình quản lý thông tin BST nói chung .......................................146 Hình 8.23 - Mô hình cài đặt ...................................................................................147

Page 16: Nguon mo green stone va ung dung

xiv

DANH SÁCH BẢNG

Bảng 2.1 – Danh sách các plugin ..............................................................................13 Bảng 2.2 - Các thành phần trên trang web................................................................28 Bảng 3.1 - Các thư mục của Greenstone...................................................................38 Bảng 3.2 - Các thư mục của một bộ sưu tập .............................................................38 Bảng 3.3 - Thông tin tập tin cấu hình .......................................................................43 Bảng 4.1 – Danh sách các package ...........................................................................47 Bảng 4.2 - Một số macro chuẩn ................................................................................63 Bảng 5.1- Danh sách các Action ...............................................................................73 Bảng 7.1 - Danh sách Actor ......................................................................................85 Bảng 7.2 - Danh sách các Use case...........................................................................85 Bảng 7.3 - Danh sách bảng dữ liệu .........................................................................110 Bảng 8.1 – Danh sách Actor ...................................................................................119 Bảng 8.2 - Danh sách Use case ...............................................................................119 Bảng 8.3 - Danh sách bảng dữ liệu .........................................................................142

Page 17: Nguon mo green stone va ung dung

Trang 1

PHẦN 1. TÌM HIỀU NGUỒN MỞ GREENSTONE

Trong phần này, chúng ta sẽ tìm hiểu thư viện số Greenstone, từ những khái

niệm cơ bản, đến cấu trúc và cơ chế xử lý của hệ thống. Phần này sẽ giải thích tại

sao Greenstone được rất nhiều thư viện trên thế giới lựa chọn như là một giải pháp

xây dựng thư viện số đơn giản, hiệu quả, kinh tế và nhất là khả năng tuỳ biến cao

nhưng vẫn đáp ứng được các tiêu chuẩn quốc tế về nghiệp vụ thư viện.

Tổ chức Phần 1 gồm 5 chương:

Chương 1 : Tổng quan

Chương 2 : Các khái niệm cơ bản

Chương 3 : Xây dựng bộ sưu tập

Chương 4 : Hiệu chỉnh giao diện của Greenstone

Chương 5 : Hệ thống web Greenstone

Page 18: Nguon mo green stone va ung dung

Chương 1 – Tổng quan

Trang 2

CHƯƠNG 1. TỔNG QUAN

Thư viện và thư viện số

Giới thiệu về Greenstone

Mục đích của đề tài

Page 19: Nguon mo green stone va ung dung

Chương 1 – Tổng quan

Trang 3

1.1. Thư viện và thư viện số 1.1.1. Giới thiệu

Thư viện là kho tàng tri thức đã có những đóng góp có ý nghĩa cho sự phát

triển của con người.

Tuy nhiên, khi lượng thông tin vận hành trong xã hội trở nên nhiều hơn, thư

viện truyền thống, với hình thức lưu trữ chủ yếu trên giấy, có còn giữ vị trí độc tôn,

và có còn thích hợp không? Thời đại của Internet, của mạng thông tin toàn cầu,

người ta cần tìm ra một cách quản lý thông tin sao cho hiệu quả. Điều này tập trung

vào hai khía cạnh chủ yếu. Thứ nhất, phải tiết kiệm không gian lưu trữ; thứ hai, tốc

độ truy tìm thông tin phải thật nhanh. Giờ đây, người ta trao đổi thông tin không chỉ

qua giấy tờ, mà còn thường xuyên sử dụng đến hình thức tài liệu điện tử: sách điện

tử, báo điện tử, email, phim ảnh, v.v… Hơn thế nữa, người ta muốn, dù ở bất cứ đâu

trên thế giới cũng có thể tìm và lấy được thông tin cần thiết. Tất cả những điều đó

đặt ra yêu cầu phải xây dựng một hệ thống có những chức năng của một thư viện

bình thường, nhưng chủ yếu quản lý tài liệu điện tử và có thể truy cập vào ở bất cứ

đâu. Và những cụm từ như “virtual library” (thư viện ảo), “electronic library" (thư

viện điện tử), “library without walls” (thư viện không có tường) và gần đây nhất, là

“digital library” (thư viện số) xuất hiện, để chỉ về loại hình thư viện còn tương đối

mới mẻ này.

1.1.2. Thư viện số

Vậy thư viện số là gì? Theo định nghĩa của Akscyn và Witten, (Trường Đại

học Waikato, New Zealand), thư viện số là tập hợp các bộ sưu tập số, của các đối

tượng kỹ thuật bao gồm văn bản, hình ảnh, video, âm thanh, cho phép:

- Truy cập, chọn lọc và hiển thị tài nguyên số (dành cho độc giả)

- Xây dựng, tổ chức và lưu hành (dành cho cán bộ thư viện)

Page 20: Nguon mo green stone va ung dung

Chương 1 – Tổng quan

Trang 4

Một câu hỏi thú vị là, World Wide Web có phải là một thư viện số hay

không? Nó cũng là một kho dữ liệu khổng lồ chuyên thu thập hàng ngàn, hàng triệu

trang tài liệu, cho phép người ta tìm kiếm thông tin trên đó. Tuy nhiên, theo Clifford

Lynch, một trong những nhà nghiên cứu hàng đầu trong lĩnh vực khoa học thư viện

nói chung và thư viện số nói riêng, câu trả lời là không. “Internet và những tài

nguyên đa phương tiện của nó, còn gọi là World Wide Web, không được thiết kế để

hỗ trợ xuất bản và thu nhận thông tin có tổ chức. Nó chỉ là một kho hỗn độn của

các thông tin vô tổ chức trên thế giới số… Internet không phải là một thư viện

số.”[23]

Thư viện số trước hết là một thư viện.Thêm vào đó nó có các đặc trưng riêng

của một hệ thống điện tử với những công nghệ, dịch vụ mới.

Hiện nay trên thế giới có rất nhiều hệ thống phần mềm thư viện số như

Project Gutenberg, Ibiblio và Internet Archieve. Tuy nhiên, chúng hầu hết là những

sản phẩm thương mại. Chỉ tính riêng ở Việt Nam đã có ít nhất ba nhà cung cấp hệ

thống phần mềm dạng này1. Đó là Công ty trách nhiệm hữu hạn CMC (CMC Co.,

Ltd) với hệ thống iLib; Công ty Tin học Lạc Việt (LAC VIET Computing Corp) với

phần mềm VeBrary; và phần mềm Libol của Công ty Tin học Tinh Vân (TINH

VAN Informatic Technology Co.). Theo các chuyên gia đánh giá, “Các phần mềm

hiện nay đang sử dụng tại các thư viện Việt Nam do các nhà sản xuất Việt Nam

cung cấp đang còn có một số hạn chế về độ tin cậy. Do thời gian dùng thử nghiệm

chưa nhiều, qui mô khai thác chưa lớn nên chưa thể có kết luận một cách rõ ràng

chất lượng của các sản phẩm này” [19]. Do đó, việc sử dụng một hệ thống thư viện

số thoả mãn những tiêu chuẩn quốc tế, tạo mặt bằng chung trong quá trình liên kết

hệ thống các thư viện hiện nay là rất cần thiết.

1.2. Thư viện số Greenstone 1.2.1. Giới thiệu

Các thư viện số làm thay đổi nhanh chóng cách thức thu thập và phổ biến

thông tin ở nhiều quốc gia, nhất là các quốc gia còn kém và đang phát triển. Đứng 1 Xin xem phần thăm dò các sản phẩm phần mềm thư viện ở Việt Nam trong phụ lục B

Page 21: Nguon mo green stone va ung dung

Chương 1 – Tổng quan

Trang 5

trước yêu cầu thực tế, năm 1995 một nhóm nhỏ các giảng viên và sinh viên Đại học

Waikato, New Zealand đã xây dựng phần mềm thư viện số Greenstone, giúp người

dùng dễ dàng xây dựng và phân phối các bộ sưu tập thư viện số. Phần mềm

Greenstone cung cấp một phương pháp mới để tổ chức và xuất bản thông tin trên

Internet và qua CD-ROM. Greenstone ban đầu là sản phẩm của dự án New Zealand

Digital Library của trường đại học Waikato. Sau đó, thấy được ý nghĩa và tác dụng

của phần mềm, từ tháng 8/2000, UNESCO2 và Human Info NGO3 đã tham gia

phát triển và hỗ trợ. Đây là phần mềm mã nguồn mở được cung cấp trên

http://www.greenstone.org theo thoả thuận đăng kí GNU General Public License.

Greenstone mang tính quốc tế. Hiện nay Greenstone đã được sử dụng ở rất

nhiều quốc gia, có giao diện và các bộ sưu tập với nhiều ngôn ngữ. Nhóm nghiên

cứu nghĩ rằng, việc mở rộng, hỗ trợ cho mọi sinh ngữ là điều có thể thực hiện được.

UNESCO đã và đang phát triển Greenstone như là một phần trong chương trình

“Thông tin cho tất cả - Information for All”. Greenstone cũng là phần mềm đa môi

trường : có thể chạy được trên hệ điều hành Windows, Unix, Macintosh OS/X.

Người dùng sử dụng các bộ sưu tập của Greenstone qua web, hoặc qua đĩa CD, mà

không có sự khác biệt gì nhiều.

Hệ thống Greenstone gồm hai phần : Phần xử lý offline, thực hiện việc tạo

dựng các bộ sưu tập, tạo các cấu trúc dữ liệu để tìm kiếm và trình duyệt; và phần xử

lý online, cho phép người dùng truy xuất, sử dụng các bộ sưu tập.

1.2.2. Tính năng

Sau đây là những điều tóm lược về những đặc trưng nổi bật, và cũng là ưu

thế của Greenstone.

- Truy cập qua trình duyệt web, cả ở chế độ cục bộ (local) và từ xa (remote).

- Chạy được trên nhiều hệ điều hành : Windows, Unix, Macintosh.

- Tìm kiếm toàn văn bản và tìm kiếm theo từng trường riêng biệt.

2 UNESCO (United Nations Educational, Scientific and Cultural Organization) – Tổ chức Giáo dục, Khoa học và Văn hoá của Liên Hợp Quốc. 3 Human Info NGO, viết tắt của Humanitarian Information for All - Non-Governmental Organization, một tổ chức phi chính phủ của Bỉ, hoạt động nhân đạo vì quyền tự do và phát triển của con người.

Page 22: Nguon mo green stone va ung dung

Chương 1 – Tổng quan

Trang 6

- Khả năng trình duyệt linh động, đa dạng

- Cấu trúc duyệt tài liệu được xây dựng hoàn toàn tự động.

- Tận dụng các metadata sẵn có trong tài liệu, giúp người tạo lập bộ sưu tập

không phải làm bằng tay.

- Khả năng linh động, dễ mở rộng hệ thống nhờ các thành phần như plugin,

classifier.

- Hỗ trợ xử lý tài liệu với nhiều loại ngôn ngữ.

- Cung cấp giao diện đa ngôn ngữ.

- Ngoài các bộ sưu tập văn bản, hình ảnh thông thường, Greenstone còn cho

phép tạo các bộ sưu tập hình ảnh, âm thanh đa phương tiện (multimedia)

- Khả năng lưu trữ rất lớn, tới hàng Gigabyte dữ liệu.

- Thêm mới bộ sưu tập đơn giản, có hiệu quả tức thì.

- Khả năng xuất bản các bộ sưu tập ra CD, với đầy đủ tính năng để có thể tự

cài đặt và chạy độc lập

- Các bộ sưu tập dễ dàng được mang chuyển, phân phối, chia sẻ.

- Theo phong cách WYSIWYG (What you see is what you get), dễ dùng,

thuận tiện.

1.3. Mục đích của đề tài Sau khi tìm hiểu về hệ thống những phần mềm thư viện số trong nước và

trên thế giới, Greenstone nổi bật lên với tính hiệu quả, dễ sử dụng, mã nguồn mở, dễ

tùy biến và mang tính chuẩn quốc tế. Rất tâm đắc với phương châm hoạt động của

Greenstone, chúng em đã chọn tìm hiểu về hệ thống phần mềm này làm đề tài Tốt

nghiệp của mình. Hiểu rõ về Greenstone và ứng dụng phần mềm này vào mục đích

xây dựng một thư viện số, trước hết là phục vụ nhu cầu học tập và giảng dạy trong

Khoa Công nghệ Thông tin, Đại học KHTN. Sau đó, nếu có thể, sẽ tham gia vào

việc số hoá hệ thống thư viện hiện có. Đây cũng là một yêu cầu cấp thiết, nhất là khi

Trường chúng ta làm chủ đầu tư dự án “Hệ thống thông tin – thư viện điện tử liên

kết các trường đại học” từ giữa năm 2004.

Page 23: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 7

CHƯƠNG 2. CÁC KHÁI NIỆM CƠ BẢN

Tài liệu

Bộ sưu tập

Tìm kiếm

Duyệt tài liệu

Metadata

Biên mục

Plugin

Classifier

Định dạng cách hiển thị tài liệu

Page 24: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 8

2.1. Tài liệu Greenstone hỗ trợ các loại tài liệu dạng HTML, XHTML và XML, TXT, các

dạng phức tạp như Word, RTF hoặc dạng được sử dụng phổ biến trên nhiều môi

trường như PDF, PostScript, dạng multi-media như âm thanh (ví dụ .mp3), hình

ảnh, phim…

2.2. Bộ sưu tập Một thư viện số do Greenstone tạo ra chứa được nhiều bộ sưu tập. Mỗi bộ

sưu tập tập trung vào một chủ đề nào đó. Ví dụ, bộ sưu tập Luận văn, bộ sưu tập

Sách… Các bộ sưu tập có thể được bổ sung cập nhật. Kích thước bộ sưu tập có thể

lên đến hàng gigabyte dữ liệu. Bộ sưu tập có thể xem là đơn vị của một thư viện số

Greenstone.

2.3. Tìm kiếm Mặc định, các bộ sưu tập cho phép tìm kiếm trên toàn bộ nội dung văn bản.

hoặc có thể tìm trên từng vùng (section) hay đoạn (paragraph). Cũng có thể tìm

kiếm theo các từ khoá, hay các cụm từ, và kết quả sẽ được sắp xếp thứ tự theo yêu

cầu của câu truy vấn.

2.4. Duyệt tài liệu Greenstone cho phép định nghĩa trước các cấu trúc để duyệt tài liệu trong

mỗi bộ sưu tập dựa trên những metadata tìm thấy trong bộ sưu tập đó.

Page 25: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 9

Ví dụ, bộ sưu tập Greenstone Demo cho phép ta duyệt các tài liệu theo

metadata “đề mục”

Hình 2.1 - Minh hoạ duyệt tài liệu

Với những tài liệu phân cấp theo bảng mục lục, ta có thể duyệt theo chính

mục lục đó, rất tiện lợi, như hình dưới đây

Page 26: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 10

Hình 2.2 - Minh hoạ duyệt tài liệu được phân cấp

2.5. Metadata Là thông tin mô tả cho một tài liệu trong bộ sưu tập, ví dụ tựa đề tài liệu, tên

tác giả, ngày xuất bản…

Greenstone dùng các thẻ XML để mô tả thông tin cho tài liệu, ví dụ:

<Metadata name =”Title”> Tìm hiểu nguồn mở Greenstone </Metadata>

<Metadata name =”Author”> Quy,Quỳnh </Metadata>

Các thẻ này có thể:

- Được nhúng trong tài liệu của bộ sưu tập, ví dụ các thẻ HTML trong tài liệu

HTML.

- Được lưu thành tập tin metadata kèm theo tài liệu.

- Được trích một cách tự động từ một tài liệu nào đó, ví dụ thông tin về tên,

kích thước, ngày tạo, ngày hiệu chỉnh … tập tin tài liệu.

Page 27: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 11

2.6. Biên mục Biên mục là khái niệm của nghiệp vụ thư viện để chỉ hành động cung cấp

thông tin mô tả cho các tài liệu trong thư viện. Hiện nay người ta thường biên mục

tài liệu theo chuẩn quốc tế Dublin Core.

2.7. Plugin 2.7.1. Giới thiệu

Plugin là một chương trình con (script) được dùng trong quá trình xây dựng

bộ sưu tập.

Do nguồn vào có nhiều dạng tài liệu khác nhau (pdf, word, text…) nên cần

plugin chuyển chúng về một dạng thống nhất là XML của Greenstone và trích thông

tin từ những tài liệu nguồn đưa vào tập tin XML này. Ví dụ một plugin là

HTMLPlug chuyển những trang HTML nguồn sang định dạng XML của

Greenstone và trích thông tin metadata của tài liệu nguồn, ví dụ phần tiêu đề của

trang HTML được bao trong cặp tag <title></title> được trích ra và đưa vào tập tin

XML của Greenstone.

Mỗi bộ sưu tập có một tập tin cấu hình collect.cfg. Tập tin này liệt kê các

plugin được dùng trong quá trình xây dựng bộ sưu tập. Tùy theo tài liệu nguồn có

định dạng thế nào, ta sẽ chọn các plugin tương ứng. Ví dụ nếu tài liệu nguồn là tập

tin word thì ta dùng plugin WordPlug.

Các plugin được viết bằng ngôn ngữ lập trình Perl. Mọi plugin đều kế thừa từ

plugin cơ sở BasPlug. Plugin cơ sở BasPlug thực hiện những thao tác cơ bản như

tạo tài liệu mới XML theo định dạng của Greenstone, gán định danh cho tài liệu.

Các plugin được đặt trong thư mục “greenstone\perllib\plugins”.

Để tìm hiểu thông tin của một plugin, ta dùng lệnh sau ở chế độ command

prompt: pluginfo.pl plugin-name. Ta cũng có thể viết các plugin mới.

Page 28: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 12

2.7.2. Danh sách các plugin

Tên plugin Công dụng Kiểu tập tin xử lý

Các tập tin không xử lý

BasPlug Là lớp cơ sở cho tất cả các plugin - - ConvertToPlug Gọi các chương trình bên ngoài để

chuyển các tài liệu độc quyền (word hay pdf) sang html hay plain text

- -

ArcPlug Xử lý những tập tin được chỉ ra trong tập tin archives.inf, tập tin archive.inf là cầu nối giữa tiến trình import và tiến trình build. Plugin này bắt buộc phải khai báo trong tập tin cấu hình

- -

RecPlug Duyệt qua thư mục để xử lý các tập tin mà plugin này tìm thấy

- -

GAPlug Xử lý những tập tin của Greenstone được phát sinh từ chương trình import.pl

.xml -

TEXTPlug Xử lý tập tin text thuần túy .txt, .text - HTMLPlug Xử lý tập tin HTML .htm, .html,

.cgi, .php,

.asp, .shm,

.shtml

.gif, .jpg,

.jpeg, .png,

.css, .rtf

WordPlug Xử lý tài liệu Word .doc .gif, .jpg, .jpeg, .png, .css, .rtf

PDFPlug Xử lý tập tin pdf .pdf .gif, .jpg, .jpeg, .png, .css, .rtf

PSPlug Xử lý tài liệu postscript, trích thông tin metadata ngày, tựa đề, số trang

.ps .eps

EMAILPlug Xử lý những thông điệp email, trích thông tin như tác giả, chủ đề, ngày…

Tên tập tin kết thúc bằng số, hoặc số theo sau là .Email

-

BibTexPlug Xử lý các tập tin bibliography theo chuẩn BibTex

.bib -

ReferPlug Xử lý các tập tin bibliography theo chuẩn Refer

.bib -

SRCPlug Xử lý các tập tin mã nguồn Makefile, Readme, .c, .cc, .cpp, .h, .hpp, pl,

.o, .obj, .a,

.so, .dll

Page 29: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 13

.pm, .sh ImagePlug Xử lý các tập tin ảnh. Plugin này chỉ

dùng trên UNIX .gif, .jpg, .jpeg, .png, .bmp, .xbm, .tif, .tiff

-

SplitPlug Giống BasPlug và ConvertToPlug. Không dùng trực tiếp plugin này, plugin này phải được kế thừa lại để xử lý tài liệu

- -

FOXPlug Xử lý các tập tin FoxBase .dbt, .dbf - ZIPPlug Xử lý các tập tin nén .gzip, .bzip,

.zip, .tar,

.gz, .bz, .tgz,

.taz

-

Bảng 2.1 – Danh sách các plugin

2.7.3. Các plugin xử lý tài liệu độc quyền

Đối với tài liệu độc quyền như word, pdf, ta dùng các plugin tương ứng là

WordPlug và PDFPlug. Các plugin này thực hiện 2 thao tác:

1. Chuyển tài liệu nguồn sang dạng html hay plain text

2. Sử dụng plugin HTMLPlug hay TEXTPlug chuyển kết quả ở bước 1 sang

dạng XML của Greenstone.

Để chuyển tài liệu nguồn sang dạng html hay plain text, Greenstone dùng

những chương trình có sẵn như pdftohtml, wvware trong thư mục

“greenstone\bin\windows”.

Các plugin WordPlug và PDFPlug kế thừa từ plugin ConvertToPlug. Tùy

chọn convert_to của plugin ConvertToPlug cho biết chuyển sang dạng tài liệu nào.

Page 30: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 14

Hình 2.3 - Cây kế thừa của các plugin xử lý tài liệu độc quyền

2.7.4. Gán thông tin metadata từ một tập tin mô tả

Các thông tin metadata cho một tài liệu có thể được đặc tả trong một tập tin

XML metadata.xml. Nếu tùy chọn use_metadata_files của plugin RecPlug được

chỉ ra, plugin này sẽ gán thông tin metadata có trong tập tin metadata.xml vào tập

tin XML chuyển đổi từ tài liệu nguồn.

<!DOCTYPE GreenstoneDirectoryMetadata [

<!ELEMENT DirectoryMetadata (FileSet*)>

<!ELEMENT FileSet (FileName+,Description)>

<!ELEMENT FileName (#PCDATA)>

<!ELEMENT Description (Metadata*)>

<!ELEMENT Metadata (#PCDATA)>

<ATTLIST Metadata name CDATA #REQUIRED>

<ATTLIST Metadata mode (accumulate|override) "override">

]>

Hình 2.4 - Định nghĩa kiểu tài liệu XML của tập tin metadata.xml

Page 31: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 15

<?xml version="1.0" ?>

<!DOCTYPE GreenstoneDirectoryMetadata SYSTEM

"http://greenstone.org/dtd/GreenstoneDirectoryMetadata/1.0/GreenstoneDirecto

ryMetadata.dtd">

<DirectoryMetadata>

<FileSet>

<FileName>vidu.*</FileName>

<Description>

<Metadata name="Title">Đây là ví dụ</Metadata>

<Metadata name="Place" mode="accumulate">Sách giáo

khoa</Metadata>

</Description>

</FileSet>

<FileSet>

<FileName>vidu-1.jpg</FileName>

<Description>

<Metadata name="Title">Đây là ví dụ 1</Metadata>

<Metadata name="Subject">Thư viện số</Metadata>

</Description>

</FileSet>

</DirectoryMetadata>

Hình 2.5 -Ví dụ một tập tin metadata.xml

Ví dụ trên chứa 2 cấu trúc metadata. Ở mỗi cấu trúc, trường FileName đặc tả

tên các tập tin cần gán thông tin metadata. Ở cấu trúc thứ nhất, thông tin metadata

sẽ được gán cho các tập tin được bắt đầu với chữ “vidu”. Những thông tin metadata

Title và Place có giá trị tương ứng là “Đây là ví dụ”, “Sách giáo khoa”. Ở cấu trúc

thứ hai, metadata Title của tập tin vidu-1.jpg có giá trị “Đây là ví dụ 1” sẽ override

Page 32: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 16

thông tin metadata Title đã được đặc tả ở cấu trúc metadata thứ nhất. Tập tin vidu-

1.jpg còn được cung cấp thêm metadata Subject với giá trị là “Thư viện số”.

Với một metadata có nhiều giá trị phải dùng thuộc tính mode =

“accumulate”, nếu không metadata đặc tả sau sẽ override metadata trước (giá trị

mặc định là mode = “override”)

Đối với plugin RecPlug, nếu tùy chọn use_metadata_files được chọn ,

RegPlug sẽ tìm trong thư mục tài liệu nguồn tập tin metadata.xml, sau đó gán thông

tin metadata trong tập tin metadata.xml này cho các tập tin và thư mục con trong

thư mục tài liệu nguồn.

2.7.5. Chia cấu trúc tài liệu nguồn

Có thể chia tài liệu nguồn có cấu trúc phân cấp thành nhiều vùng (section),

mỗi vùng được bao bằng cặp thẻ <Section> </Section>, các cặp thẻ

<Section></Section> có thể lồng nhau.

<!--

<Section>

<Description>

<Metadata name="Title">( Thông tin metadata mô tả thông tin của

Section)</Metadata>

</Description>

-->

(Phần nội dung của Section)

<!--

</Section>

-->

Hình 2.6 - Minh họa cách chia section cho tài liệu

Giữa cặp thẻ <Section> </Section> ta có thể thêm cặp thẻ <Description>

</Description> để mô tả thông tin cho section. Ví dụ trên mô tả thông tin metadata

Page 33: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 17

Title cho section. Ta chỉ có thể thêm các thẻ section vào tài liệu nguồn dạng html,

word vì:

- Đối với tập tin html, các văn bản trong vùng <!-- --> được xem như dòng

ghi chú, do đó các thẻ <Section> trong tập tin html không ảnh hưởng đến nội dung

hiển thị của tập tin html này.

- Đối với tập tin word , việc chuyển sang XML của Greenstone phải qua

bước trung gian là chuyển sang tập tin html nên việc chèn các thẻ <Section> cũng

không ảnh hưởng đến nội dung hiển thị cuối cùng

Mục đích của việc thêm cặp thẻ <Section> </Section> vào tài liệu nguồn là

để sau khi xây dựng bộ sưu tập, khi hiển thị nội dung của tài liệu bằng trình duyệt

web, ta sẽ thấy cấu trúc phân cấp của tài liệu và có thể nhanh chóng xem nội dung

một đoạn nào đó trong tài liệu nhờ cấu trúc phân cấp này.

Để plugin HTMLPlug xử lý cặp thẻ <Section> </Section>, ta phải chọn tùy

chọn description_tags.

Page 34: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 18

Ví dụ một tài liệu có cấu trúc phân cấp :

Tìm hiểu PP LT hướng khía cạnh Lời cảm ơn (Nội dung phần “Lời cảm ơn”) … Mục lục (Nội dung phần “Mục lục”) … Danh mục các ảnh-Sơ đồ (Nội dung phần “Danh mục các ảnh-Sơ đồ”) … Giới thiệu (Nội dung phần “Giới thiệu”) … Nội dung (Nội dung phần “Nội dung”) … Phần 1: Tìm hiểu phương pháp lập trình hướng khía cạnh Chương 1: Tổng quan về đề tài (Các nội dung trong chương 1) … Chương 2: Phương pháp lập trình hướng khía cạnh (AOP) (Các nội dung trong chương 2) … Chương 3: Ngôn ngữ lập trình AspectJ (Các nội dung trong chương 3) …

Sau khi chèn các cặp thẻ <Section> </Section> vào tài liệu nguồn, tài liệu

nguồn lúc này có nội dung như sau:

<!-- <Section> <Description> <Metadata name="Title">Tìm hiểu PP LT hướng khía cạnh</Metadata> </Description> --> Tìm hiểu PP LT hướng khía cạnh <!-- <Section> <Description> <Metadata name="Title">Lời cảm ơn</Metadata> </Description> -->

Page 35: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 19

Lời cảm ơn (Nội dung phần “Lời cảm ơn”) … <!-- </Section> <Section> <Description> <Metadata name="Title">Mục lục</Metadata> </Description> --> Mục lục (Nội dung phần “Mục lục”) … <!-- </Section> <Section> <Description> <Metadata name="Title">Mục lục</Metadata> </Description> --> Danh mục các ảnh-Sơ đồ (Nội dung phần “Danh mục các ảnh-Sơ đồ”) … <!-- </Section> <Section> <Description> <Metadata name="Title">Giới thiệu</Metadata> </Description> --> Giới thiệu (Nội dung phần “Giới thiệu”) … <!-- </Section> <Section> <Description> <Metadata name="Title">Nội dung</Metadata> </Description> --> Nội dung (Nội dung phần “Nội dung”) … <!-- </Section>

Page 36: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 20

<Section> <Description> <Metadata name="Title">Tìm hiểu phương pháp lập trình hướng khía cạnh </Metadata> </Description> --> Phần 1: Tìm hiểu phương pháp lập trình hướng khía cạnh <!-- <Section> <Description> <Metadata name="Title">Tổng quan về đề tài</Metadata> </Description> --> Chương 1: Tổng quan về đề tài (Các nội dung trong chương 1) … <!-- </Section> <Section> <Description> <Metadata name="Title">Chương 2: Phương pháp lập trình hướng khía cạnh (AOP)</Metadata> </Description> --> Chương 2: Phương pháp lập trình hướng khía cạnh (AOP) (Các nội dung trong chương 2) … <!-- </Section> <Section> <Description> <Metadata name="Title">Chương 3: Ngôn ngữ lập trình AspectJ</Metadata> </Description> --> Chương 3: Ngôn ngữ lập trình AspectJ (Các nội dung trong chương 3) … <!-- </Section> </Section> </Section> -->

Page 37: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 21

Sau khi xây dựng bộ sưu tập từ tài liệu nguồn đã chèn các cặp thẻ <Section>

</Section>, trình duyệt web sẽ hiển thị nội dung tài liệu này như sau:

Hình 2.7 - Hiển thị nội dung tài liệu trên trình duyệt web

Giả sử ta muốn xem nội dung Chương 1, ta click vào link Chương 1: Tổng

quan về đề tài, nội dung hiển thị như sau:

Hình 2.8 - Hiển thị nội dung của một chương cụ thể

Page 38: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 22

2.8. Classifier 2.8.1. Giới thiệu

Classifier dùng để xây dựng cấu trúc duyệt tài liệu trên web của một bộ sưu

tập. Tương tự các plugin, các classifier được đặc tả trong tập tin cấu hình collect.cfg

của mỗi bộ sưu tập.

Trong pha cuối cùng của quá trình xây dựng bộ sưu tập (nén và tạo chỉ mục

trên tài liệu), các classifier được script buildcol.pl gọi sẽ lưu cấu trúc duyệt tài liệu

vào cơ sở dữ liệu bộ sưu tập.

Cú pháp: classify <Tên classifier> <Các tham số>

Ví dụ: classify AZList -metadata Title -buttonname TitleA-Z

Trong dòng đặc tả có một tham số quan trọng là metadata xác định rằng các

tài liệu của bộ sưu tập sẽ được sắp xếp theo metadata đã được chỉ ra. Với ví dụ trên,

các tài liệu được sắp xếp theo tựa đề của tài liệu (Title)

Tham số buttonname xác định tên nút xuất hiện trên thanh duyệt. Với dòng

đặc tả trên, khi ta click vào nút TitleA-Z trên thanh duyệt, các tài liệu của bộ sưu tập

được liệt kê theo thứ tự từng vùng alphabet.

Hình 2.9 - Dùng AZList để liệt kê các tài liệu theo từng vùng alphabet

Các classifier được đặt trong thư mục greenstone\perllib\classify. Để biết

thông tin của classifier, dùng lệnh: classinfo.pl <Tên classifier>. Ta có thể viết các

classifier mới.

Page 39: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 23

Những nút trên thanh duyệt, ngoại trừ nút Search, được quản lý bởi các

classifier. Khi định nghĩa một classifier trong tập tin collect.cfg, những nút liên

quan sẽ xuất hiện trên thanh duyệt.

2.8.2. Phân loại

Nhóm classifier liệt kê tài liệu dưới dạng danh sách (list)

Classifier AZList: liệt kê tài liệu theo từng vùng alphabet

Hình 2.10 - Minh họa classifier AZList

Classifier List: liệt kê tài liệu thành một danh sách sắp thứ tự alphabet

Hình 2.11 - Minh họa classifier List

Classifier DateList: liệt kê tài liệu theo từng vùng thời gian

Page 40: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 24

Hình 2.12 - Minh họa classifier DateList

Page 41: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 25

Nhóm classifier liệt kê tài liệu dưới dạng phân cấp (hierarchy)

Classifier Hierarchy: liệt kê các tài liệu dưới dạng phân cấp

Hình 2.13 - Minh họa classifier Hierarchy

2.9. Định dạng cách hiển thị tài liệu 2.9.1. Giới thiệu

Những trang web trong Greenstone không được thiết kế trước mà được phát

sinh và hiển thị ra web browser. Một phần giao diện của các trang web này được

quản lý bởi các chuỗi định dạng. Chuỗi định dạng được đặc tả trong tập tin cấu hình

của bộ sưu tập collect.cfg. Để đặc tả chuỗi định dạng ta dùng từ khóa format, theo

sau là tên của những thành phần mà chuỗi định dạng sẽ tác động.

Ta có thể định dạng 2 thành phần sau:

Danh sách tài liệu được phát sinh bởi classifier hoặc danh sách tài liệu nhận

được trong quá trình tìm kiếm

Những thành phần trên trang web hiển thị tài liệu hoặc hiển thị các đoạn của

một tài liệu

2.9.2. Định dạng danh sách tài liệu

Cú pháp: format <kiểu danh sách> <chuỗi html định dạng>

Từ khóa chỉ kiểu danh sách gồm 2 phần:

Page 42: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 26

Phần thứ nhất gồm các loại: Search: danh sách kết quả tìm kiếm tài liệu

CLi: với i là số nguyên > 0

Đây là danh sách được phát sinh bởi các classifier. CL1, CL2, CL3… tương

ứng với classifier thứ nhất, thứ hai, thứ ba...được đặc tả trong tập tin cấu hình

collect.cfg

Phần thứ hai gồm các loại: VList: danh sách theo chiều dọc

HList: danh sách theo chiều ngang

DateList: danh sách phân loại theo thời gian

Ví dụ :

format SearchVList … : định dạng kết quả tìm kiếm tài liệu, áp dụng cho

các danh sách hiển thị theo chiều dọc.

format CL1HList… : định dạng danh sách tài liệu phát sinh từ classifier thứ

nhất, áp dụng cho các danh sách hiển thị theo chiều ngang

Ví dụ một đoạn trong tập tin cấu hình collect.cfg :

1

2

3

4

5

6

7

classify Hierarchy -metadata Subject -buttonname Subjects

classify AZList -metadata Title –buttonname Title

classify List -metadata Howto –buttonname HowTo

format CL3Vlist "<br>[link][Howto][/link]"

format DocumentImages true

format DocumentText "<h3>[Title]</h3>\\n\\n<p>[Text]"

format DocumentButtons "Expand Text|Expand contents|Detach|Highlight"

Page 43: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 27

Kết quả hiển thị trên trình duyệt web :

Hình 2.14 - Kết quả hiển thị tài liệu trên trình duyệt

Ta thấy ở dòng 4 trong tập tin cấu hình có nội dung:

format CL3VList “<br>[link][Howto][/link]”

dùng để định dạng danh sách tài liệu được phát sinh từ classifier thứ ba trong

tập tin cấu hình (classifier List), áp dụng cho các danh sách được bố trí theo chiều

dọc. Chuỗi "<br>[link][Howto][/link]" là chuỗi html định dạng cách hiển thị của

danh sách. Với chuỗi định dạng này thì mỗi phần tử trong danh sách sẽ xuất hiện

trên một dòng (“<br>”), được đại diện bằng dòng chữ (giá trị của metadata Howto)

và liên kết đến tài liệu gốc (“[link] [/link]”). Trong chuỗi định dạng ta có thể sử

dụng các thẻ html và một số từ khóa khác mà Greenstone hỗ trợ, ví dụ [link] [/link]

đại diện cho 1 liên kết, [tên metadata] đại diện cho giá trị của metadata, [Text] đại

diện cho nội dung của văn bản…

Page 44: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 28

2.9.3. Định dạng các thành phần của trang web hiển thị tài liệu

Cú pháp: format <tên thành phần> <giá trị>

Tên thành phần Giá trị Ý nghĩa DocumentImages true/false true: hiển thị ảnh ở phía trên

bên trái của trang tài liệu. false: không hiển thị. Giá trị mặc định: false

DocumentHeading Chuỗi định dạng Định dạng phần header của tài liệu trong trang tài liệu nếu DocumentImages có giá trị falseGiá trị mặc định: [Title]

DocumentContents true/false Hiển thị bảng nội dung nếu tài liệu được phân cấp hoặc các nút next/previous và đoạn chữ “page k of n” nếu tài liệu không phân cấp

DocumentButtons Chuỗi Quản lý các nút hiển thị trên trang tài liệu. Giá trị mặc định: Detach|Highlight

DocumentText Chuỗi định dạng Định dạng nội dung hiển thị trên trang tài liệu. Gíá trị mặc định: <center><table width=537> <tr><td>[Text]</td></tr> </table></center>

DocumentArrowsBottom true/false Hiển thị nút next/previous trên trang tài liệu. Giá trị mặc định: true

DocumentUseHTML true/false true: mỗi tài liệu được hiển thị trong một frame false: không hiển thị tài liệu dưới dạng frame

Bảng 2.2 - Các thành phần trên trang web

Page 45: Nguon mo green stone va ung dung

Chương 2 – Các khái niệm cơ bản

Trang 29

Ví dụ:

Dòng 6 trong tập tin cấu hình trên định dạng cách hiển thị nội dung tài liệu :

format DocumentText “<h3>[Title]</h3>\\n\\n<p>[Text]”

Dòng 7 ta xác định các nút dùng trong trang tài liệu:

format DocumentButtons "Expand Text|Expand

contents|Detach|Highlight"

Ta có thể xem hình 2.154 ở trên để thấy rõ hơn kết quả mà chuỗi định dạng

mang lại.

Page 46: Nguon mo green stone va ung dung

Chương 3 – Xây dựng bộ sưu tập

Trang 30

CHƯƠNG 3. XÂY DỰNG BỘ SƯU TẬP

Giới thiệu

Chương trình mkcol.pl

Chương trình import.pl

Chương trình buildcol.pl

Cấu trúc thư mục của Greenstone

Cấu trúc thư mục của một bộ sưu tập

Cấu trúc tài liệu theo định dạng XML

Tập tin cấu hình bộ sưu tập

Page 47: Nguon mo green stone va ung dung

Chương 3 – Xây dựng bộ sưu tập

Trang 31

3.1. Giới thiệu Quá trình xây dựng một bộ sưu tập trải qua 3 pha chính

Pha 1 : Tạo cấu trúc chung cho bộ sưu tập

Pha 2 : Chuyển định dạng tài liệu nguồn sang định dạng XML

Pha 3 : Nén và tạo chỉ mục trên các tài liệu của bộ sưu tập

Ở mỗi pha ta dùng chương trình do Greenstone hỗ trợ để xây dựng bộ sưu

tập

Pha 1 : dùng chương trình mkcol.pl

Pha 2 : dùng chương trình import.pl

Pha 3 : dùng chương trình buildcol.pl

Các chương trình trên được đặt trong thư mục “greenstone\bin\script”. Để

thực thi các chương trình này trong môi trường DOS, ta dùng cú pháp lệnh như sau:

perl –S <tên chương trình><các tham số>

Page 48: Nguon mo green stone va ung dung

Chương 3 – Xây dựng bộ sưu tập

Trang 32

Hình 3.1 - Quá trình xây dựng bộ sưu tập

Page 49: Nguon mo green stone va ung dung

Chương 3 – Xây dựng bộ sưu tập

Trang 33

3.2. Chương trình mkcol.pl Công dụng:

Chương trình mkcol.pl dùng để tạo cấu trúc chung cho một bộ sưu tập, tạo

tập tin cấu hình mặc định cho bộ sưu tập collect.cfg đặt trong thư mục con “etc” của

bộ sưu tập.

Cú pháp:

mkcol.pl [Các tùy chọn] <Tên bộ sưu tập>

Các tùy chọn:

-creator <string>: địa chỉ email của người tạo bộ sưu tập

-optionfile <string>: lấy những tùy chọn từ một tập tin nào đó.

-maintainer <string>: địa chỉ email của người quản lý bộ sưu tập.

-collectdir <string>: thư mục chứa bộ sưu tập. Giá trị mặc định là

“greenstone\collect”

-public <string>: cho phép bộ sưu tập được truy cập rộng rãi hay không. Giá

trị mặc định là “true”

-title <string>: tựa đề của bộ sưu tập

-about <string>: thông tin mô tả bộ sưu tập

-plugin <string>: tên plugin được dùng

-quiet : không hiển thị các thông báo của chương trình

-win31compat <string> : cho biết tên thư mục của bộ sưu tập có tuân theo

quy ước của Windows 3.1 hay không (tên thư mục có độ dài tối đa 8 kí tự). Giá trị

mặc định là “true”.

3.3. Chương trình import.pl Công dụng:

Page 50: Nguon mo green stone va ung dung

Chương 3 – Xây dựng bộ sưu tập

Trang 34

Chuyển định dạng tài liệu nguồn sang định dạng XML của Greenstone, tạo

tập tin tóm tắt thông tin archive.inf.

Cú pháp:

import.pl [Các tùy chọn] <Tên bộ sưu tập>

Các tùy chọn:

-archivedir <string>: đường dẫn đến các tập tin sau khi import, mặc định là

“greenstone\collect\<tên thư mục chứa bộ sưu tập>\archives”

-collectdir <string>: thư mục chứa các bộ sưu tập, mặc định là

“greenstone\collect”

-debug: chạy chương trình ở chế độ debug, chỉ xuất kết quả ra màn hình,

không tạo các tập tin kết quả sau khi import

-faillog <string>: đường dẫn đến tập tin log lưu tên của những tập tin không

import được. Mặc định là “greenstone\collect\<tên thư mục chứa bộ sưu

tập>\etc\fail.log”

-groupsize <int>: số tài liệu được nhóm thành một tập tin XML, mặc định là

1

-gzip: dùng gzip để nén những tài liệu XML kết quả. Chú ý phải thêm plugin

ZIPPlug vào danh sách các plugin trong tập tin cấu hình.

-importdir <string>: đường dẫn đến các tập tin ngưồn

-keepold : không xóa nội dung của thư mục archive (mặc định)

-maxdocs <int>: số tài liệu tối đa được import

-OIDtype <enum>: phương thức dùng để phát sinh ra ID duy nhất cho mỗi

tài liệu. Giá trị mặc định là hash.Các giá trị có thể là hash, incremental, assigned,

dirname.

-out <string>: tên tập tin hoặc handle để in ra các dòng thông báo. Giá trị

mặc định là STDERR

Page 51: Nguon mo green stone va ung dung

Chương 3 – Xây dựng bộ sưu tập

Trang 35

-removeold: xóa những nội dung cũ của thư mục archives

-saveas <enum> : định dạng của tập tin sau khi import . Mặc định là GA

GA: định dạng theo Greenstone

METS: định dạng theo METS

-sortmeta <metadatum>: sắp xếp những tài liệu theo thứ tự alphabet của

metadata. Tùy chọn này sẽ bị bỏ qua nếu groupsize >1

-statsfile <string>: tên tập tin hay handle để in ra các dòng thống kê của quá

trình import. Mặc định là STDERR

-verbosity <int>: quản lý mật độ xuất các thông báo ra màn hình.

Các giá trị :

0: không xuất

3: nhiều

Giá trị mặc định là 2

3.4. Chương trình buildcol.pl Công dụng

Nén văn bản, tạo chỉ mục trên tài liệu XML, lưu thông tin thể hiện bộ sưu tập

vào cơ sở dữ liệu (icon, tiêu đề, thông tin classifier tạo ra…)

Cú pháp

buildcol.pl [Các tùy chọn] <Tên bộ sưu tập>

Các tùy chọn

-remove_empty_classifications : giấu đi những classifier và những nút phân

cấp rỗng (chúng không chứa những tài liệu nào)

-archivedir <string>: đường dẫn đến thư mục archives

-builddir <string>: đường dẫn đến thư mục building chứa các chỉ mục đã

được tạo

Page 52: Nguon mo green stone va ung dung

Chương 3 – Xây dựng bộ sưu tập

Trang 36

-collectdir <string> : đường dẫn thư mục chứa các bộ sưu tập, mặc định là

“greenstone\collect”

-debug: chạy chương trình ở chế độ debug, chỉ xuất các kết quả ra màn hình,

không tạo ra các tập tin kết quả.

-faillog <string>: đường dẫn đến tập tin log, mặc định là

“greenstone\collect\<tên thư mục chứa bộ sưu tập>\etc\fail.log”

-index <string>: xác định loại chỉ mục sẽ được xử lý. Nếu tùy chọn này

không được chọn thì các chỉ mục trong tập tin cấu hình collect.cfg sẽ được xử lý.

-keepold: không xóa nội dung hiện tại ở thư mục building

-maxdocs <int>: số tài liệu tối đa được xử lý

-mode <enum>: chỉ ra các công việc được thực hiện trong quá trình building,

giá trị mặc định là all

Một số giá trị:

all: xử lý tất cả các công việc

compress_text: chỉ nén văn bản

build_index: chỉ tạo chỉ mục cho văn bản

infodb:chỉ xây dựng cơ sở dữ liệu metadata

-no_text: không lưu những văn bản được nén.

-out <string>: tên tập tin hoặc handle để xuất những thông báo tình trạng,

mặc định là STDERR

-verbosity <int> quản lý mật độ xuất những thông báo

Một số giá trị thường dùng:

0: không xuất thông báo

3: xuất đầy đủ các thông báo

Giá trị mặc định là 2

Page 53: Nguon mo green stone va ung dung

Chương 3 – Xây dựng bộ sưu tập

Trang 37

3.5. Cấu trúc thư mục của Greenstone Ta gọi thư mục cài đặt Greenstone là GSDLHOME. Cấu trúc thư mục của

Greenstone như sau:

Hình 3.2 – Cấu trúc thư mục của Greenstone

Tên thư mục Mục đích bin Chứa mã thực thi bin\script Chứa các script Perl để tạo bộ sưu tập perllib Chứa những module Perl hổ trợ cho quá

trình tạo bộ sưu tập perllib\plugins Chứa mã nguồn của các plugin hỗ trợ xử

lý tài liệu perllib\classify Chứa mã nguồn của các classify hỗ trợ

việc hiển thị kết quả tìm kiếm tài liệu cgi-bin Chứa các CGI script của Greenstone tmp Chứa các tập tin tạm của Greenstone etc Chứa các tập tin cấu hình, tập tin log, cơ

sở dữ liệu quản lý người dùng src Chứa mã nguồn C++ src/colservr Chứa mã nguồn C++ src/recpt Chứa mã nguồn C++ packages Chứa mã nguồn của những gói phần

mềm hỗ trợ cho Greenstone packages\mg Chứa mã nguồn của MG - phần mềm

dùng để nén và tạo chỉ mục trong Greenstone

mappings Chứa các bảng chuyển đổi chuẩn Unicode thành các chuẩn khác

macros Chứa các tập tin macro dùng cho giao

Page 54: Nguon mo green stone va ung dung

Chương 3 – Xây dựng bộ sưu tập

Trang 38

diện Greenstone collect Chứa các bộ sưu tập lib Chứa mã nguồn C++ dùng cho

collection server và receptionist images Chứa các tập tin ảnh dùng cho giao diện

của Greenstone docs Chứa các tài liệu về Greenstone

Bảng 3.1 - Các thư mục của Greenstone

3.6. Cấu trúc thư mục của một bộ sưu tập Trong pha 1 của quá trình xây dựng bộ sưu tập, sau khi thực thi chương trình

mkcol.pl, bộ sưu tập được tạo ra với cấu trúc các thư mục như sau:

Bảng 3.2 - Các thư mục của một bộ sưu tập

Tên thư mục Mục đích archives Chứa các tập tin sau khi import

building Chứa các tập tin trong quá trình nén, tạo chỉ mục, tạo cơ sở dữ liệu cho bộ sưu tập

etc Chứa tập tin cấu hình collect.cfg

images Chứa các ảnh dành riêng cho bộ sưu tập

import Chứa các tài liệu nguồn cần xây dựng bộ sưu tập

index Chứa các tập tin sau khi nén, tạo chỉ mục, cơ sở dữ liệu lấy từ thư mục building

perllib Chứa các thư viện perl hổ trợ cho bộ sưu tập. Người dùng có thể viết các thư viện perl hổ trợ thêm cho bộ sưu tập của mình và đặt trong thư mục này.

Page 55: Nguon mo green stone va ung dung

Chương 3 – Xây dựng bộ sưu tập

Trang 39

3.7. Cấu trúc tài liệu theo định dạng XML Trong pha import, Greenstone chuyển tài liệu nguồn sang tài liệu XML.

Dưới đây là phần định nghĩa kiểu tài liệu XML của Greenstone (DTD – Document

Type Definition )

<!DOCTYPE GreenstoneArchive [

<!ELEMENT Section (Description,Content,Section*)>

<!ELEMENT Description (Metadata*)>

<!ELEMENT Content (#PCDATA)>

<!ELEMENT Metadata (#PCDATA)>

<ATTLIST Metadata name CDATA #REQUIRED>

]>

Ví dụ một tài liệu của Greenstone sau khi import:

<?xml version="1.0" ?> <!DOCTYPE GreenstoneArchive SYSTEM "http://greenstone.org/dtd/GreenstoneArchive/1.0/GreenstoneArchive.dtd"> <Section> <Description> <Metadata name="gsdlsourcefilename">ec158e.txt</Metadata> <Metadata name="Title">Freshwater Resources in Arid Lands</Metadata> <Metadata name="Identifier">HASH0158f56086efffe592636058</Metadata> <Metadata name="gsdlassocfile">cover.jpg:image/jpeg:</Metadata> <Metadata name="gsdlassocfile">p07a.png:image/png:</Metadata> </Description> <Section> <Description> <Metadata name="Title">Preface</Metadata> </Description> <Content> This is the text of the preface </Content> </Section> <Section> <Description> <Metadata name="Title">First and only chapter</Metadata> </Description> <Section> <Description>

Page 56: Nguon mo green stone va ung dung

Chương 3 – Xây dựng bộ sưu tập

Trang 40

<Metadata name="Title">Part 1</Metadata> </Description> <Content> This is the first part of the first and only chapter </Content> </Section> <Section> <Description> <Metadata name="Title">Part 2</Metadata> </Description> <Content> This is the second part of the first and only chapter </Content> </Section> </Section> </Section>

Tài liệu XML của Greenstone có một thẻ gốc là <Section> </Section>. Tài

liệu được chia thành nhiều vùng (section) được bao bọc bởi cặp thẻ <Section>

</Section>, các cặp thẻ <Section> </Section> có thể lồng nhau . Mỗi Section có

một thẻ Description và một thẻ Content. Thẻ Decription có thể chứa một hay nhiều

thẻ Metadata. Các thẻ metadata có cấu trúc :

<Metadata name = “Tên metadata”>Giá trị của metadata</metadata>

Ta thường biên mục tài liệu theo chuẩn Dublin Core, ví dụ :

<Metadata name = “dc.Title”>Tìm hiểu nguồn mở Greenstone</Metadata>

dc là từ viết tắt của cụm từ Dublin Core

Greenstone thiết kế sẵn một số bộ thẻ để biên mục, với Dublin Core ta có bộ

thẻ dc. Nếu không có metadata nào trong các chuẩn của Greenstone thích hợp để

mô tả tài liệu, có thể dùng các bộ metadata do ta định nghĩa. Ví dụ có thể mô tả cho

phần tiêu đề của một cuốn sách như sau:

<Metadata name = “BookTitle”>Lập trình C++</Metadata>

Mỗi tài liệu trong Greenstone có một ID nhất định được hệ thống phát sinh

(OID – Object Identifier ) để xác định những section hay section con bằng cách

Page 57: Nguon mo green stone va ung dung

Chương 3 – Xây dựng bộ sưu tập

Trang 41

đánh số các section này. Ví dụ : section con thứ ba của section thứ hai của tài liệu

có OID = HASHa72X là HASHa72X.2.3

Hình 3.3 – Minh họa cấu trúc phân cấp của tài liệu

Cấu trúc phân cấp của tài liệu được dùng cho chỉ mục tìm kiếm tài liệu, có 3

mức chỉ mục: document, section, paragraph

Chỉ mục document : tìm kiếm một số từ trong tất cả các tài liệu

Chỉ mục section : tìm kiếm một số từ trong từng section

Chỉ mục paragraph xem mỗi đoạn văn như là một tài liệu riêng biệt, thích

hợp cho mục đích tìm kiếm tập trung

Hình sau minh họa cách tìm kiếm tài liệu theo chỉ mục document và section.

Page 58: Nguon mo green stone va ung dung

Chương 3 – Xây dựng bộ sưu tập

Trang 42

Hình 3.4 - Tìm kiếm tài liệu theo chỉ mục document và section

Trong hình trên, chapters và section titles xác định chỉ mục theo section,

còn entire documents xác định chỉ mục theo document.

3.8. Tập tin cấu hình bộ sưu tập Tập tin cấu hình của mỗi bộ sưu tập có tên collect.cfg được đặt trong thư

mục “greenstone\collect\<tên bộ sưu tập>\etc” dùng để quản lý giao diện, cách

thức xử lý tài liệu, cách hiển thị nội dung tài liệu…

Trong quá trình xây dựng bộ sưu tập, khi ta thực thi chương trình mkcol.pl,

một tập tin cấu hình đơn giản cho bộ sưu tập được tạo, chứa các giá trị mặc định

cho bộ sưu tập. Thông tin trong tập tin cấu hình bộ sưu tập bao gồm:

Tên Ý nghĩa creator Email người tạo bộ sưu tập maintainer Email người quản lý bộ sưu tập public Xác định bộ sưu tập có cho phép công khai

truy cập không beta Xác định bộ sưu tập có phải là phiên bản beta

hay không indexes

Danh sách các chỉ mục tìm kiếm

defaultindex Chỉ mục mặc định subcollection Định nghĩa một bộ sưu tập con dựa trên

Page 59: Nguon mo green stone va ung dung

Chương 3 – Xây dựng bộ sưu tập

Trang 43

thông tin metadata indexsubcollections Xác định những bộ sưu tập con sẽ chỉ mục defaultsubcollection Chỉ mục của bộ sưu tập con mặc định languages Danh sách các ngôn ngữ để xây dựng chỉ

mục defaultlanguage Xác định ngôn ngữ mặc định của bộ sưu tập collectionmeta Xác định metadata ở cấp bộ sưu tập plugin Xác định các plugin được dùng trong quá

trình xây dựng bộ sưu tập format Chuỗi định dạng giao diện web classify Xác định các classifier dùng trong quá trình

xây dựng bộ sưu tập

Bảng 3.3 - Thông tin tập tin cấu hình

Page 60: Nguon mo green stone va ung dung

Chương 3 – Xây dựng bộ sưu tập

Trang 44

Ví dụ nội dung một tập tin cấu hình :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

creator [email protected] maintainer [email protected] public True beta True indexes document:text defaultindex document:text plugin ZIPPlug plugin GAPlug plugin TextPlug plugin HTMLPlug plugin EMAILPlug plugin ArcPlug plugin RecPlug classify AZList metadata Title collectionmeta collectionname "Sample Collection" collectionmeta iconcollection "" collectionmeta collectionextra "Đây là phần mô tả của collection" collectionmeta .document:text "documents"

Dòng 1 và 2 xác định email người tạo và quản lý bộ sưu tập là

[email protected]. Dòng 3 xác định bộ sưu tập này được công khai sử dụng.

Dòng 4 xác định đây là bộ sưu tập phiên bản beta. Dòng 5 xác định chỉ mục tìm

kiếm tài liệu trong bộ sưu tập là document:text, tìm kiếm trên toàn văn bản của các

tài liệu. Dòng 6 xác định chỉ mục tìm kiếm tài liệu mặc định là document:text. Từ

dòng 7 đến dòng 13 xác định các plugin được dùng. Dòng 14 xác định classifier

được dùng . Từ dòng 15 đến dòng 18 xác định thông tin chung của bộ sưu tập bao

gồm : tên bộ sưu tập (collectionname), đường dẫn đến biểu tượng đại diện cho bộ

sưu tập (iconcollection), mô tả bộ sưu tập (collectionextra), tên đại diện cho chỉ mục

tìm kiếm tài liệu (tên này sẽ xuất hiện trong chức năng Search của Greenstone để

người dùng có thể chọn cách tìm kiếm tài liệu).

Greenstone còn hỗ trợ chức năng tìm kiếm tài liệu trên nhiều bộ sưu tập,

định nghĩa như sau:

supercollection <tên bộ sưu tập 1> <tên bộ sưu tập 2> …<bộ sưu tập n>

Khi này, trong quá trình tìm kiếm tài liệu, Greenstone sẽ tìm trong cả n +1 bộ

sưu tập: bộ sưu tập hiện tại, bộ sưu tập 1, bộ sưu tập 2,…,bộ sưu tập n

Page 61: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 45

CHƯƠNG 4. HIỆU CHỈNH GIAO DIỆN

GREENSTONE

Giới thiệu

Ảnh tiêu đề

Các nút duyệt trên cùng

Ảnh header

Các nút trên thanh duyệt

Hiển thị văn bản

Override các macro

Thêm một trang mới

Hiển thị các bộ sưu tập

Macro chuẩn

Lưu ý

Page 62: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 46

4.1. Giới thiệu Để chỉnh sửa giao diện ta thao tác trên các tập tin sau:

- Tập tin cấu hình của một bộ sưu tập collect.cfg

- Những tập tin macro :

Những tập tin macro có phần mở rộng là .dm, lưu trong thư mục

“greenstone\macros”. Macro là ngôn ngữ dành riêng cho Greenstone để xử lý giao

diện web. Một macro có định dạng sau: _tên macro_. Ví dụ : _imagecollect_ là một

macro.

Các trang web của Greenstone không được thiết kế sẵn, các trang này được

phát sinh từ các tập tin macro. Ví dụ tập tin home.dm sẽ phát sinh ra trang chủ của

Greenstone, tập tin help.dm sẽ phát sinh ra trang trợ giúp của Greenstone…

Mỗi tập tin macro chứa một hay nhiều package. Mỗi package chứa một loạt

các macro. Một macro có thể được viết cho một bộ sưu tập với từ khóa [c=tên bộ

sưu tập], nghĩa là ta sẽ override macro mặc định của Greenstone.

Cần tạo các macro trong package đúng. Ví dụ: muốn tạo macro

“imagecollect” cho bộ sưu tập “fenian” và muốn macro này làm việc cho tất cả màn

hình hiển thị, đặt macro này trong package Global :

package Global

_imagecollect_[c=fenian] {_gsimage_(_httppagecollect_,_httpiconccollectof_,

_httpiconccollecton_,collect,_textimagecollect_)}

Sau đây là danh sách các package có sẵn và vai trò của chúng (tên các

package có phân biệt chữ hoa, chữ thường)

Page 63: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 47

Tên package Tên tập tin Vai trò package Global base.dm

english.dm Chứa những macro hoạt động trong tất cả màn hình

package Style style.dm Quản lý kiểu hiển thị cho tất cả các trang như màu sắc, phong chữ

package document english.dm document.dm

Chứa những macro hiển thị tài liệu

package query query.dm english.dm

Chứa những macro cho việc hiển thị trang Search

package preferences pref.dm english.dm

Chứa những macro cho việc hiển thị trang Preferences

package help help.dm english.dm

Chứa những macro cho việc hiển thị trang Help

package about about.dm english.dm

Chứa những macro cho việc hiển thị trang About

package browse browse.dm english.dm

Chứa những macro cho giao diện duyệt tài liệu

package home home.dm Chứa những macro cho giao diện của trang chủ

Bảng 4.1 – Danh sách các package

- Những tập tin ảnh :

Tất cả những tập tin ảnh được chứa trong thư mục “greenstone\images”

- Main.cfg :

Chứa các khai báo các tập tin macro được dùng trong Greenstone. Nếu tạo

tập tin macro mới, để tập tin macro này có hiệu lực, cần thêm tên tập tin macro đó

Page 64: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 48

vào nội dung tập tin main.cfg. Tập tin main.cfg được lưu trong thư mục

“greenstone\etc”.

Giao diện Greenstone gồm 5 phần như hình vẽ bên dưới :

Hình 4.1 - Các phần trong giao diện web của Greenstone

Sau đây ta sẽ đi chi tiết từng phần của giao diện theo thứ tự hình trên

4.2. Ảnh tiêu đề bộ sưu tập Được chỉ ra trong tập tin cấu hình collect.cfg :

iconcollection "_httpprefix_/đường dẫn đến tập tin ảnh/tên tập tin ảnh"

Ý nghĩa:

- iconcollection: từ khóa để tạo ảnh cho bộ sưu tập - _httpprefix_: thư mục Greenstone

Ví dụ 1 đoạn trong tập tin collect.cfg :

collectionmeta iconcollection "_httpprefix_/collect/demo/images/en/demo.gif"

4.3. Các nút duyệt trang 4.3.1. Cách hiển thị

Sự trình bày của những nút duyệt trang được quản lý bởi macro _javalinks_

được định nghĩa trong package Global của tập tin base.dm như sau:

Page 65: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 49

_javalinks_ {_imagehome__imagehelp__imagepref_}

Macro này hiển thị 3 nút HOME, HELP và PREFERENCE như ở hình 4.1.

Macro _imagehome_ quản lý nút HOME, _imagehelp_ quản lý nút HELP và

_imagepref_ quản lý nút PREFERENCE

Vị trí của những nút này được chỉ ra bởi macro trình bày trang

_pagebanner_ trong tập tin macro style.dm . Ví dụ sau hiển thị những nút duyệt

bên phải của phần header được minh họa trong hình 4.2

_pagebanner_ {<!-- page banner (\_style:pagebanner\_) --> <center> <table width=_pagewidth_ cellspacing=0 cellpadding=0 border=0> <tr> <td colspan=3 height=6> </td> </tr> <tr> <td width=373 valign=top height=106 align=right border=0>_imagecollection_</td> <td width=132 valign=top height=106 align=left border=0>_imagethispage_</td> <td width=90 valign=top height=106 align=right border=0>_javalinks_</td> </tr> <tr> <td colspan=3>_pagebannerextra_</td> </tr> </table> </center> <!-- end of page banner -->}

Hình 4.2 – Các nút duyệt tài liệu

Có thể thay đổi vị trí của những nút này, thêm mới hoặc xóa nút duyệt trang.

Page 66: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 50

Thêm một nút mới

1. Tạo một macro ảnh mới trong package Global trong tập tin base.dm,

macro này phải cùng định dạng với những macro ảnh khác. Cú pháp định nghĩa một

macro ảnh như sau:

_<tên macro ảnh>_{_gsimage_(macro url, macro ảnh “of”, macro ảnh “on”,

chuỗi , macro chuỗi mô tả ảnh)}

Với _gsimage_ là một macro chuẩn của Greenstone. Các macro url, macro

ảnh “of”, macro ảnh “on”, chuỗi, macro chuỗi mô tả ảnh do người dùng định nghĩa

Ví dụ tạo một macro có tên là _imagecollect_ như sau:

_imagecollect_ {_gsimage_(_httppagecollect_,_httpiconccollectof_,

_httpiconccollecton_,collect,_textimagecollect_)}

2. Tạo một macro _httppage_ (marco url) trong package Global của tập tin

base.dm. Đây là URL để mở khi nút được nhấn. Ví dụ :

_httppagecollect_ {http://www.aladin.wrlc.org/dl/}

3. Tạo những macro _httpicon_ (định nghĩa các macro ảnh “of”, ảnh “on”) ,

những macro này chỉ ra vị trí của những ảnh, những macro này trong package

Global của tập tin english.dm.

4. Tạo những tập tin ảnh có tên được định nghĩa ở bước thứ 3, đặt những tập

tin ảnh này trong thư mục images của Greenstone

5. Tạo macro chuỗi mô tả ảnh (macro text) cho nút. Macro này đặt trong

package Global của tập tin english.dm. Đây là đoạn “alt” trong thẻ <img> của nút.

Ví dụ :

_textimagecollect_ {WRLC Special Collections}

6. Thêm macro ảnh này đến macro _javalinks_ trong package Global của tập

tin base.dm, ví dụ

_javalinks_ {_imagehelp_<br>_imagehome_<br>_imagecollect_}

Page 67: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 51

Macro này hiển thị 3 nút theo chiều dọc như minh họa ở hình 4.2

Xóa nút duyệt trang

Giả sử ta cần xóa nút HOME, trong tập tin base.dm, ở package Global, ta

thay đổi macro _javalinks_ như sau:

_javalinks_ {_imagehelp_ _imagepref_}

_javalinks_ [v=1] {

_imagehelp_<br>

_imagepref_<br> }

Ở macro _javalinks_ trên , macro _imagehome_ đã được xóa.

Thay đổi nút duyệt trang

Có thể thay đổi nội dung trên nút duyệt trang bằng cách chỉnh sửa các ảnh

của nút, hoặc thay đổi liên kết của nút duyệt trang bằng cách chỉnh sửa macro

_httppageX_(ví dụ _httppagecollect_), thay đổi chuỗi mô tả ảnh bằng cách chỉnh

sửa macro _textimageX_ (ví dụ _textimagecollect_) hoặc thay đổi vị trí của nút này

so với nút khác bằng cách chỉnh sửa macro _javalinks_

4.3.2. Vị trí đặt các ảnh

Những macro xác định vị trí ảnh của những nút duyệt trang được chỉ ra trong

package Global trong tập tin english.dm. Theo quy ước các macro này bắt đầu với

_httpicon_, theo sau là kí tự “c” và tên nút. Mỗi nút được tạo bởi một cặp ảnh ”on”

và “off”. Để thay đổi những nút này, ta cần tạo 2 ảnh

## "HOME" ## top_nav_button ## chome ##

_httpiconchomeof_ {_httpimg_/chomeof.gif}

_httpiconchomeon_ {_httpimg_/chomeon.gif

##"HELP"##top_nav_button##chelp##

_httpiconchelpof_{_httpimg_/chelpof.gif}

_httpiconchelpon_ {_httpimg_/chelpon.gif}

Page 68: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 52

Chú ý trong các tập tin macro, theo sau dấu “#” là dòng ghi chú. Macro

_httpimg_ là một macro chuẩn để chỉ thư mục ảnh của Greenstone(

greenstone\images)

Để đặt những hình ảnh nằm trong thư mục khác với thư mục mặc định

“greenstone\images”, ta có thể đặt đường dẫn như sau :

#Collections

_httpiconccollectof_{_httpprefix_/collect/auhist/images/ccollectof.gif}

_httpiconccollecton_ {_httpprefix_/collect/auhist/images/ccollecton.gif}

Khi này 2 ảnh ccollectof.gif và ccollecton.gif nằm trong thư mục images của

bộ sưu tập auhist. Macro _httpprefix_ là macro chuẩn chỉ thư mục Greenstone

4.4. Ảnh tiêu đề trang Ảnh tiêu đề trang được quản lý bởi macro _imagethispage_. Ta đặt macro

này trong package ta muốn hiển thị ảnh. Ví dụ, nếu ta muốn hiển thị một ảnh tiêu đề

cho trang Help :

package help

_imagethispage_ [c=auhist] {_iconthispage_}

_iconthispage_ [c=auhist] {<img src="_httpiconhhelp_" alt="_textHelp_"

width=_widthhhelp_ height=_heighthhelp_>}

Khi ta định nghĩa _imagethispage_, ta phải định nghĩa _iconthispage_.

Không có ảnh tiêu đề cho những trang hiển thị tài liệu.

Vị trí của những ảnh tiêu đề được định nghĩa trong package document của

tập tin english.dm. Tất cả macro này bắt đầu với _httpicon_, theo sau là “h” và tên

nút. Ta quy ước đặt tên cho các ảnh này là h_imagename. Ví dụ: h_title.gif,

h_subj.gif…

## "titles a-z" ## green_title ## h_title #

_httpiconhtitle_ {_httpimg_/h\_title.gif}

_widthhtitle_ {200}

Page 69: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 53

_heighthtitle_ {57}

Độ rộng và chiều cao là số pixel. Ta có thể thay đổi chúng nếu cần thay đổi

độ rộng và chiều cao của ảnh

Để thay đổi vị trí lưu trữ ảnh, ta cần thay đối đường dẫn đến những tập tin

ảnh trong cặp ngoặc { }

#Title header

_httpiconhtitle_ {_httpprefix_/collect/auhist/images/h\_title.gif}

_widthhtitle_ {132}

_heighthtitle_ {106}

4.5. Các nút duyệt tài liệu 4.5.1. Giới thiệu

Các nút duyệt tài liệu, ngoại trừ nút Search, được quản lý bởi các classifier.

Khi định nghĩa một classifier trong tập tin collect.cfg của bộ sưu tập, những nút liên

quan sẽ xuất hiện trên thanh duyệt.

Những nút này được định nghĩa trong package Global, thường trong tập tin

base.dm. Ví dụ:

_imageTitle_

{_gsimage_(_httpbrowseTitle_,_httpiconttitlof_,_httpiconttitlon_,titles

,_textimageTitle_)}

_imageCreator_

{_gsimage_(_httpbrowseCreator_,_httpicontauthof_,_httpicontauthon_

,authors,_textimageCreator_)}

4.5.2. Vị trí đặt các ảnh

Vị trí của những tập tin ảnh được chỉ ra trong những macro của package

Global, thường trong tập tin english.dm. Tất cả những macro này bắt đầu với

_httpicon_ và theo sau là ký tự “t” và tên nút. Ta gọi nó là “T button”.

Page 70: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 54

Một nút trên thanh duyệt được tạo bỏi 3 ảnh, ảnh “off”, ảnh “on”, và ảnh

“gr”. Nếu ta muốn thay đổi các hiển thị của những nút này, ta cần tạo ra 3 ảnh

## "titles AZ" ## nav_bar_button ## ttitl ##

_httpiconttitlgr_ {_httpimg_/ttitlgr.gif}

_httpiconttitlof_ {_httpimg_/ttitlof.gif}

_httpiconttitlon_ {_httpimg_/ttitlon.gif}

_widthttitlx_ {87}

## "authors AZ" ## nav_bar_button ## tauth ##

_httpicontauthgr_ {_httpimg_/tauthgr.gif}

_httpicontauthof_ {_httpimg_/tauthof.gif}

_httpicontauthon_ {_httpimg_/tauthon.gif}

_widthtauthx_ {110}

Ta cũng cần thay đổi cách hiển thị của những ảnh khoảng trống (space

image) đặt giữa những nút này. Tập tin ảnh khoảng trống này được đặt tên là

“tspace.gif” và nó được chỉ ra trong package Global trong tập tin base.dm

_httpicontspace_ {_httpimg_/tspace.gif}

_heighttspace_ {17}

Độ rộng của những ảnh này là số pixel. Nếu muốn có một dòng chữ dài, ví

dụ như “Place Names”, và nút này rộng hơn những nút khác, ta thiết đặt độ rộng

trong cặp ngoặc{}. Khi xây dựng bộ sưu tập, Greenstone sẽ tự động tính toán

khoảng trống giữa những nút và tập tin tspace.gif sẽ phủ toàn bộ khoảng trống này

4.5.3. Thêm nút mới

Có 2 cách để thêm một nút mới

- Dùng một nút đã có và thay đối đoạn chữ trên ảnh

- Tạo một macro mới cho nút mới và tạo những tập tin ảnh cho nút mới này

Page 71: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 55

4.5.3.1. Tạo một nút mới dựa vào nút đã có

Ví dụ, ta cần một nút “Places” và dùng một nút đã có “From” để tạo nút mới

này. Cách làm như sau:

- Định nghĩa một classifier cho nút mới trong tập tin collect.cfg.

classify AZList -metadata dc.Title -buttonname From

- Trong một chương trình xử lý ảnh, thay đoạn text “From” thành “Places”

trên tất cả 3 ảnh, có thể thay đổi màu sắc, và đặt những ảnh này trong thư mục

images.

tfromgr.gif

tfromof.gif

tfromon.gif

4.5.3.2. Tạo macro mới cho một nút

Ví dụ muốn tạo một nút mới “Museums”. Cách làm như sau:

Tạo một classifier trong tập tin collect.cfg

classify AZList -metadata Museums -buttonname Museums

Tạo một macro ảnh trong package Global dùng cùng định dạng với những

macro ảnh khác

_imagemuseum_ {_gsimage_(_httpbrowseMuseum_,_httpicontMuseumof_,

_httpicontMuseumon_,Museums,_textimageMuseum_)}

Xác định vị trí của những ảnh và độ rộng của những ảnh này

#Museum

_httpicontmuseumgr_ {_httpprefix_/collect/auhist/images/tmuseumgr.gif}

_httpicontmuseumof_ {_httpprefix_/collect/auhist/images/tmuseumof.gif}

_httpicontmuseumon_ {_httpprefix_/collect/auhist/images/tmuseumon.gif}

_widthtmuseumsx_ {110}

Tạo 3 ảnh và lưu chúng trong thư mục images

Page 72: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 56

4.5.4. Xóa nút duyệt tài liệu

Xóa nút duyệt tài liệu bằng cách xóa macro ảnh _imageX_ (ví dụ

_imagemuseum_) trong package Global

4.5.5. Thay đổi nút duyệt tài liệu

Thay đổi nút duyệt tài liệu bằng cách thay đổi macro _httpbrowseX_ (ví dụ

_httpbrowseMuseum_) hay _httpicontX_ (ví dụ _httpicontmuseumgr_) hay

_textimageX_ (ví dụ _textimageMuseum_)…

4.6. Hiển thị văn bản Có 2 cách hiển thị văn bản. Chúng được quản lý trong tập tin collect.cfg.

4.6.1. Hiển thị loại CL list

Hiển thị danh sách các tài liệu được được quản lý bởi những chuỗi format

trong tập tin collect.cfg. Ví dụ, chuỗi format sau sẽ hiển thị danh sách các tiêu đề

của tài liệu là classifier đầu tiên, với một thumbnail và phần mô tả chung, được

minh họa ở hình 4.3

format CL1VList ‘<td valign=top align=center width=150>[ImageHTML]</td> <td width=10> </td> <td align=left valign=top> <table border=0 width=435 cellpadding=2 cellspacing=0> <tr><td width=100 align=left valign=top><b>Title:</b></td> <td width=335 align=left valign=top>[link]<b>[Title]</b>[/link]</td></tr> <tr><td width=100 align=left valign=top><b>Date:</b></td> {If}{[DC.Date.text], <td width=335 align=left valign=top>[DC.Date.text]</td>,<td valigh=top>[DC.Date.created]</td>}</tr> </table> </td></tr> <tr><td colspan=3><hr align=center size=1 noshade></td></tr>’

Page 73: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 57

Hình 4.3 – Hiển thị danh sách các tài liệu

4.6.2. Hiển thị nội dung

Khi ta click lên trên tiêu đề trong danh sách các tiêu đề, ta thấy hoặc là trang

nội dung hoặc là một record metadata mô tả đối tượng số hóa. Sự hiển thị trang này

được quản lý bởi Format DocumentHeading và Format DocumentText trong tập tin

collect.cfg

Page 74: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 58

Hình 4.4 – Hiển thị nội dung tài liệu

4.7. Override các macro Thay vì sửa trực tiếp trong các tập tin macro mặc định của Greenstone, có

thể tạo một tập tin macro mới, sau đó override những macro muốn sửa đổi. Khi

override các macro, phải chỉ ra macro này nằm trong package nào. Ngoài override

các macro có sẵn trong Greenstone, có thể thêm các macro mới vào tập tin này.

Ví dụ cách override một macro: giả sử ta muốn thay đổi giao diện trang chủ

của Greenstone như hình vẽ dưới đây ta làm như sau :

Page 75: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 59

Hình 4.5 - Hiệu chỉnh giao diện trang chủ

- Tạo một tập tin macro mới đặt tên là zitlibweb.dm. Tập tin lưu trong thư

mục macro của Greenstone

- Soạn thảo nội dung của tập tin macro này. Ta thay đổi những macro cần

thiết.

- Thêm vào nội dung tập tin main.cfg tên của tập tin macro vừa tạo

Lúc này giao diện trang chủ của Greenstone sẽ thay đổi lập tức như hình vẽ

trên

Chú ý:

- Nếu chỉ muốn áp dụng giao diện mới cho bộ sưu tập nào đó thôi thì ta

thêm dòng sau trước mỗi macro [c=tên bộ sưu tập]

Page 76: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 60

- Cấu trúc của tập tin zitlibweb.dm như sau:

#Thay đổi hình nền

package Global

_httpiconchalk_ {_httpimg_/mainbackground.gif}

_widthchalk_ {2000}

_heightchalk_ {10}

#Thêm ảnh banner

package home

_imagecollection_ {<img src="_httpimg_/banner1.jpg">}

#Xóa 3 nút home, help, pref mặc định của Greenstone

_javalinks_ {}

_javalinks_ [v=1] {}

#Tên trang web

_pagetitle_ {Tra cứu}

#Nội dung trang web

_content_ {

#phần nội dung trang web

}

Giải thích cấu trúc tập tin zitlibweb.dm:

Tập tin macro home.dm phát sinh trang chủ của Greenstone. Trong trang

này, package home được định nghĩa. Để sửa đổi giao diện của trang chủ, phải định

nghĩa lại package home

Nội dung của trang chủ sẽ được chứa trong macro _content_ .Ta có thể dùng

một chương trình thiết kế website (Frontpage,Dreamweaver…) thiết kế giao diện

trang chủ, sau đó copy phần source code trong đoạn <body>..</body> vào macro

_content_ này

4.8. Thêm một trang mới Để tạo một trang mới ta cần tạo một tập tin macro mới. Ví dụ thêm một trang

web tên là mypage :

Page 77: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 61

- Tạo tập tin macro mới tên mypage.dm trong thư mục “greenstone\macros”

- Để liên kết trang này với trang home, trong macro _content_ của tập tin

macro home.dm, ta thêm một link như sau: <a href="_httppagex_(mypage)">My

Page</a>

- Thêm tên tập tin macro mới này vào danh sách các macro trong tập tin

main.cfg

mypage.dm sẽ chứa nội dung của trang mới. Cấu trúc cơ bản của tập tin

macro này như sau :

package mypage

_pagetitle_ {My New Page}

_content_ {

# phần nội dung trang

}

4.9. Hiển thị các bộ sưu tập Giả sử với giao diện trang chủ ở hình 4.5, khi click vào hyperlink của bộ sưu

tập luận văn, sẽ đến trang zthesis. Trang zthesis hiển thị tất cả các bộ sưu tập luận

văn, mỗi bộ sưu bao gồm các luận văn của một khóa học nào đó, ví dụ bộ sưu tập

luận văn khóa 2001, bộ sưu tập luận văn khóa 2002….

Ta tạo trang web mới zthesis bằng cách tạo một tập tin macro zthesis.dm.

Nội dung tập tin zthesis.dm như sau:

package zthesis

#Tạo ảnh banner

_imagecollection_ {<img src="_httpimg_/banner1.jpg">}

#Tạo liên kết

_mycollectionurl_ {_gwcgi_?a=p&p=about&c=_1_}

_mycollectionlink_ {<a href="_mycollectionurl_(_1_)">_2_</a>}

_pagetitle_ {Bộ sưu tập luận văn}

#Xóa 3 nút home,help,pref

Page 78: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 62

_javalinks_ {}

_javalinks_ [v=1] {}

#Phần nội dung

_content_ {

<center><H1><font color = blue>BỘ SƯU TẬP LUẬN

VĂN</font></H1></center>

<table align= center>

<tr>

<td><a href="http://localhost/itlibweb/index.aspx"><img

src="_httpimg_/logo_home.jpg" border="0"></a></td>

<td><a href="_httppagex_(home)"><img src="_httpimg_/logo_search.jpg"

border="0"></a></td>

</tr>

</table>

<table align ="center">

<tr>

<td width =100>_mycollectionlink_(LV01,Luận văn Khóa 2001)</td>

<td width =100>_mycollectionlink_(LV02,Luận văn Khóa 2002)</td>

</tr>

</table>

}

Ta định nghĩa 2 macro mới _mycollectionurl_, _mycollectionlink_ để tạo các

liên kết đến các bộ sưu tập. Sau đó trong _content_ ta tạo 2 liên kết đến 2 bộ sưu tập

luận văn khóa 2001, luận văn khóa 2002 bằng cách dùng macro _mycollectionlink_

4.10. Macro chuẩn Tên Ý nghĩa

_httpprefix_ Thư mục Greenstone

_httpimg_ Thư mục ảnh của Greenstone

_httppagex_ Định nghĩa một trang web nào đó của Greenstone

Page 79: Nguon mo green stone va ung dung

Chương 4 – Hiệu chỉnh giao diện của Greenstone

Trang 63

_httpiconchalk_ Định nghĩa ảnh nền cho Greenstone

_content_ Định nghĩa nội dung hiển thị một trang

_javalinks_ Trình bày nút duyệt trên cùng

_gsimage_ Định nghĩa các macro ảnh

_imagethispage Định nghĩa ảnh header

Bảng 4.2 - Một số macro chuẩn

4.11. Lưu ý Khi định nghĩa các tập tin macro trong tập tin main.cfg, thứ tự các tập tin

macro theo thứ tự alphabet. Ví dụ macro mặc định của greenstone để định nghĩa

trang chủ là home.dm. Nếu muốn override các package trong tập tin này, phải tạo

một tập tin macro mới có tên có thứ tự alphabet lớn hơn “home”, ví dụ

“myhome.dm” (“h”<”m”).

Khi tạo ra một trang mới bằng cách định nghĩa một tập tin macro mới, trong

nội dung tập tin này ta nên để một dòng trống trước khi định nghĩa package. Nếu

không làm vậy thì trong một số trường hợp, trang được phát sinh sẽ không đúng

Ví dụ nội dung tập tin zthesis.dm để định nghĩa trang chứa các bộ sưu tập

luận văn

package zthesis

_pagetitle_ {Bộ sưu tập luận văn}

_content_ {

<p><font size=18>Bộ sưu tập luận văn</font></p>

}

Để trống dòng đầu tiên

Page 80: Nguon mo green stone va ung dung

Chương 5 – Hệ thống Web Greenstone

Trang 64

CHƯƠNG 5. HỆ THỐNG WEB GREENSTONE

Giới thiệu

Tổng quan về cơ chế xử lý

Chi tiết về cơ chế xử lý

Mã nguồn

Page 81: Nguon mo green stone va ung dung

Chương 5 – Hệ thống Web Greenstone

Trang 65

5.1. Giới thiệu Hệ thống web của Greenstone được viết bằng ngôn ngữ C++ dùng cơ chế

CGI.

5.2. Tổng quan về cơ chế xử lý

Hình 5.1 - Cơ chế xử lý

Hình trên minh họa cách một số người dùng truy cập đến các bộ sưu tập của

thư viện số. Người dùng được đại diện bằng các máy tính. Sau khi các bộ sưu tập

được xây dựng, chúng được truy cập “online” từ phía người dùng. Để truy cập đến

các bộ sưu tập, người dùng phải đi qua 2 đơn thể trừu tượng, receptionist và

collection server. Receptionist có thể xem như phần giao diện để giao tiếp với các

thư viện số và người dùng. Chúng cho phép người dùng nhập thông tin sau đó phân

tích và gửi các yêu cầu này đến các collection server thích hợp. Collection server

nhận được yêu cầu, phân tích, lấy những thông tin được yêu cầu từ các bộ sưu tập

và phản hồi lại cho receptionist, sau đó receptionist hiển thị kết quả cho người dùng.

Page 82: Nguon mo green stone va ung dung

Chương 5 – Hệ thống Web Greenstone

Trang 66

Receptionist kết nối với Collection server thông qua một nghi thức giao tiếp.

Sự thực thi nghi thức này tùy thuộc vào cấu hình từng máy tính. Trong trường hợp

đơn giản nhất, chỉ có một receptionist và một collection server chạy trên cùng một

máy tính. Khi này receptionist và collection server hợp thành một thể thống nhất gọi

là library và giữa chúng dùng một nghi thức null protocol

Hình 5.2 - Collection server và receptionist liên lạc qua nghi thức null

protocol

Thông thường server phải chạy liên tục để phản hồi những yêu cầu từ phía

client. Đối với collection server dùng nghi thức null protocol thì khác. Chỉ khi nào

có một trang web của Greenstone được yêu cầu, chương trình library sẽ được khởi

động bởi cơ chế CGI, phản hồi những yêu cầu, sau đó kết thúc ngay. Điều này có

thể làm chậm tiến trình xử lý. Để khắc phục ta dùng cơ chế Fast-CGI, chương trình

Page 83: Nguon mo green stone va ung dung

Chương 5 – Hệ thống Web Greenstone

Trang 67

library sẽ được lưu lại trong bộ nhớ ở lần thực thi đầu tiên. Để dùng Fast-CGI ta

phải biên dịch lại Greenstone.

5.3. Chi tiết về cơ chế xử lý Hình dưới đây minh họa cho trang web “about this collection” của bộ sưu tập

Project Gutenberg. Trang web được phát sinh từ chương trình library

Hình 5.3 - Bộ sưu tập Project Gutenberg

Trên thanh địa chỉ lúc này có chuỗi như sau:

http://www.nzdl.org/cgi-bin/library?c=gberg&a=p&p=about

Chuỗi này có ý nghĩa: người dùng muốn truy cập đến collection

gberg(c=gberg), hành động(action) là muốn phát sinh ra một trang web (a = p) và

trang được phát sinh là trang about (p=about).

Page 84: Nguon mo green stone va ung dung

Chương 5 – Hệ thống Web Greenstone

Trang 68

Hình sau minh họa chi tiết hệ thống Greenstone dùng nghi thức null

protocol:

Hình 5.4 - Cơ chế xử lý dùng null protocol

Receptionist đầu tiên sẽ khởi tạo các thành tố của nó, sau đó phân tích các

tham số CGI để quyết định gọi các hành động nào. Khi một hành động được thực

hiện, receptionist thông qua nghi thức chung truy cập đến nội dung của bộ sưu tập.

Những phản hồi từ phía server được receptionist dùng các thành tố như chuỗi định

dạng (format), macro để phát sinh trang web kết quả hiển thị cho người dùng.

Collection server cũng trải qua quá trình khởi tạo các thành tố của nó, sau đó

dùng các thành tố như Filter, Source, Search để phản hồi những yêu cầu gửi đến.

Các thành tố như Filter, Source, Search truy cập đến hệ thống chỉ mục và cơ sở dữ

liệu quản lý thông tin bộ sưu tập để lấy kết quả phản hồi cho người dùng.

Page 85: Nguon mo green stone va ung dung

Chương 5 – Hệ thống Web Greenstone

Trang 69

Thống kê cho thấy receptionist dùng khoảng 15 000 dòng mã nguồn, còn

collection server chỉ dùng khoảng 5000 dòng mã nguồn. Nhưng mã nguồn của

collection server phức tạp hơn. Trong collection server có dùng 2 đơn thể bên

ngoài, đó là MG và GDMB. MG dùng để nén văn bản, tạo chỉ mục, truy vấn dữ liệu

phục vụ cho quá trình tìm kiếm tài liệu. GDBM là một hệ quản trị cơ sở dữ liệu

dùng để quản lý thông tin của bộ sưu tập. Đây là 2 đơn thể cốt lõi của collection

server.

5.4. Mã nguồn Mã nguồn của hệ thống web Greenstone được viết bằng thư viện STL

(Standard Template Library) của C++ và được đặt trong thư mục “greenstone\src”.

Hình 5.5 - Cấu trúc thư mục chứa mã nguồn Greenstone

Trong thư mục src có 2 thư mục con chính là: colservr chứa mã nguồn của

collection server và recpt chứa mã nguồn của receptionist.

Ngoài ra trong thư mục greenstone\lib còn chứa mã nguồn các lớp, các hàm

cơ bản dùng cho cả collection server và receptionist.

Page 86: Nguon mo green stone va ung dung

Chương 5 – Hệ thống Web Greenstone

Trang 70

5.4.1. Các lớp và hàm cơ bản

text_t.h : định nghĩa lớp đối tượng hỗ trợ Unicode cho Greenstone

cfgread.h : định nghĩa các hàm đọc và ghi tập tin cấu hình

display.h : định nghĩa các lớp đối tượng dùng cho receptionist trong việc cài

đặt, lưu trữ và mở rộng các macro

fileutil.h : định nghĩa các hàm thao tác với tập tin.

gsdlconf.h : định nghĩa các hàm mức hệ thống.

gsdltimes.h : định nghĩa các hàm thao tác trên kiểu dữ liệu thời gian.

gsdltools.h : định nghĩa các hàm hỗ trợ hệ thống Greenstone : kiểm tra trình

thực thi Perl có tồn tại không, thực thi một câu lệnh hệ thống, xác định tài

liệu định dạng theo little Endian hay big Endian…

gsdlunicode.h : định nghĩa các lớp đối tượng hỗ trợ xử lý chuỗi Unicode

text_t.

5.4.2. Collection server

Collection server gồm 3 lớp cơ sở: searchclass, sourceclass,filterclass.

Lớp đối tượng searchclass là lớp cơ sở, định nghĩa các phương thức ảo để

thực hiện các câu truy vấn tìm kiếm tài liệu. Greenstone dùng MG để tìm kiếm tài

liệu. Do đó có một lớp mgsearchclass kế thừa từ lớp searchclass. Lớp

mgsearchclass định nghĩa lại một số phương thức ảo của lớp searchclass, các

phương thức này gọi đến thư viện MG. Mã nguồn mở của MG có thể tìm trong thư

mục “greenstone\packages\mg”

Lớp đối tượng sourceclass có nhiệm vụ truy cập metadata và nội dung của

tài liệu. 2 hàm ảo get_metadata() và get_document() thực hiện nhiệm vụ trên.

Greenstone dùng 2 thư viện MG và GDBM để cài đặt cho lớp sourceclass thông qua

lớp mggdmbsourceclass.

Page 87: Nguon mo green stone va ung dung

Chương 5 – Hệ thống Web Greenstone

Trang 71

Lớp đối tượng filterclass là lớp cơ sở để lọc các tài liệu có được từ một câu

truy vấn hay từ hành động duyệt xem các tài liệu. Cây kế thừa của các đối tượng lọc

tài liệu như sau:

Hình 5.6 - Các đối tượng Filter

Định nghĩa lớp, hàm của collection server :

browsefilter.h : định nghĩa lớp browsefilterclass kế thừa từ filterclass, dùng

để truy cập đến thư viện GDBM.

collectserver.h : bao bọc các đối tượng Filter và Source

colservrconfig.h : cung cấp những hàm đọc file cấu hình etc\collect.cfg và

index\build.cfg

filter.h : định nghĩa lớp cơ sở filterclass

maptools.h : định nghĩa lớp tên là stringmap được dùng trong các lớp

mggdbmsourceclass và queryfilterclass.

mggdbmsource.h : định nghĩa lớp mggdbmsourceclass kế thừa từ lớp

sourceclass, truy cập đến MG và GDBM.

mgppqueryfilter.h : định nghĩa lớp mgppqueryfilterclass kế thừa từ lớp

queryfilterclass, lớp này cài đặt cho lớp queryfilterclass dùng MG++.

Page 88: Nguon mo green stone va ung dung

Chương 5 – Hệ thống Web Greenstone

Trang 72

mgppsearch.h : định nghĩa lớp mgppsearchclass kế thừa lớp searchclass, lớp

này cài đặt cho lớp searchclass dùng MG++

mgq.h : cung cấp các hàm giao tiếp với thư viện MG.

mgqueryfilter.h : định nghĩa lớp mgqueryfilterclass kế thừa từ lớp

queryfilterclass, dùng để cài đặt cho lớp queryfilterclass dùng MG

mgsearch.h : định nghĩa lớp mgsearchclass kế thừa từ lớp searchclass, cài đặt

cho lớp searchclass dùng MG.

querycache.h : định nghĩa lớp querycache, dùng cho lớp searchclass. Những

lớp kế thừa từ nó sẽ lưu tạm kết quả truy vấn để tối ưu việc truy vấn.

queryfilter.h : định nghĩa lớp queryfilterclass kế thừa từ lớp filterclass, đây là

lớp cơ sở cho các đối tượng lọc các câu truy vấn.

queryinfo.h : hỗ trợ việc tìm kiếm tài liệu, định nghĩa các cấu trúc dữ liệu

cho tham số các câu truy vấn, kết quả trả về..

search.h : định nghĩa lớp đối tượng cơ sở searchclass.

source.h : định nghĩa lớp đối tượng cơ sở sourceclass.

5.4.3. Receptionist

Greenstone định nghĩa một khái niệm trừu tượng đó là Action. Một Action là

một hành động của người dùng tương tác với hệ thống web Greenstone hay một

hành động của hệ thống Greenstone.

Page 89: Nguon mo green stone va ung dung

Chương 5 – Hệ thống Web Greenstone

Trang 73

Tên Action Ý nghĩa action Lớp cơ sở

authenaction Hỗ trợ chứng thực người dùng

collectoraction Phát sinh trang web cho Collector

documentaction Nhận kết quả tìm kiếm tài liệu hoặc định dạng thông tin tàil iệu

pageaction Phát sinh trang web dựa vào các macro

Pingaction Kiểm tra một bộ sưu tập có online hay không

queryaction Thực hiện việc tìm kiếm tài liệu

statusaction Phát sinh trang web của admin

Useraction Hỗ trợ quản lý người dùng

Bảng 5.1- Danh sách các Action

Định nghĩa lớp, hàm trong receptionist :

action.h : định nghĩa lớp cơ sở

authenaction.h : định nghĩa lớp authenaction kế thừa từ lớp action hỗ trợ

chứng thực người dùng.

browserclass.h : định nghĩa lớp cơ sở cho hành động duyệt tài liệu

browsetools.h : định nghĩa các hàm hỗ trợ cho lớp browserclass

cgiargs.h : định nghĩa cấu trúc dữ liệu cgiarginfo và những cấu trúc dữ liệu

khác hỗ trợ cho các tham số CGI

cgiutils.h : định nghĩa các hàm hỗ trợ cho các cấu trúc dữ liệu định nghĩa

trong cgiargs.h.

collectoraction.h : định nghĩa lớp kế thừa từ lớp action cho phép người dùng

xây dựng bộ sưu tập bằng Collector. Trang Collector được phát sinh từ

macro collect.dm.

datelistbrowserclass.h : định nghĩa lớp kế thừa từ browserclass, hỗ trợ

Page 90: Nguon mo green stone va ung dung

Chương 5 – Hệ thống Web Greenstone

Trang 74

các bộ sưu tập có tài liệu được duyệt theo ngày tháng.

documentaction.h : định nghĩa lớp kế thừa từ lớp action hỗ trợ lấy tài liệu từ

một câu truy vấn.

formattools.h : định nghĩa các hàm hỗ trợ cho chuỗi định dạng (format)

hlistbrowserclass.h : định nghĩa lớp kế thừa từ browserclass, hỗ trợ các bộ

sưu tập có tài liệu được sắp xếp theo danh sách ngang.

htmlbrowserclass.h : định nghĩa lớp kế thừa từ browserclass, hỗ trợ duyệt

các tài liệu html

htmlgen.h : định nghĩa các hàm hỗ trợ cho việc highlight các chuỗi liên quan

trong nội dung tài liệu tìm được. .

infodbclass.h : định nghĩa 2 lớp : gdbmclass và infodbclass, hỗ trợ truy cập

thư viện GDBM

pageaction.h : định nghĩa lớp kế thừa từ lớp action hỗ trợ phát sinh trang

web.

querytools.h : định nghĩa những hàm hỗ trợ truy vấn dữ liệu.

recptconfig.h : định nghĩa các hàm hỗ trợ đọc file cấu hình main.cfg và

gsdlsite.cfg .

statusaction.h : định nghĩa lớp kế thừa từ lớp action, hỗ trợ phát sinh trang

quản lý cho admin.

userdb.h : định nghĩa các cấu trúc dữ liệu và hàm quản lý cơ sở dữ liệu

người dùng .

usersaction.h : định nghĩa lớp kế thừa từ lớp action, hỗ trợ admin quản lý

người dùng.

vlistbrowserclass.h : định nghĩa lớp kế thừa từ lớp browserclass, hỗ trợ cho

các tài liệu được liệt kê theo danh sách chiều dọc

Page 91: Nguon mo green stone va ung dung

Trang 75

PHẦN 2. XÂY DỰNG ỨNG DỤNG

Sau khi đã hiểu được các khái niệm và cách thức hoạt động của Greenstone,

đây là lúc chúng ta ứng dụng những gì đã nghiên cứu được vào thực tế. Phần 2 này

sẽ trình bày ứng dụng thư viện số ITDL (IT Digital Library) cho Khoa Công nghệ

Thông tin, Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh. Phần này gồm có

3 chương:

Chương 6 : Xây dựng ứng dụng

Chương 7 : ITLibWeb

Chương 8 : ITLib

Page 92: Nguon mo green stone va ung dung

Chương 6 – Xây dựng ứng dụng

Trang 76

CHƯƠNG 6. XÂY DỰNG ỨNG DỤNG

Tổng quan

Đối tượng sử dụng

Chức năng chính

Page 93: Nguon mo green stone va ung dung

Chương 6 – Xây dựng ứng dụng

Trang 77

6.1. Tổng quan 6.1.1. Phát biểu bài toán

Trước nhu cầu tin học hoá hệ thống thư viện khoa CNTT – ĐH KHTN, ta

cần xây dựng hệ thống quản lý thư viện điện tử, dựa trên nền tảng của Greenstone.

Hệ thống cho phép người dùng xây dựng bộ sưu tập luận văn, sách, giáo

trình, các tài liệu khác, tìm kiếm thông tin tài liệu, tra cứu trên nội dung tài liệu,

quản lý thông tin tài liệu trong cơ sở dữ liệu, quản lý người dùng và một số chức

năng khác.

Quá trình thu thập luận văn để xây dựng bộ sưu tập Luận văn có sự tham gia

của các thành viên trong Khoa CNTT (gồm giáo viên, sinh viên). Thành viên trong

Khoa sẽ đăng nhập vào website thư viện điện tử của Khoa để nhập thông tin luận

văn, cũng như dùng chương trình để chuẩn hoá luận văn theo định chuẩn của hệ

thống.

6.1.2. Giới thiệu về ITDL (IT Digital Library)

ITDL là chương trình xây dựng thư viện điện tử, với 2 mô-đun chính

ITLibWeb và ITLib.

Mô-đun Web có tên ITLibWeb, chủ yếu cho thành viên trong Khoa nhập

thông tin luận văn và tra cứu tài liệu. Thông tin luận văn sau đó được chuyển cho

mô-đun ITLib dạng Windows Form để xử lý tiếp.

Mô-đun Windows Form có tên ITLib cho phép thủ thư biên mục các bộ sưu

tập, quản lý thông tin tài liệu. Thành viên trong Khoa dùng một mô-đun nhỏ của

ITLib, tên là TocManip để chuẩn hoá Luận văn theo chuẩn của chương trình ITLib.

Luận văn được chuẩn hoá được gửi về thư viện, cùng với thông tin luận văn nhập từ

web giúp thủ thư xây dựng các bộ sưu tập luận văn.

Page 94: Nguon mo green stone va ung dung

Chương 6 – Xây dựng ứng dụng

Trang 78

6.2. Đối tượng sử dụng hệ thống

Giáo viên, Thủ thư, Sinh viên của Khoa CNTT

6.3. Các chức năng chính

6.3.1. Cung cấp thông tin luận văn

Các thành viên trong Khoa bao gồm Sinh viên và Giáo viên có thể cung cấp

thông tin luận văn của mình thông qua website thư viện điện tử của Khoa.

6.3.2. Chuẩn hoá tài liệu

Để tài liệu trong các bộ sưu tập hiển thị theo cấu trúc phân cấp, giúp người

dùng nắm được cấu trúc tài liệu và truy xuất thông tin hiệu quả, tài liệu cần được xử

lý trước.

Như đã nói ở phần lý thuyết, để phân cấp tài liệu ta phải chèn các thẻ section

vào tài liệu nguồn. ITLib hỗ trợ chuẩn hoá tài liệu bán tự động. Người dùng cung

cấp cho chương trình tập tin nguồn (PDF, DOC, hay HTML). Chương trình tự động

chuyển sang định dạng HTML. Nếu tài liệu là tập tin PDF, nó phải cho phép truy

xuất, có nghĩa là tập tin không bị khoá bảo mật. Sau khi chuyển sang HTML, người

dùng chép phần mục lục vào cửa sổ phân tích và chương trình sẽ phân tích mục lục

đó để tìm cách chèn tốt nhất. Người dùng có thể kiểm soát quá trình phân tích mục

lục (hiệu chỉnh lại sao cho đúng) cũng như quá trình chèn thẻ. Trước khi lưu kết

quả, người dùng có thể kiểm tra lại quá trình chèn thẻ.

Chức năng này được dùng để chuẩn hóa các tài liệu luận văn.

6.3.3. Xây dựng bộ sưu tập

Thủ thư có quyền tạo các bộ sưu tập, quản lý và xuất bản bộ sưu tập lên thư

viện điện tử.

Page 95: Nguon mo green stone va ung dung

Chương 6 – Xây dựng ứng dụng

Trang 79

6.3.3.1. Xây dựng bộ sưu tập Luận văn

Thủ thư lấy thông tin luận văn của Thành viên trong Khoa cung cấp, hiệu

chỉnh lại nếu cần thiết, và dùng những tập tin luận văn đã chuẩn hoá để tạo bộ sưu

tập. Thông tin luận văn đồng thời cũng được cập nhật vào cơ sở dữ liệu cho mục

đích quản lý lâu dài.

6.3.3.2. Xây dựng bộ sưu tập Sách

Thông tin về Sách, Giáo trình từ cơ sở dữ liệu được xử lý để đưa vào bộ sưu

tập. Thủ thư tạo các bộ sưu tập từ những thông tin này. Ngoài ra thủ thư có thể biên

mục cho bộ sưu tập sách và cập nhật thông tin sách vào cơ sở dữ liệu.

6.3.3.3. Xây dựng bộ sưu tập Tổng quát

Nhằm đáp ứng tính mở rộng của thư viện, ITLib cho phép thủ thư tạo bộ sưu

tập tổng quát. Thủ thư biên mục tài liệu theo các chuẩn biên mục, phổ biến là chuẩn

Dublin Core, hoặc tự tạo ra các chuẩn riêng nhờ hiệu chỉnh các bộ metadata.Các tài

liệu bao gồm : các tài liệu văn phòng (Word, Power Point, Excel… ) , văn bản,

Acrobat Reader (PDF), HTML, XML, Email, tập tin nén (.Zip) … hoặc âm thanh

(mp3), hình ảnh, video…Sau khi biên mục, thủ thư có thể xây dựng bộ sưu tập.

6.3.4. Tra cứu tài liệu

Người dùng thông website thư viện điện tử ITLibWeb có thể tra cứu tài liệu

trong các bộ sưu tập

Page 96: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 80

CHƯƠNG 7. ITLIBWEB

Xác định yêu cầu

Phân tích các Use case chính

Thiết kế

Cài đặt

Page 97: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 81

7.1. Xác định yêu cầu 7.1.1. Giới thiệu

ITLibWeb là hệ thống thư viện điện tử của Khoa CNTT trường ĐH KHTN

được thiết kế trên môi trường web, có liên kết với hệ thống Greenstone. Hệ thống

cho phép :

- Nguời dùng (nói chung) :

Xem thông tin điều lệ của thư viện bao gồm : nội quy , nguyên tắc làm thẻ

đọc giả, các hình thức phạt

Tra cứu các bộ sưu tập tài liệu. Ở chức năng này hệ thống ITLibWeb sẽ kết

nối với hệ thống Greenstone để thực hiện các chức năng tra cứu, tìm kiếm tài liệu,

xem nội dung tài liệu…

Xem thông báo từ thư viên bao gồm : thông báo tài liệu mới, thông báo đọc

giả mượn quá hạn

Thực hiện các chức năng đăng nhập, đăng xuất, thay đổi mật khẩu.

Xem các website báo chí, âm nhạc, hội họa

Xem các website thư viện điện tử khác bao gồm thư viện điện tử của các

trường Đại học , thư viện điện tử của các tổ chức cơ quan trong và ngoài nước.

- Giáo viên & Sinh viên Khoa CNTT Trường ĐH KHTN nhập thông tin cho

luận văn, xem thông tin luận văn. Ngoài ra Giáo viên & Sinh viên có thể thực hiện

đầy đủ các chức năng của một người dùng (nói chung).

7.1.2. Bảng chú giải

7.1.2.1. ITLib

Hệ thống ITLib xây dựng bộ sưu tập cho thư viện Khoa CNTT – ĐH KHTN.

Page 98: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 82

7.1.2.2. Greenstone

Hệ thống web của Greenstone với chức năng tìm kiếm, xem nội dung tài

liệu.

7.1.2.3. Thanh vien Khoa (Thành viên Khoa)

Là những người hoạt động trong Khoa CNTT ĐH KHTN bao gồm giáo viên

và sinh viên.

7.1.3. Đặc tả bổ sung

7.1.3.1. Phạm vi

Đặc tả này vạch rõ các yêu cầu phi chức năng của hệ thống, như tính ổn

định, tính khả dụng, hiệu năng, và tính hỗ trợ cũng như các yêu cầu chức năng

chung cho một số Use case (Các yêu cầu chức năng được chỉ rõ trong phần Đặc tả

Use case).

7.1.3.2. Tài liệu tham khảo

Không có.

7.1.3.3. Chức năng

Hỗ trợ nhiều người dùng làm việc đồng thời.

Cho phép người dùng nói chung xem các thông tin về nôi quy, điều lệ làm

thẻ đọc giả, hình thức phạt, tra cứu tài liệu, xem thông báo các tài liệu mới, xem

danh sách các đọc giả mượn quá hạn, đăng nhập, đăng xuất, đổi mật khẩu, xem các

liên kết báo chí, hội họa, âm nhạc, xem các liên kết đến các thư viện điện tử khác.

7.1.3.4. Tính khả dụng

Giao diện người dùng tương thích Windows 98/2000/XP.

Page 99: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 83

7.1.3.5. Tính ổn định

Hệ thống phải hoạt động liên tục 24 giờ một ngày, 7 ngày mỗi tuần, với thời

gian ngưng hoạt động không quá 10%.

7.1.3.6. Sự hỗ trợ

Phải có sự hỗ trợ của hệ thống Greenstone trong việc tra cứu, xem nội dung

tài liệu.

7.1.3.7. Tính bảo mật:

Chỉ có giáo viên và sinh viên của Khoa mới có quyền nhập thông tin luận

văn, xem thông tin luận văn của mình.

Hệ thống phải ngăn chặn các người dùng không phải là giáo viên, sinh viên

của Khoa truy cập bất hợp pháp vào các trang nhập thông tin luận văn, xem thông

tin luận văn.

Hệ thống phải ngăn chặn các thành viên thay đổi thông tin cá nhân của các

thành viên khác.

7.1.3.8. Các ràng buộc thiết kế

Không có.

7.1.4. Mô hình Use Case

7.1.4.1. Mô hình

Page 100: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 84

Hình 7.1 – Lược đồ Use case

Page 101: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 85

7.1.4.2. Danh sách các Actor

STT Tên Actor Ý nghĩa 1 Nguoi dung Người dùng 2 Thanh vien Khoa Thành viên trong Khoa

CNTT gồm giáo viên và sinh viên

3 Greenstone Hệ thống web của Greenstone

4 ITLib Hệ thống ITLib

Bảng 7.1 - Danh sách Actor

7.1.4.3. Danh sách các Use Case

STT Tên Use Case Ý nghĩa 1 Xem noi quy Xem nội quy thư viện 2 Xem dieu le lam the Xem điều lệ làm thẻ đọc

giả 3 Xem hinh thuc phat Xem hình thức phạt 4 Tra cuu Tra cứu tài liệu 5 Xem tai lieu moi Xem thông báo tài liệu

mới 6 Xem doc gia muon qua

han Xem danh sách các đọc giả mượn sách quá hạn

7 Dang nhap Đăng nhập 8 Dang xuat Đăng xuất khỏi hệ thống 9 Doi mat khau Đổi mật khẩu thành viên 10 Doc bao Đọc báo 11 Xem tranh Xem tranh 12 Nghe nhac Nghe nhạc 13 Xem thu vien DH Xem các liên kết đến các

thư viện Đại học 14 Xem thu vien co quan Xem các liên kết đến các

thư viện của các cơ quan, tổ chức

15 Nhap luan van Nhập thông tin cho luận văn

16 Xem luan van Xem thông tin của luận văn

Bảng 7.2 - Danh sách các Use case

Page 102: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 86

7.1.4.4. Đặc tả các Use case chính

1. Use case “Tra cuu” (Tra cứu tài liệu)

a. Tóm tắt

Use case này cho phép người dùng tra cứu và xem nội dung các tài liệu trong

các bộ sưu tập.

b. Dòng sự kiện

i. Dòng sự kiện chính

Use case này bắt đầu khi người dùng muốn tra cứu tài liệu, xem nội dung tài

liệu của các bộ sưu tập

1. Hệ thống kết nối với hệ thống Greenstone, hiển thị trang chủ của

Greenstone

2. Người dùng thực hiện các chức năng tra cứu trên hệ thống Greenstone.

3. Use case kết thúc khi người dùng đóng trang web Greenstone lại hoặc

nhấn vào liên kết “Trang chủ” để trở về trang chủ của ITLibWeb.

ii. Các dòng sự kiện khác

1. Hệ thống Greenstone không hoạt động

Trong dòng sự kiện chính, nếu vì lý do nào đó (server quá tải, có lỗi ở các bộ

sưu tập tài liệu), hệ thống ITLibWeb không kết nối với hệ thống Greenstone

được, thì hệ thống Greenstone sẽ thông báo lỗi và Use case kết thúc.

c. Các yêu cầu đặc biệt

Không có

d. Điều kiện tiên quyết

Hệ thống Greenstone phải được cài và cấu hình sẵn trên server.

e. Post-Conditions

Trạng thái của hệ thống không thay đổi.

Page 103: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 87

f. Điểm mở rộng

Không có

2. Use case “Dang nhap” (Đăng nhập)

a. Tóm tắt

Use case này cho phép người dùng đăng nhập vào hệ thống ITLibWeb.

b. Dòng sự kiện

i. Dòng sự kiện chính

Use case này bắt đầu khi người dùng muốn đăng nhập vào hệ thống

ITLibWeb.

1. Hệ thống yêu cầu người dùng nhập vào tên thành viên và mật khẩu.

2. Người dùng nhập vào tên thành viên và mật khẩu.

3. Người dùng xác nhận đã nhập tên và mật khẩu

4. Hệ thống kiểm tra tên và mật khẩu của người dùng và cho phép người

dùng đăng nhập vào hệ thống. Use case kết thúc.

ii. Các dòng sự kiện khác

1. Tên / Mật khẩu sai

Trong dòng sự kiện chính, nếu người dùng nhập sai tên hay mật khẩu thì hệ

thống sẽ thông báo lỗi. Khi này người dùng có thể trở về đầu của dòng sự

kiện chính hoặc hủy bỏ việc đăng nhập, lúc này Use case kết thúc.

c. Các yêu cầu đặc biệt

Không có

d. Điều kiện tiên quyết

e. Post-Conditions

Nếu đăng nhập thành công, người dùng lúc này đã đăng nhập vào hệ thống.

Nếu không trạng thái hệ thống không thay đổi.

Page 104: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 88

f. Điểm mở rộng

Không có

3. Use case “Nhap luan van” (Nhập luận văn)

a. Tóm tắt

Use case này cho phép các thành viên của Khoa có thể nhập thông tin cho

luận văn của mình.

b. Dòng sự kiện

i. Dòng sự kiện chính

Use case này bắt đầu khi một thành viên của Khoa muốn nhập thông tin cho

luận văn của mình.

Nếu luận văn của thành viên Khoa này mới được nhập thông tin lần đầu tiên

thì luồng phụ “Thêm mới thông tin luận văn” sẽ được thực hiện.

Ngược lại luồng phụ “Cập nhật thông tin luận văn” sẽ được thực hiện.

Luồng sự kiện phụ “Thêm mới thông tin luận văn”

1. Hệ thống yêu cầu thành viên Khoa nhập các thông tin cho luận văn

2. Thành viên Khoa nhập thông tin cho luận văn.

3. Thành viên Khoa xác nhận đã nhập thông tin cho luận văn

4. Hệ thống cập nhật thông tin luận văn. Use case kết thúc.

Luồng sự kiện phụ “Cập nhật thông tin luận văn”

1. Hệ thống truy xuất và hiển thị thông tin luận văn

2. Thành viên Khoa cập nhật các thông tin cho luận văn.

3. Thành viên Khoa xác nhận đã cập nhật thông tin cho luận văn

4. Hệ thống cập nhật thông tin luận văn. Use case kết thúc.

ii. Các dòng sự kiện khác

1. Thành viên Khoa nhập thông tin luận văn không hợp lệ

Page 105: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 89

Trong dòng sự kiện chính, nếu thành viên Khoa nhập thông tin luận văn

không hợp lệ (nhập thiếu các trường bắt buộc, nhập sai định dạng…) thì hệ

thống sẽ hiển thị thông báo lỗi. Khi này thành viên Khoa có thể nhập lại hoặc

hủy thao tác nhập thông tin luận văn, Use case kết thúc.

c. Các yêu cầu đặc biệt

Không có

d. Điều kiện tiên quyết

Thành viên Khoa phải đăng nhập vào hệ thống

e. Post-Conditions

Khi thành viên Khoa cập nhật hay thêm mới thông tin luận văn thành công,

thông tin một luận văn sẽ được cập nhật vào hệ thống. Nếu không, trạng thái

hệ thống không thay đổi.

f. Điểm mở rộng

Không có

4. Use case “Xem luan van” (Xem thông tin luận văn)

a. Tóm tắt

Use case này cho phép thành viên Khoa xem thông tin luận văn của mình.

b. Dòng sự kiện

i. Dòng sự kiện chính

Use case này bắt đầu khi thành viên Khoa muốn xem thông tin luận văn của

mình

1. Hệ thống truy xuất và hiển thị thông tin luận văn của thành viên Khoa

này.

2. Use case kết thúc khi thành viên Khoa đóng trang web này lại hoặc

chuyển sang trang web khác.

ii. Các dòng sự kiện khác

Page 106: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 90

1. Thành viên Khoa chưa nhập thông tin cho luận văn

Nếu thành viên Khoa chưa nhập thông tin cho luận văn của mình, hệ thống sẽ

hiển thị một thông báo nhắc nhở. Use case kết thúc.

c. Các yêu cầu đặc biệt

Không có

d. Điều kiện tiên quyết

Thành viên Khoa phải đăng nhập vào hệ thống

e. Post-Conditions

Trạng thái của hệ thống không thay đổi.

f. Điểm mở rộng

Không có

7.2. Phân tích các Use case chính 7.2.1. Use case “Dang nhap” (Đăng nhập)

7.2.1.1. Lược đồ tuần tự

Dòng sự kiện chính

Page 107: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 91

Hình 7.2 – “Đăng nhập” : dòng sự kiện chính

Dòng sự kiện khác : tên thành viên hay mật khẩu không hợp lệ

Page 108: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 92

Hình 7.3 - “Đăng nhập” : dòng sự kiện khác

7.2.1.2. Lược đồ cộng tác

Dòng sự kiện chính

Hình 7.4 - “Đăng nhập” : dòng sự kiện chính

Dòng sự kiện khác : tên thành viên hay mật khẩu không hợp lệ

Page 109: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 93

Hình 7.5 - “Đăng nhập” : dòng sự kiện khác

7.2.1.3. VOPC

Hình 7.6 - “Đăng nhập” : VOPC

Page 110: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 94

7.2.2. Use case “Nhap luan van” (Nhập luận văn)

7.2.2.1. Lược đồ tuần tự

Luồng phụ “Thêm thông tin luận văn”

Hình 7.7 – Thêm thông tin luận văn

Luồng phụ “Cập nhật thông tin luận văn”

Page 111: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 95

Hình 7.8 - Cập nhật thông tin luận văn

Dòng sự kiện khác : thông tin nhập luận văn không hợp lệ

Page 112: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 96

Hình 7.9 - Thông tin nhập không hợp lệ

Dòng sự kiện khác : thông tin cập nhật luận văn không hợp lệ

Page 113: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 97

Hình 7.10 - thông tin cập nhật không hợp lệ

7.2.2.2. Lược đồ cộng tác

Luồng phụ “Thêm thông tin luận văn”

Page 114: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 98

Hình 7.11 - Thêm thông tin luận văn

Luồng phụ “Cập nhật thông tin luận văn”

Hình 7.12 - Cập nhật thông tin luận văn

Dòng sự kiện khác : thông tin luận văn nhập không hợp lệ

Hình 7.13 - Thông tin nhập không hợp lệ

Dòng sự kiện khác : thông tin luận văn cập nhật không hợp lệ

Page 115: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 99

Hình 7.14 - Thông tin cập nhật không hợp lệ

7.2.2.3. VOPC

Hình 7.15 - “Nhập luận văn” : VOPC

Page 116: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 100

7.2.3. Use case “Tra cuu” (Tra cứu)

7.2.3.1. Lược đồ tuần tự

Dòng sự kiện chính

Hình 7.16 - “Tra cứu” : dòng sự kiện chính

Dòng sự kiện khác : không kết nối với hệ thống Greenstone được

Hình 7.17 - “Tra cứu” : dòng sự kiện khác

7.2.3.2. Lược đồ cộng tác

Dòng sự kiện chính

Page 117: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 101

Hình 7.18 - “Tra cứu” : dòng sự kiện chính

Dòng sự kiện khác : không kết nối với hệ thống Greenstone được

Hình 7.19 - “Tra cứu” : dòng sự kiện khác

Page 118: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 102

7.2.3.3. VOPC

Hình 7.20 - “Tra cuu” : VOPC

7.2.4. Use case “Xem luan van” (Xem thông tin luận văn)

7.2.4.1. Lược đồ tuần tự

Dòng sự kiện chính

Hình 7.21 - “Xem luận văn” : dòng sự kiện chính

Dòng sự kiện khác : luận văn cần xem chưa nhập thông tin

Page 119: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 103

Hình 7.22 - “Xem luận văn” : dòng sự kiện khác

7.2.4.2. Lược đồ cộng tác

Dòng sự kiện chính

Hình 7.23 - “Xem luận văn” : dòng sự kiện chính

Dòng sự kiện khác : luận văn cần xem chưa nhập thông tin

Page 120: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 104

Hình 7.24 - “Xem luận văn” : dòng sự kiện khác

7.2.4.3. VOPC

Hình 7.25 - “Xem luận văn” : VOPC

Page 121: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 105

7.3. Thiết kế 7.3.1. Lược đồ lớp tổng quát của hệ thống

Page 122: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 106

Hình 7.26 - Lược đồ lớp của hệ thống

Page 123: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 107

7.3.2. Chi tiết một số lớp chính

7.3.2.1. Lớp đối tượng dùng chung

7.3.2.1.1. Lớp ThesisInfo

ThesisInfo

sThesisCode : StringsTitle_VI : StringsTitle_FL : StringsLang : StringnPage : IntegernCopy : IntegersAuthor1 : StringsAuthor2 : StringdtAccept : DatedtRegister : DatedtPresent : DatesDiploma : StringsHe : StringsSpeciality : StringsPlace : StringsField : StringsSummary : StringsAlgorithm : String

(f rom Class)

Hình 7.27 - Lớp ThesisInfo

7.3.2.1.2. Lớp UserInfo

UserInfo

sUserName : StringsPassword : StringsFullName : StringsEmail : StringnPower : Integer

(f rom Class)

Hình 7.28 - Lớp UserInfo

7.3.2.2. Lớp boundary

7.3.2.2.1. Lớp InputThesisInfo

Page 124: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 108

InputThesisInfo

theThesisController : ThesisController

//Display()//InputThesisInfo()//Update()//CheckInputInfo()//UpdateThesisInfo()//DisplayInfo()//DisplayError()

(f rom Class)

Hình 7.29 - Lớp InputThesisInfo

7.3.2.2.2. Lớp Login

Login

theUserController : UserController

//Display()//OK()//EnterUserName(UserName : String)//EnterPassword(Password : String)

(f rom Class)

Hình 7.30 - Lớp Login

7.3.2.3. Lớp control

7.3.2.3.1. Lớp ThesisController ThesisController

theThesisEntity : ThesisEnti ty

//AddNew(thesisInfo : ThesisInfo) : Boolean//GetThesisInfo(id : String) : ThesisInfo//UpdateThesisInfo(id : String, thesisInfo : ThesisInfo) : Boolean

(from Class)

Hình 7.31 - Lớp ThesisController

7.3.2.3.2. Lớp UserController

Page 125: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 109

UserController

userInfo : UserInfotheUserEntity : UserEntity

//CheckValidUser(sUserName : String, sPassword : String) : UserInfo//Compare(sUserName : String, sPassword : String)//Logout(sUserName : String)//GetUserInfo(sUserName : String) : UserInfo//ChangePassword(sPassword : String, sUserName : String) : Boolean

(f rom Class)

Hình 7.32 - Lớp UserController

7.3.2.4. Lớp entity

7.3.2.4.1. Lớp ThesisEntity ThesisEntity

//AddNew(thesisInfo : ThesisInfo) : Boolean//GetThesisInfo(id : String) : ThesisInfo//UpdateThesisInfo(id : String, thesisInfo : ThesisInfo) : Boolean

(f rom Class)

Hình 7.33 - Lớp ThesisEntity

7.3.2.4.2. Lớp UserEntity UserEntity

//GetUserInfo(sUserName : String, sPassword : String) : UserInfo//GetUserInfo(sUserName : String) : UserInfo//ChangePassword(sUserName : String, sPassword : String) : Boolean

(f rom Class)

Hình 7.34 - Lớp UserEntity

Page 126: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 110

7.3.3. Thiết kế dữ liệu

7.3.3.1. Mô hình dữ liệu

Hình 7.35 – Mô hình dữ liệu

7.3.3.2. Danh sách các bảng dữ liệu

STT Tên bảng Ý nghĩa 1 Luanvan Thông tin Luận văn 2 He Hệ đào tạo 3 HuongDan Quan hệ hướng dẫn 4 HocVi Học vị tốt nghiệp (Cử nhân, Thạc sỹ, Tiến sỹ) 5 NgonNgu Ngôn ngữ của tài liệu 6 NguoiDung Người dùng 7 GiaoVienHD Giáo viên hướng dẫn 8 ChuyenNganh Chuyên ngành

Bảng 7.3 - Danh sách bảng dữ liệu

Page 127: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 111

7.3.4. Thiết kế giao diện một số trang web chính

Trang chủ

Hình 7.36 – Trang chủ

Trang chức năng của thành viên

Hình 7.37 - Trang chức năng của thành viên

Trang nhập thông tin luận văn

Page 128: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 112

Hình 7.38 - Trang nhập thông tin luận văn

Trang xem thông tin luận văn

Hình 7.39 - Trang xem thông tin luận văn

Page 129: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 113

Trang tra cứu tài liệu

Hình 7.40 - Trang tra cứu tài liệu

7.4. Cài đặt 7.4.1. Công cụ và môi trường phát triển hệ thống

Hệ thống ITLib được xây dựng trên các công cụ và môi trường sau:

- Công cụ phân tích và thiết kế: Rational Rose 2001

- Môi trường cài đặt ứng dụng : Microsoft Windows XP Professional

- Môi trường lập trình: Microsoft Visual Studio .NET Enterprise Developer

Edition

- Hệ quản trị cơ sở dữ liệu: Access 2003

- Greenstone

Page 130: Nguon mo green stone va ung dung

Chương 7 – ITLibWeb

Trang 114

7.4.2. Mô hình cài đặt

7.4.2.1. Mô hình

Hình 7.1 - Mô hình cài đặt

7.4.2.2. Diễn giải

7.4.2.2.1. ITLibWeb Presentation Layer

Bao gồm các trang web

7.4.2.2.2. ITLibWeb Business Layer

Bao gồm các lớp đối tượng thực hiện các chức năng nghiệp vụ

7.4.2.2.3. ITLib Database Layer

Bao gồm các lớp chức năng giao tiếp với cơ sở dữ liệu Access

7.4.2.2.4. Greenstone

Bao gồm các trang web của Greenstone có giao diện được hiệu chỉnh

7.4.2.2.5. .NET Framework

Nền chạy ứng dụng.

7.4.2.2.6. Basic Date Picker

Thành tố hỗ trợ control DateTimePicker trên web

Page 131: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 115

CHƯƠNG 8. ITLib

Xác định yêu cầu

Phân tích

Thiết kế

Cài đặt

Page 132: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 116

8.1. Xác định yêu cầu 8.1.1. Giới thiệu

ITLib viết trên giao diện Windows Form dùng hệ quản trị cơ sở dữ liệu

Access và Sql Server. ITLib cho phép :

- Thủ thư :

Chuẩn hóa tài liệu

Xây dựng bộ sưu tập luận văn

Xây dựng bộ sưu tập sách

Xây dựng bộ sưu tập tổng quát

Đăng nhập

Đăng xuất

Thay đổi mật khẩu

Tạo các file macro hỗ trợ web

- Quản trị viên :

Quản lý tài khoản người dùng

Tùy biến cấu hình phần mềm

Dùng các chức năng của thủ thư

8.1.2. Bảng chú giải

8.1.2.1. Bộ sưu tập

Tập hợp các tài liệu

8.1.2.2. Thủ thư

Thủ thư có thể là cán bộ giảng dạy, công tác trong Khoa nhận nhiệm vụ quản

lý hệ thống thư viện điện tử.

Page 133: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 117

8.1.2.3. Quản trị hệ thống

Người dùng có quyền hạn cao nhất trong hệ thống

8.1.2.4. ITLibWeb

Website thư viện điện tử của Khoa CNTT

8.1.3. Đặc tả bổ sung

8.1.3.1. Phạm vi

Đặc tả bổ sung định nghĩa các yêu cầu của Hệ thống ITLib, liệt kê các yêu

cầu chưa được thể hiện trong các Use case. Đặc tả bổ sung cùng các Use case trong

mô hình Use case thể hiện đầy đủ các yêu cầu của hệ thống.

Đặc tả này vạch rõ các yêu cầu phi chức năng của hệ thống, như là tính ổn

định, tính khả dụng, hiệu năng, và tính hỗ trợ cũng như các yêu cầu chức năng

chung cho một số Use case. (Các yêu cầu chức năng được chỉ rõ trong phần Đặc tả

Use case).

8.1.3.2. Tài liệu tham khảo

Không có.

8.1.3.3. Chức năng

Cho phép thủ thư làm việc nhiều phiên mà thông tin không bị mất (hay là

quá trình tạo bộ sưu tập được lưu tại những điểm cần thiết)

8.1.3.4. Tính khả dụng

Giao diện thân thiện, dễ sử dụng, trên hệ điều hành Windows XP, Windows

2000, 9x…

8.1.3.5. Tính ổn định

Hệ thống phải chạy ổn định, nhất là khi tạo bộ sưu tập có kích thước lớn

(hàng trăm MB dữ liệu).

Page 134: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 118

8.1.3.6. Hiệu suất

Hệ thống phải cho phép truy xuất đến CSDL nhanh, dò tìm những chỗ bất

đồng nhất giữa bộ sưu tập và CSDL.

8.1.3.7. Sự hỗ trợ

Không có.

8.1.3.8. Tính bảo mật

Chỉ có thủ thư và quản trị hệ thống mới có quyền truy xuất, hiệu chỉnh các

bộ sưu tập.

8.1.3.9. Các ràng buộc thiết kế

Hệ thống phải tương thích với những hệ thống đã có về mặt CSDL.

Hệ thống phải cung cấp giao diện dựa trên Windows.

8.1.4. Mô hình Use Case

8.1.4.1. Lược đồ chính của mô hình Use case

Hình 8.1 - Lược đồ Use case

Page 135: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 119

8.1.4.2. Danh sách Actor

STT Actor Ý nghĩa 1 Quan tri he thong Người quản trị hệ thống, toàn quyền sử dụng 2 Thu thu Thủ thư, đối tượng sử dụng chính của hệ thống 3 ITLibWeb Website thư viện điện tử Khoa

Bảng 8.1 – Danh sách Actor

8.1.4.3. Danh sách Use case

STT Use case Ý nghĩa 1 Chuan hoa tài liệu Chuẩn hoá tài liệu 2 Dang nhap Đăng nhập hệ thống 3 QL BST Sach Quản lý bộ sưu tập Sách 5 QL BST Luan van Quản lý bộ sưu tập Luận văn 6 QL BST Tong quat Quản lý bộ sưu tập Tổng quát, nói chung 7 Tuy bien Tuỳ biến hệ thống 8 Quan ly nguoi dung Quản lý thông tin người dùng trong hệ thống

Bảng 8.2 - Danh sách Use case

8.1.4.4. Đặc tả các Use case chính

1. Use case “Chuẩn hoá Tài liệu”

a. Tóm tắt

Use case này mô tả hành động chuẩn hoá tài liệu theo định dạng của hệ

thống.

b. Dòng sự kiện

i. Dòng sự kiện chính

Use case này bắt đầu khi một thủ thư chọn chức năng Chuẩn hoá Tài liệu.

1. Hệ thống yêu cầu thủ thư chọn tập tin (PDF, DOC, HTML).

2. Thủ thư cung cấp đường dẫn tới tập tin đó (browsing).

3. Hệ thống kiểm tra loại tập tin đó. Nếu tập tin có dạng:

- PDF: hệ thống gọi chương trình bên ngoài để chuyển tập tin nguồn

từ dạng PDF sang dạng HTML

Page 136: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 120

- DOC: hệ thống gọi chương trình bên ngoài để chuyển tập tin nguồn

từ dạng DOC sang dạng HTML

- HTML: sao chép tập tin nguồn vào thư mục xử lý.

4. Hệ thống cho thủ thư chọn nơi lưu kết quả chuyển đổi

5. Hệ thống yêu cầu thủ thư cung cấp phần mục lục (chỉ cần copy và

paste vào cửa sổ cho phép)

6. Thủ thư yêu cầu phân tích mục lục.

7. Hệ thống kiểm tra mục lục hợp lệ và phân tích mục lục.

8. Thủ thư yêu cầu chèn thẻ section

9. Hệ thống yêu cầu xác nhận hành động chèn thẻ

10. Hệ thống chèn thẻ dưới sự kiểm soát của người dùng.

11. Hệ thống thông báo chèn thẻ xong

12. Hệ thống yêu cầu xác nhận lưu kết quả

ii. Các dòng sự kiện khác

1. Tập tin không đúng định dạng

Nếu trong Dòng sự kiện chính, thủ thư chọn dạng tập tin khác với

PDF, DOC hoặc HTML thì thông báo lỗi sai định dạng. Thủ thư phải

chọn lại tập tin khác hoặc kết thúc chương trình. Use case kết thúc

2. Không chuyển đổi được sang dạng HTML

Có thể là tập tin được chọn không đúng đắn hoặc không tìm thấy trình

chuyển đổi. Thủ thư phải chọn lại tập tin khác hoặc kết thúc chương

trình. Use case kết thúc.

3. Thủ thư không cung cấp mục lục đúng

Trường hợp này xảy ra khi thủ thư đưa vào mục lục sai quy cách, ví

dụ như không có dòng nào, hoặc dòng mục lục không có số trang,

Page 137: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 121

không có dấu dẫn trang… Thủ thư phải thực hiện lại hoặc kết thúc

chương trình. Use case kết thúc.

4. Hành động chèn thẻ bị huỷ bỏ giữa chừng

Thủ thư huỷ bỏ hành động chèn thẻ. Use case kết thúc.

c. Yêu cầu đặc biệt

Không có. d. Điều kiện tiên quyết

Thủ thư phải đăng nhập vào hệ thống use case này mới được thực hiện

e. Post-Conditions

Nếu use case thành công, tập tin kết quả dạng file HTML đã được chèn thẻ

section. Nếu không, trạng thái hệ thống không đổi

f. Điểm mở rộng

Không có.

2. Use case “QL BST Luận văn”

a. Tóm tắt

Use case này cho phép thủ thư có thể quản lý bộ sưu tập Luận văn.

b. Dòng sự kiện

i. Dòng sự kiện chính

Use case này bắt đầu khi thủ thư chọn chức năng “Quản lý bộ sưu tập

luận văn”

1. Hệ thống yêu cầu thủ thư chọn một trong các chức năng sau: Tạo mới

bộ sưu tập, mở bộ sưu tập, xóa bộ sưu tập

2. Nếu thủ thư chọn:

Tạo mới một bộ sưu tập : luồng phụ “Tạo mới bộ sưu tập”

được thực hiện.

Page 138: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 122

Mở bộ sưu tập : luồng phụ “Mở bộ sưu tập” được thực hiện.

Xoá bộ sưu tập: luồng phụ “Xóa bộ sưu tập” được thực hiện.

o Luồng phụ “Tạo mới bộ sưu tập”

1. Hệ thống yêu cầu thủ thư nhập tên, tiêu đề và mô tả ngắn gọn

về bộ sưu tập.

2. Thủ thư nhập tên, tiêu đề, mô tả cho bộ sưu tập

3. Hệ thống kiểm tra thông tin vừa nhập có hợp lệ không

4. Hệ thống tiến hành tạo mới bộ sưu tập, với những thông tin cơ

bản và cấu hình mặc định

5. Hệ thống yêu cầu thủ thư chọn các file luận văn đã chuẩn hóa

6. Thủ thư chọn các tập tin luận văn đã chuẩn hóa

7. Hệ thống kiểm tra cấu trúc hợp lệ của một luận văn. Cấu trúc

luận văn bao gồm: tập tin luận văn đã xử lý mục lục, tập tin

nguồn(doc hoặc pdf hoặc html). Hệ thống phân loại: tập tin luận

văn chuẩn hóa được đưa vào thư mục import\<mã luận văn>,

tập tin nguồn được đưa vào thư mục source\<mã luận văn>.

8. Hệ thống truy xuất và hiển thị danh sách các luận văn, với mỗi

luận văn hệ thống sẽ truy xuất thông tin luận văn từ bộ nhớ phụ

9. Thủ thư hiệu chỉnh thông tin các luận văn

10. Thủ thư cấu hình thông tin cho bộ sưu tập

11. Thủ thư xác nhận quá trình xây dựng bộ sưu tập .

12. Hệ thống xây dựng bộ sưu tập, cập nhật thông tin các luận văn

vào bộ nhớ phụ. Use case kết thúc.

o Luồng phụ “Mở bộ sưu tập”

1. Hệ thống truy xuất và hiển thị danh sách các bộ sưu tập đã xây

dựng

Page 139: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 123

2. Thủ thư chọn bộ sưu tập cần mở .

3. Hệ thống truy xuất và hiển thị thông tin của bộ sưu tập.

4. Thủ thư hiệu chỉnh thông tin bộ sưu tập

5. Thủ thư xác nhận xây dựng lại bộ sưu tập

6. Hệ thống xây dựng bộ sưu tập, cập nhật thông tin các luận văn

vào bộ nhớ phụ. Use case kết thúc.

o Luồng phụ “Xóa bộ sưu tập”

1. Hệ thống truy xuất và hiển thị danh sách các bộ sưu tập cần xóa.

2. Thủ thư chọn bộ sưu tập cần xoá

3. Hệ thống cảnh báo việc xóa bộ sưu tập

4. Thủ thư chấp nhận xóa

5. Hệ thống xoá bộ sưu tập. Use case kết thúc.

ii. Các dòng sự kiện khác

1. Luận văn không có trong CSDL do ITLibWeb cung cấp

Trong luồng phụ “Tạo mới bộ sưu tập” , nếu một luận văn không có

trong CSDL do ITLibWeb cung cấp, thủ thư sẽ điền thông tin mới cho

luận văn và trở lại bước 10 của luồng phụ “Tạo mới bộ sưu tập”.

2. Thông tin tạo lập bộ sưu tập không hợp lệ (tên bộ sưu tập có dấu tiếng

Việt, hoặc không có thông tin mô tả bộ sưu tập, hoặc đã tồn tại bộ sưu

tập cùng tên…)

Trong luồng phụ “Tạo mới bộ sưu tập”, nếu thông tin tạo lập bộ sưu

tập không hợp lệ thì hệ thống sẽ hiển thị thông báo lỗi. Khi này Use

case kết thúc.

3. Không tìm thấy chương trình thực thi hành động tạo mới/xây dựng bộ

sưu tập.

Page 140: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 124

Trong dòng sự kiện chính, nếu các chương trình hỗ trợ xây dựng bộ

sưu tập không hoạt động thì hệ thống sẽ hiển thị thông báo lỗi. Use

case kết thúc

c. Yêu cầu đặc biệt

Không có. d. Điều kiện tiên quyết

Thủ thư phải đăng nhập vào hệ thống để thực hiện chức năng này e. Post-Conditions

Bộ sưu tập luận văn được tạo nếu Use case thành công. Nếu không, trạng

thái hệ thống không thay đổi.

f. Điểm mở rộng

Không có

3. Use case “QL BST Tổng quát”

a. Tóm tắt

Use case này cho phép thủ thư quản lý bộ sưu tập tổng quát, nghĩa là quản

lý bộ sưu tập chứa bất cứ một dạng tài liệu nào.

b. Dòng sự kiện

i. Dòng sự kiện chính Use case này bắt đầu khi thủ thư chọn chức năng “Quản lý bộ sưu tập

tổng quát ”

1. Hệ thống yêu cầu thủ thư chọn một trong các chức năng sau: Tạo mới

bộ sưu tập, mở bộ sưu tập, xóa bộ sưu tập

2. Nếu thủ thư chọn:

Tạo mới một bộ sưu tập : luồng phụ “Tạo mới bộ sưu tập”

được thực hiện.

Mở bộ sưu tập : luồng phụ “Mở bộ sưu tập” được thực hiện.

Page 141: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 125

Xoá bộ sưu tập: luồng phụ “Xóa bộ sưu tập” được thực hiện.

o Luồng phụ “Tạo mới bộ sưu tập”

1. Hệ thống yêu cầu thủ thư chọn các chuẩn để biên mục cho bộ

sưu tập.

2. Thủ thư chọn các chuẩn biên mục.

3. Hệ thống yêu cầu thủ thư nhập tên, tiêu đề và mô tả ngắn gọn

về bộ sưu tập.

4. Thủ thư nhập tên, tiêu đề, mô tả cho bộ sưu tập

5. Hệ thống kiểm tra thông tin vừa nhập có hợp lệ không

6. Hệ thống tiến hành tạo mới bộ sưu tập, với những thông tin cơ

bản và cấu hình mặc định

7. Hệ thống yêu cầu thủ thư chọn các các tài liệu cần đưa vào bộ

sưu tập

8. Thủ thư chọn các tài liệu .

9. Với mỗi tài liệu trong bộ sưu tập, thủ thư biên mục cho các tài

liệu trong bộ sưu tập này

10. Thủ thư cấu hình thông tin cho bộ sưu tập

11. Thủ thư xác nhận quá trình xây dựng bộ sưu tập .

12. Hệ thống xây dựng bộ sưu tập. Use case kết thúc.

o Luồng phụ “Mở bộ sưu tập”

1. Hệ thống truy xuất và hiển thị danh sách các bộ sưu tập đã xây

dựng

2. Thủ thư chọn bộ sưu tập cần mở .

3. Hệ thống truy xuất và hiển thị thông tin của bộ sưu tập.

4. Thủ thư hiệu chỉnh thông tin bộ sưu tập

Page 142: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 126

5. Thủ thư xác nhận xây dựng lại bộ sưu tập

6. Hệ thống xây dựng bộ sưu tập. Use case kết thúc.

o Luồng phụ “Xóa bộ sưu tập”

1. Hệ thống truy xuất và hiển thị danh sách các bộ sưu tập cần xóa.

2. Thủ thư chọn bộ sưu tập cần xoá

3. Hệ thống cảnh báo việc xóa bộ sưu tập

4. Thủ thư chấp nhận xóa

5. Hệ thống xoá bộ sưu tập. Use case kết thúc.

ii. Các dòng sự kiện khác 1. Thông tin tạo lập bộ sưu tập không hợp lệ (tên bộ sưu tập có dấu tiếng

Việt, hoặc không có thông tin mô tả bộ sưu tập, hoặc đã tồn tại bộ sưu

tập cùng tên…)

Trong luồng phụ “Tạo mới bộ sưu tập”, nếu thông tin tạo lập bộ sưu

tập không hợp lệ thì hệ thống sẽ hiển thị thông báo lỗi. Khi này Use

case kết thúc.

2. Không tìm thấy chương trình thực thi hành động tạo mới/xây dựng bộ

sưu tập.

Trong dòng sự kiện chính, nếu các chương trình hỗ trợ xây dựng bộ

sưu tập không hoạt động thì hệ thống sẽ hiển thị thông báo lỗi. Use

case kết thúc

c. Yêu cầu đặc biệt

Không có. d. Điều kiện tiên quyết

Thủ thư phải đăng nhập vào hệ thống để thực hiện chức năng này e. Post-Conditions

Bộ sưu tập tổng quát được tạo nếu Use case thành công. Nếu không, trạng

thái hệ thống không thay đổi.

Page 143: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 127

f. Điểm mở rộng

Không có

8.2. Phân tích các Use case chính 8.2.1. Use case “Chuan hoa Tai lieu”

8.2.1.1. Lược đồ tuần tự

Dòng sự kiện chính

Hình 8.2 - “Chuẩn hóa tài liệu” : dòng sự kiện chính

8.2.1.2. Lược đồ cộng tác

Page 144: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 128

Dòng sự kiện chính

Hình 8.3 - “Chuẩn hóa Tài liệu” : dòng sự kiện chính

8.2.1.3. VOPC

Hình 8.4 - “Chuẩn hóa Tài liệu” : VOPC

Page 145: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 129

8.2.2. Use case “QL BST Luan van”

8.2.2.1. Lược đồ tuần tự

Luồng phụ “Tạo mới bộ sưu tập”

Hình 8.5 - Luồng phụ “Tạo mới bộ sưu tập”

Page 146: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 130

Luồng phụ “Mở bộ sưu tập”

Hình 8.6 - Luồng phụ “Mở bộ sưu tập”

Page 147: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 131

Luồng phụ “Xoá bộ sưu tập”

Hình 8.7 - Luồng phụ “Xoá bộ sưu tập”

8.2.2.2. Lược đồ cộng tác

Page 148: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 132

Luồng phụ “Tạo mới bộ sưu tập”

Hình 8.8 - Luồng phụ “Tạo mới bộ sưu tập”

Page 149: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 133

Luồng phụ “Mở bộ sưu tập”

Hình 8.9 - Luồng phụ “Mở bộ sưu tập”

Page 150: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 134

Luồng phụ “Xoá bộ sưu tập”

Hình 8.10 - Luồng phụ “Xoá bộ sưu tập”

Page 151: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 135

8.2.2.3. VOPC

Page 152: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 136

8.3. Thiết kế

Page 153: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 137

8.3.1. Sơ đồ lớp đối tượng của hệ thống

Hình 8.11 - Sơ đồ lớp đối tượng của hệ thống

Page 154: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 138

8.3.2. Chi tiết một số lớp đối tượng

8.3.2.1. Các lớp boundary

Hình 8.12 - Các lớp boundary

Page 155: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 139

8.3.2.2. Các lớp control

Hình 8.13 - Các lớp control

Page 156: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 140

8.3.2.3. Các lớp entity

ThesisEntity

//MakeNewCol()//Import()//BuildCol()//Save()//LoadListThesis()//LoadThesisInfo(ID : String) : DataSet//AddThesis(thesis : ThesisInfo) : Boolean//UpdateThesis(thesis : ThesisInfo) : Boolean

(from AClass)

<<entity>>

GeneralEntity

//GetFileSet(filename : String, compare : String) : String//LoadMetadata(path : String, compare : String) : PairCollection//SaveMetadata(filename : String, content : String) : Boolean

(from AClass)

<<entity>>

CollectionEntity

//GetMetadataset(filename : String) : PairCollection//GetTagControl(filename : String) : HashTable//ReadXMLContent(filename : String) : XMLDocument

(from AClass)

<<entity>>

Hình 8.14 - Các lớp entity

8.3.3. Thiết kế dữ liệu

8.3.3.1. Mô hình dữ liệu

Page 157: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 141

Hình 8.15 - Mô hình dữ liệu

Page 158: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 142

8.3.3.2. Danh sách các bảng dữ liệu

STT Tên bảng Ý nghĩa 1 Luanvan Thông tin Luận văn 2 ChuyenNganh Chuyên ngành 3 HuongDan Quan hệ hướng dẫn 4 HocVi Học vị tốt nghiệp (Cử nhân, Thạc sỹ, Tiến sỹ) 5 NgonNgu Ngôn ngữ của tài liệu 6 DeMuc Đề mục 7 GiaoVienHD Giáo viên hướng dẫn 8 CDLuanvan CD luận văn 9 Sach Sách 10 BoSach Bộ sách 11 Ban Bản sách 12 TacGia Tác giả 13 TG_S Quan hệ tác giả - sách 14 NhaXB Nhà xuất bản 15 DM_TL Danh mục – tài liệu 16 TapChi Tạp chí 17 TapChiKy Tạp chí kỳ 18 LoaiTG Loại Tác giả 19 BaiTapChi Bài tạp chí 20 MuonTra Mượn trả 21 DocGia Độc giả 22 NhomDG Nhóm độc giả 23 TaiLieu Tài liệu 24 NguoiDung Người dùng 25 NhomNguoiDung Nhóm người dùng 26 Quyen Quyền 27 TaiNguyen Tài nguyên 28 QuiDinh Qui định 29 ApDungQD Áp dụng qui định

Bảng 8.3 - Danh sách bảng dữ liệu

8.3.4. Thiết kế giao diện

Một số màn hình :

Page 159: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 143

8.3.4.1. Màn hình Chuẩn hoá Tài liệu

Hình 8.16 - Màn hình chuẩn hoá tài liệu

8.3.4.2. Màn hình thu thập dữ liệu (cho tất cả các bộ sưu tập)

Hình 8.17 - Màn hình thu thập dữ liệu

Page 160: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 144

8.3.4.3. Màn hình quản lý thông tin bộ sưu tập (cho tất cả các bộ sưu tập)

Hình 8.18 - Màn hình quản lý thông tin BST

8.3.4.4. Màn hình tiến hành xây dựng bộ sưu tập (cho tất cả các bộ sưu tập)

Hình 8.19 - Màn hình xây dựng bộ sưu tập

Page 161: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 145

8.3.4.5. Màn hình quản lý thông tin Luận văn

Hình 8.20 - Màn hình quản lý thông tin Luận văn

8.3.4.6. Màn hình quản lý thông tin Sách/Giáo trình

Hình 8.21 - Màn hình quản lý thông tin Sách/Giáo trình

Page 162: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 146

8.3.4.7. Màn hình quản lý thông tin một bộ sưu tập tổng quát

Hình 8.22 - Màn hình quản lý thông tin BST nói chung

8.4. Cài đặt 8.4.1. Công cụ và môi trường phát triển hệ thống

Hệ thống ITLib được xây dựng trên các công cụ và môi trường sau:

- Công cụ phân tích và thiết kế: Rational Rose 2001

- Môi trường cài đặt ứng dụng: Microsoft Windows XP Professional

- Môi trường lập trình: Microsoft Visual Studio .NET Enterprise Developer

Edition

- Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server 2000, Access 2003

- Greenstone

Page 163: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 147

- Hệ thống còn được phát triển trên các công cụ hỗ trợ lập trình giao diện

như Janus Systems Controls Syncfusion

8.4.2. Mô hình cài đặt

8.4.2.1. Mô hình

ITLib Presentation Layer

ITLib Database Layer

ITLib Business Layer

.NET Framework

UI Library

Greenstone

Hình 8.23 - Mô hình cài đặt

8.4.2.2. Diễn giải

8.4.2.2.1. ITLib Presentation Layer

Bao gồm các màn hình Windows Form thực hiện chức năng trình bày

dữ liệu và tương tác với người dùng.

8.4.2.2.2. ITLib Business Layer

Bao gồm các lớp đối tượng thực hiện chức năng truy xuất, xử lý, đóng

vai trò giao tiếp giữa lớp Presentation và Database.

8.4.2.2.3. ITLib Database Layer

Các lớp chức năng giao tiếp với CSDL SQL Server, với hệ thống tập

tin của hệ thống.

Page 164: Nguon mo green stone va ung dung

Chương 8 – ITLib

Trang 148

8.4.2.2.4. Greenstone

Thành phần chủ chốt của hệ thống, thực hiện việc tạo, biên tập các bộ

sưu tập sau khi đã được các thành phần bên trên xử lý.

8.4.2.2.5. .NET Framework

Nền chạy ứng dụng.

8.4.2.2.6. UI Library

Bộ thư viện hỗ trợ lập trình giao diện, bao gồm hai thư viện chính là

Janus System Controls và Synfusion.

Page 165: Nguon mo green stone va ung dung

Trang 149

PHẦN 3. TỔNG KẾT

Phần cuối cùng của Luận văn này sẽ tổng kết những nghiên cứu về thư viện

số Greenstone và đánh giá về hệ thống phần mềm ứng dụng Greenstone – Thư viện

số Khoa CNTT ITDL. Trong phần này cũng xác định hướng mở rộng, phát triển

Greenstone và ITDL.

Chương 9 – Đánh giá và hướng phát triển

Page 166: Nguon mo green stone va ung dung

Chương 9 – Đánh giá và Hướng phát triển

Trang 150

CHƯƠNG 9. ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN

9.1. Đánh giá Greenstone là hệ thống thư viện số đơn giản, nhưng không kém phần hiệu

quả trong việc quản lý tài nguyên điện tử. Các thư viện số xây dựng bởi Greenstone

tuân thủ theo các tiêu chuẩn quốc tế chung, giúp cho tiến trình liên kết các thư viện,

vốn đang là xu hướng hiện nay, trở nên dễ dàng hơn. Mặt khác, khả năng tuỳ biến

linh hoạt của Greenstone cho phép mỗi thư viện tạo cho mình những đặc trưng

riêng. Greenstone đã dung hoà được cả hai mặt đối ngược nhau đó. Đặc biệt,

Greenstone hoàn toàn miễn phí và được người dùng trên toàn thế giới sử dụng và

đóng góp cho sự phát triển. Những yếu tố này rất có ý nghĩa với những thư viện hạn

chế về năng lực tài chính như ở Việt Nam. Phiên bản Greenstone 2.6 với mô-đun

kèm theo GLI 2.6 hiện nay còn một số hạn chế trong việc xây dựng bộ sưu tập

nhưng trong tương lai không xa, sẽ dần được khắc phục.

Nhóm nghiên cứu đã thực hiện được những mục tiêu đặt ra ban đầu: tìm hiểu

cấu trúc và cơ chế hoạt động của Greenstone, từ đó, xây dựng ứng dụng Thư viện số

ITDL cho Khoa. Hệ thống ITDL, ngoài việc thực hiện được các chức năng cơ bản

như Greenstone, còn bổ sung thêm các tính năng riêng, xây dựng các bộ sưu tập đặc

thù, giao diện đẹp, dễ sử dụng.

Tuy nhiên, hệ thống ITDL còn hạn chế trong việc chưa cung cấp đầy đủ các

chức năng quản lý thông tin trong cơ sở dữ liệu (nhập thông tin cho các bảng dữ

liệu), thể loại các bộ sưu tập còn ít.

9.2. Hướng phát triển Greenstone là phần mềm mã nguồn mở, khả năng phát triển trong tương lai

là rất lớn.

Trong hệ thống ITDL, mô-đun ITLibWeb cần bổ sung các chức năng khác :

các dịch vụ trực tuyến, diễn đàn, đăng ký thành viên... Mô-đun ITLib có thể mở

rộng xử lý các dạng tài liệu sử dụng trong Khoa như phần mềm, mã nguồn, hay tài

liệu âm thanh, hình ảnh, quản lý thông tin trong cơ sở dữ liệu.

Page 167: Nguon mo green stone va ung dung

Phụ lục A – Giới thiệu về Search Engine

Trang 151

PHỤ LỤC A. GIỚI THIỆU VỀ SEARCH ENGINE

Tổng quan về Search Engine (bộ máy tìm kiếm) Chúng ta thường nghe nói đến các trang web tìm kiếm như Google, Yahoo!,

MSN… và đồng nhất chúng cùng là những Search Engine (SE). Thực ra, có hai

dạng bộ máy tìm kiếm: Web

Directory và Search

Engine. Dạng thứ nhất,

Web Directory, tiêu biểu là

Yahoo! (www.yahoo.com)

sử dụng các trình soạn thảo

để xếp đặt các website vào

những mục (category) xác

định. Do vậy nó còn được

gọi là "human-based" search

engine. Dạng thứ hai,

Search Engine, sử dụng các phần mềm robot, gọi là “con bọ” (spider hoặc là

crawler) thu thập thông tin từ các trang web trên mạng. Dạng này còn gọi "spider-

based" hoặc "crawler-based" search engine.

Search Engine (SE):

Một SE có ba thành phần cơ bản:

o Các spider, dùng tìm kiếm thu nạp các trang web, sau đó xây dựng danh

sách các từ, ngữ tìm thấy trong các trang đó thành CSDL.

o Bộ phận tạo chỉ mục (index) cho CSDL trên những từ ngữ đó, gọi là các

indexer.

o Bộ phận cho phép người dùng cuối tìm kiếm bằng từ khoá (keyword)

trong CSDL. SE so khớp từ khoá người dùng cung cấp để tìm trang web thoả

mãn những thông tin người dùng yêu cầu. Bộ phận này gọi là query

processor (bộ xử lý truy vấn).

Hình 0.1 - Biểu tượng một số SE

Page 168: Nguon mo green stone va ung dung

Phụ lục A – Giới thiệu về Search Engine

Trang 152

Khi người dùng yêu cầu tìm kiếm, SE tìm từ khoá người dùng cung cấp theo

chỉ mục trong CSDL. Thường hệ thống chỉ mục này được cập nhật 4-6 tuần một

lần.

Để tìm ra những trang web gần đúng nhất với câu truy vấn, các SE cũng gắn

trọng số cho từng từ, ngữ trong trang web. Có nhiều cách để gán trọng số. Ví dụ

như từ đó càng xuất hiện nhiều lần trong trang web, trọng số của nó càng cao. Cũng

có thể gán trọng số lớn cho những từ xuất hiện ở đầu trang, hoặc xuất hiện ở những

vị trí đặc biệt như tiêu đề, trong phần thẻ meta 4,… Mỗi SE thường có một công

thức tính toán trọng số riêng. Những công thức sử dụng cho mỗi SE hầu như thay

đổi từng ngày để bảo đảm tính an toàn, bảo mật.

Web Directory

Khác với SE, Web Directory sử dụng các trình soạn thảo để tạo danh sách

kết quả tìm kiếm. Khi bạn muốn đưa trang web của mình vào một Directory (thư

mục), nhà quản lý Directory sẽ dùng các trình soạn thảo và xem xét để trang web

của bạn chỗ nào trong thư mục.

Mỗi trang web hiển thị trong một Directory theo nhiều cách, nhưng nói

chung vẫn là chia theo từng mục. Cách tổ chức ta thường thấy là theo dạng cây. Từ

đó, các công cụ tìm kiếm như Yahoo! sẽ tìm trong Directory những trang web liên

quan bằng cách duyệt cây hoặc tìm theo từ khoá.

Hầu hết Web Directory thường nhỏ, do vậy kết quả tìm kiếm thường được bổ

sung thêm bằng những kết quả tìm kiếm sử dụng SE. Khi không tìm thấy thông tin

mong muốn trong Directory, kết quả có thể được hiển thị nhờ sử dụng kết quả tìm

kiếm gần đúng của SE, và ghi trong phần tiêu đề trang kết quả là “Những trang web

tương tự” hoặc gần như vậy.

4 Trong HTML có khái niệm thẻ Meta, đánh dấu những từ, cụm từ có ý nghĩa quan trọng, là keyword khi tìm kiếm

Page 169: Nguon mo green stone va ung dung

Phụ lục A – Giới thiệu về Search Engine

Trang 153

Biết được cách thức hoạt động của SE, ta sẽ hiểu được cơ chế xử lý bên trong của

Greenstone, qua thành phần nòng cốt của nó – Managing Gigabyte (MG), sẽ được

giới thiệu chi tiết trong phần Phụ lục C.

Page 170: Nguon mo green stone va ung dung

Phụ lục B – Các thư viện số ở Việt Nam

Trang 154

PHỤ LỤC B. CÁC THƯ VIỆN SỐ Ở VIỆT NAM

Chỉ tính riêng ở Việt Nam năm 1995, cũng đã có hơn 20.000 thư viện các

loại, bao gồm thư viện địa phương (do chính quyền địa phương quản lý), thư viện

giáo dục (của các trường, trung tâm giáo dục), thư viện khoa học công nghệ (của

các trung tâm khoa học công nghệ) v.v…

Hiện nay trên thế giới nói chung và ở Việt Nam nói riêng, nhiều thư viện

điện tử đang được xây dựng và mở rộng. Tính đến thời điểm này, trên thị trường

trong nước có 3 nhà cung cấp các sản phẩm hệ thống thư viện chính: công ty CMC,

công ty Lạc Việt và công ty Tinh Vân.

Công ty trách nhiệm hữu hạn CMC (CMC Co., Ltd)

CMC là công ty chiếm lĩnh thị phần với hệ thống iLib. Thành lập năm 1995,

CMC phát triển phần mềm ở nhiều lĩnh vực khác nhau và phát triển hệ thống thư

viện từ năm 1998. Phiên bản release đầu tiên của iLib vào năm 1999 và hiện đang

được sử dụng trong Thư viện Quốc gia, Thư viện Đại học Bách Khoa Hà Nội, Đại

học Cần Thơ, Đại học Vinh và một số thư viện thuộc các tỉnh khác. Hệ thống iLib

tích họp tất cả các chuẩn mô-đun ILMS (catalogue, OPAC (Online Public Access

Catalog – tra cứu trực tuyến), circulation (lưu thông), acquisitions (thu thập) …).

Hiện nay CMC cũng đang phát triển mô-đun ILL. iLib tuân theo các chuẩn quốc tế

về thư viện như UNIMARC, MARC21, AACR2, ISBD, Z39.50 và ISO 10161. Tuy

nhiên CMC cũng chỉ phát triển trong việc quản lý thư viện truyền thống. Trước sự

phát triển mạnh mẽ của các loại tài nguyên điện tử, và thư viện điện tử, CMC đang

có những bước đi thăm dò vào lĩnh vực này với việc đưa vào hệ thống website đơn

giản, cung cấp dạng forum, tin tức và những liên kết đơn giản.

Công ty Tin học Lạc Việt (LAC VIET Computing Corp)

Lạc Việt là một công ty công ty phần mềm lớn. Năm 2000, Lạc Việt tham

gia vào dự án phát triển Trung tâm Tài nguyên Thông tin Đà Nẵng (Da Nang

Information Resource Centre) và xây dựng lại phần mềm thư viện VeBrary. Trước

đó, VeBrary chỉ là một phần mềm nhỏ, không mang tính chuyên nghiệp cao của

nghiệp vụ quản lý thư viện. Sau dự án này, VeBrary đã có những tính năng nổi bật,

Page 171: Nguon mo green stone va ung dung

Phụ lục B – Các thư viện số ở Việt Nam

Trang 155

có thể so sánh ngang tầm với sản phẩm iLib CMC, mặc dù đây không phải là sản

phẩm đặc trưng của Lạc Việt. VeBrary gồm những mô-đun như cataloguing, Web

OPAC, Circulation (bao gồm cả kiểm kê), Acquisitions, ILL, VeBook (hỗ trợ sách

điện tử) và Hệ thống Quản lý System Administration. Cũng như iLib, VeBrary hỗ

trợ tương thích Unicode và các chuẩn như UNIMARC, MARC 21, AACR2, ISBD,

Z39.50 và ISO 10161. Giao diện sử dụng bằng Tiếng Việt, Tiếng Anh và một số

ngôn ngữ nước ngoài khác.

Công ty Tin học Tinh Vân (TINH VAN Informatic Technology Co.)

Trong 3 công ty đề cập ở phần này, Tinh Vân là nhà cung cấp nhỏ nhất, và

chủ yếu tập trung vào sản phẩm thư viện duy nhất – Libol. Phần mềm này có nhiều

hạn chế hơn so với iLib của CMC và VeBrary của Lạc Việt. Hạn chế lớn nhất là

không hỗ trợ dịch vụ mạng / LAN. Tính đến thời điểm tìm hiểu, nó đã có trên 13

trang ở Việt Nam, bao gồm Đại học Quốc Gia Hà Nội, Đại học Luật Hà Nội, và Đại

học Kinh tế Quốc Dân Hà Nội. Phiên bản Release hiện tại là Libol 5.0, gồm những

mô-đun như Cataloguing, OPAC, Circulation, Reserve, ILL, Acquisitions,

Administration, và hỗ trợ một phần cho tài liệu điện tử. Cũng như hai sản phẩm kể

trên, Libol hỗ trợ Unicode, và các chuẩn thông thường như UNIMARC, MARC 21,

AACR2, ISBD, Z39.50 và ISO 10161.

Tóm lại, các sản phẩm iLib (CMC), VeBarary (Lạc Việt) và Libol (Tinh

Vân) có nhiều nét tương đồng. Riêng CMC và Lạc Việt, cung cấp hỗ trợ

network/Lan trọn gói.

Page 172: Nguon mo green stone va ung dung

Phụ lục C – Các thành phần hỗ trợ Greenstone

Trang 156

PHỤ LỤC C - CÁC THÀNH PHẦN HỖ TRỢ GREENSTONE

1. Managing Gigabyte (MG) 9.2.1. Giới thiệu

Managing Gigabytes (MG) là hệ thống tổ chức dữ liệu dạng tập tin văn bản

(text), hình ảnh (image) và hình ảnh có nguồn gốc từ văn bản (textual image) thành

một cơ sở dữ liệu, cho phép tìm kiếm, truy vấn thông tin chi tiết đến từng từ một

bên trong các tập tin đó. Nó là thành phần cốt lõi, tham gia vào phần lớn các hoạt

động xử lý tài liệu của Greenstone.

MG là phần mềm mã nguồn mở bằng ngôn ngữ lập trình C++, thực thi độc

lập môi trường, chạy được trên nhiều hệ điều hành, (Windows, Unix, …). Ưu điểm

này giúp cho những phần mềm này dễ được áp dụng rộng rãi, phù hợp nhiều đối

tượng sử dụng và những nước nghèo, kém phát triển có thể tiếp cận, ứng dụng.

Phần mềm và tài liệu hướng dẫn sử dụng có sẵn ở trang chủ của Greenstone :

www.greenstone.org.

Sau đây, chúng ta sẽ tìm hiểu về cấu trúc và hoạt động của MG.

9.2.2. Cấu trúc

MG bao gồm nhiều tiến trình kết hợp lại với nhau. Có thể chia hệ thống MG

thành 2 phần:

• Phần xử lý hình ảnh: mgbilevel mgfelics mgtic mgticbuild mgticdump mgticprune mgticstat

• Phần xử lý văn bản a. Nén/giải nén

mg_passes -T1 mg_passes -T2

Page 173: Nguon mo green stone va ung dung

Phụ lục C – Các thành phần hỗ trợ Greenstone

Trang 157

mg_compression_dict mg_fast_comp_dict

b. Tạo chỉ mục index mg_passes -N1 mg_passes -N2 mg_perf_hash_build mg_invf_dict mg_invf_rebuild

c. Tính trọng số mg_weights_build

d. Truy vấn mgquery

e. Công cụ hỗ trợ khác mg_invf_dump mg_text_estimate mgdictlist mgstat

9.2.3. Chức năng

Nén văn bản

MG sử dụng phương pháp nén tĩnh Huffman, giúp hệ thống có thể truy xuất

ngẫu nhiên đến các vị trí bất kỳ trong tập tin nén và tiến hành giải nén.

Page 174: Nguon mo green stone va ung dung

Phụ lục C – Các thành phần hỗ trợ Greenstone

Trang 158

Sơ đồ hoạt động của tiến trình nén văn bản: Hình – Sơ đồ quá trình nén văn bản Ghi chú : (phần in nghiêng nếu bắt đầu với MG_ là các tiến trình xử lý, nếu có dấu chấm ngăn cách là những tập tin kết xuất)

Văn bản nguồn

Thống kê (mg passes –T1)

Tạo từ điển nén (mg compression dict)

Tập tin thống kê

Từ điển nén (.text.dict)

Kết hợp .text.dict và .text.dict.aux (mg_fast_comp_dict)

Nén văn bản (mg passes –T2)

Từ điển từ mới (.text.dict.aux)

Văn bản đã nén (.text)

Từ điển kết hợp(.text.dict.fast)

: các tiến trình xử lý

: kết quả xử lý hoặc đầu vào một xử lý

Page 175: Nguon mo green stone va ung dung

Phụ lục C – Các thành phần hỗ trợ Greenstone

Trang 159

Văn bản nguồn trước tiên được thống kê số lượng xuất hiện của mỗi từ. Sau

đó, MG dùng thuật toán nén Huffman để nén những thông tin này, tạo nên các từ

điển nén, chuẩn bị cho quá trình nén văn bản. Trong quá trình này, từ điển phụ có

thể được tạo ra, chứa những từ mới, những từ có tần suất xuất hiện thấp. Dựa trên 2

từ điển này MG, tạo ra từ điển truy xuất nhanh. Các từ điển này được sử dụng để

phục vụ cho công việc tạo chỉ mục sau đây.

Chỉ mục

MG là một hệ thống tìm kiếm truy vấn toàn văn bản (full text), vị trí từng từ

trong văn bản gốc được ghi nhận. Khi có yêu cầu tìm một từ, MG sẽ liệt kê ra những

tài liệu có chứa từ đó và vị trí chính xác của nó.

Trong MG có khái niệm chỉ mục đảo, là từ điển từ vựng (lexicon dictionary),

liệt kê tất cả những từ khoá tìm kiếm. Từ khoá tìm kiếm là những từ, vốn lấy trong

tài liệu gốc đã được xử lý, thành dạng chữ thường và đưa về dạng từ gốc về mặt ngữ

pháp. Ví dụ các từ compute, computer, computing, computed đều được có dạng gốc

là compute. Mỗi từ trong tài liệu gốc được hiểu và ngầm thay bằng từ khoá tương

ứng. Khi liệt kê, vị trí các từ này (trong tài liệu nào, đoạn văn nào, hay câu nào) đều

được ghi nhận và dùng từ khoá làm đại diện cho tất cả. Việc này làm cho số lượng

từ phải lưu trữ giảm đi nhiều và khi truy vấn, kết quả tìm kiếm cũng được nâng lên,

khả năng đáp ứng được nhu cầu của người dùng cũng cao hơn. Để tiết kiệm, những

từ quá phổ biến và thường xuyên có mặt, gọi là stop-word (ví dụ từ the trong Tiếng

Anh), bị bỏ qua trong việc tạo chỉ mục. Khi tìm cũng không hiển thị những từ đó.

Khi truy vấn với một từ, nó sẽ được chuyển sang dạng từ gốc, chữ thường và

MG sẽ rà trong bảng chỉ mục đảo này để tìm xem có khớp không. Nếu khớp MG sẽ

trả về số thứ tự tài liệu chứa từ này. Khi kết hợp các từ lại để truy vấn với các từ

khoá AND, OR, và NOT, các phép logic cũng thực hiện trên bảng này.

Page 176: Nguon mo green stone va ung dung

Phụ lục C – Các thành phần hỗ trợ Greenstone

Trang 160

Sơ đồ hoạt động của quá trình tạo chỉ mục đảo

Hình – Sơ đồ quá trình tạo chỉ mục văn bản Ghi chú :

Văn bản nguồn

Tạo từ điển đảo (mg passes –N1)

Tạo từ điển băm hoàn hảo (mg_compression_dict)

Từ điển mã hóa trước

Từ điển băm hoàn hảo

Tạo từ điển mã hóatrước theo khối (mg_invf_dict)

Tạo tập tin đảo (mg_passes –N2)

Từ đã có chỉ mục

Tập tin đảo (.invf)

Từ điển khối

: các tiến trình xử lý

: kết quả xử lý hoặc đầu vào một xử lý

Page 177: Nguon mo green stone va ung dung

Phụ lục C – Các thành phần hỗ trợ Greenstone

Trang 161

(phần in nghiêng nếu bắt đầu với MG_ là các tiến trình xử lý, còn nếu có dấu chấm ngăn cách là những tập tin kết xuất) Truy vấn

Có hai dạng truy vấn chính: truy vấn luận lý (boolean query) và truy vấn

theo thứ hạng (ranked query)

• Truy vấn luận lý (boolean query):

Câu truy vấn gồm nhiều từ khoá sẽ tìm kiếm trong CSDL, kết hợp với nhau

bằng những toán tử luận lý như AND, OR, NOT. Truy vấn luận lý còn cho phép ta

dùng các dấu ngoặc đơn “(“, “)” để đặt thứ tự ưu tiên kết hợp.

Ví dụ, câu truy vấn là “(Thành AND phố AND Hồ AND Chí AND Minh)

OR (Sài AND Gòn)” sẽ tìm những văn bản có từ “Thành phố Hồ Chí Minh” hoặc

“Sài Gòn”

• Truy vấn theo thứ hạng (ranked query)

Truy vấn luận lý như trên là cách truy vấn đơn giản nhất. Tuy nhiên để sử

dụng được nó, người dùng phải biết rõ mình muốn tìm gì, từ khoá đưa vào phải

chính xác. Trong thực tế, không phải lúc nào cũng được như vậy, nên MG còn cho

phép truy vấn thông tin bằng cách đo độ tương đồng giữa văn bản với từ khoá cung

cấp. Một cách tính đơn giản là đếm số từ khoá xuất hiện trong văn bản làm căn cứ

xếp loại.

Ví dụ, cần tìm những văn bản chứa từ “thư viện”. Văn bản nào chứa nhiều

từ “thư viện” hơn sẽ được đưa lên đầu danh sách kết quả. Cách này giúp người dùng

mở rộng khả năng tìm kiếm, và dễ dàng tìm ra văn bản mong muốn. Tuy nhiên hạn

chế ở đây là nếu một văn bản dài thì khả năng chứa nhiều từ khoá sẽ cao hơn so với

một văn bản ngắn. Ngoài ra những từ quá phổ biến như từ “the” trong Tiếng Anh sẽ

ảnh hưởng đến kết quả phân loại nếu như một văn bản ta không mong muốn chứa

nhiều từ này. Bởi vậy cần loại bỏ ra những từ ít quan trọng hoặc quá phổ biến để kết

quả truy vấn chính xác hơn, hoặc là gán cho mỗi từ khoá một độ quan trọng khác

nhau. Trong khi tìm kiếm sẽ ưu tiên những từ khoá có độ quan trọng cao hơn.

Page 178: Nguon mo green stone va ung dung

Phụ lục C – Các thành phần hỗ trợ Greenstone

Trang 162

9.2.4. Tóm tắt các quá trình thực hiện trong MG

Chương trình Mục đích Đầu vào (input) Đầu ra (output) mg_passes –T1 Tạo tập tin

thống kê cho việc nén văn bản

Văn bản từ mg_get text.stats

mg_compression_dict Tạo từ điển nén text.stats text.dict mg_passes –T2 Nén văn bản

nguồn Văn bản từ mg_get, text.dict

text.dict.aux, text, text.idx

mg_passes –N1 Tạo từ điển từ gốc cho quy trình đảo

Văn bản từ mg_get invf.dict, invf.chunk, invf.chunk.trans,

mg_perf_hash_build Tạo hàm băm hoàn hảo cho từ điển từ gốc

invf.dict invf.dict.hash

mg_passes –N2 Đảo văn bản nguồn

Văn bản từ mg_get, invf.dict, invf.chunk, invf.chunk.trans, invf.dict.hash

invf.paragraph, invf.idx, weight, invf

mg_fast_comp_dict Tạo một bản khác của từ điển nén, để đọc nhanh hơn

text.dict, text.dict.aux

text.dict.fast

mg_invf_dict Tạo một bản truy xuất đĩa nhanh dựa trên từ điển từ gốc

invf.dict, invf.idx invf.dict.blocked

mg_weights_build Xây dựng tập tin trọng số tài liệu

text.idx, invf.dict, invf.paragraph, invf.idx, invf.weight

text.idx.wgt, weight.approx, weight

mg_invf_rebuild Xây dựng lại tập tin đảo

invf.idx, invf, invf.dict, invf.ORG, invf.idx.ORG

invf.idx, invf, invf.ORG, invf.idx.ORG,

mgquery Truy vấn CSDL

.mgrc (chứa câu truy vấn), text.dict, text, invf.dict.blocked, text.idx.wgt, weight.approx, invf

Kết quả truy vấn

Page 179: Nguon mo green stone va ung dung

Phụ lục C – Các thành phần hỗ trợ Greenstone

Trang 163

Quá trình hoạt động của MG từ khi đưa tài liệu nguồn vào đến khi tạo xong CSDL:

H 1 - Quá trình hoạt động của MG

9.2.5. Các loại tập tin kết xuất trong quá trình xử lý của MG

Phần mở rộng Loại tập tin Dạng ngắn Dạng đầy đủ

compression dictionary ".tsd" ".text.stats" compression dictionary ".td" ".text.dict" compression dictionary ".tdf" ".text.dict.fast" auxilary dictionary ".tda" ".text.dict.aux" compressed text ".t" ".text" combined compressed text index and document weight file

".tiw" “text.idx.wgt"

compressed text index file ".ti" ".text.idx" dictionary of stemmed words “.id” “.invf.dict”

Page 180: Nguon mo green stone va ung dung

Phụ lục C – Các thành phần hỗ trợ Greenstone

Trang 164

dictionary of stemmed words ".idb" ".invf.dict.blocked" exact document weights file ".w" ".weight" approximate weights file ".wa" ".weight.approx" inverted file ".i" ".invf" inverted file index ".ii" ".invf.idx" inverted file chunk descriptor ".ic" “.invf.chunk" word index translation file ".ict" ".invf.chunk.trans" hashed stemmed dictionary ".idh" ".invf.dict.hash" paragraph descriptior file ".ip" ".invf.paragraph" trace file ".trc" ".trace" compression stats file ".cs" ".compression.stats" casefolded index into the stemmed dictionary

".ib1" ".invf.dict.blocked.1"

stemmed index into the stemmed dictionary

".ib2" ".invf.dict.blocked.2"

casefolded and stemmed index into the stemmed dictionary

“ib3" ".invf.dict.blocked.3"

Một số điểm lưu ý

MG không xây dựng một giao diện người dùng, bởi vậy ta phải thao tác trên

dòng lệnh (command line) để xử lý tài liệu khi làm việc với MG.

MG chỉ làm việc với tập tin thuần văn bản, các tập tin văn bản có mã

Unicode, các file Word, pdf, đều không sử dụng được. Greenstone mở rộng bằng

cách tạo lớp text_t hỗ trợ Unicode.

MG hỗ trợ 3 mức tìm (level): document, section, paragraph

MG nhìn bên ngoài còn rất đơn giản. Tuy nhiên, giá trị của MG không thể

hiện ở đó mà là ở nội dung bên trong – những thuật toán, cách thức mà nó xử lý tài

liệu. Hiệu quả rõ rệt của MG chỉ thể hiện khi được sử dụng trong các ứng dụng như

Greenstone. Và thực sự MG là trái tim của Greenstone.

Page 181: Nguon mo green stone va ung dung

Phụ lục C – Các thành phần hỗ trợ Greenstone

Trang 165

2. GNU Database manager (GDBM) 9.2.6. Giới thiệu

GNU Database Manager (GDBM) là thư viện hàm quản lý cơ sở dữ liệu

dùng cho các lập trình viên, không dành cho những người dùng bình thường.

Thư viện hàm GDBM giống với thư viện hàm DBM trên các hệ thống UNIX

GDBM giúp tạo ra các record dưới dạng một cặp key/data , mỗi key là duy

nhất.Các cặp key/data (các record) được lưu trữ trong một file gọi là cơ sở dữ liệu

GDBM.

Đơn vị dữ liệu cơ bản của GDBM là một cấu trúc :

typedef struct { char *dptr; int dsize; } datum;

9.2.7. Danh sách các hàm

GDBM_FILE gdbm_open(name, block_size, flags, mode, fatal_func); Mở hoặc tạo mới cơ sở dữ liệu

void gdbm_close(dbf); Đóng cơ sở dữ liệu

int gdbm_store(dbf, key, content, flag); Thêm hay thay thế các record trong cơ sở dữ liệu

datum gdbm_fetch(dbf, key); Tìm kiếm với khóa được cho trước, trả về thông tin liên quan đến khóa đó

int gdbm_delete(dbf, key); Xóa một record

datum gdbm_firstkey(dbf); Trả về record đầu tiên

datum gdbm_nextkey(dbf, key); Trả về record kế tiếp của record có khóa là key

int gdbm_reorganize(dbf); Thu ngắn kích thước tập tin cơ sở dữ liệu

int gdbm_exists(dbf, key); Kiểm tra tồn tại record có khóa là key

char * gdbm_strerror(errno); Lấy thông tin lỗi từ mã lỗi errno

Page 182: Nguon mo green stone va ung dung

Phụ lục C – Các thành phần hỗ trợ Greenstone

Trang 166

3. Các mô-đun chuyển đổi định dạng tập tin 9.2.8. PDF sang HTML

Trong những phần mềm chuyển đổi từ dạng tập tin PDF sang HTML, đây là

sản phẩm tốt nhất mà chúng tôi được biết. Tất cả đã được đơn giản hoá, chỉ còn một

tập tin thực thi (pdftohtml.exe), sử dụng trên cơ chế dòng lệnh.

Cú pháp sử dụng như sau: (ver 0.7.1)

pdftohtml [<các tuỳ chọn>] <PDF-file> [<html-file> <xml-file>]

Các tuỳ chọn: -f <int> : trang đầu tiên của tập tin PDF sẽ chuyển đổi -l <int> : trang cuối của tập tin PDF sẽ chuyển đổi -q : không xuất ra các thông báo -h : giúp đỡ (xuất ra các hướng dẫn sử dụng) -help : giống -h -p : đổi liên kết trong file .pdf thành .html -c : tạo tài liệu phức hợp (chỉ có 1 file kết quả) -i : bỏ qua hình ảnh. -noframes : không tạo khung web -stdout : sử dụng trình xuất chuẩn (thường là màn hình) -zoom <fp> : độ phóng to của tài liệu (mặc định là 1.5) -xml : tạo kết xuất cho việc xử lý XML sau đó -hidden : kết xuất che dấu chữ -nomerge : không hợp nhất các đoạn -enc <string> : sử dụng phương pháp encoding văn bản. -v : in phần copyright và thông tin về version -opw <string> : mật khẩu của người sở hữu (để mã hoá file)

Page 183: Nguon mo green stone va ung dung

Tài liệu tham khảo

Trang 167

TÀI LIỆU THAM KHẢO

[1] David Bainbridge, Dana McKay and Ian H. Witten, Greenstone digital library Developer’s guide, New Zealand Digital Library Project, New Zealand. [2] David Bainbridge, Katherine J. Don, George R. Buchanan, Ian H. Witten Steve Jones, Matt Jones, and Malcolm I. Barr, Dynamic digital library construction and configuration [3] Ian H. Witten, Greenstone: A Comprehensive Open-SourceDigital Library Software System, 2000 [4] Ian H. Witten, David Bainbridge and Stefan J. Boddie, Greenstone: Open-Source Digital Library Software with End-User Collection Building, 2001 [5] Ian H. Witten, Michel Loots, Maria F. Trujillo, David Bainbridge1, The Promise of Digital Libraries in Developing Countries, 2001 [6] Ian H. Witten, Customizing digital library interfaces with Greenstone, 2003 [7] Ian H. Witten, The Greenstone digital library software, 2003 [8] Ian H. Witten, David Bainbridge, Gordon Paynter, Stefan Boddie, The Greenstone Plugin Architecture [9] Ian H. Witten, How to Build a Digital Library using Open-Source Software [10] Ian H. Witten, Power to the people: End-user building of digital library collections

[11] Ian H. Witten, Alistair Moffat, Timothy C.Bell, “Managing Gigabyte –

Compressing and Indexing Document and Images”, Van Nostrand Reinhold, New

York.

[12] Ian H. Witten, Creating and Customizing Digital Library Collections with the

Greenstone Librarian Interface

[13] Lagoze, C. and Payette, S. (2000) “Metadata: Principles, practices and

challenges.” In Moving theory into practice: digital imaging for libraries and

Page 184: Nguon mo green stone va ung dung

Tài liệu tham khảo

Trang 168

archives, edited by A.R. Kenney and O.Y. Rieger. Research Libraries Group,

Mountain View, CA.

[14] Witten, I.H., McNab, R.J., Boddie, S.J. and Bainbridge, D. (2001) Greenstone: User’s Guide. New Zealand Digital Library Project, New Zealand. [15] Đinh Xuân Phúc & Trần Thị Mộng Linh, Marc và XML, Bản tin liên hiệp thư viện, tháng 11/2002 [16] Đoàn Hồng Nghĩa, Phần mềm nguồn mở Hòn đá xanh và việc phát triển thư viện số, Bản tin Thư viện - Công nghệ Thông tin, 4/2004 [17] ThS. Nguyễn Minh Hiệp, Thế giới thư viện số, Bản tin Thư viện - Công nghệ Thông tin, 4/2004

[18] Nguyễn Phước Tất Đạt, Nguyễn Việt Thành, Luận văn Cử nhân Tin học, “Xây

dựng hệ thống phần mềm hỗ trợ việc đào tạo, huấn luyện từ xa qua mạng

Internet/Intranet”, 2002

[19] Hội thảo " Hệ thống Quản lý Thư viện và các Tiêu chuẩn", Bản Tin Điện Tử -

Câu Lạc Bộ Thư Viện 3/2001, www-lib.hcmuns.edu.vn/clb/bt2001/btdt3_2001.htm

[20] www.greenstone.org [21] www.lacviet.com.vn [22] www.nzdl.org [23] www.ifla.org