indexed_doc en utf8 wvWare/wvWare version 1.2.4 Greenstone: A Comprehensive Open-Source http://research/ak19/gs2-svn-22Aug2013/collect/Associated-Files/tmp/1395214991/greenstone01.html http://research/ak19/gs2-svn-22Aug2013/collect/Associated-Files/tmp/1395214991/greenstone01.html import/greenstone01.doc tmp/1395214991/greenstone01.html greenstone01.html greenstone01.doc greenstone01.doc WordPlugin 414720 greenstone01 Word _icondoc_ doc.doc doc.doc Ian H. Witten Rodger J. McNab Stefan J. Boddie David Bainbridge Greenstone: A Comprehensive Open-Source Digital Library Software System <a href="_httpprefix_/collect/[collection]/index/assoc/{Or}{[parent(Top):assocfilepath],[assocfilepath]}/greenstone01.pdf">{If}{_iconpdf_,_iconpdf_,pdf}</a> <a href='_httpprefix_/collect/[collection]/index/assoc/[assocfilepath]/greenstone01.pdf'> _iconpdf_ </a> <a href="_httpprefix_/collect/[collection]/index/assoc/{Or}{[parent(Top):assocfilepath],[assocfilepath]}/greenstone01.pdf">{If}{_iconpdf_,_iconpdf_,pdf}</a> HASH0a87f402e5d107f0d73a2a 1395214929 20140319 1395214991 20140319 HASH0a87.dir greenstone010.png:image/png: greenstone011.png:image/png: greenstone012.png:image/png: greenstone013.png:image/png: greenstone014.png:image/png: greenstone015.png:image/png: doc.doc:application/msword: greenstone01.pdf:: <!--Section Begins--><br> <p><div name="Heading 1" align="center" style="margin: 4.17mm 0.50mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <b><span style="text-transform:uppercase">Greenstone: A Comprehensive Open-Source Digital Library Software System</span></b> </p></div> <p><div name="paragraph" align="center" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 3.819444mm; color: Black; background-color: White; "> <b></b> </p></div> <p><div name="paragraph" align="center" style="margin: 1.74mm 0.00mm 1.39mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <i>Ian H. Witten,</i><i><sup>*</sup></i><i> Rodger J. McNab,</i><i><sup>&dagger;</sup></i><i> Stefan J. Boddie,</i><i><sup>*</sup></i><i> David Bainbridge</i><i><sup>*</sup></i><i> </i><i><sup></sup></i> </p></div> <table width="98.51%" border="1" cols="2" rows="1"> <tr><td bgcolor="White" width="46.57%" rowspan="1" colspan="1"><p><div name="Normal" align="center" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <sup>*</sup> Dept of Computer Science </p></div> <p><div name="Normal" align="center" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> University of Waikato, New Zealand </p></div> <p><div name="Normal" align="center" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> E-mail: {ihw, sjboddie, davidb}@cs.waikato.ac.nz </p></div></td> <td bgcolor="White" width="53.43%" rowspan="1" colspan="1"><p><div name="Normal" align="center" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <sup>&dagger; </sup>Digilib Systems </p></div> <p><div name="Normal" align="center" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> Hamilton, New Zealand </p></div> <p><div name="Normal" align="center" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> E-mail: rodger@digilibs.com </p></div> <p><div name="Normal" align="center" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <sup></sup> </p></div></td> </tr> </table> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> <b></b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> <b></b> </p></div> <!--Section Ends--> <!--Section Begins--><br> <p><div name="Heading 1" align="left" style="margin: 0.00mm 0.49mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b><span style="text-transform:uppercase">Abstract</span></b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> This paper describes the Greenstone digital library software, a comprehensive, open-source system for the construction and presentation of information collections. Collections built with Greenstone offer effective full-text searching and metadata-based browsing facilities that are attractive and easy to use. Moreover, they are easily maintainable and can be augmented and rebuilt entirely automatically. The system is extensible: software &ldquo;plugins&rdquo; accommodate different document and metadata types. </p></div> <p><div name="Heading 1" align="left" style="margin: 4.17mm 0.50mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b><span style="text-transform:uppercase">Introduction</span></b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Notwithstanding intense research activity in the digital library field during the second half of the 1990s, comprehensive software systems for creating digital libraries are not widely available. In fact, the usual solution when creating a digital library is also the most obvious&mdash;just put it on the Web. But consider how much effort is involved in constructing a Web site for a digital library. To be effective it needs to be visually attractive and ergonomically easy to use, incorporate convenient and powerful searching capabilities, and offer rich and natural browsing facilities. Above all it must be easy to maintain and augment, which presents a significant challenge if any manual organization is involved. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> The alternative is to automate these activities through software tools. But the broad scope of digital library requirements makes this a daunting prospect. Ideally the software should incorporate facilities ranging from multilingual information retrieval to distributed computing protocols, from interoperability to search engine technology, from metadata standards to multiformat document parsing, from multimedia to multiple operating systems, from Web browsers to plug-and-play DVDs. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> The Greenstone Digital Library Software from the New Zealand Digital Library (NZDL) project tackles this issue by providing a new way of organizing information and making it available over the Internet. A <i>collection</i> of information comprises several (typically several thousand, or several million) <i>documents</i>, and a uniform interface is provided to all documents in a collection. A library may include many different collections, each organized differently&mdash;though there is a strong family resemblance in how collections are presented. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Making information available using this system is far more than &ldquo;just putting it on the Web.&rdquo; The collection becomes maintainable, searchable, and browsable. Each collection, prior to presentation, undergoes a &ldquo;building&rdquo; process that, once established, is completely automatic. This process creates all the structures that are used at run-time for accessing the collection. Searching is based on various indexes, while browsing is based on various metadata; support structures for both are created during the building operation. When new material appears it can be fully incorporated into the collection by rebuilding. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> To address the exceptionally broad demands of digital libraries, the system is public and extensible. It is issued under the Gnu public license and, in the spirit of open-source software, users are invited to contribute modifications and enhancements. Only through an international cooperative effort will digital library software become sufficiently comprehensive to meet the world's needs. Currently the Greenstone software is used at sites in Canada, Germany, New Zealand, Romania, UK, and the US, and collections range from newspaper articles to technical documents, from educational journals to oral history, from visual art to folksongs. The software has been used for collections in many different languages, and for CD-ROMs that have been published by the United Nations and other humanitarian agencies in Belgium, France, Japan, and the US for distribution in developing countries (Humanity Libraries, 1998; PAHO, 1999; UNESCO, 1999; UNU, 1998). Further details can be obtained from <i>www.nzdl.org</i>. </p></div> <p><div name="Caption" align="center" style="margin: 2.08mm 2.74mm 0.00mm 17.26mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -17.26mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <img width="740" height="658" alt="0x01 graphic" src="_httpdocimg_/greenstone010.png"><br> </p></div> <p><div name="Caption" align="center" style="margin: 2.08mm 2.74mm 0.00mm 17.26mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -17.26mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <b>Figure </b><b></b><b></b><b></b><b>1</b><b></b><b>: Searching the HDL collection</b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> This paper sets the scene with a brief discussion of what a digital library is. We then give an overview of the facilities offered by Greenstone and show how end users find information in collections. Next we describe the files and directories involved in a collection, and then discuss the processes of updating existing collections and creating new ones, including extending the software to provide new facilities. We conclude with an overview of related work. </p></div> <p><div name="Heading 1" align="left" style="margin: 4.17mm 0.50mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b><span style="text-transform:uppercase">What is a digital library?</span></b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Ten definitions of the term &ldquo;digital library&rdquo; have been culled from the literature by Fox (1998), and their spirit is captured in the following brief characterization: </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 7.55mm 0.00mm 7.81mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> <i>A collection of digital objects, including text, video, and audio, along with methods for access and retrieval, and for selection, organization and maintenance of the collection</i> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> (Akscyn and Witten, 1998). Lesk (1998) views digital libraries as &ldquo;organized collections of digital information,&rdquo; and wisely recommends that they articulate the principles governing what is included and how the collection is organized. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Digital libraries are generally distinguished from the World-Wide Web, the essential difference being in selection and organization. But they are not generally distinguished from a web <i>site</i>: indeed, virtually all extant digital libraries manifest themselves as a web site. Hence the obvious question: to make a digital library, why not just put the information on the Web? </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> But we make a distinction between a digital library and a web site that lies at the heart of our software design: one should easily be able to add new material to a library without having to integrate it manually or edit its content in any way. Once added, new material should immediately become a first-class component of the library. And what permits it to be integrated into existing searching and browsing structures without any manual intervention is <i>metadata</i>. This provides sufficient focus to the concept of &ldquo;digital library&rdquo; to support the development of a construction kit. </p></div> <p><div name="Heading 1" align="left" style="margin: 4.17mm 0.50mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b><span style="text-transform:uppercase">Overview of Greenstone</span></b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Information collections built by Greenstone combine extensive full-text search facilities with browsing indexes based on different metadata types. There are several ways for users to find information, although they differ between collections depending on the metadata available and the collection design. Typically you can <i>search for particular words</i> that appear in the text, or within a section of a document, or within a title or section heading. You can <i>browse documents by title</i>: just click on the displayed book icon to read it. You can <i>browse documents by subject</i>. Subjects are represented by bookshelves: just click on a shelf to see the books. Where appropriate, documents come complete with a table of contents (constructed automatically): you can click on a chapter or subsection to open it, expand the full table of contents, or expand the full document. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> An example of searching is shown in Figure 1 where documents in the Global Help Project's Humanity Development Library (HDL) are being searched for chapters matching the word <i>butterfly</i>. In Figure 2 the same collection is being browsed by subject: by clicking on the bookshelf icons the user has discovered an item under Section 16, Animal Husbandry. Pursuing an interest in butterfly farming, the user selects a book by clicking on its book icon. In Figure 3 the front cover of the book is displayed as a graphic on the left, and the automatically constructed table of contents appears at the start of the document. The current focus, <i>Introduction and Summary</i>, is shown in bold in the table of contents with its text starting further down the page. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> In accordance with Lesk's advice, a statement of purpose and coverage accompanies each collection, along with an explanation of how it is organized (Figure 1 shows the start of this). A distinction is made between <i>searching</i> and <i>browsing</i>. Searching is full-text, and&mdash;depending on the collection's design&mdash;the user can choose between indexes built from different parts of the documents, or from different metadata. Some collections have an index of full documents, an index of sections, an index of paragraphs, an index of titles, and an index of section headings, each of which can be searched for particular words or phrases. Browsing involves data structures created from metadata that the user can examine: lists of authors, lists of titles, lists of dates, hierarchical classification structures, and so on. Data structures for both browsing and searching are built according to instructions in a configuration file, which controls both building and serving the collection. Sample configuration files are discussed below. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> </p></div> <p><div name="Normal" align="center" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <img width="740" height="658" alt="0x01 graphic" src="_httpdocimg_/greenstone011.png"><br><b></b> </p></div> <p><div name="Normal" align="center" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <b>Figure </b><b></b><b></b><b></b><b>2</b><b></b><b>: Browsing the HDL collection by subject</b><b></b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Rich browsing facilities can be provided by manually linking parts of documents together and building explicit indexes and tables of contents. However, manually-created linking becomes difficult to maintain, and often falls into disrepair when a collection expands. The Greenstone software takes a different tack: it facilitates <i>maintainability</i> by creating all searching and browsing structures automatically from the documents themselves. No links are inserted by hand. This means that when new documents in the same format become available, they can be added automatically. Indeed, for some collections this is done by processes that wake up regularly, scout for new material, and rebuild the indexes&mdash;all without manual intervention. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Collections comprise many documents: thousands, tens of thousands, or even millions. Each document may be hierarchically organized into <i>sections</i> (subsections, sub-subsections, and so on). Each section comprises one or more <i>paragraphs</i>. Metadata such as author, title, date, keywords, and so on, may be associated with documents, or with individual sections of documents. This is the raw material for indexes. It must either be provided explicitly for each document and section (for example, in an accompanying spreadsheet) or be derivable automatically from the source documents. Metadata is converted to Dublin Core and stored with the document for internal use. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> In order to accommodate different kinds of source documents, the software is organized so that &ldquo;plugins&rdquo; can be written for new document types. Plugins exist for plain text documents, HTML documents, email documents, and bibliographic formats. Word documents are handled by saving them as HTML; PostScript ones by applying a preprocessor (Nevill-Manning <i>et al</i>., 1998). Specially written plugins also exist for proprietary formats such as that used by the BBC archives department. A collection may have source documents in different forms: it is just a matter of specifying all the necessary plugins. In order to build browsing indexes from metadata, an analogous scheme of &ldquo;classifiers&rdquo; is used: classifiers create indexes of various kinds based on metadata. Source documents are brought into the Greenstone system through a process called <i>importing</i>, which uses the plugins and classifiers specified in the collection configuration file. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> The international Unicode character set is used throughout, so documents&mdash;and interfaces&mdash;can be written in any language. Collections have so far been produced in English, French, Spanish, German, Maori, Chinese, and Arabic. The NZDL Web site provides numerous examples. Collections can contain text, pictures, and even audio and video clips; a text-only version of the interface is also provided to accommodate visually impaired users. Compression technology is used to ensure best use of storage (Witten <i>et al</i>., 1999). Most non-textual material is either linked to textual documents or accompanied by textual descriptions (such as photo captions) to allow full-text searching and browsing. However, the architecture permits the implementation of plugins and classifiers even for non-textual data. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> The system includes an &ldquo;administrative&rdquo; function whereby specified users can examine the composition of all collections, protect documents so that they can only be accessed by registered users on presentation of a password, and so on. Logs of user activity are kept that record all queries made to every Greenstone collection (though this facility can be disabled). </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Although primarily designed for Internet access over the World-Wide Web, collections can be made available, in precisely the same form, on CD-ROM. In either case they are accessed through any Web browser. Greenstone CD-ROMs operate on a standalone PC under Windows 3.X, 95, 98, and NT, and the interaction is identical to accessing the collection on the Web&mdash;except that response is faster and more predictable. The requirement to operate on early Windows systems is one that plagues the software design, but is crucial for many users&mdash;particularly those in underdeveloped countries seeking access to humanitarian aid collections. If the PC is connected to a network (intranet or Internet), a custom-built Web server provided on each CD makes exactly the same information available to others through their standard Web browser. The use of compression ensures that the greatest possible volume of information can be packed on to a CD-ROM. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> The collection-serving software operates under Unix and Windows NT, and works with standard Web servers. A flexible process structure allows different collections to be served by different computers, yet be presented to the user in the same way, on the same Web page, as part of the same digital library, even as part of the same collection (McNab and Witten, 1998). Existing collections can be updated and new ones brought on-line at any time, without bringing the system down; the process responsible for the user interface will notice (through periodic polling) when new collections appear and add them to the list presented to the user. </p></div> <p><div name="Heading 1" align="center" style="margin: 4.17mm 0.50mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <b><span style="text-transform:uppercase"><img width="760" height="662" alt="0x01 graphic" src="_httpdocimg_/greenstone012.png"><br></span></b><b><span style="text-transform:uppercase"></span></b> </p></div> <p><div name="Caption" align="center" style="margin: 2.08mm 2.74mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <b>Figure </b><b></b><b></b><b></b><b>3</b><b></b><b>: Reading a book in the HDL</b><b></b> </p></div> <p><div name="Heading 1" align="left" style="margin: 4.17mm 0.50mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b><span style="text-transform:uppercase">Finding information </span></b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Greenstone digital library systems generally include several separate collections. A home page allows you to select a collection; in addition, each collection has its own &ldquo;about&rdquo; page that gives you information about how the collection is organized and the principles governing what is included. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> All icons in the screenshots of Figures 1-4 are clickable. Those icons at the top of the page return to the home page, provide help text, and allow you to set user interface and searching preferences. The navigation bar underneath gives access to the searching and browsing facilities, which differ from one collection to another. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Each of the five buttons provides a different way to find information. You can <i>search for particular words</i> that appear in the text from the &ldquo;search&rdquo; page (or from the &ldquo;about&rdquo; page of Figure 1). This collection contains indexes of chapters, section titles, and entire books. The default search interface is a simple one, suitable for casual users; advanced searching&mdash;which allows full Boolean expressions, phrase searching, case and stemming control&mdash;can be enabled from the <i>Preferences</i> page. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> This collection has four browsable metadata indexes. You can <i>access publications by subject</i> by clicking the <i>subjects</i> button, which brings up a list of subjects, represented by bookshelves (Figure 2). You can <i>access publications by title</i> by clicking <i>titles a-z</i> (Figure 4), which brings up a list of books in alphabetic order. You can <i>access publications by organization</i> (i.e. Dublin Core &ldquo;publisher&rdquo;), bringing up a list of organizations. You can <i>access publications by &ldquo;how to&rdquo; listing</i>, yielding a list of hints defined by the collection's editors. We use the Dublin Core as a base and extend it in an <i>ad hoc</i> manner to accommodate the individual requirements of collection designers. </p></div> <p><div name="Heading 1" align="left" style="margin: 4.17mm 0.50mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b><span style="text-transform:uppercase">Files in a collection</span></b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> When a new collection is created or material is added to an existing one, the original source documents are first brought into the system through a process known as &ldquo;importing.&rdquo; This involves converting documents into a simple HTML-like format known as GML (for &ldquo;Greenstone Markup Language&rdquo;), which includes any metadata associated with the document. Documents are assumed to be in the Unicode UTF-8 code (of which the ASCII characters form a subset). </p></div> <p><div name="Heading 2" align="left" style="margin: 6.94mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b>Files and directories</b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> There is a separate directory for each collection, which contains five subdirectories: the original raw material (<i>import</i>), the GML files created from this (<i>archives</i>), the final collection as it is served to users (<i>index</i>), a directory for use during the building process (<i>building</i>), and one for any supporting files (<i>etc</i>)&mdash;including the configuration file that controls the collection creation procedure. Additional files might be required: for example, building a hierarchy of classifications requires a data file of sub-classifications. </p></div> <p><div name="Heading 2" align="left" style="margin: 6.94mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b>The imported documents</b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> In order to identify documents internally, a unique object identifier or OID is assigned to each original source document when it is imported (formed by hashing the content, to overcome file duplication effects caused by mirroring) and stored as metadata within that document. It is important that OIDs persist throughout the index-building process&mdash;so that a user's search history is unaffected by rebuilding the collection. OIDs are assigned by hashing the contents of the original source document. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Once imported, each document is stored in its own subdirectory of <i>archives</i>, along with any associated files&mdash;for example, images. To ensure compatibility with Windows 3.0, only eight characters are used in directory and file names, which causes annoying but essentially trivial complications. </p></div> <p><div name="Heading 2" align="left" style="margin: 6.94mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b>Inside the documents</b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> The GML format imposes a limited amount of structure on documents. Documents are divided into paragraphs. They can be split hierarchically into sections and subsections. OIDs are extended to identify these components by appending numbers, separated by periods, to a document's OID. When a book is read, its section hierarchy is visible as the table of contents (Figure 3). Chapters, sections, subsections, and pages are all implemented simply as &ldquo;sections&rdquo; within the document. In some collections documents do not have a hierarchical subsection structure, but are split into pages to permit browsing within a retrieved document. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> The document structure is used for searchable indexes. There are three levels of index: <i>documents</i>, <i>sections</i>, and <i>paragraphs</i>, corresponding to the distinctions that GML makes&mdash;the hierarchical structure is flattened for the purposes of creating these indexes. Indexes can be of text, or metadata, or any combination. Thus you can create a searchable index of section titles, and/or authors, and/or document descriptions, as well as the document text. </p></div> <p><div name="Caption" align="center" style="margin: 2.08mm 2.74mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <img width="698" height="698" alt="0x01 graphic" src="_httpdocimg_/greenstone013.png"><br> </p></div> <p><div name="Caption" align="center" style="margin: 2.08mm 2.74mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <b>Figure 4</b><b>: Browsing titles in the HDL</b><b></b> </p></div> <p><div name="Heading 1" align="left" style="margin: 4.17mm 0.50mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b><span style="text-transform:uppercase">Updating existing collections</span></b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Updating an existing collection with new files in the same format is easy. For example, the raw material for the HDL is supplied in the form of HTML files marked up with &lt;&lt;TOC&gt;&gt; tags to split books into sections and subsections, and &lt;&lt;I&gt;&gt; tags to indicate where an image is to be inserted. For each book in the library there is a directory that contains a single HTML file representing the book, and separate files containing the associated images. An accompanying spreadsheet file contains the classification hierarchy; this is converted to a simple file format (using Excel's <i>Save As</i> command). </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Since the collection exists, its directory is already set up with subdirectories <i>import</i>, <i>archives</i>, <i>building</i>, <i>index</i>, and <i>etc</i>, and the <i>etc</i> directory will contain a suitable collection configuration file. </p></div> <p><div name="Heading 2" align="left" style="margin: 6.94mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b>The updating procedure</b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> To update a collection, the new raw material is placed in the <i>import</i> directory, in whatever form it is available. Then the <i>import</i> process is invoked, which converts the files into GML using the specified plugins. Old material for which GML files have previously been created is not re-imported. Then the <i>build</i> process is invoked to build the requisite indexes for the collection. Finally, the contents of the <i>building</i> directory are moved into the <i>index</i> directory, and the new version of the collection automatically becomes live. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> This procedure may seem cumbersome. But all the steps are necessary for efficient operation with large collections. The <i>import</i> process could be performed on the fly during the building operation&mdash;but because building indexes is a multipass operation, the often lengthy importing would be repeated several times. The <i>build</i> process can take considerable time&mdash;a day or two, for very large collections. Consequently, the results are placed in the <i>building</i> directory so that, if the collection already exists, it will continue to be served to users in its old form throughout the building operation. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Active users of the collection will not be disturbed when the new version becomes live&mdash;they will probably not even notice. The persistent OIDs ensure that interactions remain coherent&mdash;users who are examining the results of a query or browse operation will still retrieve the expected documents&mdash;and if a search is actually in progress when the change takes place the program detects the resulting file-structure inconsistency and automatically and transparently re-executes the query, this time on the new version of the collection. </p></div> <p><div name="Heading 2" align="left" style="margin: 6.94mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b>How it works</b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> The original material in the <i>import</i> directory may be in any format, and plugins are required to process each format type. The plugins that a collection uses must be specified in the collection configuration file. The <i>import</i> program reads the list of plugins and passes each document to each plugin in order until it finds one that can process it. When updating an existing collection, all plugins necessary to process new material should already have been specified in the configuration file. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> The building step creates the indexes for both searching and browsing. The MG software is generally used to do the searching (Witten <i>et al.</i>, 1999), and the <i>mgbuild</i> module is automatically invoked to create each of the indexes that is required. For example, the Humanity Development Library has three indexes, one for entire books, one for chapters, and one for section titles. Subdirectories of the <i>index</i> directory are created for each of these indexes. </p></div> <table width="92.93%25" border="1" cols="4" rows="12"> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> creator </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> davidb@cs.waikato.ac.nz </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 1 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> maintainer </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> davidb@cs.waikato.ac.nz </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 2 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> public </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> True </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 3 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 4 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> indexes </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> document:text </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 5 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> defaultindex </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> document:text </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 6 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> plugins </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> GMLPlug TEXTPlug ArcPlug RecPlug </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 7 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 8 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> classify </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> AZList metadata=Title </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 9 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 10 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> collectionmeta </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> collectionname &quot;generic text collection&quot; </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 11 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> (a) </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> collectionmeta </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> .document:text &quot;documents&quot; </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 12 </p></div></td> </tr> </table> <p><div name="label" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <table width="92.93%25" border="1" cols="4" rows="17"> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> creator </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> davidb@cs.waikato.ac.nz </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 1 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> maintainer </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> davidb@cs.waikato.ac.nz </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 2 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> public </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> True </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 3 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 4 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> indexes </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> document:text document:From </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 5 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> defaultindex </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> document:text </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 6 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> plugins </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> GMLPlug EMAILPlug ArcPlug RecPlug </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 7 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 8 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> classify </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> AZList metadata=Title </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 9 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> classify </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> DateList </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 10 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 11 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> collectionmeta </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> collectionname &quot;Email messages&quot; </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 12 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> collectionmeta </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> .document:text &quot;documents&quot; </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 13 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> collectionmeta </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> .document:From &quot;email senders&quot; </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 14 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 15 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> format </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> QueryResults / </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 16 </p></div></td> </tr> <tr><td bgcolor="White" width="6.36%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> (b) </p></div></td> <td bgcolor="White" width="19.69%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div></td> <td bgcolor="White" width="64.87%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> &lt;td&gt;[link][icon][/link]&lt;/td&gt;&lt;td&gt;[Title]&lt;/td&gt;&lt;td&gt;[Author]&lt;/td&gt; </p></div></td> <td bgcolor="White" width="9.08%25" rowspan="1" colspan="1"><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> 17 </p></div></td> </tr> </table> <p><div name="label" align="center" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <b>Figure 5: Collection configuration files (a) generic, (b) for an email collection</b> </p></div> <p><div name="paragraph" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> MG also compresses the text of the collection; and the image files are linked into the <i>index</i> subdirectory. Now none of the material in the <i>import</i> and <i>archives</i> directories is needed to run the collection and can be removed from the file system (though they would be needed if the collection were rebuilt). </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Associated with each collection is a database stored in GDBM (Gnu database manager) format. This contains an entry for each document, giving its OID, its internal MG document number, and metadata such as title. Information for each of the browsing indexes, which appear as buttons on the Greenstone search/browse bar, is also extracted during the building process and stored in the database. A &ldquo;classifier&rdquo; program is required for each browsing index to extract the appropriate information from GML documents. Like plugins, classifiers are written on an <i>ad hoc</i> basis for the particular information required, and where possible reused from one collection to another. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> The building program creates the indexes based on whatever appears in the <i>archives</i> directory. The first plugin specified by all collections is one that processes GML files, and so if <i>archives</i> contains imported files they will be processed correctly. If it contains material in the original format, that will be converted using the appropriate plugin. Thus the import process is optional. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> GML is designed to be fast and easy to parse, an important requirement when millions of documents are to be processed. Something as simple as requiring tags to be lower-case, for example, yields a substantial speed-up. In certain circumstances, however, it might be preferable to use a standardized format such as XML. This is straightforward to implement_just write an XML plugin_although we have not done so ourselves. Given the transitory nature of the imported data, to date, we have found GML a satisfactory and beneficial format. </p></div> <p><div name="Heading 1" align="left" style="margin: 4.17mm 0.50mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b><span style="text-transform:uppercase">Creating new collections</span></b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Building new collections from scratch is only slightly different from updating an existing collection. The key new requirement is creating a collection configuration file, and a software utility is provided to help. Two pieces of information are required for this: the name of the directory that the collection will use (into which the source data and other files will eventually be placed), and a contact e-mail address for use if any problems are encountered by the software once the collection is up and running. The utility creates files and directories within the newly-named directory to support a generic collection of plain text documents. With suitable data placed in the <i>import</i> directory, building the collection at this point will yield a document-level searchable index of all the text and a browsable list of &ldquo;titles&rdquo; (defined in this case to be the document filenames). </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> To enhance the functionality and presentation&mdash; something anything but the most trivial collection will require&mdash;the configuration file must be edited. For a collection sourced from documents in an already supported data format, presented in a similar fashion to an existing collection, the amount of editing is minimal. Importing new data formats and browsing metadata in ways not currently supported are more complex activities that require programming skills. </p></div> <p><div name="Caption" align="center" style="margin: 2.08mm 2.74mm 0.00mm 17.26mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -17.26mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <img width="698" height="698" alt="0x01 graphic" src="_httpdocimg_/greenstone014.png"><br> </p></div> <p><div name="Caption" align="center" style="margin: 2.08mm 2.74mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <b>Figure 6</b><b>: Searching bookmarked Web pages</b><b><i></i></b> </p></div> <p><div name="Heading 2" align="left" style="margin: 6.94mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b>Modifying the configuration file</b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Figure 5b shows simple alterations to the generic configuration file in Figure 5a that was generated by the new-collection utility. <i>TEXTPlug</i> is replaced with <i>EMAILPlug</i> (line 7) which reads email files and extracts metadata (<i>From</i>, <i>To</i>, <i>Date</i>, <i>Subject</i>) from them. A classifier for dates is added (line 10) to make the collection browsable chronologically. The default presentation of search results is overridden (line 17) to display both the title of the message (i.e. Dublin Core <i>Title</i>) and its sender (i.e. Dublin Core <i>Author</i>). Elements in square brackets, such as <i>[Title]</i>, are replaced by the metadata associated with a particular document. The built-in term <i>[icon]</i> produces a suitable image that represents the document (such as a book icon or page icon), and the <i>[link]&hellip;[/link]</i> construct forms a hyperlink to the complete document. Anything else in the format statement, which in this case is solely table-cell tags in HTML, is passed through to the page being displayed. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> As this example shows, creating a new collection that stays within the bounds of the library's established capabilities falls within the capability of many computer users&mdash;for instance, computer-trained librarians. Extending Greenstone to handle new document formats and browse metadata in new ways is more challenging. </p></div> <p><div name="Heading 2" align="left" style="margin: 6.94mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b>Writing new plugins and classifiers</b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Extensibility is obtained through plugins and classifiers. </p></div> <p><div name="paragraph" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> These are modules of code that can be slotted into the system to enhance its capabilities. Plugins parse documents, extracting the text and metadata to be indexed. Classifiers control how metadata is brought together to form browsable data structures. Both are specified in an object-oriented framework using inheritance to minimize the amount of code written. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> A plugin must specify three things: what file formats it can handle, how they should be parsed, and whether the plugin is recursive. File formats are normally determined using regular expression matching on the filename. For example, the HTML plugin accepts all files that end in <i>.htm</i>, .<i>html</i>, <i>.HTM</i>, or <i>.HTML</i>. (It is quite possible, however, to write plugins that &ldquo;look inside&rdquo; the file as well.) For other files, the plugin returns <i>undefined</i> and the file is passed to the next plugin in the collection's configuration file (e.g. Figure 5 line 7). If it can, the plugin parses the file and returns the number of documents processed. This involves extracting text and metadata and adding it to the library's content through calls to <i>add text</i> and <i>add metadata</i>. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Some plugins (&ldquo;recursive&rdquo; ones) add extra files into the stream of data processed during the building phase by artificially reactivating the list of plugins. This is how directory hierarchies are traversed. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Plugins are small modules of code that are easy to write. We monitored the time it took to develop a new one that was different to any we had produced so far. We chose to make as an example a collection of HTML bookmark files, the motivation being to produce a convenient way of searching and browsing one's bookmarked Web pages. Figure 6 shows a user searching for bookmarked pages about <i>music</i>. The new plugin took under an hour to write, and was 160 lines long (ignoring blank lines and comments)&mdash;about the average length of existing plugins. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Classifiers are more general than plugins because they work on GML-format data. For example, any plugin that generates date metadata in accordance with the Dublin core can request the collection to be browsable chronologically by specifying the <i>DateList</i> classifier in the collection's configuration file (Figure 7). Classifiers are more elaborate than most plugins, but new ones are seldom required. The average length of existing classifiers is 230 lines. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Classifiers must specify three things: an initialization routine, how individual documents are classified, and the final browsable data structure. Initialization takes care of any options specified in the configuration file (such as <i>metadata=Title </i>on line 9 of Figure 5b). Classifying individual documents is an iterative process: for each one, a call to <i>document-classify</i> is made. On presentation of the document's OID, the necessary metadata is located and used to control where the document is added to the browsable data structure being constructed. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Once all documents have been added, a request is made for the completed data structure. Some classifiers return the data structure directly; others transform the data structure before it is returned. For example, the <i>AZList</i> classifier divides the alphabetically sorted list of metadata into separate pages of about the same size and returns the alphabetic ranges for each one (Figure 4). </p></div> <p><div name="Caption" align="center" style="margin: 2.08mm 2.74mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <img width="698" height="698" alt="0x01 graphic" src="_httpdocimg_/greenstone015.png"><br> </p></div> <p><div name="Caption" align="center" style="margin: 2.08mm 2.74mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> <b>Figure 7</b><b>: Browsing a newspaper collection by date</b><b></b> </p></div> <p><div name="Heading 1" align="left" style="margin: 4.17mm 0.50mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b><span style="text-transform:uppercase">Overview of related work</span></b> </p></div> <p><div name="Plain Text" align="left" style="margin: 2.08mm 0.24mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> Two projects that provide substantial open source digital library software are Dienst (Lagoze and Fielding, 1998) and Harvest (Bowman <i>et al.</i>, 1994). The origins of Dienst (<i>www.cs.cornell.edu/cdlrg</i>) stretch back to 1992. The term has come to represent three entities: a conceptual architecture for distributed digital libraries; an open protocol for service communication; and a software system that implements the protocol. To date, five sample digital libraries have been built using this technology. They manifest themselves in two forms: technical reports and primary source documents. </p></div> <p><div name="Plain Text" align="left" style="margin: 2.08mm 0.24mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> Best known is NCSTRL, the Networked Computer Science Technical Reference Library project (<i>www.ncstrl.org</i>). This collection facilitates searching by title, author and abstract, and browsing by year and author, across a distributed network of document repositories. Documents can (where supported) be delivered in various formats such as PostScript, a thumbnail overview of the pages, and a GIF image of a particular page. </p></div> <p><div name="Plain Text" align="left" style="margin: 2.08mm 0.24mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> The <i>Making of America</i> resource is an example of a collection based around primary sources_in this case American social history, 1830−1900. It has a different &ldquo;look and feel&rdquo; to NCSTRL, being strongly oriented toward browsing rather than searching. A user navigates their way through a hierarchical structure of hyperlinks to reach a book of interest. The book itself is a series of scanned images: delivery options include going directly to a page number, next and previous page buttons, and displaying a particular page at different resolutions. A text version of the page is also available upon which a searching option is also provided. </p></div> <p><div name="Plain Text" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> Started in 1994, Harvest is also a long-running research project. It provides an efficient means of gathering source data from the Internet and distributing indexing information over the Internet. This is accomplished through five components: <i>gatherer</i>, <i>broker</i>, <i>indexer</i>, <i>replicator</i> and <i>cache</i>. The first three are central to creating, updating and searching a collection; the last two help to improve performance over the Internet through transparent mirroring and caching techniques. </p></div> <p><div name="Plain Text" align="left" style="margin: 2.08mm 0.24mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> The system is configurable and customizable. While searching is most commonly implemented using Glimpse (<i>glimpse.cs.arizona.edu</i>), in principle any search engine that supports incremental updates and Boolean combinations of attribute-based queries can be used. It is possible to control what type of documents are gathered during creation and updating, and how the query interface looks and is laid out. </p></div> <p><div name="Plain Text" align="left" style="margin: 2.08mm 0.24mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> Sample collections cited by the developers include 21,000 computer science technical reports and 7,000 home pages. Other examples include a sizable collection of agriculture-related electronic journals and magazines called &ldquo;tomato-juice&rdquo; (accessed through <i>hegel.lib.ncsu.edu</i>) and a full-text index of library-related electronic serials (<i>sunsite.berkeley.edu/IndexMorganagus</i>). Harvest is also often used to index Web sites (for example <i>www.middlebury.edu</i>). </p></div> <p><div name="Plain Text" align="left" style="margin: 2.08mm 0.24mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> Comparing Greenstone with Dienst and Harvest, there are both similarities and differences. All provide substantial digital library systems, hence common themes recur, but they are driven by projects with different aims. Harvest, for instance, was not conceived as a digital library project at all, but by virtue of its selective document gathering process it can be classed (and is used) as one. While it provides sophisticated search options, it lacks the complementary service of browsing. Furthermore it adds no structure or order to the documents collected, relying on whatever structures are present in the site that they were gathered from. A proven strength of the design is its flexibility through configuration and customization_an element also present in Greenstone. </p></div> <p><div name="Plain Text" align="left" style="margin: 2.08mm 0.24mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> Dienst_best exemplified through the NCSTRL work_supports searching and browsing, like Greenstone. Both use open protocols. Differences include a high reliance in Dienst on user-supplied information when a document is added, and a smaller range of document types supported&mdash;although Dienst does include a document model that should, over time, allow this to expand with relative ease. </p></div> <p><div name="Plain Text" align="left" style="margin: 2.08mm 0.24mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> There are also commercial systems that provide similar digital library services to those described. However, since corporate culture instills proprietary attitudes there is little opportunity for advancement through a shared collaborative effort. Consequently they are not reviewed here. </p></div> <p><div name="Heading 1" align="left" style="margin: 4.17mm 0.50mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b><span style="text-transform:uppercase">Conclusions</span></b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> Greenstone is a comprehensive software system for creating digital library collections. It builds data structures for searching and browsing from the material provided, rather than relying on any hand-crafting. The process is controlled by a configuration file, and once a collection exists new material can be added completely automatically. Browsing is based on Dublin Core metadata. </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> New collections can be developed easily, particularly if they resemble existing ones. Extensibility is achieved through software &ldquo;plugins&rdquo; that can be written to accommodate documents, and metadata, in different formats. Standard plugins exist for many document types; new ones are easily written. Browsing is controlled by &ldquo;classifiers&rdquo; that process metadata into browsing structures (by date, alphabetical, hierarchical, etc). </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> However, the most powerful support for extensibility is achieved not by technical means but by making the source code freely available under the Gnu public license. Only through an international cooperative effort will digital library software become sufficiently comprehensive to meet the world's needs with the richness and flexibility that users deserve. </p></div> <p><div name="Heading 1" align="left" style="margin: 4.17mm 0.50mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b><span style="text-transform:uppercase">Acknowledgments</span></b> </p></div> <p><div name="paragraph" align="left" style="margin: 2.08mm 0.00mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 3.819444mm; color: Black; background-color: White; "> We gratefully acknowledge all those who have worked on the Greenstone software, and all members of the New Zealand Digital Library project for their enthusiasm and ideas. </p></div> <p><div name="Heading 1" align="left" style="margin: 0.00mm 0.49mm 0.00mm 0.00mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <b><span style="text-transform:uppercase">References</span></b> </p></div> <ol type="1"> <li value="1"><p><div name="References" align="left" style="margin: 1.04mm 0.00mm 0.00mm 6.25mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -6.25mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> Akscyn, R.M. and Witten, I.H. (1998) &ldquo;Report on First Summit on International Cooperation on Digital Libraries.&rdquo; ks.com/idla-wp-oct98. </p></div></li> <li value="2"><p><div name="References" align="left" style="margin: 1.04mm 0.00mm 0.00mm 6.25mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -6.25mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> Bowman, C.M., Danzig, P.B., Manber, U., and Schwartz, M.F. &ldquo;Scalable Internet resource discovery: Research problems and approaches&rdquo; <i>Communications of the ACM,</i> Vol. 37, No. 8, pp. 98−107, 1994. </p></div></li> <li value="3"><p><div name="References" align="left" style="margin: 1.04mm 0.00mm 0.00mm 6.25mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -6.25mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> Fox, E. (1998) &ldquo;Digital library definitions.&rdquo; ei.cs.vt.edu/~fox/dlib/def.html. </p></div></li> <li value="4"><p><div name="References" align="left" style="margin: 1.04mm 0.00mm 0.00mm 6.25mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -6.25mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> Humanity Libraries (1998) <i>Humanity Development Library</i>. CD-ROM produced by the Global Help Project, Antwerp, Belgium. </p></div></li> <li value="5"><p><div name="References" align="left" style="margin: 1.04mm 0.00mm 0.00mm 6.25mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -6.25mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> Lagoze, C. and Fielding, D &ldquo;Defining Collections in Distributed Digital Libraries&rdquo; <i>D-Lib Magazine</i>, Nov. 1998. </p></div></li> <li value="6"><p><div name="References" align="left" style="margin: 1.04mm 0.00mm 0.00mm 6.25mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -6.25mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> PAHO (1999) <i>Virtual Disaster Library</i>. CD-ROM produced by the Pan-American Health Organization, Washington DC, USA. </p></div></li> <li value="7"><p><div name="References" align="left" style="margin: 1.04mm 0.00mm 0.00mm 6.25mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -6.25mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> McNab, R.J., Witten, I.H. and Boddie, S.J. (1998) &ldquo;A distributed digital library architecture incorporating different index styles.&rdquo; <i>Proc IEEE Advances in Digital Libraries</i>, Santa Barbara, CA, pp. 36-45. </p></div></li> <li value="8"><p><div name="References" align="left" style="margin: 1.04mm 0.00mm 0.00mm 6.25mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -6.25mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> Nevill-Manning, C.G., Reed, T., and Witten, I.H. (1998) &ldquo;Extracting text from PostScript&rdquo; <i>Software&mdash;Practice and Experience</i>, Vol. 28, No. 5, pp. 481-491; April. </p></div></li> <li value="9"><p><div name="References" align="left" style="margin: 1.04mm 0.00mm 0.00mm 6.25mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -6.25mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> UNESCO (1999) <i>SAHEL point DOC: Anthologie du développement au Sahel</i>. CD-ROM produced by UNESCO, Paris, France. </p></div></li> <li value="10"><p><div name="References" align="left" style="margin: 1.04mm 0.00mm 0.00mm 6.25mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -6.25mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> UNU (1998) <i>Collection on critical global issues.</i> CD-ROM produced by the United Nations University Press, Tokyo, Japan. </p></div></li> <li value="11"><p><div name="References" align="left" style="margin: 1.04mm 0.00mm 0.00mm 6.25mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -6.25mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> Witten, I.H., Moffat, A. and Bell, T. (1999) <i>Managing Gigabytes: compressing and indexing documents and images</i>, Morgan Kaufmann, second edition. </p></div></li> </ol><p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Header" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <span style="text-transform:lowercase"></span> </p></div> <p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Footer" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> <span style="text-transform:lowercase"></span> </p></div> <p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Caption" align="center" style="margin: 2.08mm 2.74mm 0.00mm 17.26mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -17.26mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Caption" align="center" style="margin: 2.08mm 2.74mm 0.00mm 17.26mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -17.26mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Caption" align="center" style="margin: 2.08mm 2.74mm 0.00mm 17.26mm; padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: -17.26mm; text-align: center; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <p><div name="Normal" align="left" style=" padding: 0.00mm 0.00mm 0.00mm 0.00mm; "> <p style="text-indent: 0.00mm; text-align: left; line-height: 4.166667mm; color: Black; background-color: White; "> </p></div> <!--Section Ends--> <!-- <hr> <address> <a href="_httpextlink_&amp;rl=0&amp;href=http:%2f%2fwvware.sourceforge.net"><img src="_httpdocimg_/wvSmall.gif" height=31 width=47 align=left border=0 alt="wvWare"></a> <a href="_httpextlink_&amp;rl=0&amp;href=http:%2f%2fvalidator.w3.org%2fcheck%2freferer"><img src="_httpdocimg_/vh40.gif" height=31 width=88 align=right border=0 alt="Valid HTML 4.0!"></a> Document created with <a href="_httpextlink_&amp;rl=0&amp;href=http:%2f%2fwvware.sourceforge.net">wvWare/wvWare version 1.2.4</a><br> </address> -->