Silahkan kunjungi halaman Launchpad di bawah ini untuk melihat status dokumen ini.
Halaman spesifikasi di Launchpad: https://blueprints.launchpad.net/blankon/+spec/wikipedia-offline
Penanggung jawab: Niwatori
Pembuat usul: Niwatori
Ringkasan
Aplikasi (GUI, sementara diawali versi web/browser dulu) yang bisa mengakses arsip wikipedia terkompresi sehingga bisa diakses offline namun hemat tempat. Targetnya adalah menambah khazanah content/aplikasi khas BlankOn terutamanya untuk pendidikan.
Latar Belakang
Content/aplikasi khas BlankOn (terutama untuk pendidikan) masih kurang dan paket-paket edukasi Ubuntu masih perlu banyak disesuaikan untuk kebutuhan lokal. Wikipedia (Indonesia) offline bisa menjadi aplikasi bersifat edukasi, sebuah ensiklopedia lokal yang berjalan di atas BlankOn
Wikipedia sarat dengan pengetahuan dan artikel bermanfaat namun harus diakses online, sedangkan mayoritas penduduk Indonesia tidak memiliki akses internet.
- Wikipedia non online yang ada membutuhkan space besar (versi html static Wikipedia Indonesia berukuran sekitar 2Gb), versi lainnya mensyaratkan local servers (MySQL, Apache, PHP dan Mediawiki) atau merupakan DVD project terpisah (SOS for Village Children).
Rintisan ide dan aplikasi serupa untuk Wikipedia Indonesia dalam platform Ruby (zipdoc) sudah dimulai oleh Stian Haklev (warga Norwegia yang bekerja di LSM di Jakarta dan concern terhadap kesulitan akses internet dan Wikipedia di Indonesia), dibahas di di komunitas id-ruby (dimana salah satu anggota tim BlankOn juga bergabung) dan dijadikan prototype awal sehingga aplikasi tidak perlu didevelop dari nol.
Permasalahan
- Aplikasi sementara berbasis web (mini webserver mongrel), dibutuhkan effort lebih lanjut untuk versi GUI yang lebih mudah digunakan / lebih rapih.
- File kompresi arsip Wikipedia masih cukup besar (Indonesia 98Mb, Sunda 12Mb, Jawa 9Mb), alokasi space tidak memungkinkan paket ini disertakan secara default.
- File kompresi arsip Wikipedia yang disediakan secara resmi oleh Wikipedia adalah tanpa image, untuk menambahkan image dalam versi offline membutuhkan space dan coding tambahan.
Rancangan
Prototype sementara memanfaatkan aplikasi zipdoc (Ruby) karya Stian Haklev. Masih terus dijajaki platform lainnya (Perl? PyGtk? RubyGtk?)
Perlakuannya mungkin akan menjadi bagian dari add-on BlankOn untuk pendidikan.
- Instalasi berupa meta package? (sudo apt-get install blankon-wikipedia-id atau sudo apt-get install blankon-wikipedia-su dsb.)
Implementasi
Menginstall Wikipedia Offline (prototype progress)
Berikut langkah sementara untuk developer/pemaket, bukan untuk pengguna.
Install paket git (Source Code Management seperti CVS/SVN) untuk mengambil source code zipdoc terbaru dan paket 7zip untuk membuka kompresi 7z hasil download dari wikipedia nanti juga bahasa Ruby dan library kompresi untuk Ruby. Lalu setelah itu install gem trollop dengan menggunakan sistem paket Rubygems:
sudo apt-get install git-core p7zip-full ruby rubygems mongrel libbz2-ruby1.8 sudo gem install trollop
Ambil source code zipdoc terbaru, lalu masuklah ke direktori yang terbentuk:
git clone git://repo.or.cz/zip-doc.git cd zip-doc
Download data kompresi wikipedia berbahasa Indonesia terbaru dari http://static.wikipedia.org, contohnya:
wget -c http://static.wikipedia.org/downloads/September_2007/id/wikipedia-id-html.7z
Extract hasil download dengan menggunakan aplikasi 7z yang menghasilkan direktori "id":
7z x wikipedia-id-html.7z
Buat file zdump (kompresi berindeks), lalu jika perlu hapus direktori "id" yang berukuran sekitar 2GByte:
ruby zdump.rb id id.zdump rm -rf id
Jalankan file mongrel-web untuk menyalakan webserver mini mongrel dan mengakses arsip id.zdump:
ruby mongrel-web.rb id.zdump
Kini wikipedia berbahasa Indonesia sudah bisa diakses di alamat http://localhost:2042
Paket BlankOn Sementara
- blankon-wikipedia (comingsoon... meta package)
- blankon-wikipedia-idzdump (comingsoon...)
- blankon-wikipedia-suzdump (comingsoon...)
blankon-wikipedia-jvzdump (https://code.launchpad.net/~niwatori/blankon/blankon-wikipedia-jvzdump)
blankon-wikipedia-zipdoc (https://code.launchpad.net/~niwatori/blankon/blankon-wikipedia-zipdoc)
blankon-wikipedia-trollop (https://code.launchpad.net/~niwatori/blankon/blankon-wikipedia-trollop)
- ruby
- rubygems
- mongrel
- libbz2-ruby1.8
List File Sementara
-rwxr-xr-x 251 2007-11-07 01:12 display-page.rb -rwxr-xr-x 609628 2007-11-07 01:12 eee_darwin -rwxr-xr-x 900 2007-11-07 01:12 htmlshrinker-data.rb -rwxr-xr-x 2487 2007-11-07 01:12 htmlshrinker.rb -rw-r--r-- 98708366 2007-11-07 02:26 id.zdump -rwxr-xr-x 3411 2007-11-07 01:12 mongrel-web.rb -rw-r--r-- 1013 2007-11-07 01:12 NOTES -rwxr-xr-x 7664 2007-11-07 01:12 zarchive.rb -rwxr-xr-x 4792 2007-11-07 01:12 zdump-7z.rb -rwxr-xr-x 4202 2007-11-07 01:12 zdump.rb -rw-r--r-- 10089 2007-11-07 01:12 zipdoc.rb -rwxr-xr-x 1637 2007-11-07 01:12 zipweb.rb -rw-r--r-- 1635 2007-11-07 01:12 zutil.rb -rw-r--r-- 257894 2007-10-05 06:05 irb1.8_1.8.6.36-1ubuntu3_all.deb -rw-r--r-- 17326 2006-06-20 18:10 libbz2-ruby1.8_0.2.2-2_i386.deb -rw-r--r-- 9174 2007-05-25 17:03 libdaemons-ruby_1.0.6-1_all.deb -rw-r--r-- 18188 2007-05-25 17:03 libdaemons-ruby1.8_1.0.6-1_i386.deb -rw-r--r-- 27734 2007-07-23 14:03 libgemplugin-ruby_0.2.2-1_all.deb -rw-r--r-- 12114 2007-07-23 14:03 libgemplugin-ruby1.8_0.2.2-1_all.deb -rw-r--r-- 416328 2007-08-24 13:03 libgems-ruby1.8_0.9.4-1ubuntu1_all.deb -rw-r--r-- 315710 2007-10-05 06:06 libopenssl-ruby1.8_1.8.6.36-1ubuntu3_i386.deb -rw-r--r-- 217724 2007-10-05 06:06 libreadline-ruby1.8_1.8.6.36-1ubuntu3_i386.deb -rw-r--r-- 1565514 2007-10-05 06:06 libruby1.8_1.8.6.36-1ubuntu3_i386.deb -rw-r--r-- 55472 2007-08-31 05:04 mongrel_1.0.1-1_i386.deb -rw-r--r-- 1180028 2007-08-07 13:03 p7zip-full_4.51~dfsg.1-1_i386.deb -rw-r--r-- 331124 2007-10-05 06:05 rdoc1.8_1.8.6.36-1ubuntu3_all.deb -rw-r--r-- 239156 2007-10-05 06:06 ruby1.8_1.8.6.36-1ubuntu3_i386.deb -rw-r--r-- 18970 2005-04-15 02:45 ruby_1.8.2-1_all.deb -rw-r--r-- 51502 2007-08-24 13:03 rubygems_0.9.4-1ubuntu1_all.deb
Total sekitar 106 Mbytes
To Do List
- Perapihan code dan info untuk RDoc (request akses commit ke repo git)
Belajar pemaketan (diskusi dengan tim pemaket) [DONE]
Mengurangi penggunaan gem jika memungkinkan (pure berbasis apt saja) [DONE]
- Saat kompresi zdump skip semua halaman Talk/Diskusi untuk mengurangi ukuran
- Pengkajian legal/tata cara/batasan pemanfaatan content Wikipedia
- Diskusi dan minta dukungan komunitas kontributor Wikipedia-id agar lebih banyak manfaat dan ide yang mungkin muncul
- Parsing ulang untuk menyelipkan images
Penjajakan GUI PerlGtk+MozEmbed (tim mengalami problem di CPAN)
(Testing sukses oleh mdamt)
Penjajakan PyGtk+MozEmbed (pertimbangan: python cukup native di Ubuntu, lebih hemat space / penambahan komponen lebih minim?)
referensi: https://help.ubuntu.com/community/PythonRecipes/WebBrowser
Web server sederhana juga dapat dibuat dengan mudah dengan Python (contoh: http://fragments.turtlemeat.com/pythonwebserver.php). Namun sepertinya belum/tidak ada pustaka untuk membaca berkas 7z Berkas 7z bisa dibaca dengan bantuan pylzma namun tidak/belum ada paket Ubuntunya. Setelah dicoba, ternyata pylzma tidak dapat membaca berkas 7z dari wikipedia.
Penjajakan RubyGtk+MozEmbed (pertimbangan: wikipedia dump readernya sudah siap pakai, tinggal GUI-nya saja)
Penjajakan Wikipedia Dump Reader milik KDE (terlalu banyak dependensi Qt3 dan Qt4, coret :P) [DONE]
Credits
- Para kontributor artikel Wikipedia, terutama yang berbahasa Indonesia
Stian Haklev (http://www.reganmian.net/blog) for the great Ruby ZipDoc (http://repo.or.cz/w/zip-doc.git)
- Rekan-rekan id-ruby untuk diskusi dan konsultasi teknis via YM ;P
References
http://patrick.wagstrom.net/tutorials/pygtkmozembed/pygtkmozembed.html
http://www.kde-apps.org/content/show.php/Wikipedia+Dump+Reader?content=65244
Agenda Wacana dan Diskusi
Mungkin bisa berkolaborasi dengan project sejenis seperti Proyek Wikipedia untuk Anak, atau minimal memanfaatkan arsip terkompresinya. -- Niwatori
Di era DVD begini bagaimana kalau nantinya BlankOn LiveCD menggunakan media DVD, jadi aplikasi seperti wikipedia offline ini bisa langsung masuk. Bagus untuk penetrasi pasar juga, jadi kalau ada event bisa "Bagi-bagi cd ensiklopedia" yang sebenarnya BlankOn LiveCD jadi publik lebih tergerak untuk mencoba linux. -- Niwatori
Sekedar usul, bagaimana jika hal-hal seperti ini dibuat saja add-on nya. Seperti edubuntu saja. Nah jika memang nanti BlankOn akan menggunakan media DVD barulah konten-konten ini di masukkan ke dalamnya. (RameTux)
Sepertinya ZipDoc sudah dikembangkan jauh.. Sudah ada content indexer juga.. Jadi akan lebih baik jika dapat dimanfaatkan dibanding membuat ulang yang lain
-- FajranImanRusadi Tutorial lain lagi untuk membuat wikipedia offline reader secara cepat: http://www.softlab.ntua.gr/~ttsiod/buildWikipediaOffline.html
Usul dan saran masuk di sini...
terakhir disunting 2007-11-28 15:47:46 oleh FajranImanRusadi
