Community Server : URL Rewriting
Ingin menambah halaman pada Community Server dan dapat dilihat dengan sedikit lebih ‘cantik’ pada navigasi utama ?
Biasanya saya bila menambah halaman maka halaman tersebut saya masukkan dalam direktori pada Theme yang saya buat, misalnya saya punya halaman Video.aspx pada direktori Theme/default/Video. Maka biasanya saya akan menambah baris berikut pada file SiteUrls.config :
<navigation>
. . .
<link name="video"
navigateUrl="../Themes/default/Videos/Video.aspx"
roles="Everyone"
text="Video" />
. . .
</navigation>
(Baris tambahan adalah baris yang berwarna merah)
Maka hasilnya adalah sebagai berikut :
Bila pengunjung mengarahkan cursor mouse ke link Video maka mereka akan mengetahui bahwa halaman Video.aspx itu berada pada direktori Theme/default/Videos seperti yang dilihat pada gambar berikut :
Kita dapat memanipulasi URL untuk menipu para pengunjung mengenai letak dan nama asli dari file Video.aspx tersebut, misalnya saat pengunjung mengarahkan cursornya ke url Video dia akan melihat http://localhost/CS2007.1_Live/videos/home.aspx maka langkah yang harus dilakukan adalah :
Cukup mengedit file SiteUrl.config dan tambahkan baris berikut :
<locations type ="CommunityServer.Components.CSLocation, CommunityServer.Components">
. . .
<location name="videos" path="/video/" themeDir="videos" >
<url name="video_page"
path="home.aspx"
pattern="home.aspx"
vanity="{2}"
physicalPath="##themeDir##"
page="video.aspx" />
</location>
. . .
</locations>
(baris yang berwarna merah adalah baris tambahan).
Setelah itu maka modifikasi kembali definisi url Video seperti dibawah ini :
<navigation>
. . .
<link name="video"
resourceUrl="video_page"
roles="Everyone"
text="Video" />
. . .
</navigation>
Dan hasilnya adalah seperti pada gambar berikut :
Bila rajin dan ingin text url tidak didefinisikan dengan text="Video" tetapi ingin menyimpannya pada daftar pustaka Community Server (dalam file Resources.xml) maka nantinya text="Video" dapat digantikan dengan atribut resourceName="videos" (misalnya).
Cukup sekian dulu, sudah saatnya (jam 6.22 pagi) jogging dulu ke Sabuga untuk membagi 1 pack di perut menjadi 6 packs, ya paling tidak bisa menjadi 2 packs dulu :)
Bahasan selanjutnya adalah melakukan modifikasi SiteUrls.config atau
communityserver.config tanpa harus mengedit dan mengubah isi file-file
tersebut.
Semoga bermanfaat.