Kita akan sempurnakan module sebelumnya untuk dilengkapi dengan permission. Untuk simpelnya, semua source code sudah ada di attachment. Sebaiknya module yang lama dinonaktifkan saja.
Dalam module ini kita masih akan menampilkan teks, tapi dengan sedikit perbedaan berikut:
- Ada sebuah menu yang dapat di-klik oleh publik (role anonymous user). Tampilan akan tertulis "Public Access".
- Ada sebuah menu yang hanya dapat di-klik oleh member (role authenticated user). Tampilan akan tertulis "Member Area".
1. Setup Module
Tidak ada perbedaan dengan sebelumnya selain nama module kali ini adalah "dqs_halo2". Pastikan semua prefix nama fungsi sudah menjadi "dqs_halo2".
Nama module sengaja saya ganti agar rekan sekalian dapat mencermati perbedaan kodenya (karena module yang lama tidak perlu dihapus).
2. Definisikan Permission
Ini adalah salah satu kecanggihan Drupal yang saya sangat sukai. Permission adalah kunci untuk mewujudkan pembatasan akses user. Disini kita bisa membuat pembatasan akses atas setiap fungsionalitas module.
Untuk keperluan tutorial ini, kita cukup mendefinisikan dua macam permission, yaitu: "dqs user" dan "dqs admin". Permission didefinisikan dengan mudah di baris kode berikut:
function dqs_halo2_perm() {
return array('dqs user', 'dqs admin');
}
Cermati subbab berikut untuk melihat bagaimana efek permission terhadap setiap menu/dispatcher.
3. Definisikan Dispatcher
Setiap fungsionalitas module (view, edit, print, dsb) memiliki identitas yang disebut "path". Path ini merupakan satu kesatuan dengan URL, yaitu sesudah parameter "?q=".
Dalam tutorial ini, kita akan buat path berikut:
http://localhost/dqs/?q=dqs_halo/admin
Perhatikan bahwa walaupun nama module ini adalah "dqs_halo2", tapi saya tetap mempertahankan nama path. Pada prinsipnya, Anda bebas memberi nama modul dan path.
Sebuah menu hanya akan ditampilkan jika user memiliki hak akses yang sesuai.
Jika user tidak memiliki hak akses, Drupal akan otomatis menampilkan
"Access Denied". Dalam kode berikut, path "dqs_halo" hanya boleh diakses oleh user dengan permission "dqs user".
'path' => 'dqs_halo',
'title' => 'DQS Default',
'callback' => 'dqs_halo2_default',
'access' => user_access('dqs user'),
'type' => MENU_NORMAL_ITEM
);
Agar sebuah menu hanya dapat di-klik oleh authenticated user, maka path "dqs_halo/admin" hanya dapat diakses oleh user dengan permission "dqs admin".
'path' => 'dqs_halo/admin',
'title' => 'DQS Admin',
'callback' => 'dqs_halo2_admin',
'access' => user_access('dqs admin'),
'type' => MENU_NORMAL_ITEM
);
4. Coding!
Sementara ini tidak ada perubahan substansial selain kita tambahkan fungsi handler untuk menampilkan halaman Member Area.
$output .= theme_box('Member Area', 'Any text goes here...');
return $output;
}
5. Set Permission
Sesudah handler selesai di-coding, pastikan bahwa permission module sudah di-set. Ini sangat penting karena bagian ini sering terlupakan, kita merasa logic coding sudah benar padahal kita login sebagai Administrator sehingga semua fungsi menghasilkan output yang benar.
Set permission dilakukan melalui menu "Set Permission" di "Administer by Module".
Dalam tutorial ini, pastikan:
- permission "dqs user" diset ke "anonymous user"
- permission "dqs admin" diset ke "authenticated user"
Sangat penting untuk melakukan pengujian intensif pada tahap ini. Coba Anda logout kemudian akses langsung ke path "dqs_halo/admin". Jika tidak tampil "Access Denied", pasti Anda lupa set permission.
Selamat mencoba ya!

Comments
viagra
generic viagra , viagra ,
cialis
viagra , cialis ,
cialis
cialis , cialis ,
viagra
viagra , viagra ,
cialis
secret restaurant recipe , cialis , cialis ,
reduce belly fat
viagra , viagra , free online tv , reduce belly fat ,
Title
Hi
Bro..., pada tutor dqs_halo
Bro..., pada tutor dqs_halo (yang pertama) module nya error tuh pada drupal 6.9, pesannya kalo dimodule :
"This version is incompatible with the 6.9 version of Drupal core." saya sudah edit (menyamakan isi file dqs_helo.info) dengan beberapa file yang sudah ada dimodule tetap saja error.
Sedangkan kalo dipanggil via browser juga error "Page not Found". Semoga bisa dikasih pencerahan.
DQS Goes to Drupal 6
bro ndoel, sekarang DQS sudah support Drupal 6. Details ada di:
http://www.drupalquickstart.com/node/28
hm... semua tutorial disini
hm... semua tutorial disini memang masih berbasis D5. memang akn ada beberapa perbedaan jika akn dipasang di D6. saya sendiri belum memakai D6 karena modul2nya masih belum sebanyak D5.
jika nanti saya sudah belajar D6, pastinya akan saya posting disini. atau mungkin bro ndoel ingin sharing disini juga boleh
nanya..
permission dah d set, d user ga ada menu nya..
sedangkan d admin ada 2 link: DQS default, dan sub menu DQS admin.
mohon pencerahan.. thx