Tài liệu tham khảo công nghệ thông tin Tìm hiểu nguồn mở greenstone và ứng dụng
Trang 1TRƯỜ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
Trang 2TRƯỜ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
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
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Giáo viên hướng dẫn
Trang 4Giáo viên phản biện
Trang 5Chú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
Trang 6MỞ ĐẦ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
Trang 7Nộ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
Trang 82.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.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
Trang 9CHƯƠNG 4 HIỆU CHỈNH GIAO DIỆN GREENSTONE 45
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
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
Trang 107.2 Phân tích các Use case chính 90
7.2.1 Use case “Dang nhap” (Đăng nhập) 90
Trang 118.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
Trang 128.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) 1448.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) 1448.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
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
Trang 13DANH 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.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
Trang 14Hì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.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
Trang 15Hì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
Trang 16Bả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
Trang 17PHẦ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
Trang 18CHƯƠ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
Trang 191.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)
Trang 20Mộ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
Trang 21
trước yêu cầu thực tế, năm 1995 một nhóm nhỏ các giảng viên và sinh viên Đại học Waikato, New Zealand đã xây dựng phần mềm thư viện số Greenstone, giúp người dùng dễ dàng xây dựng và phân phối các bộ sưu tập thư viện số Phần mềm Greenstone cung cấp một phương pháp mới để tổ chức và xuất bản thông tin trên
Internet và qua CD-ROM Greenstone ban đầu là sản phẩm của dự án New Zealand
Digital Library của trường đại học Waikato Sau đó, thấy được ý nghĩa và tác dụng
của phần mềm, từ tháng 8/2000, UNESCO2 và Human Info NGO3 đã tham gia phát triển và hỗ trợ Đây là phần mềm mã nguồn mở được cung cấp trên http://www.greenstone.org theo thoả thuận đăng kí GNU General Public License
Greenstone mang tính quốc tế Hiện nay Greenstone đã được sử dụng ở rất nhiều quốc gia, có giao diện và các bộ sưu tập với nhiều ngôn ngữ Nhóm nghiên cứu nghĩ rằng, việc mở rộng, hỗ trợ cho mọi sinh ngữ là điều có thể thực hiện được UNESCO đã và đang phát triển Greenstone như là một phần trong chương trình “Thông tin cho tất cả - Information for All” Greenstone cũng là phần mềm đa môi trường : có thể chạy được trên hệ điều hành Windows, Unix, Macintosh OS/X Người dùng sử dụng các bộ sưu tập của Greenstone qua web, hoặc qua đĩa CD, mà không có sự khác biệt gì nhiều
Hệ thống Greenstone gồm hai phần : Phần xử lý offline, thực hiện việc tạo
dựng các bộ sưu tập, tạo các cấu trúc dữ liệu để tìm kiếm và trình duyệt; và phần xử
lý online, cho phép người dùng truy xuất, sử dụng các bộ sưu tập
Trang 22- 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
Trang 23CHƯƠ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
Trang 242.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 đó
Trang 25Ví 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
Trang 26Hình 2.2 - Minh hoạ duyệt tài liệu được phân cấp
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
Trang 272.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
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
Trang 282.7.2 Danh sách các plugin
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à
-
BibTexPlug Xử lý các tập tin bibliography theo
ReferPlug Xử lý các tập tin bibliography theo
SRCPlug Xử lý các tập tin mã nguồn Makefile, Readme, c,
.cc, cpp, h, hpp, pl,
.o, obj, a, so, dll
Trang 29.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
Trang 30Hình 2.3 - Cây kế thừa của các plugin xử lý tài liệu độc quyền
2.7.4 Gán thông tin metadata từ một tập tin mô tả
Các thông tin metadata cho một tài liệu có thể được đặc tả trong một tập tin
XML metadata.xml Nếu tùy chọn use_metadata_files của plugin RecPlug được
chỉ ra, plugin này sẽ gán thông tin metadata có trong tập tin metadata.xml vào tập tin XML chuyển đổi từ tài liệu nguồn
<!DOCTYPE GreenstoneDirectoryMetadata [ <!ELEMENT DirectoryMetadata (FileSet*)> <!ELEMENT FileSet (FileName+,Description)> <!ELEMENT FileName (#PCDATA)>
<!ELEMENT Description (Metadata*)> <!ELEMENT Metadata (#PCDATA)>
<ATTLIST Metadata name CDATA #REQUIRED>
<ATTLIST Metadata mode (accumulate|override) "override"> ]>
Hình 2.4 - Định nghĩa kiểu tài liệu XML của tập tin metadata.xml
Trang 31<?xml version="1.0" ?>
<!DOCTYPE GreenstoneDirectoryMetadata SYSTEM
"http://greenstone.org/dtd/GreenstoneDirectoryMetadata/1.0/GreenstoneDirecto ryMetadata.dtd">
<DirectoryMetadata> <FileSet>
</DirectoryMetadata>
Hình 2.5 -Ví dụ một tập tin metadata.xml
Ví dụ trên chứa 2 cấu trúc metadata Ở mỗi cấu trúc, trường FileName đặc tả
tên các tập tin cần gán thông tin metadata Ở cấu trúc thứ nhất, thông tin metadata sẽ được gán cho các tập tin được bắt đầu với chữ “vidu” Những thông tin metadata
Title và Place có giá trị tương ứng là “Đây là ví dụ”, “Sách giáo khoa” Ở cấu trúc
thứ hai, metadata Title của tập tin vidu-1.jpg có giá trị “Đây là ví dụ 1” sẽ override
Trang 32thông tin metadata Title đã được đặc tả ở cấu trúc metadata thứ nhất Tập tin
vidu-1.jpg còn được cung cấp thêm metadata Subject với giá trị là “Thư viện số”
Với một metadata có nhiều giá trị phải dùng thuộc tính mode =
“accumulate”, nếu không metadata đặc tả sau sẽ override metadata trước (giá trị
mặc định là mode = “override”)
Đối với plugin RecPlug, nếu tùy chọn use_metadata_files được chọn ,
RegPlug sẽ tìm trong thư mục tài liệu nguồn tập tin metadata.xml, sau đó gán thông tin metadata trong tập tin metadata.xml này cho các tập tin và thư mục con trong thư mục tài liệu nguồn
2.7.5 Chia cấu trúc tài liệu nguồn
Có thể chia tài liệu nguồn có cấu trúc phân cấp thành nhiều vùng (section), mỗi vùng được bao bằng cặp thẻ <Section> </Section>, các cặp thẻ <Section></Section> có thể lồng nhau
<! <Section>
<Description>
<Metadata name="Title">( Thông tin metadata mô tả thông tin của
Section)</Metadata>
</Description> >
(Phần nội dung của Section)
<!
</Section> >
Hình 2.6 - Minh họa cách chia section cho tài liệu
Giữa cặp thẻ <Section> </Section> ta có thể thêm cặp thẻ <Description> </Description> để mô tả thông tin cho section Ví dụ trên mô tả thông tin metadata
Trang 33Title cho section Ta chỉ có thể thêm các thẻ section vào tài liệu nguồn dạng html,
word vì:
- Đối với tập tin html, các văn bản trong vùng <! > được xem như dòng ghi chú, do đó các thẻ <Section> trong tập tin html không ảnh hưởng đến nội dung hiển thị của tập tin html này
- Đối với tập tin word , việc chuyển sang XML của Greenstone phải qua bước trung gian là chuyển sang tập tin html nên việc chèn các thẻ <Section> cũng không ảnh hưởng đến nội dung hiển thị cuối cùng
Mục đích của việc thêm cặp thẻ <Section> </Section> vào tài liệu nguồn là để sau khi xây dựng bộ sưu tập, khi hiển thị nội dung của tài liệu bằng trình duyệt web, ta sẽ thấy cấu trúc phân cấp của tài liệu và có thể nhanh chóng xem nội dung một đoạn nào đó trong tài liệu nhờ cấu trúc phân cấp này
Để plugin HTMLPlug xử lý cặp thẻ <Section> </Section>, ta phải chọn tùy
chọn description_tags
Trang 34Ví 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
Chương 2: Phương pháp lập trình hướng khía cạnh (AOP)
(Các nội dung trong chương 2)
…
Chương 3: Ngôn ngữ lập trình AspectJ
(Các nội dung trong chương 3)
…
Sau khi chèn các cặp thẻ <Section> </Section> vào tài liệu nguồn, tài liệu nguồn lúc này có nội dung như sau:
<! <Section>
Trang 35Lời cảm ơn
(Nội dung phần “Lời cảm ơn”)
… <!
</Section> <Section>
<Description>
<Metadata name="Title">Mục lục</Metadata> </Description>
> Mục lục
(Nội dung phần “Mục lục”)
… <!
</Section> <Section>
</Section> <Section>
</Section> <Section>
<Description>
<Metadata name="Title">Nội dung</Metadata> </Description>
> Nội dung
(Nội dung phần “Nội dung”)
…
Trang 36Phầ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)
… <!
</Section> <Section>
<Description>
<Metadata name="Title">Chương 2: Phương pháp lập trình hướng khía cạnh (AOP)</Metadata>
</Description> >
Chương 2: Phương pháp lập trình hướng khía cạnh (AOP)
(Các nội dung trong chương 2)
… <!
</Section> <Section>
<Description>
<Metadata name="Title">Chương 3: Ngôn ngữ lập trình AspectJ</Metadata>
</Description> >
Chương 3: Ngôn ngữ lập trình AspectJ
(Các nội dung trong chương 3)
… <!
</Section> </Section> </Section> >
Trang 37Sau khi xây dựng bộ sưu tập từ tài liệu nguồn đã chèn các cặp thẻ <Section> </Section>, trình duyệt web sẽ hiển thị nội dung tài liệu này như sau:
Hình 2.7 - Hiển thị nội dung tài liệu trên trình duyệt web
Giả sử ta muốn xem nội dung Chương 1, ta click vào link Chương 1: Tổng
quan về đề tài, nội dung hiển thị như sau:
Trang 382.8 Classifier 2.8.1 Giới thiệu
Classifier dùng để xây dựng cấu trúc duyệt tài liệu trên web của một bộ sưu tập Tương tự các plugin, các classifier được đặc tả trong tập tin cấu hình collect.cfg của mỗi bộ sưu tập
Trong pha cuối cùng của quá trình xây dựng bộ sưu tập (nén và tạo chỉ mục
trên tài liệu), các classifier được script buildcol.pl gọi sẽ lưu cấu trúc duyệt tài liệu
vào cơ sở dữ liệu bộ sưu tập
Cú pháp: classify <Tên classifier> <Các tham số>
Ví dụ: classify AZList -metadata Title -buttonname TitleA-Z
Trong dòng đặc tả có một tham số quan trọng là metadata xác định rằng các tài liệu của bộ sưu tập sẽ được sắp xếp theo metadata đã được chỉ ra Với ví dụ trên, các tài liệu được sắp xếp theo tựa đề của tài liệu (Title)
Tham số buttonname xác định tên nút xuất hiện trên thanh duyệt Với dòng đặc tả trên, khi ta click vào nút TitleA-Z trên thanh duyệt, các tài liệu của bộ sưu tập được liệt kê theo thứ tự từng vùng alphabet
Hình 2.9 - Dùng AZList để liệt kê các tài liệu theo từng vùng alphabet Các classifier được đặt trong thư mục greenstone\perllib\classify Để biết thông tin của classifier, dùng lệnh: classinfo.pl <Tên classifier> Ta có thể viết các
Trang 39Nhữ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
Trang 40Hình 2.12 - Minh họa classifier DateList