25 September 2012

Twitter Webbase Client

Bermula dari permintaan si cinta @DiahEstiani yg meminta via/from custom dari apps twitter, maka yang terpikir oleh saya adalah bagaimana menyajikan bentuk webbase yang kompatibel dan mudah digunakan. Sebelomnya saya sudah membikinnya tapi hanya posting saja tentunya ini bikin ribet dan sulit untuk pemakai.

Maka saya iseng-iseng mencari webbase untuk client webbase dan tentunya bertajuk Open Source, setelah berhari-hari saya mendapatkan Dabr, untuknya bukan cuma webbase untuk digunakan di Desktop saja, featurenya bisa untuk mobile juga. Setup Dabr ini tidaklah terlalu sulit, hanya 3 langkah saja (Register Apps di dev.twitter.com, setup webserver di hostingan, dan Dabr itu sendiri).

Yang dibutuhkan untuk register API Twitter:
  • Name: (yg selanjutnya menjadi nama app anda, via/from di twitter)
  • Website: (Jika diklik di apps via/from akan dilinkan kemana)
  • Application type: Read, Write and Access direct messages
  • Consumer key:
  • Consumer secret:
Selanjutnya kita siapkan hostingan, Dabr tidak menyimpan Username/Password, melainkan langsung diproses oleh Oauth twitter. System yang dibikin oleh dev Twitter untuk keamanan dan menghindari pihak ke 3 untuk mencuri data-data yang bersifat privasi. Beberapa persyaratan yg harus dipenuhi untuk ngehosting Dabr adalah:
dsb) Setup Dabr, yg diperlukan hanya Consumer key dan Consumer secret, kita letakan di config.php.
budsz:~/a$ fetch http://dabr.googlecode.com/files/dabr-r430.zip dabr-r430.zip
budsz:~/a$ ls -l
total 88
drwxr-xr-x   3 budsz  poison    512 Sep 25 14:31:38 2012 .
drwxr-xr-x  26 budsz  poison   1536 Sep 25 14:30:47 2012 ..
drwxr-xr-x   5 budsz  poison    512 Sep 25 14:31:34 2012 dabr
-rw-r--r--   1 budsz  poison  82709 Aug 16 19:15:20 2011 dabr-r430.zip
budsz:~/a$ unzip dabr-r430.zip
Archive:  dabr-r430.zip
d dabr
extracting: dabr/.htaccess
extracting: dabr/.project
extracting: dabr/about.html
d dabr/browsers
extracting: dabr/browsers/bigtouch.css
extracting: dabr/browsers/bigtouch.php
extracting: dabr/browsers/blackberry.php
extracting: dabr/browsers/desktop.php
extracting: dabr/browsers/list.csv
extracting: dabr/browsers/text.php
extracting: dabr/browsers/touch.css
extracting: dabr/browsers/touch.js
extracting: dabr/browsers/touch.php
extracting: dabr/browsers/worksafe.php
d dabr/common
extracting: dabr/common/advert.php
extracting: dabr/common/Autolink.php
extracting: dabr/common/browser.php
extracting: dabr/common/Embedly.php
extracting: dabr/common/Extractor.php
extracting: dabr/common/HitHighlighter.php
extracting: dabr/common/lists.php
extracting: dabr/common/menu.php
extracting: dabr/common/OAuth.php
extracting: dabr/common/Regex.php
extracting: dabr/common/settings.php
extracting: dabr/common/theme.php
extracting: dabr/common/twitter.php
extracting: dabr/common/user.php
extracting: dabr/config.sample.php
d dabr/images
extracting: dabr/images/dabr.png
extracting: dabr/images/dm.png
extracting: dabr/images/dmL.png
extracting: dabr/images/map.png
extracting: dabr/images/mapL.png
extracting: dabr/images/q.png
extracting: dabr/images/qL.png
extracting: dabr/images/reply.png
extracting: dabr/images/replyall.png
extracting: dabr/images/replyallL.png
extracting: dabr/images/replyL.png
extracting: dabr/images/retweet.png
extracting: dabr/images/retweeted.png
extracting: dabr/images/retweetedL.png
extracting: dabr/images/retweetL.png
extracting: dabr/images/star.png
extracting: dabr/images/starL.png
extracting: dabr/images/star_grey.png
extracting: dabr/images/star_greyL.png
extracting: dabr/images/trash.gif
extracting: dabr/images/trashL.png
extracting: dabr/images/twitter_button_2_lo.gif
extracting: dabr/index.php
Rubah permission untuk setiap filenya dulu:
budsz:~/a/$ cd dabr
budsz:~/a/dabr$ find . -type f -exec chmod 644 *.* {} \;
budsz:~/a/dabr$ cp config.sample.php config.php
Edit file config.php, isi dengan data-data yg sudah didapatkan ketika kita registrasi apps di Twitter:
// OAuth consumer and secret keys. Available from http://twitter.com/oauth_clients
define('OAUTH_CONSUMER_KEY', 'Isi_dengan_Consumer_key_anda');
define('OAUTH_CONSUMER_SECRET', 'Isi_dengan_Consumer_secret_anda');
Sisanya bisa anda setting sesuai dengan kebutuhan anda seperti
// API key for Twitpic - sign up at http://dev.twitpic.com/
define('TWITPIC_API_KEY', '');
// bit.ly login and API key for URL shortening
define('BITLY_LOGIN', '');
define('BITLY_API_KEY', '');
Setelah itu kita perlu melakukan Rewrite dari webserver kita, tergantung webserver apa yang anda pake, saya menggunakan Lighttpd dengan syntax sbb:
$HTTP["host"] =~ "subdomain\.domain\.tld" {
    dir-listing.exclude = ( "favicon.ico" )
    server.document-root = "/path/to/wwwdir"
    url.rewrite-if-not-file = (
                                "^/w/(.*)\?(.*)$"   => "/w/index.php?q=$1&$2",
                                "^/w/(.*)$"         => "/w/index.php?q=$1",
    )
}
DONE!