Tài liệu Khóa luận Tìm hiểu nguồn mở greentone và ứng dụng: SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
i
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
.......................................................................................................................................
.......................................................................................................................................
.................................................................................................................
184 trang |
Chia sẻ: haohao | Lượt xem: 1076 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Tìm hiểu nguồn mở greentone và ứng dụng, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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.
SV
ne
t.vn
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.
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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)
SV
ne
t.vn
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
SV
ne
t.vn
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
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.
SV
ne
t.vn
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.
SV
ne
t.vn
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
SV
ne
t.vn
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 đó.
SV
ne
t.vn
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
SV
ne
t.vn
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ụ:
Tìm hiểu nguồn mở Greenstone
Quy,Quỳnh
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.
SV
ne
t.vn
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 đượ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.
SV
ne
t.vn
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
SV
ne
t.vn
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.
SV
ne
t.vn
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 [
]>
Hình 2.4 - Định nghĩa kiểu tài liệu XML của tập tin metadata.xml
SV
ne
t.vn
Chương 2 – Các khái niệm cơ bản
Trang 15
<!DOCTYPE GreenstoneDirectoryMetadata SYSTEM
"
ryMetadata.dtd">
vidu.*
Đây là ví dụ
Sách giáo
khoa
vidu-1.jpg
Đây là ví dụ 1
Thư viện số
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
SV
ne
t.vn
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ẻ , các cặp thẻ
có thể lồng nhau.
<!--
( Thông tin metadata mô tả thông tin của
Section)
-->
(Phần nội dung của Section)
<!--
-->
Hình 2.6 - Minh họa cách chia section cho tài liệu
Giữa cặp thẻ ta có thể thêm cặp thẻ
để mô tả thông tin cho section. Ví dụ trên mô tả thông tin metadata
SV
ne
t.vn
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ẻ 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ẻ 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ẻ 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ẻ , ta phải chọn tùy
chọn description_tags.
SV
ne
t.vn
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ẻ vào tài liệu nguồn, tài liệu
nguồn lúc này có nội dung như sau:
<!--
Tìm hiểu PP LT hướng khía cạnh
-->
Tìm hiểu PP LT hướng khía cạnh
<!--
Lời cảm ơn
-->
SV
ne
t.vn
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”)
…
<!--
Mục lục
-->
Mục lục
(Nội dung phần “Mục lục”)
…
<!--
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
-->
Giới thiệu
(Nội dung phần “Giới thiệu”)
…
<!--
Nội dung
-->
Nội dung
(Nội dung phần “Nội dung”)
…
<!--
SV
ne
t.vn
Chương 2 – Các khái niệm cơ bản
Trang 20
Tìm hiểu phương pháp lập trình hướng khía cạnh
-->
Phần 1: Tìm hiểu phương pháp lập trình hướng khía cạnh
<!--
Tổng quan về đề tài
-->
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)
-->
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
-->
Chương 3: Ngôn ngữ lập trình AspectJ
(Các nội dung trong chương 3)
…
<!--
-->
SV
ne
t.vn
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ẻ
, 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ể
SV
ne
t.vn
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
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 . Ta có thể viết các
classifier mới.
SV
ne
t.vn
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
SV
ne
t.vn
Chương 2 – Các khái niệm cơ bản
Trang 24
Hình 2.12 - Minh họa classifier DateList
SV
ne
t.vn
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
Từ khóa chỉ kiểu danh sách gồm 2 phần:
SV
ne
t.vn
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 "[link][Howto][/link]"
format DocumentImages true
format DocumentText "[Title]\\n\\n[Text]"
format DocumentButtons "Expand Text|Expand contents|Detach|Highlight"
SV
ne
t.vn
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 “[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 "[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 (“”), đượ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…
SV
ne
t.vn
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ị Ý 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ị false
Giá 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:
[Text]
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
SV
ne
t.vn
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 “[Title]\\n\\n[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.
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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
SV
ne
t.vn
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]
Các tùy chọn:
-creator : địa chỉ email của người tạo bộ sưu tập
-optionfile : lấy những tùy chọn từ một tập tin nào đó.
-maintainer : địa chỉ email của người quản lý bộ sưu tập.
-collectdir : thư mục chứa bộ sưu tập. Giá trị mặc định là
“greenstone\collect”
-public : 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 : tựa đề của bộ sưu tập
-about : thông tin mô tả bộ sưu tập
-plugin : 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 : 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:
SV
ne
t.vn
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]
Các tùy chọn:
-archivedir : đường dẫn đến các tập tin sau khi import, mặc định là
“greenstone\collect\\archives”
-collectdir : 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 : đườ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 : 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 : đườ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 : số tài liệu tối đa được import
-OIDtype : 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 : 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
SV
ne
t.vn
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 : đị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 : 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 : 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 : 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]
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 : đường dẫn đến thư mục archives
-builddir : đường dẫn đến thư mục building chứa các chỉ mục đã
được tạo
SV
ne
t.vn
Chương 3 – Xây dựng bộ sưu tập
Trang 36
-collectdir : đườ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 : đường dẫn đến tập tin log, mặc định là
“greenstone\collect\\etc\fail.log”
-index : 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 : số tài liệu tối đa được xử lý
-mode : 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 : 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 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
SV
ne
t.vn
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
SV
ne
t.vn
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.
SV
ne
t.vn
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 [
]>
Ví dụ một tài liệu của Greenstone sau khi import:
<!DOCTYPE GreenstoneArchive SYSTEM
"">
ec158e.txt
Freshwater Resources in Arid Lands
<Metadata
name="Identifier">HASH0158f56086efffe592636058
cover.jpg:image/jpeg:
p07a.png:image/png:
Preface
This is the text of the preface
First and only chapter
SV
ne
t.vn
Chương 3 – Xây dựng bộ sưu tập
Trang 40
Part 1
This is the first part of the first and only chapter
Part 2
This is the second part of the first and only chapter
Tài liệu XML của Greenstone có một thẻ gốc là . Tài
liệu được chia thành nhiều vùng (section) được bao bọc bởi cặp thẻ
, các cặp thẻ 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 :
Giá trị của metadata
Ta thường biên mục tài liệu theo chuẩn Dublin Core, ví dụ :
Tìm hiểu nguồn mở Greenstone
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:
Lập trình C++
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
SV
ne
t.vn
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.
SV
ne
t.vn
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\\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
SV
ne
t.vn
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
SV
ne
t.vn
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 ngthquy@gmail.com
maintainer ngthquy@gmail.com
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à
ngthquy@gmail.com. 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 …
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
SV
ne
t.vn
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 ý
SV
ne
t.vn
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)
SV
ne
t.vn
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 đó
SV
ne
t.vn
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:
SV
ne
t.vn
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_
{
<td width=373 valign=top height=106 align=right
border=0>_imagecollection_
_imagethispage_
_javalinks_
_pagebannerextra_
}
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.
SV
ne
t.vn
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:
__{_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_ {}
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ẻ 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__imagehome__imagecollect_}
SV
ne
t.vn
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_
_imagepref_ }
Ở 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}
SV
ne
t.vn
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
Các file đính kèm theo tài liệu này:
- [LVIT031] - Tìm hiểu nguồn mở GREENTONE và ỨD.pdf