Bibliotecha

From XPUB & Lens-Based wiki

materials

  • Pis
  • wifi dongles
  • serial-usb cable
  • raspbian images written to sdcards


Bookserver in a book


      P I E T Z W A R T
    + + + + + + + + + + +
&   +         &         +   N
    +  @             *  +   E
F   +        The        +   T M
R   +    Bibliotecha    +   W E
I   +   Softwarestack   +   O D  
E   +       v.0.2       +   R I
N   +       Y2013       +   K A
D   +  #             $  +   E
S   +         %         +   D
    + + + + + + + + + + + 
      I N S T I T U T E  

Bibliotecha

An offline digital community library

Bibliotecha is a framework to facilitate the local distribution of digital publications within a small community. It relies on a microcomputer running open-source software to serve books over a local wifi hotspot. Using the browser to connect to the library one can retrieve or donate texts. Bibliotecha proposes an alternative model of distribution of digital texts that allows specific communities to form and share their own collections.

Day 1 Installation

In this first day we will work through Bibliotecha's Manual in order to arrive at a number of Biblitecha installations.

We'll look into how Bibliotecha is set up and how it uses existing free-software, such as

  • lighttpd (webserver)
  • hostapd
  • custom scripts

Day 2 Hacking

On this second day we will see how can we create an alternative indexing and browsing interface for Bibliotecha, that addresses the following issue with Calibre.

A working prototype can be found on the nocalibre branch of Bibliotecha git repository.


/var/www file-tree

Bibliotecha-nocalibre-tree.png

The scripts responsible for replacing calibre are:

  • /var/www/browse/json_update.py
  • /var/www/browse/generate-table.py

Both are triggered by /var/www/cgi-bin/receive_book.cgi, when a book is added.

further develop prototype

by:

  • adding hyperlinks to /var/www/browse/index.html back to ../index.html (bibliotecha landing page)
  • make Book Collection HTML table: sortable, more easily readable
  • others: ??
  • (advanced): instead of overwriting /var/www/browse/collection-metadata.json everytime a books is added, simply update collection-metadata.json
  • (advanced): handle multi authors
  • (advanced): handle repeated books