Khóa luận Tìm hiểu nguồn mở greentone và ứng dụng

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 ....................................................................................................................................... ....................................................................................................................................... .................................................................................................................

pdf184 trang | Chia sẻ: haohao | Lượt xem: 996 | Lượt tải: 0download
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:

  • pdf[LVIT031] - Tìm hiểu nguồn mở GREENTONE và ỨD.pdf
Tài liệu liên quan