Simple Digital Library Index

From OLPC
Revision as of 14:53, 1 November 2009 by 202.86.27.90 (talk)
Jump to: navigation, search

Introduction

Simple Digital Library Index (SDLI) is designed to make it quick and easy to assemble digital libraries for schools in a format that is accessible, fast and easy to add content in bulk, and can be easily replicated to make it accessible in multiple locations even if there are asynchronous or very slow connections. It provides a GUI for the library maker that makes it simple to build the library. Does not need server side components.

Features

  • Generates a plain old HTML browsing interface - no MySQL, PHP, etc. required
  • Generates an index of all the meta data and files in the library - you can download this and use it the same way as a repository
  • Generates a basic Javascript search system that works even offline
  • Very simple to add content - just assemble folders of content and tag the files using their own format if required.
  • Very easy to replicate - static HTML files are generated; therefor it can be easily copied to any medium, made accessible by being put into a webserver (e.g. Apache) directory
  • Suitable for offline use or use on a school server that does not have an internet connection.
  • Can be simply localized by using an XML dictionary file. Will look and see if this can be generated from po files etc. HTML pages will be automatically generated for each language as specified in the config file.
  • Can be made full text searchable by feeding the index page to Nutch [1]

Getting Started

You can download the distribution http://www.paiwastoon.af/otherdownloads/sdli-0.01-dist.tar.gz . Make sure you have JRE installed and then just double click the Jar file (on windows) or cd to the directory and run java -jar SimpleLibraryIndexSystem.jar

Source available from: http://dev.laptop.org/git/projects/sdli

File Formats

  • Ogg Audio - will extract meta data (Title, Subject from Genre)
  • PDF - Will extract title, subject, etc.
  • HTML - Looks through dublin core meta data.
  • Ogg Video - Work in progress

Adding File formats is easy - there's a Java interface that defines what needs done - see existing ones in dcxmlgenerators

Getting Started to Create a digital library

Download the binary or source version. If downloading the source version follow the instructions in the README to compile and collect the required libraries.

  • Change the config property to tell SDLI which folder to use as the starting folder - open up res.config/simplelibraryindex.properties and then change the property start.dir to point to your library directory
  • For each folder that you want indexed make a file called directory.dcxml and put it in that folder - e.g.
<?xml version="1.0" encoding="UTF-8"?>

<!--
    Document   : dcxml.xml
    Created on : July 7, 2009, 3:42 PM
    Author     : mike
    Description:
        Purpose of the document follows.
-->

<entry xmlns="http://olpc.af/ns/olpclibentry"  xmlns:dc="http://purl.org/dc/elements/1.1/">
    
    <dc:title>Library Base Folder</dc:title>
    <dc:subject>Mathematics</dc:subject>
    <dc:subject>Physics</dc:subject>
    <dc:type>Audio</dc:type>
    <dc:description>Folder of stuff</dc:description>
    <dc:language>en</dc:language>
    <dc:language>ps</dc:language>
    <dc:language>fa</dc:language>
    <dc:contributor>ERTV</dc:contributor>
</entry>
  • Run the index creator by going to the file with the jar and running java -jar SimpleLibraryIndexSystem.jar (where this is the name of the jar file)
  • Open up the generated index.html in the browser

Alternatives

Greenstone seems to be the most famous; however this was quite complex / non standard to setup on Linux, required quite some effort to tag all the data into a collection, and finally the search system didn't include the text being searched for... This could have been quite nice for one big online collection; but for distributed collections it didn't seem quite what we were looking for. Nevertheless some very nice content is being made available this way.

Various systems have ways of making galleries etc. - but most require PHP, MySQL, or some server stack. We wanted something as simple as possible to replicate and copy by any means.

Moodle was more designed as a learning management system - not as a library...