Ini tentang (Modul) Drupal

Don’t judge CMS from its default theme. Atau dalam bahasa yang lebih banyak dipakai orang, Don’t judge book from its cover. Jangan menilai buku dari sampulnya. Kedua kalimat tersebut saya kira mempunyai makna serupa, hanya beda konteks.

Ya, ini sedikit kisah tentang Drupal. Salah satu Content Management System (CMS) yang populer di jagad maya dan nyata. Banyak orang yang merasa kesulitan menggunakannya. Meskipun hanya sekedar memposting. Karna memang bawaannya Drupal tidak menyediakan penyunting teks ‘user-friendly’ seperti yang dipakai WordPress dan Joomla (dua CMS yang juga tidak sedikit pengikutnya). Ketika pengguna mau menulis posting, ia seakan-akan hanya dihadapkan dengan textarea dimana tidak ada tombol-tombol yang biasa digunakan untuk mempercantik tulisan. Namun memang pengguna dapat menggunakan tag-tag HTML secara langsung sebagai gantinya. Ya.. menulis langsung tag HTML di antara tulisan aseli kita. Seperti ketika pengguna menulis dalam modus HTML di WordPress.

Ini salah satu sisi yang mungkin membuat sebagian orang enggan menggunakannya. Meskipun di sisi lain mereka juga mengakui keunggulan Drupal, terutama (katanya) dari sisi keamanan.

Beberapa waktu yang lalu, kurang lebih satu setengah minggu, saya berkesempatan ‘memaksa diri’ untuk berkenalan lebih dalam dengan Drupal. Mendengar dan melihat persepsi yang muncul dari pengguna, seperti yang sudah saya sebutkan, membuat hati ‘was-was’. Apakah Drupal memang seseram yang banyak disangka orang? atau sebaliknya? Maklum, hanya satu atau dua kali saya sempat mencicipi Drupal. Itupun hanya sekedar instalasi dan uninstalasi 😀

Namun rasa was-was tersebut perlahan malah berubah menjadi rasa ingin tahu yang besar. Terlebih ketika pertama kali melihat arsitektur Drupal. Berkenalan dengan core-nya, hook, module, theme, dan lain sebagainya. Sepertinya rasa was-was akan sirna sama sekali. Dan memang harus disirnakan perasaan tersebut agar tugas memberikan nilai tambah terhadap Drupal dapat berjalan dengan lancar.

Ini sebuah tantangan hebat. Sebuah tantangan membuat modul dari satu sistem yang belum pernah dicoba ‘sama sekali’ (oleh saya). Terlebih Drupal menerapkan standar yang sangat menantang dalam frameworknya.

Ada beberapa hal yang saya rangkum dari perkenalan ini (sampai saat ini). Yang pertama, penulis modul harus sudah bisa (meskipun tidak ahli) menggunakan PHP dan database (MySQL atau PostgreSQL). Ini kunci yang utama, karna drupal banyak melakukan transaksi dengan database dan ditulis sebagian besar dalam bahasa PHP. Penguasaan Javascript, CSS, HTML akan sangat membantu dalam membentuk struktur halaman yang valid dan tentunya lebih ‘user-friendly’.

Kedua, Drupal menyodorkan istilah Drupal API (Application Programming Interface). Sesuai dengan arsitekturnya, melalui API inilah modul yang kita buat dapat berinteraksi dengan core-module dan modul-modul lainnya. Mengakses database, meminjam fungsi modul sebelah, mengirim data ke modul tetangga semuanya dilakukan melalui API ini. Bahkan untuk menampilkan halamanpun Drupal sudah menyediakan APInya.

Ketiga, meskipun Drupal tidak menggunakan gaya pemrograman berorientasi obyek (PBO), namun nuansa PBO begitu kental terasa. Ada enkapsulasi dan penurunan, yang dilakukan tanpa melibatkan kelas seperti yang kita jumpai di PBO. Fungsi-fungsi yang dimiliki Drupal-lah yang melakukan itu semua. Anda akan sangat jarang menjumpai obyek (sebagai representasi dari kelas) disana, namun tidak akan kesulitan juga anda biasa menggunakan PBO.

Keempat, hook adalah kata yang wajib hukumnya dimengerti makna, tugas, serta fungsinya. Ketika sudah memahami, maka ia akan menjelma menjadi lebih dari sekedar kata. Ia menjadi senjata utama ketika modul berinteraksi dengan core-module, begitu juga sebaliknya. Berbagai fungsi akan otomatis dieksekusi jika kita menuliskan hook ini sesuai kaidah yang ditetapkan, tanpa harus memanggilnya secara manual. Hook ini sebenarnya hanyalah fungsi biasa dengan pola penamaan dan parameter yang sudah ditetapkan. Hook juga merupakan salah satu bagian dari API yang dimiliki Drupal.

Yang terakhir adalah tema (theme). Ini merupakan senjata yang digunakan untuk mempercantik tampilan Drupal. Theme disini dapat merupakan theme global yang mempengaruhi keseluruhan tampilan, ataupun dilokalisasi khusus modul. Masing-masing modul dapat memiliki tampilan yang ‘keluar’ dari pakem tema situsnya. Dan lagi, kembali ke hook dan API, theme juga merupakan bagian dari keduanya.

Ah, demikian dulu lima hal (mungkin lebih) yang saya rangkum prihal perkenalan dengan Drupal kali ini. Mungkin lain kali bisa lanjut merangkum lagi, karna banyak hal menarik yang ditemukan ketika mengobok-obok cara kerja dan API Drupal. Banyak hal yang masih misteri di Drupal dan ini yang kadang kala memeningkan kepala 😀

Iklan

Silahkan berkomentar ...

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s