Inilah dia Universal Feed Parser, pustaka pemrograman yang ditulis Mark Pilgrim dalam bahasa pemrograman Python. Barang lama, namun justru sekarang sudah dibundel dalam paket di Debian Unstable misalnya.
Manfaatnya? Coba lihat berikut ini.
Planet Planet adalah salah satu perangkat lunak pengagregat yang menggunakan Universal Feed Parser — tidak perlu dibantah popularitasnya. Dengan modal penguasaan Python, waktu sore yang senggang, dan sedikit trik umum, berikut kreasi menarik sebagai hasta karya,
Promosi entri baru di akhir email (signature). Sepengetahuan saya, adalah Benny Chandra yang pertama kali rajin menulis URI entri baru blog di akhir email dan beredar sebagai “promosi entri baru” di mailing list. Dilakukan dengan menyalin dan memasang di aplikasi klien email tentu sudah memadai, namun lebih asyik lagi jika diotomatisasi. Jalankan skrip berbasis Universal Feed Parser secara rutin ke sindikasi blog dan jika terdapat perubahan, modifikasi $HOME/.signature. Latihan sore pertama yang menyenangkan.
Penasaran karena sering tertinggal memasang komentar pertama di blog Priyadi Iman Nurcahyo? Biarkan Universal Feed Parser memeriksa entri terbaru blog orang lain. Arahkan skrip pemeriksa entri ke sindikasi blog Priyadi dan jika sudah ada entri baru, pasang komentar “Pertama…” secara otomatis. Pustaka untuk POST ke servis HTTP sudah umum tersedia.
Berapa sering blog Priyadi harus diperiksa? Harus diingat pula akan hak pemiliknya untuk memblok permintaan akses yang terlalu sering dari sebuah alamat IP, misalnya. Jika cara ini dianggap tidak etis karena akan mendorong vandalisme atau “garing, ah…”, lebih baik tenangkan pikiran Anda agar tidak terlalu obsesif untuk menjadi komentator pertama.
Saya sendiri menggunakan Universal Feed Parser untuk blog paguyuban. Anggota paguyuban yang ingin diberitahu pemasangan entri baru mendapat notifikasi lewat mailing list. Betul, surat elektronik masih lebih populer dibanding pembaca sindikasi. Syarat utama mekanisme ini: pemasangan pemberitahuan lewat email ini harus sepengetahuan dan disetujui oleh semua anggota mailing list. Jika tidak, Anda sampai pada tubir aktivitas pengiriman spam.
Sila bereksperimen dengan kemungkinan lainnya. Saat ada keperluan pemberitahuan akan isi sindikasi, di situlah Universal Feed Parser dapat dipakai.
Thanks, Mark!
Pertama!!!
wah, terlepas dari ‘komentar pertama’, sebenernya pengen ada library semacam universal feed parser di perl. nulis parser untuk segala macam format sindikasi itu teorinya gampang, tapi prakteknya ternyata susah :).
saya tahu maksudnya, tapi saya nggak tahu caranya. soalnya saya bukan programmer.
saya membayangkan begini: jika ada gempa bumi di sebuah tempat, maka secara otomatis kita mendapatkan sms-nya. darimana data gempa itu berasal, bisa dari feed-nya USGS atau BMG.
bisa gitu nggak, bos? jangan diketawain ya kalo ide saya ini nggak mungkin terlaksana.
#3 Pada siaran berita di tv (kalau tidak salah, metrotv) tadi pagi, pihak yang dari BMG mengatakan bahwa sudah memasang sistem sejenis itu. Jadi ketika ada sesuatu yang ‘mencurigakan’, pihak yang berkompeten mendapatkan sebuah ‘peringatan’ melalui sms.
cmiiw
ya, saya? :)
mana? mana cara mengotomatisasi signature di Gmail? baca bolak-balik
Jalansutera, boleh juga idenya, sampai menghubungkan Universal Feed Parser dengan sistem peringatan dini gempa bumi. :)
Ben, untuk mengganti signature di Gmail memang tidak ada. Yang saya sebutkan untuk klien email desktop. Tentu saja, ini bukan berarti tidak mungkin untuk Gmail.
Haha..
Membundel pustaka atas sesuatu yang belum terjadi kesepakatan (Feed itu belum standard) sama seperti logika Microsoft dengan membundel Windows Feed (subset dari pustaka WCF) dalam IE7 dan Vista.
Dengan kata lain, memberangus kebebasan programmer dalam memilih pustaka. Ironis dengan semangat komunitas open-source ;)
Feed itu kan cuma dokumen XML. Mestinya generic XML parser dan XML schema (*.xsd) saja sudah cukup untuk baca feed. Kalo XML parser masih dirasa kurang generic, ya pake text parser saja semacam Regex.
Untuk ide Jalansutera, boleh juga. Cuma harus ingat sifat feed : kita yang ambil (POST/GET), bukan server yang menyebar pesan/broadcast.
Misal kita set satu jam sekali, fetch terakhir jam 12:00. Gempa yang terjadi jam 12:01 baru akan diketahui pada jam 13:00. Keburu kalah sama Detik, keburu basbang.
Dan menjadi basbang untuk masalah kritis seperti gempa bisa berabe implikasinya.
#7: justru karena feed belum standar maka dibutuhkan pustaka semacam ‘universal feed parser’ ini. kalau bikin program yang harusnya mengerti semua jenis feed populer, masa tiap programmer harus mrogram satu-satu dukungan untuk setiap jenis feed.
parser xml generik sama sekali gak cukup. untuk membuat parser yang mendukung semua fitur rss2 mungkin butuh waktu paling tidak 1 minggu, belum termasuk mengumpulkan test case untuk QA. bahkan kalau ada pustaka masing-masing untuk setiap feed, itu masih belum cukup. karena interface masing-masing pustaka mungkin sangat berbeda jauh dan belum stabil seperti di perl.
disini ada proyek yang tertunda gara2 di perl gak ada binatang semacam universal feed parser ini.
#8. Hm.. Bahasa scripting dengan “alam virtualisasi” agak sedikit berbeda paradigmanya.
Pada realitanya, beberapa RSS reader open source melakukan implementasi masing-masing. Memang ada usaha-usaha abstraksi semacam universal feed parser. Tapi tetep kok, underlying work-nya berdasarkan generic xml parser.
Saya punya aplikasi kecil untuk baca RSS (untuk remote logging). Sederhana saja, hanya tinggal membuat satu interface / kelas abstrak lalu implementasi abstract factory pattern untuk kelas konkrit masing-masing standard feed (RSS, RDF, Atom). Real work-nya hanya terletak pada xml schema masing-masing (dan sedikit XPath query). Intinya ada xml, ada schema. Nanti jadinya dataset/resultset/recordset. Setelah itu aksesnya ya sama saja seperti akses ‘database’.
Yah, ini yang saya lakukan di dunia virtualisasi. Sangat mungkin tidak akurat secara saya kurang faham dengan dunia scripting :)
Saya melihatnya sebagai upaya untuk mengikuti RFC no. 3023 seperti yang ditulis pada kaos di bagian bawah situs Universal Feed Parser.
Mengikuti RFC menjadi semacam “tuntutan” beberapa perangkat lunak bebas dan menurut saya hal ini menguntungkan, kendati baru “permintaan untuk dikomentari” (RFC). :)
mungkin ini kali yeee :
http://www.webreference.com/perl/tutorial/8/rss2html.pl
hai
haiiiiiiiiiiiiii
MAS BETULIN DONG WEBNYA