Membangun Portal
Sendiri dengan
DotNetNuke
P
erkembangan jaringan Internet menjadikan dunia
semakin sempit. Setiap orang bisa mendapatkan
informasi dunia melalui Internet dari manapun dia
berada. Dengan menggunakan teknologi Internet, semua
informasi dapat disajikan dan dilihat oleh semua orang di
seluruh dunia tanpa batasan jarak dan waktu.
Kelebihan Internet dibandingkan media lain tersebut membuka
peluang untuk menjajakan barang dagangan maupun profile
perusahaan dalam sebuah halaman web. Transaksi bisnis
maupun marketing dapat dilakukan melalui teknologi Internet.
Perkembangan dunia Internet tidak lepas dari kemajuan dunia
pemrograman web. Pembuatan portal di Internet kini tidak lagi
harus mengetahui teknik HTML dan perprograman. Tiap orang
bisa membuat halaman web dengan template ataupun CMS
(Content Management System). Dengan CMS, pengguna awam
bisa menambahkan dan memodifikasi isi portal dengan mudah,
semudah pembuatan dokumen Microsoft Word.
Buku ini membahas secara singkat tentang teknologi CMS yang
berbasis teknologi Microsoft ASP.NET. Pembahasan dimulai
dengan pengenalan dan instalasi, dilanjutkan dengan seting
sebuah situs. Pada pertengahan bab disajikan teknik pengaturan
tampilan situs sehingga sesuai dengan profil perusahaan. Di
akhir pembahasan disinggung bagaimana membuat custom code
(kode sendiri) yang sesuai dengan kebutuhan bisnis perusahaan.
Buku ini ditujukan untuk para developer dan desainer baik yang
sudah jago maupun pemula dalam pemrograman ASP.NET
maupun platform lain. Bahkan desainer dapat memanfaatkan
buku ini tanpa harus mengetahui teknik pemrograman
ASP.NET dalam pembuatan desain tampilan. Pembaca selain
programmer juga bisa memanfaatkan buku ini sebatas instalasi
dan konfigurasi. Diharapkan pembaca dapat memahami
bagaimana memanfaatkan DotNetNuke dalam kebutuhan
sehari-hari baik dalam bisnis maupun pemrograman.
ii Sedap Sekejap Membuat Website dengan DotNetNuke
Vendors _________________________________________ 42
SQL _____________________________________________ 43
Schedule _________________________________________ 44
Languages _______________________________________ 44
Search Admin_____________________________________ 45
List _____________________________________________ 45
Host Accounts ____________________________________ 46
Skins ____________________________________________ 46
Whats New dan Dashboards_________________________ 47
Rangkuman ______________________________________ 47
Module ______________________________________ 49
Penambahan Module Pada Halaman __________________ 49
Pengaturan Setting Module __________________________ 50
Pemasangan Module Bawaan DotNetNuke _____________ 51
Pemasangan Module Pihak Ke-Tiga ____________________ 51
Rangkuman ______________________________________ 52
Membership dan Hak Akses Pengguna ____________ 53
Penambahan Pengguna _____________________________ 53
Penambahan Role _________________________________ 55
Penambahan Role Pada Pengguna ____________________ 57
Rangkuman ______________________________________ 58
Merubah Tampilan dalam Sekejap dengan Skin ______ 59
Instalasi Skin______________________________________ 60
Pemakaian Skin ___________________________________ 62
Pemakaian Skin pada Halaman Tertentu ________________ 62
Rangkuman ______________________________________ 64
Pembuatan Skin ______________________________ 65
Daftar Isi v
Peracikan Skin_____________________________________ 65
Lokasi Skin dan Isinya _______________________________ 66
Pembuatan Skin Sederhana __________________________ 67
Rangkuman _______________________________________ 70
Pembuatan Module ____________________________ 71
Arsitektur DoNetNuke ______________________________ 71
Mulai Pembuatan Module ____________________________ 73
Pembuatan Tabel dan Custom Business Object___________ 74
Pembuatan DAL ___________________________________ 77
Pembuatan BLL ___________________________________ 78
Pembuatan UI _____________________________________ 79
Pendaftaran Module secara Manual ___________________ 82
Pemaketan Module untuk Didistribusikan _______________ 84
Rangkuman _______________________________________ 87
Pembuatan Situs Small Business _________________ 88
Penambahan Halaman ______________________________ 89
Pemasangan Module yang Dibutuhkan _________________ 90
Module Text/HTML Untuk ISI Konten __________________ 92
Module Announcement Untuk Pembuatan Galeri Produk ___ 94
Module Feedback untuk Dapatkan Umpan Balik dari Pengunjung
________________________________________________ 96
Penggantian Skin Default ____________________________ 96
Rangkuman _______________________________________ 97
Teknik Pembuatan Multiple Website_______________ 99
Portal Default _____________________________________ 99
Penambahan Portal ________________________________ 99
Rangkuman ______________________________________ 102
BAB 1
PENGENALAN DAN
INSTALASI DOTNETNUKE
D
otNetNuke (DNN) adalah framework aplikasi web
opensource yang dibuat dengan VB.NET. DotNetNuke
merupakan salah satu content management system
(CMS) terpopuler saat ini. Sebagai CMS, DNN memiliki
kemampuan untuk menambahkan fungsionalitas dan mengubah
tampilan dengan mudah.
DotNetNuke pada awalnya berasal dari proyek lain yaitu
IBuySpy Workshop. IBuySpy Workshop merupakan aplikasi
yang dibuat oleh Shaun Walker sebagai pengembangan dari
IBuySpy portal starterkit yang dibuat oleh Microsoft sebagai
contoh aplikasi untuk .NET Framework. Dari proyek ini, Shaun
Walker terus mengembangkannya dan kemudian mengubah
nama menjadi DotNetNuke. Nama DotNetNuke ini diambil
dari .NET dan nuke yang mana nuke merupakan bagian dari
nama CMS yang sudah populer sebelumnya seperti PHPNuke
dan PostNuke.
DotNetNuke memiliki inti aplikasi yang dapat ditambah
funsionalitasnya dengan menggunakan sistem module dan
provider. Sedangkan tampilan dapat diubah dalam sekejap
dengan skin. Dalam paket DotNetNuke standar telah disertakan
beberapa module dan skin yang dapat dimanfaatkan untuk
membuat web sederhana. Beberapa module tambahan seperti
sistem e-commerce, galeri foto, blog, forum, dan lain-lain dapat
diunduh dari situs web DotNetNuke. Module dan skin dapat
dibuat sendiri maupun beli dari vendor/programmer lain.
KEBUTUHAN SISTEM
Untuk membangun portal DotNetNuke diperlukan peranti
lunak sebagai berikut.
Sistem Operasi Windows 2000/2003/2008 atau Windows
XP/Vista/7. Windows XP/Vista/7 hanya digunakan
untuk membangun aplikasi module dan skin.
Web Server IIS 6 atau IIS 7.
Microsoft .NET Framework 2.0
Microsoft SQL Server 2000/2005/2008. Bisa juga
menggunakan versi SQL Server 2005/2008 Express.
Microsoft ASP.NET Ajax 1.0 atau Microsoft ASP.NET
Ajax 3.5
Microsoft Visual Studio 2008 SP1 untuk tujuan
pembuatan module dan skin. Bisa juga menggunakan
Visual Web Developer 2008 SP1 Express Edition.
Dalam buku ini penulis menggunakan Windows 7 dengan IIS 7,
SQL Server 2008 Express dan Visual Web Developer 2008 SP1
Express Edition.
INSTALASI DOTNETNUKE
DotNetNuke dapat diunduh dari situs resminya di
www.dotnetnuke.com maupun dari repository codeplex di
http://dotnetnuke.codeplex.com. Instalasi DotNetNuke dapat
dilakukan dengan Web Platform Installer versi 2.0 yang secara
otomatis melakukan konfigurasi terhadap sistem. Cara lain
adalah dengan instalasi manual.
Web Platform Installer memerlukan akses ke console komputer
yang akan diinstall. Sistem instalasi ini memudahkan pengguna
yang memiliki akses langsung ke console server. Dengan Web
Platform Installer semua kebutuhan komponen seperti .NET
Framework, database komponen, dan komponen lain dapat
dideteksi sebelum melakukan instalasi. Jika ada kebutuhan
Pengenalan dan Instalasi DotNetNuke 3
PERSIAPAN DATABASE
Pertama kali yang harus disiapkan untuk penginstalan
DotNetNuke adalah pembuatan database dan login-nya.
Pembuatan database dapat dilakukan dengan SQL Server
Management Studio sebagai berikut.
INSTALASI MANUAL
Instalasi manual DotNetNuke dilakukan seperti instalasi
aplikasi ASP.NET pada umumnya. Namun ada beberapa
konfigurasi yang harus dilakukan untuk membuat DotNetNuke
berjalan dengan baik. Berikut langkah-langkah instalasi
DotNetNuke pada IIS7.
konfigurasi hak akses atas folder sudah benar. Jika pada tahap
sebelumnya sudah mengkonfigurasi folder dengan benar, akan
muncul pesan “Your site passed the permission check.”. Tekan
tombol Next untuk melanjutkan.
D
otNetNuke bukan sekedar Content Management System
(CMS) tapi lebih sebagai aplikasi portal. Satu instance
DotNetNuke dapat dipasang lebih dari satu portal.
Oleh karena DotNetNuke dapat memiliki lebih dari satu portal
yang masing-masing portal dikelola oleh seorang adminsitrator.
Terdapat dua jenis administrator dalam DotNetNuke. Satu
super user admin (host) yang memiliki hak penuh terhadap
semua portal. Yang kedua adalah administrator portal yang
memiliki hak admin terhadap portal miliknya sendiri.
Super user memiliki hak pemeliharaan atas semua portal yang
meliputi pembuatan dan penghapusan portal, seting host pada
semua portal. Selain itu juga memiliki hak penuh terhadap
instalasi module, bahasa (untuk localization), Lists, SQL Query
dan Schedule.
Administrator memiliki hak atas portal setting, security role, user
account, newsletter, skin, vendor, site files, dan site log.
Administrator hanya memiliki hak atas portal yang
bersangkutan dan tidak memiliki akses terhadap portal lain.
Semua portal dalam satu instalasi DotNetNuke menggunakan
satu instance dan database yang digunakan bersama-sama.
Setiap portal dapat dibuat menjadi portal induk dengan nama
domain sendiri (misal www.domainku.com), atau menjadi portal
anak dengan URL yang merupakan bagian dari domain portal
host (misal www.domainku.com/namaportalku/).
ORGANISASI ELEMEN-ELEMEN
PORTAL
Sebelum memulai untuk melakukan administrasi portal, ada
beberapa hal mendasar yang harus diketahui mengenai elemen-
elemen yang ada dalam portal. Terdapat empat organisasi
24 Sedap Sekejap Membuat Website dengan DotNetNuke
PORTAL ANAK/INDUK
Portal anak adalah portal yang berada di bawah portal yang lain.
Dalam DotNetNuke portal anak menggunakan subpath di
bawah portal induknya. Portal induk merupakan portal utama
yang dapat berisi lebih dari satu portal anak. Jika instalasi
DotNetNuke berada di root sebuah situs web, alamat Url portal
induk akan memiliki format http:://www.domainanda.com/.
Sedangkan alamat Url untuk portal-portal anaknya akan
memiliki format http://www.domainanda.com/PortalAnak.
HALAMAN (PAGE)
DotNetNuke menggunakan konsep halaman sebagai wadah
untuk menempatkan semua module. Halaman ini dapat disusun
secara hirarki dari induk sampai anak-anaknya. Halaman induk
secara default akan ditampilkan dalam menu sedangkan anaknya
dapat diakses melakui sub-menu-nya.
PANE
Pane merupakan area tempat pada halaman untuk menaruh
modules untuk setiap halaman. Dengan menggunakan pane,
Anda dapat dengan mudah mengatur tata letak suatu module.
Biasanya terdapat beberapa pane dalam satu halaman seperti
pane atas, pane bawah, pane kiri, pane kanan dan pane isi.
CONTAINER
Container memungkinkan anda untuk mempercantik tampilan
tanpa merubah desain skin. Container digunakan sebagai
tempat menaruh module. Satu Container hanya bisa diisi dengan
satu module.
MODULE
Module adalah komponen DotNetNuke yang dapat dipasang
dan dibuang dari sistem. Module dengan mudah dapat
dipindahkan dan diperbarui isinya. Dalam instalasi DotNetNuke
Administrasi Portal 25
CONTROL PANEL
Control Panel adalah sebuah jalan pintas untuk mengerjakan
berbagai tugas administratif yang biasa dilakukan. Control Panel
berada di bagian atas halaman berupa kotak kecil yang terdiri
dari tiga radio-button dan satu ikon untuk menampilkan seluruh
fungsinya. Tiga radio button digunakan untuk melihat tampilan
dalam tiga modus: view, edit dan design.
MENU ADMIN
Dalam menu Admin terdapat 15 sub menu yang digunakan
untuk melakukan administrasi terhadap portal.
Administrasi Portal 29
Site Settings
Site Settings dapat diakses melaui menu Admin Site Settings
atau di Control Panel bagian tugas-tugas umum. Site Settings
berisi konfigurasi yang dikelompokkan berdasarkan kategori
yang dapat dibentangkan dan diciutkan.
Kelompok pertama adalah Basic Setting, yang dikelompokkan
lagi menjadi tiga kelompok yaitu: Site Detail, Site Marketing
dan Appearance. Site Detail berisi informasi mengenai nama,
kata kunci yang digunakan untuk mesin pencari dan informasi
hak cipta. Site Marketing digunakan untuk mengoptimalkan
situs dengan mesin pencari. Appearance digunakan untuk
merubah logo dan tampilan dengan skin.
30 Sedap Sekejap Membuat Website dengan DotNetNuke
PAGES
Menu Pages atau halaman digunakan untuk menambah,
menghapus, mengedit dan mengubah urutan halaman dalam
menu. Selain menggunakan menu Admin, pengaturan halaman
dapat diakses dari Control Panel.
Pada halaman pengaturan page terdapat tiga bagian utama yaitu
pengaturan urutan halaman (Move Page), Action (edit, view dan
delete) dan Add New Page. Untuk membuat halaman baru dapat
melalui tombol Add New Page pada bagian kanan bawah
halaman atau menu (segi tiga kecil ke bawah) di bagian kanan
atas.
34 Sedap Sekejap Membuat Website dengan DotNetNuke
SECURITY ROLES
DotNetNuke menggunakan role untuk mengelompokkan user
berdasarkan haknya. Anda bisa menambahkan role sendiri dan
menghapus role yang didefinisikan sendiri. Anda juga bisa
membuat role group yang berisi role lainnya.
USER ACCOUNTS
User account digunakan untuk menambahkan, mengubah profile
dan menghapus user.
36 Sedap Sekejap Membuat Website dengan DotNetNuke
Setelah user terbentuk, Anda bisa mengatur role untuk user yang
baru saja dibuat. Tampilkan semua user dengan menekan
tombol All atau cari berdasarkan abjad. Tekan edit pada user
yang akan diberikan role.
Administrasi Portal 37
SKINS
Pengaturan skin dapat diakses melalui menu Admin.
DotNetNuke memungkinkan untuk mengubah tampilan hanya
dengan mengganti skin. Dalam pengaturan skin terdapat dua
macam pilihan untuk mengubah tampilan yaitu skin dan
container. Skin digunakan untuk tampilan seluruh halaman
sedangkan container hanya berlaku untuk wadah module saja.
Container hanya bertanggung jawab atas tampilan judul dan isi
module.
P
ada bab ini akan diterangkan bagaimana mengelola
portal-portal DotNetNuke dan fitur-fitur lainnya. Host
dikelola oleh user dalam kelompok host account. Sebagai
administrator host, selain memiliki hak atas administrasi portal,
juga memiliki hak khusus yang hanya dimiliki oleh administrator
host. Host bertanggung jawab untuk mengkonfigurasi setingan
global dari sebuah instalasi DotNetNuke. Setingan global
tersebut meliputi basic seting, proxy seting, SMTP Server setting,
Performance setting dan lain-lain. Semua setingan tersebut akan
berpengaruh pada semua portal yang ada. Host memiliki
kewenangan untuk menambahkan portal baru dan juga
kewenangan untuk menambahkan ekstension baru seperti skins,
module dan language. Semua ekstension yang telah
ditambahkan oleh Host akan dapat diakses oleh Admin portal
masing-masing.
HOST SETTINGS
Host settings berisi berbagai informasi dan konfigurasi berkaitan
dengan host. Host setting adalah bagian yang sangat penting
sekali karena pada bagian inilah akses pada setingan-setingan
mendasar dan penting diberikan. Setingan-setingan yang telah
dilakukan pada “Host Settings” akan berpengaruh pada semua
portal yang ada. Setingan pada “Host Settings” terdiri dari dua
bagian utama yaitu “Basic Settings” dan “Advanced Settings”.
“Basic Settings” terdiri dari informasi-informasi konfigurasi dan
beberapa setingan mendasar. Informasi konfigurasi yang
tercantum adalah seperti informasi produk DotNetNuke,
informasi versi DotNetNuke, path fisik, waktu server dan lain-
lain. Sedangkan setingan mendasar yang ada meliputi setingan
host detail, appearance (tampilan) dan payment settings jika
portal hendak dijadikan sebuah portal ecommerce yang
dimungkinkan dilakukan sebuah transaksi pembayaran.
Bagian kedua dari “Host Settings” ini adalah “Advanced
Settings”. Sesuai dengan namanya, “Advanced Settings”
memerlukan wawasan yang lebih tinggi untuk dapat melakukan
setingan dengan baik dan benar. Advanced Settings ini meliputi
Authentication Settings, Friendly Url Settings, Request Filter
Settings, Proxy Settings, SMTP Server Settings, Performance
Settings, Compression Settings dan lainnya.
PORTAL SETTING
Seperti telah disebutkan di atas, Host memiliki kemampuan
untuk menambahkan portal baru. Penambahan portal baru
tersebut dapat dilakukan melalui “Portal Settings”. Tidak hanya
penambahan yang dapat dilakukan, namun juga perbaikan
portal dan penghapusan portal dapat dilakukan dari “Portal
Settings” ini. Sehingga inti fungsionalitas dari “Portal Settings”
adalah berupa manajemen portal.
MODULE DEFINITIONS
Melalui module, kemampuan DotNetNuke bisa ditambah dan
ditingkatkan. Kewenangan untuk menambahkan module hanya
dimiliki oleh Host melalui “Module Definitions”. Module-
module yang ditambahkan dan dipasang bisa berupa module-
module bawaan DotNetNuke dan bisa juga berupa module-
module pihak ke tiga. Semua module yang telah dipasangkan
pada pemasangan DNN kemudian dapat diakses oleh seluruh
Admin portal melalui “Control Panel” untuk ditambahkan pada
halaman-halaman portal masing-masing.
FILE MANAGER
Setiap portal DNN akan memiliki “File Manager” masing-
masing yang dapat digunakan oleh Admin untuk mengatur
folder dan file-file yang akan digunakan di portal seperti file
dokumen dan file gambar. Selain portal “File Manager”, ada
juga apa yang disebut sebagai host “File Manager” yang hanya
ada satu untuk sebuah installasi DotNetNuke. Host “File
Manager” digunakan oleh Host untuk mengatur file-file Host
seperti skins dan banners. Host “File Manager” akan mengarah
pada folder _default sedangkan portal “File Manager” akan
mengarah pada folder portal root yang diindikasikan oleh angka.
VENDORS
Vendors digunakan untuk mengatur vendor dan banner yang
bersesuaian dengannya. Selain itu juga, vendors dapat digunakan
untuk mengatur afiliasi. Semua fitur tersebut disediakan untuk
mengkomersialkan (monetize) portal sehingga portal dapat
menghasilkan pendapatan.
Administrasi Host 43
SQL
SQL disediakan untuk akses langsung ke database melalui
sintaks TSQL. Dengan tersedianya fitur SQL ini, kita dapat
memelihara database secara langsung tanpa menggunakan SQL
Management Studio. Fitur ini bermanfaat bagi portal
DotNetNuke yang ditaruh di web hosting yang mana mengalami
kesulitan untuk terhubung langsung dengan database melalui
SQL Management Studio. Untuk menggunakan fitur ini, cukup
login sebagai Host dan masuk ke halaman SQL ini.
SCHEDULE
Sesuai dengan namanya, Schedule digunakan untuk
penjadwalan penjalanan sebuah task. Task tersebut akan
dijalankan pada rentang waktu tertentu.
LANGUAGES
Languages akan memungkinkan Host untuk mengatur bahasa-
bahasa yang didukung oleh portal-portal. Pengaturan berupa
pemasangan bahasa-bahasa yang akan didukung, ataupun untuk
kebutuhan pelepasannya (uninstall). Selain itu juga,
dimungkinkan untuk membuat apa yang disebut sebagai
“Language Pack”. Language Pack akan mengatur lokalisasi
bahasa yang digunakan pada portal. Contoh language pack
bahasa Indonesia dapat ditemukan disitus codeplex:
http://www.codeplex.com/BahasaLanguagePack.
SEARCH ADMIN
Search Admin digunakan untuk mengkonfigurasi mesin pencari
DotNetNuke. Setingan yang dilakukan dapat berupa setingan
panjang maksimal sebuah kata ataupun panjang minimal sebuah
kata. Search Admin juga dapat digunakan untuk me-reindex
secara manual sehingga konten-konten yang baru ditambahkan
dapat tertata (indexed) dan langsung dikenali oleh mesin pencari
DotNetNuke.
LIST
Lists digunakan untuk mengatur item-item “text” dan “value”
yang kemudian bisa digunakan untuk mengisi item-item
dropdownlist. Item-item dapat ditambahkan secara dinamis
melalui List ini. Secara internal item-item tersebut kemudian
dapat dikenali oleh ListController dan dapat diambil data-
datanya dengan menggunakan method
GetListEntryInfoCollection().
HOST ACCOUNTS
Masing-masing portal DNN memiliki “User Accounts” masing-
masing. Namun demikian, untuk satu buah installasi DNN
hanya terdapat satu “Host Accounts”. Host Accounts digunakan
untuk mengatur user-user dengan role Host. Pengaturan tersebut
berupa penambahan, penghapusan dan perbaikan.
SKINS
Masing-masing portal Admin dapat mengubah tampilan
portalnya melalui skin. Namun secara default, admin portal
tidak dapat memasang skin baru. Yang dapat memasang skin
baru hanyalah user Host. Namun demikian, Host dapat
memberikan kemampuan pemasangan skin pada admin portal
melalui Host Settings.
RANGKUMAN
Administrasi Host digunakan untuk melakukan setingan global
terhadap instalasi DotNetNuke. Setingan global tersebut akan
mempengaruhi portal-portal yang ada. Selain melakukan
setingan global, administrasi Host juga memungkinkan untuk
melakukan penambahan ekstension misalnya berupa skins,
module dan language pack.
BAB 4
MODULE
D
alam DotNetNuke, module adalah sebuah istilah yang
sering diungkapkan dan dibahas. Module dan
pemanfaatannya akan dibahas pada bab ini.
Dari sisi pengguna, module adalah sebuah aplikasi kecil yang
berjalan di atas halaman-halaman DotNetNuke. Melalui
module, para pengguna DotNetNuke memperkaya konten
website atau portal mereka. Ada module yang digunakan untuk
menampilkan gambar, artikel berita dan ada juga module yang
digunakan untuk menampilkan informasi saham secara dinamis.
Kalau dilihat dari sisi pengembang, module adalah sebuah
mekanisme untuk meningkatkan fungsionalitas DotNetNuke.
Dengan module maka pengembang memiliki keleluasaan untuk
menambah fungsi-fungsi baru pada DotNetNuke.
RANGKUMAN
Dari sisi pengguna, module adalah sebuah aplikasi yang berjalan
di atas halaman DotNetNuke. Module-module tersebut akan
memperkaya isi dari website ataupun portal DotNetNuke.
Sedangkan dari sisi developer, module adalah sebuah
mekanisme untuk meningkatkan fungsionalitas DotNetNuke.
Untuk memperkaya website atau portal, DotNetNuke datang
dengan lusinan module-module bawaan yang siap langsung
digunakan secara “out of the box” tanpa tambahan
pemrograman sedikit pun. Selain memperkaya isi dengan
menggunakan module-module bawaan, kita juga dapat
memperkaya isinya dengan menggunakan module-module pihak
ketiga.
BAB 5
MEMBERSHIP DAN HAK
AKSES PENGGUNA
M
embership berguna untuk mengatur siapa saja yang
menjadi anggota dari portal. Masing-masing anggota
memiliki hak akses yang berbeda tergantung role yang
diberikan.
DotNetNuke memiliki built-in membership yang dapat
digunakan untuk memvalidasi dan menyimpan kredensial
seorang pengguna. Membership akan sangat membantu dalam
hal manajemen autentikasi pada website dan portal. Saat ini
DotNetNuke mendukung tiga sistem autentikasi yaitu
autentikasi DotNetNuke, LiveID dan OpenID. Membership
biasa dipadukan dengan role. Role adalah sebuah mekanisme
autorisasi atau hak akses yang diterapkan pada pengguna.
Dengan menggunakan role maka hak akses pada sumber daya
website ataupun portal dapat dibagi-bagi dan dikelompokkan.
Bab ini akan mencoba membahas role dan membership
DotNetNuke dan bagaimana mengambil manfaat dari
keduanya.
PENAMBAHAN PENGGUNA
Proses penambahan pengguna pada website dan portal
DotNetNuke adalah hal yang mudah dan intuitive. Para
pengguna yang telah ditambahkan dapat memiliki nama
pengguna (user name) dan sandi untuk login ke dalam website
ataupun portal. Pengguna yang ditambahkan pada website
ataupun portal dapat dikirimkan notifikasi email untuk
pemberitahuan mengenai membership mereka. Berikut adalah
langkah-langkah penambahan pengguna.
Login sebagai admin atau host, lalu kemudian masuk ke “User
Accounts” dari menu admin.
54 Sedap Sekejap Membuat Website dengan DotNetNuke
PENAMBAHAN ROLE
Role akan membatasi hak akses pengguna pada sumber daya
website ataupun portal. Sumber daya ini bisa meliputi halaman
ataupun module. Berikut adalah langkah-langkah
menambahkan role pada website ataupun portal DotNetNuke.
Login sebagai admin ataupun host, lalu kemudian masuk ke
“Security Roles” melalui menu Admin.
Isi informasi nama role dan penjelasan role pada halaman Edit
Security Roles lalu kemudian klik Update untuk membuat role
tersebut.
RANGKUMAN
Membership dan role akan memberikan kemudahan manajemen
autentikasi dan autorisasi. Manajemen autentikasi akan
memeriksa validitas kredensial seorang pengguna. Sedangkan
manajemen autorisasi akan memeriksa hak akses yang dimiliki
oleh seorang pengguna. Kombinasi keduanya akan menjadikan
website dan portal yang dikelola menjadi lebih rapi dan teratur
dalam hal manajemen pengguna dan manajemen sumber daya.
Merubah Tampilan dalam Sekejap dengan Skin 59
BAB 6
MERUBAH TAMPILAN
DALAM SEKEJAP
DENGAN SKIN
T
ampilan merupakan salah satu faktor yang paling penting
untuk sebuah website atau portal. Hal tersebut
dikarenakan tampilan akan memberikan kesan paling
pertama terhadap website atau portal. Tata letak, pemilihan
huruf (font), grafik dan warna merupakan komponen-komponen
utama yang menghiasi tampilan. Pada bab ini akan dibahas
bagaimana mengubah tampilan website atau portal dengan
menggunakan DotNetNuke skin.
Selain skin, ada satu jenis paket lagi yang dapat merubah
tampilan DotNetNuke, yaitu apa yang disebut sebagai
Container. Berbeda dengan skin, container hanya akan
mempengaruhi tampilan pada level modul saja.
60 Sedap Sekejap Membuat Website dengan DotNetNuke
INSTALASI SKIN
Skin dapat diperoleh dari pihak ketiga. Ada yang berbayar dan
ada pula yang gratis. Salah satu situs yang menyediakan skin
gratis adalah situs yang dikelola oleh Nina Meiers
www.dnnskins.com. Berikut adalah langkah-langkah untuk
memasang skins.
Login sebagai host. Kemudian masuk ke Skins melalui menu
Admin
PEMAKAIAN SKIN
Skin dan container yang telah dipasang dapat dipakai pada
website atau portal sehingga seluruh halaman secara otomatis
menggunakan skin dan container tersebut. Berikut adalah
langkah-langkah pemakaian skin dan container.
Login sebagai Admin dan kemudian masuk ke halaman Skins
melalui menu Admin. Pada halaman Skins, pilih skin dan
container dari dropdownlist. Akan muncul berbagai macam tata
letak dalam paket skin yang terpilih. Klik Apply pada salah satu
pilihan model skin dan container dalam paket.
Gambar 6.7: Control Panel untuk pemakaian skin pada halaman tertentu
RANGKUMAN
Skin dan container akan memberikan tampilan tata letak, grafik,
jenis huruf dan warna pada website atau portal. Selain dapat
dipasang pada keseluruhan website atau portal, skin dan
container dapat dipasang hanya pada halaman tertentu saja.
Pembuatan Skin 65
BAB 7
PEMBUATAN SKIN
D
otNetNuke memiliki arsitektur skin yang akan
memisahkan antara desain dan konten. Dengan
arsitektur skin maka para web desainer dimungkinkan
untuk dapat mengembangkan sebuah skin tanpa harus memiliki
wawasan yang mendalam mengenai ASP.NET. Pada bab ini
akan dicoba untuk mengulas bagaimana mengembangkan
sebuah skin DotNetNuke tanpa menyentuh teknologi ASP.NET.
PERACIKAN SKIN
Skin diracik dari HTML, CSS, objek skin dan Pane. HTML dan
CSS akan memberikan bentuk tata letak, jenis huruf, warna dan
gambar pada website DotNetNuke. Objek skin adalah control
dengan kegunaan tertentu. Yang termasuk objek skin di
antaranya adalah logo, menu, kotak pencarian (search box),
current date, breadcrumb, tautan username, tautan login/logout,
tautan Term of user, tautan Privacy statement, copyright. Pane
adalah sebuah area yang merupakan tempat penampung
module. Module-module ditambahkan pada pane yang
membentuk tata letak tertentu.
Setelah skin di-parse dan file ASCX telah terbuat, klik tombol
Apply untuk mengimplementasikan skin pada website.
70 Sedap Sekejap Membuat Website dengan DotNetNuke
RANGKUMAN
Skin digunakan untuk memisahkan antara desain dan isi.
Dengan skin maka para desainer web diharapkan dapat
membuat skin DotNetNuke tanpa harus memiliki wawasan yang
mendalam mengenai ASP.NET. HTML digunakan oleh
DotNetNuke untuk membuat file ASCX. Token-token yang
didefinisikan pada file HTML pada saat parsing akan digantikan
oleh UserControl bawaan DotNetNuke dan kemudian
ditempelkan pada file ASCX. Ketika skin di terapkan, maka file
ASCX di tempelkan pada file Default.aspx.
Pembuatan Module 71
BAB 8
PEMBUATAN MODULE
P
emaparan total dan menyeluruh dari pembuatan module
DotNetNuke adalah luas dan mungkin membutuhkan
satu buku tersendiri. Namun demikian, pada bab ini akan
diperlihatkan langkah-langkah minimal dalam pembuatan
module. Setelah membaca bab ini, diharapkan para pembaca
akan memiliki landasan dalam hal pembuatan module. Dengan
bermodalkan wawasan tersebut maka para pembaca yang
budiman akan lebih siap untuk mempelajari pembuatan module
DotNetNuke secara lebih mendalam.
ARSITEKTUR DONETNUKE
Sebelum melangkah lebih jauh, ada baiknya kita membahas
konsep dasar arsitektur DotNetNuke terlebih dahulu. Wawasan
mengenai konsep dasar arsitektur DotNetNuke akan sangat
membantu Anda sebagai seorang pembuat module.
Pada Gambar 8.1 yang diambil dari dokumentasi DotNetNuke,
memperlihatkan bagaimana bentuk arsitektur DotNetNuke.
Seperti dapat dilihat dari gambar, DotNetNuke menggunakan
pendekatan arsitektur three-tier (tiga lapis).
Lapisan pertama dari arsitektur adalah lapisan User Interface
(UI). Lapisan ini diejawantahkan dalam bentuk UserControl
(file .ascx) yang kemudian akan berinteraksi dengan lapisan
kedua yaitu Bussiness Logic Layer (BLL). Interaksi yang terjadi
adalah berupa komunikasi data yaitu BLL menyediakan data
untuk UI. Nama kelas-kelas yang membentuk BLL biasanya –
walaupun tidak wajib – diakhiri dengan kata controller.
72 Sedap Sekejap Membuat Website dengan DotNetNuke
{
_ID = value;
}
}
private string _NAMA;
public string NAMA
{
get
{
return _NAMA;
}
set
{
_NAMA = value;
}
}
private string _SKILL;
public string SKILL
{
get
{
return _SKILL;
}
set
{
_SKILL = value;
}
}
}
}
Catatan:
Kelas-kelas Custom Business Object, BLL dan DAL dibuat
dengan menggunakan bahasa C#, sedangkan DotNetNuke
menggunakan VB.NET. Agar tidak menghasilkan galat (error)
ketika di-compile, maka perlu dilakukan penambahan
konfigurasi pada file web.config. Penambahan konfigurasi ini
digunakan untuk memungkinkan lebih dari satu bahasa
pemrograman berjalan bersama-sama dalam satu aplikasi web.
Penambahan konfigurasi yang dilakukan adalah berupa
registrasi sub-folder yang digunakan untuk menampung class-
Pembuatan Module 77
PEMBUATAN DAL
Untuk lebih menyederhanakan permasalahan, maka komponen
DAL yang dibuat hanyalah komponen Concrete Data Provider
yang menggunakan Microsoft.ApplicationBlocks.Data.
Komponen Abstract Data Provider tidak dibuat mengingat
module yang dikembangkan memang hanya akan menggunakan
Microsoft SQL sebagai database-nya. Berikut adalah kode
sumber dari class SqlDataProvider.cs yang merupakan
komponen Concrete Data Provider dari DAL.
Listing 8.3: Data Access Layer
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using Microsoft.ApplicationBlocks.Data;
namespace Geeks.Modules.DataEntry
{
public class SqlDataProvider
{
private string _SqlConnection;
public SqlDataProvider()
{
_SqlConnection =
ConfigurationManager.ConnectionStrings["SiteSqlS
erver"].ConnectionString;
}
public void ADD(DataEntryInfo objInfo)
78 Sedap Sekejap Membuat Website dengan DotNetNuke
{
SqlHelper.ExecuteNonQuery(_SqlConnection,
CommandType.Text, "INSERT INTO _GEEKS_DATAENTRY
(NAMA, SKILL) VALUES (@NAMA, @SKILL)",
new SqlParameter("@NAMA", objInfo.NAMA),
new SqlParameter("@SKILL", objInfo.SKILL));
}
public IDataReader GETALL()
{
return
(IDataReader)SqlHelper.ExecuteReader(_SqlConnect
ion, CommandType.Text, "SELECT * FROM
_GEEKS_DATAENTRY");
}
}
}
Class SqlDataProvider.cs terdiri dari dua method yang
memanfaatkan SqlHelper Microsoft.ApplicationBlocks.Data.
Method ADD memiliki fungsi untuk memasukkan data ke tabel
sedangkan method GETALL memiliki fungsi untuk mengambil
semua data dari tabel.
PEMBUATAN BLL
Method-method di BLL berisi kode-kode yang mengkonsumsi
DAL. UI kemudian yang akan mengkonsumsi method-method
BLL tersebut. Berikut adalah kode sumber dari class
DataEntryController.cs yang merupakan BLL.
Listing 8.4: Business Logic Layer
using System;
using System.Data;
using System.Collections;
using System.Collections.Generic;
namespace Geeks.Modules.DataEntry
{
public class DataEntryController
{
public void ADD(DataEntryInfo objInfo)
{
SqlDataProvider sqlprovider = new
SqlDataProvider();
sqlprovider.ADD(objInfo);
}
Pembuatan Module 79
PEMBUATAN UI
Langkah terakhir dari pembuatan module entri data ini adalah
pembuatan UserControl. Seperti terlihat pada Gambar 8.3,
UserControl dibuat di sub-folder dari folder DesktopModules.
Semua control-control UI dari suatu module harus diletakan di
sub-folder dari folder DesktopModules. Sub-folder yang dibuat
untuk menampung UserControl module entri data ini diberi
nama Geeks.Modules.DataEntry. Berikut adalah kode sumber
dari file ViewDataEntry.ascx dan ViewDataEntry.ascx.cs yang
diturunkan dari class PortalModuleBase.
Listing 8.5: UserControl bagian deklaratif
(ViewDataEntry.ascx)
<%@ Control Language="C#" AutoEventWireup="true"
CodeFile="ViewDataEntry.ascx.cs"
Inherits="Geeks.Modules.DataEntry.ViewDataEntry"
%>
<table>
80 Sedap Sekejap Membuat Website dengan DotNetNuke
<tr>
<td colspan="3">
Test Data Entry Module
</td>
</tr>
<tr>
<td>
Nama
</td>
<td>
:
</td>
<td>
<asp:TextBox ID="txtNama"
runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Skill
</td>
<td>
:
</td>
<td>
<asp:TextBox ID="txtSkill"
runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="3">
<asp:Button ID="btnAdd"
runat="server" Text="ADD" OnClick="btnAdd_Click"
/>
</td>
</tr>
<tr>
<td colspan="3">
<asp:GridView ID="gv"
runat="server"></asp:GridView>
</td>
</tr>
</table>
Pembuatan Module 81
namespace Geeks.Modules.DataEntry
{
public partial class ViewDataEntry :
PortalModuleBase
{
protected void Page_Load(object sender,
EventArgs e)
{
DataBind();
}
protected void btnAdd_Click(object sender,
EventArgs e)
{
DataEntryInfo objInfo = new
DataEntryInfo();
objInfo.NAMA = txtNama.Text;
objInfo.SKILL = txtSkill.Text;
DataEntryController objController = new
DataEntryController();
objController.ADD(objInfo);
}
private void DataBind()
{
gv.DataSource = new
DataEntryController().GETALL();
gv.DataBind();
}
}
}
82 Sedap Sekejap Membuat Website dengan DotNetNuke
RANGKUMAN
Module dibuat dengan mengikuti arsitektur DotNetNuke yang
menggunakan pendekatan “three-tier”. UserControl digunakan
sebagai lapisan UI yang dibuat di folder DesktopModule.
Custom Business Object, BLL dan DAL dibuat di folder
App_Code. Agar kompilasi tidak menghasilkan galat, maka sub-
folder yang digunakan untuk menampung class-class berbahasa
C# harus didaftarkan di file web.config. Module dapat
didistribusikan dengan menggunakan paket module. Paket
module akan memberikan kemudahan pemasangan dan
pencabutan oleh pengguna.
88 Sedap Sekejap Membuat Website dengan DotNetNuke
BAB 9
PEMBUATAN SITUS
SMALL BUSINESS
D
otNetNuke datang dengan banyak module bawaan.
Dengan module-module bawaan tersebut, kita dapat
membuat sebuah situs sederhana sampai sebuah situs
yang kompleks seperti situs e-commerce. Namun demikian, pada
bab ini akan dibahas hanya beberapa buah module bawaan saja.
Dengan bermodalkan beberapa buah module bawaan tersebut
akan dibuat sebuah situs sangat sederhana yang
memperlihatkan gallery produk-produk. Tampilan situs yang
akan kita buat adalah seperti Gambar 9.1 berikut ini.
PENAMBAHAN HALAMAN
Kita akan buat sebuah situs yang sangat sederhana yang terdiri
dari tiga buah halaman yaitu halaman Home, About Us dan
Feedback. Berikut adalah langkah-langkah penambahan
halaman baru pada situs.
Login sebagai Admin atau Host. Dengan menggunakan Control
Panel tambahkan halaman dengan cara mengklik tombol Add
pada Page Functions.
Gambar 9.15: Tampilan situs Small Business dengan skin yang baru
RANGKUMAN
DotNetNuke datang dengan banyak module bawaan. Namun
demikian, dengan hanya menggunakan beberapa module saja
maka kita sudah dapat membuat sebuah situs small bisnis.
Module Text/HTML dapat digunakan untuk mengisi konten
berupa tulisan, gambar dan file Flash. Module Announcement
dapat digunakan untuk membuat konten berita ataupun galeri
produk. Module Feedbcak dapat digunakan untuk menampilkan
umpan balik dari pengunjung.
BAB 10
TEKNIK PEMBUATAN
MULTIPLE WEBSITE
D
otNetNuke memungkinkan untuk memiliki banyak
website atau portal dalam sebuah instalasi DotNetNuke.
Masing-masing website atau portal tersebut adalah unik
satu sama lain. Setiap website atau portal tersebut dapat
memiliki konten masing-masing, file masing-masing dan anggota
masing-masing. Masing-masing website tersebut diatur oleh
Administratornya masing-masing yang hanya berkuasa pada
website yang bersangkutan saja. Pada bab ini akan dicoba
dikupas mengenai pembuatan multiple website pada
DotNetNuke.
PORTAL DEFAULT
Pada saat pemasangan DotNetNuke, secara default hanya akan
terpasang sebuah portal saja. Sehingga pada akhir pemasangan
hanya akan terdapat dua user saja yaitu user Admin dan user
Host. User Admin hanya mengatur portal yang didedikasikan
padanya. User host mengatur default portal dan portal-portal
lain yang kemudian dibuat.
PENAMBAHAN PORTAL
Portal hanya dapat ditambahkan oleh user Host melalui
halaman “Portals” melalui menu “Host”. Berikut adalah
langkah-langkah penambahan portal.
100 Sedap Sekejap Membuat Website dengan DotNetNuke
Gambar 10.5: Portal Baru yang Telah Dibuat Terlihat dalam Daftar Portal
102 Sedap Sekejap Membuat Website dengan DotNetNuke
RANGKUMAN
DotNetNuke memiliki kemampuan untuk membuat multi-
portal dalam sebuah instalasinya. Multi-portal berguna untuk
membuat banyak portal dalam sekali pemasangan saja. Konsep
multi portal sangat cocok digunakan untuk mengembangkan
portal-portal berkategori seperti misalnya portal berita yang
mungkin memiliki kategori politik, olahraga, gaya hidup dan
lain lain.