Mokopedia

From Openmoko

Revision as of 20:42, 3 February 2008 by Alendit (Talk | contribs)

Jump to: navigation, search
Mokopedia running on Openmoko
TODO: Support this project by adding ideas and comments to the discussion page and edit this article (See: To-Do List)

Mokopedia makes wikipedia accessible on your openmoko phone even without being online because all articles will reside in a compressed filesystem (squashFS) on your SD Card.

You will have to install lighttpd to access a local perl cgi script with the web browser of your choice. This script will offer you a text box to easily search your stored articles.

Contents

Feature Ideas

Please feel free to add anything that comes to your mind.

  • it will have no pictures - not enough room on any storage media
  • tex forumlas could be generated with a local LaTeX install but this may be too big for the phone
  • all wikipedia versions except the english one will fit on a 1GB SDCard (tested with the second largest wikipedia (german)) - compressability tests with en-wiki in progress
  • support for stripped down wikipedia versions (100MB, 500MB)
    • Add an option that would schedule article downloads based on previous searches that return no results on the Neo. Could be triggered when the Neo detects a Wifi connection or when it is connected via USB.
    • image with X of the most importand article (perhaps mostlinked?) Mostlinked
    • image without Lonelypages Lonelypages
    • image without Uncategorizedpages Uncategorizedpages
      • squashfs is a read only filesystem - such additional articles would have to be stored elsewhere

Development Status

You can download the current code at http://projects.openmoko.org/projects/mokopedia/

You can view a little demo here: http://www.rabenfrost.net/mokopedia_demo.ogg Newer version: http://www.rabenfrost.net/mokopedia_demo2.ogg

Requirements

On the target (NEO)

  • lighttpd
  • changes in /etc/lighttpd.conf
enable server-module "mod_cgi", "mod_rewrite", "mod_redirect", "mod_access"
#### CGI module
cgi.assign                  = ( ".pl"  => "/usr/bin/perl",
                                ".cgi" => "/usr/bin/perl" )
#### url handling modules (rewrite, redirect, access)
url.rewrite-once        = ( "^/wiki/(.*)"      => "/wiki/mokopedia.cgi?q=$1" )
  • perl
  • perl-module-encode
  • perl-module-encode-encoding
  • perl-module-bytes
  • perl-module-utf8
  • perl-module-utf8-heavy
  • squashfs-tools (optional)
  • kernel-module-squashfs
  • kernel-module-loop
  • Web Browser

On the host

To build the squashFS image on your PC instead of downloading ready-to-use-images you additionally need mksquashfs-tools

Credits

A big thank to the following people:

  • kahuna for bringing me back to the idea of mokopedia as served html to a browser of your choice
  • fgau for trying out everything I wrote on his neo
  • thomasg for suggesting the use of a compressed file system
  • Marcel_M for his great repository with squashfs and loop kernel modules http://celtune.morb-design.com/ipk/fic-gta01/
  • everyone on #neo1973-germany

All you guys helped me a lot!!

Personal tools
Mokopedia running on Openmoko
TODO: Support this project by adding ideas and comments to the discussion page and edit this article (See: To-Do List)

Mokopedia makes wikipedia accessible on your openmoko phone even without being online because all articles will reside in a compressed filesystem (squashFS) on your SD Card.

You will have to install lighttpd to access a local perl cgi script with the web browser of your choice. This script will offer you a text box to easily search your stored articles.

Feature Ideas

Please feel free to add anything that comes to your mind.

  • it will have no pictures - not enough room on any storage media
  • tex forumlas could be generated with a local LaTeX install but this may be too big for the phone
  • all wikipedia versions except the english one will fit on a 1GB SDCard (tested with the second largest wikipedia (german)) - compressability tests with en-wiki in progress
  • support for stripped down wikipedia versions (100MB, 500MB)
    • Add an option that would schedule article downloads based on previous searches that return no results on the Neo. Could be triggered when the Neo detects a Wifi connection or when it is connected via USB.
    • image with X of the most importand article (perhaps mostlinked?) Mostlinked
    • image without Lonelypages Lonelypages
    • image without Uncategorizedpages Uncategorizedpages
      • squashfs is a read only filesystem - such additional articles would have to be stored elsewhere

Development Status

You can download the current code at http://projects.openmoko.org/projects/mokopedia/

You can view a little demo here: http://www.rabenfrost.net/mokopedia_demo.ogg Newer version: http://www.rabenfrost.net/mokopedia_demo2.ogg

Requirements

On the target (NEO)

  • lighttpd
  • changes in /etc/lighttpd.conf
enable server-module "mod_cgi", "mod_rewrite", "mod_redirect", "mod_access"
#### CGI module
cgi.assign                  = ( ".pl"  => "/usr/bin/perl",
                                ".cgi" => "/usr/bin/perl" )
#### url handling modules (rewrite, redirect, access)
url.rewrite-once        = ( "^/wiki/(.*)"      => "/wiki/mokopedia.cgi?q=$1" )
  • perl
  • perl-module-encode
  • perl-module-encode-encoding
  • perl-module-bytes
  • perl-module-utf8
  • perl-module-utf8-heavy
  • squashfs-tools (optional)
  • kernel-module-squashfs
  • kernel-module-loop
  • Web Browser

On the host

To build the squashFS image on your PC instead of downloading ready-to-use-images you additionally need mksquashfs-tools

Credits

A big thank to the following people:

  • kahuna for bringing me back to the idea of mokopedia as served html to a browser of your choice
  • fgau for trying out everything I wrote on his neo
  • thomasg for suggesting the use of a compressed file system
  • Marcel_M for his great repository with squashfs and loop kernel modules http://celtune.morb-design.com/ipk/fic-gta01/
  • everyone on #neo1973-germany

All you guys helped me a lot!!