Thursday, November 27, 2008

Menu dan Test Deploy DotNetNuke Bag 2

Di DotNetNuke menu merupakan halaman tersendiri yang diikutsertakan dalam daftar menu, berikut tahapan pembuatannya

- Login sebagai admin
- Buka halaman Page Management melalui menu Admin yang ada dipaling atas halaman kemudian pilih Pages
- Melalui halaman Pages yang berisi daftar pages yang sudah ada buat Pages baru dengan men-click link Add New Page
- Definisikan page yang akan dibuat dan tandai checkbox Include in Menu ?
- Klik link Update untuk menyimpan

Free Image Hosting at www.ImageShack.us

secara otomatis DotNetNuke akan menambahkan entri yang telah dibuat pada daftar menu, selain itu cara lainnya adalah dengan membuat content pada pane yang diinginkan kemudian buat link-link menuju halaman-halaman tertentu, nantinya ketika user membuka halaman berisi pane tersebut akan terlihat link-link menyerupai menu

Sebenarnya ketika anda membuka portal pertama kali, definisi menu yang telah anda buat disimpan dalam sebuah file menu-ID.txt yang berada dalam folder temp, file ini berisi definisi menu dalam bentuk HTML, DotNetNuke akan menampilkan pesan kesalahan jika file ini tidak ditemukan dan akan membuat definisi menu dan menyimpannya jika file ini kosong, jadi masih berhubungan dengan postingan sebelumnya Test Deploy DotNetNuke jika seluruh source code DotNetNuke dipindah ke server deploy, link yang ditunjuk menu akan tetap mengacu pada alamat development kecuali memang alamat development dan test disamakan, untuk mengatasi hal ini ternyata sangat mudah cukup dengan menghapus seluruh isi file menu-ID.txt tersebut nantinya DotNetNuke akan mengenerate dan menyimpannya, beres dah...

Wait... bagaimana dengan menu yang dibuat sebagai content pane ? karena link pada menu tersebut dibuat secara hardcode mau tidak mau linknya pun harus diedit secara hardcode



Well, no pain no gain...

Monday, November 24, 2008

Test Deploy DotNetNuke

Pusing tujuh keliling....

Pernah bikin project web pake DotNetNuke tanpa masalah tapi bermasalah ketika pasang di komputer berbeda ?!

Ceritanya gini, anda disuruh buat portal menggunakan DotNetNuke, develop dengan ditemani Om Google berjalan lancar. Source sudah disiapkan semua, database sudah jadi, coba test deploy di komputer lain...

Karena urusannya deploy, mestinya ngga perlu install DotNetNuke-nya donk cukup siapin source code, database dan beberapa settingan khusus. Buat database dengan nama yang sama, restore backup dari komputer development, salin source code, konfigurasi web share dan settingan di IIS, jreng... Test buka browser dan panggil http://localhost/dotnetnuke It's work horeee...

Tar dulu, jangan terlalu senang, buat apa deploy aplikasi web di komputer kalau ngga mau dipanggil di komputer lain, jadi... Ping komputer server tempat test tersebut... reply... ngga ada masalah, buka browser ketik http://servertest/dotnetnuke... lho kok langsung diredirect ke http://localhost/dotnetnuke ? ada apa ini ?!

Konsultasi sama Om Google, wah ternyata banyak yang dapat masalah serupa mulai dari diredirect kembali ke localhost sampe IE nya dibikin pusing infinite loop, kalo di Firefox sih langsung nongol Invalid Redirect gitu, searching...searching...sabar...sabar... ketemu !!! masalahnya ada di settingan Portal Alias, lihat di http://blogs.snapsis.com/CommentView,guid,87c379cc-c700-4eb8-a48d-e778aeef65fa.aspx, tapi sayangnya penjelasan disana kurang memecahkan masalah malah nambah bingung, cari-cari lagi ketemu... settingan portal alias disimpan di tabel PortalAlias, coba ganti secara manual, bisa sih tapi ternyata masih muter-muter aja browser, wah ngaco nih, balikin lagi ke nilai awal, coba insert secara manual ternyata bermasalah di Constraint table, wah bukan solusi nih

Pasti ada cara yang lebih simple tanpa harus menyentuh databasenya, apalagi akar masalahnya udah ketahuan, portal alias, ya udah cari lagi pake keyword "DotNetNuke portal alias" sampai akhirnya ketemu situs ini: http://www.aquesthosting.com/HowTo/DNN/AddPortalAlias.aspx , ikutin caranya step by step... Alhamdulillah berhasil juga...

Sebenarnya DotNetNuke menyediakan settingan HTTP alias untuk mengetahui portal mana yang diminta user hal ini dibuat untuk mengatasi masalah multi portal dalam satu webserver (IIS), jadi anda bisa buat banyak portal dalam sebuah server, tahapannya begini:

- Login sebagai user host
- Di menu akan terlihat item Host, klik dan pilih item Portals
- Edit dengan menclick pensil dibagian nama portal
- Dibagian portal alias, klik Add new HTTP alias, ketik nama aliasnya misalnya servertest/myportal terus klik tombol Add New Alias, seketika settingan disimpan dan alamat http://servertest/myportal bisa dipakai

Ah, ngga enak nih kalau nama portalnya tetap pake dotnetnuke, tambahin aliasnya ah, servertest/myportal... bisa juga, jadi satu source, satu database, dua nama...

Pada dasarnya tahapan deploy tidak sama dengan tahapan develop, buat apa develop aplikasi pake Visual Studio kalau waktu deploy Visual Studionya juga harus diinstall, pasti ada cara lain yang lebih tepat... ya harus jeli dan ulet... ulet bulu kek, ulet keket kek... :))

Tapi ada yang aneh nih, kok ngga semua link di portalnya merujuk ke alamat yang sama ya, masih ada yang pake localhost/dotnetnuke juga masih ada yang pake servertest/dotnetnuke... wah mesti nyari-nyari lagi... duh pusingnya belum selesai nih

Berikut spek aplikasi webnya;
* DotNetNuke 4.4.1
* IIS6 di Windows 2000 Server (test deploy server) dan Windows XP SP2 (develop machine)
* M$ SQL Server 2000
* M$ Visual Studio 2005 untuk customize aplikasinya