Base System Up and Running!
February 4, 2008 by kerti-yasha
Sebelum cerita detail, ada baiknya aku cerita gambaran sistem yang sedang aku bikin.
Sudah ada sistem pembangkit narasi berdasarkan metode Joseph dan dibangun dengan bahasa LISP, tapi interface-nya jelek banget: interpreter. jadi ketika user akan mengakses layanan ini, dia harus berkutat dengan interface gaya DOS yang jadul banget. selain itu dia harus install macem-macem software yang harus di-install di linux (implikasinya, dia harus belajar linux).
Oleh karena itu, aku bikin interface yang berbasis web supaya orang awam bisa pake dengan mudah. Jadi, sebenarnya sistem yang aku bikin adalah "pembungkus" atau "enkapsulasi" dari sistem yang sudah ada.
Setelah seminggu lebih berkutat dengan LISP dan segala dependency-nya, akhirnya aku berhasil merakit sebuah sistem yang sudah bisa jalan. Meskipun masih sangat sederhana dan secara fungsional tidak berarti, tapi ini sudah merupakan langkah maju.
Jadi beginilah ceritanya:
- OS sudah jadi, dengan bantuan Condro yang mengganti semua repo di sources.list untuk mengarah ke repo UI dan semua komponen menggunakan versi hardy (apache 2.2, sbcl, cl-sql, cl-sql-mysql, bla, bla, bla…)
- untuk mengelola MySQL sementara pake phpMyAdmin dulu (yang juga diinstallkan oleh Condro), untuk selanjutnya akan dikembangkan interface yang terintegrasi dengan sistem Story Generator
- merging antara modul punya Adi dan Komo sudah diawali, tapi belom selesai karena masih butuh banyak penyesuaian di struktur database dan di NLP
- Hunchentoot server dah bisa jalan, thanks to paket cl-hunchentoot.
- seluruh sistem sudah dibuat modular, termasuk penamaan variabel dan fungsi, dengan demikian aku dan Condro bisa memperbaiki modul masing-masing secara independen tanpa saling mengganggu atau overlap
Selanjutnya, this is my to-do-list:
- cari tahu gimana caranya bisa melakukan variable type coercion di LISP, karena trouble yang ada sekarang ketika meng-capture variabel HTTP_GET, hasilnya merupakan STRING, bukan NUMBER
- tanya ke pak Surjono tentang world model, apakah bisa ditambahi tabel tokoh-tokoh antagonis?
- cari tahu gimana caranya bisa menggabungkan Apache-PHP sebagai frontend dengan Hunchentoot (yang notabene diinstall untuk jalan standalone) sebagai backend, supaya keduanya bisa berinteraksi. masalahnya Apache pake port 80 (HTTP) dan Hunchentoot bisa pake port manapun yang di-assign ke dia, tapi tentu saja bukan port 80.
untuk masalah terakhir, ada dua alternatif solusi. yang pertama, pake frameset, jadi ketika di atas source-nya localhost:80, frame bawahnya diumpankan ke localhost:4242 dan di-trigger dari atas. kelemahannya adalah ketika browser-nya nggak support frameset.
alternatif kedua, pake AJAX, jadi nggak perlu loading seluruh page. kelemahannya adalah kalo browsernya nggak support javascript ato javascript-nya dimatikan oleh user. selain itu, aku belum menemukan cara loading dari host yang sama tapi beda port.
oke deh, back to work! banzai!!!