Eleminating DataView Problem

Indonesian:

Sudah kenal DataView webpart? DataView webpart adalah webpart standar dari MS Sharepoint 2003 yang berguna untuk menampilkan data (list, tabel database dll.) kedalam halaman Sharepoint. DataView webpart bekerja dengan melakukan kueri ke web service dan memformat tampilan dengan memanfaatkan XSLT. Dengan demikian, dataview webpart memberikan kebebasan yang lebih tinggi untuk menampilkan data kedalam halaman Sharepoint. Banyak pekerjaan yang dapat langsung ditangani oleh dataview webpart tanpa harus melakukan programming/coding terlebih dahulu; contohnya menampilkan hasil kueri tabel di SQL server, menampilkan isi dari list di Sharepoint, menampilkan user login dsb.)

Kelemahan DataView

Salah satu kelemahan DataView webpart adalah, webpart ini sangat rentan terhadap kesalahan tag yang ada didalam halaman bersangkutan. Hal ini dapat terjadi jika halaman tersebut memiliki tag yang kurang lengkap. Pada kondisi demikian DataView webpart akan mengalami gagal tampil seperti gambar dibawah. Penyebabnya adalah hal sepele, tag-tag XSLT dan kueri didalam dataview webpart bersinggungan dengan tag-tag kurang lengkap didalam page. Sehingga kueri/format tampilan tidak sesuai dengan yang diharapkan. (Masih merupakan asumsi yang belum dikonfirmasi ke Microsoft)

XSLTProblem

Cara Mengatasi

Agar ketidak-lengkapan tag didalam halaman tidak mempengaruhi dataview webpart, maka dataview webpart harus disolasi. Caranya adalah dengan memasukkan dataview webpart kedalam halaman webpart lain yang kosong – kemudian menampilkannya di halaman yang sebenarnya dengan menggunakan iframe.

Contohnya, DataView webpart dibawah ini diletakkan dihalaman webpart kosong yang disimpan di dalam PagesCollection/logonas.aspx.

FullPage

Proses selanjutnya adalah menghilangkan bagian header dan title agar kita dapat memperoleh hanya isinya saja. Untuk itu, kita akan memanfaatkan display:none pada style yang digunakan.

HiddenStyle

Hasilnya adalah halaman isi, tanpa banner header dan title.

DisplayNone

Langkah selanjutnya adalah menampilkan halaman tersebut dengan menggunakan iframe kedalam halaman webpage yang dikehendaki.

IFrame

Homepage

 

English:

We already knew about DataView webpart, a standard webpart from MS Sharepoint 2003. It queries web services and format the result using XLST – hence we can use it to show lists, tables, and even logon user with little programming effort. Since it uses XML queries and XSLT to create results – then obviously it has tag incompleteness drawbacks.

DataView Drawbacks

One of DataView drawbacks is its very sensitive to incomplete tags. For example, if you put the webpart in webpart pages which contains incomplete tagging – then DataView webpart will cease to function. Rather then showing you the desired results – you’ll get “Unnable to display this webpart error”. The reason behind this problem is incomplete tags will effect either XML queries or XSLT – resulting incorrect XML queries or XSLT. So the rendering part of DataView webpart catching dan displaying the error. (This only my assumption, I never talked to Microsoft).

XSLTProblem

Resolving the Problem

To avoid tag poisoning, then we must isolate DataView webpart in a clean webpart page. Create an empty webpart page and include it using iframe in target webpart page.

For example in the following picture, DataView webpart has been put in PageCollections/loginas.aspx.

FullPage

Next we need to hide banner and title part of the pages. We can use CSS to help with, and the result is a clean webpart page.

DisplayNone

At last, we can conclude our job by loading the page in target webpart page using iframe but at this time it will suffer from tag poisoning.

About

Riwut Libinuko, experienced Architect. Currently working with Credit Agricole CIB, responsible for SharePoint platform in Asia Pasific. . Certification: SharePoint 2013, SharePoint 2010, SharePoint 2007, ITiL v3

Posted in Microsoft Sharepoint, Tips and Tricks

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: