Danger of Content Editor Webpart

English:
Do you know that content editor webpart can take down your sharepoint’s site?

Indonesian:
Tahukan Anda, kalau content editor webpart dapat menyebabkan gangguan fungsi pada situs Sharepoint?

Content editor webpart is a standard webpart that comes with Sharepoint installation. Using this webpart, we can easily add rich text content to our page. We can also do some trick using scripting language, for example extend context menu for List or Document Library.

ContentEditorShow

Content editor webpart has two editor type, Rich Text Editor (RTE) and Source Editor (SE). RTE gives us WYSIWYG page editor while SE gives us source code look of the content. Hence if you only want to put some text with formatting then RTE is the right tools, and you’ll need SE if you want to see the tags and text inside. Of course, you can use SE to add scripting, style and other thing that RTE can not do.

Editing content using either RTE or SE has no harm if the tags are written completely. However it will start to make problem if some of the tags aren’t in pair – a javascript error, FrontPage error (when editing using FrontPage 2003) and even taking down the site if it happened in ticket page (default.aspx).

How does the problem begin?
Ok, take a look at an example. You want to make a table with a single row, but you forgot to close some of the tags.

It must be,

<table>
<tr>
<td>Some text here </td>
</tr>
</table>

but, you forget to write </tr> tags

<table>
<tr>
<td>Some text here </td>
<!— </tr> —- is missing –>
</table>

The un enclosed <tr> will soon match-up with some </tr> anywhere in the page. And when this happened, the page will screw up and formatted incorrectly. On the other hand, the Sharepoint pages use scripting and dhtml technique to create rich web experience. And facing incorrect tagging inside page will make those technique works improperly – and finally screw up the site entirely.

Preventive Action

  1. Use RTE first
  2. Try to avoid – edit the content editor webpart directly in the page. You better use FrontPage and then copy-paste the code into content editor webpart
  3. I also recommend to give editing capability only to trained users.

 

Indonesian:

Content editor webpart adalah webpart standar yang diinstall pada saat installasi Sharepoint. Dengan menggunakan webpart ini, kita dapat mengedit isi halaman dengan antar muka yang mendukung HTML. Kita juga dapat menyisipkan script kedalan content editor webpart, misalnya script yang berguna untuk menambah context menu dari List atau Document Library.

ContentEditorShow

Content editor webpart memiliki dua jenis editor yaitu Rich Text Editor (RTE) dan Source Editor (SE). RTE memiliki tampilan WYSIWYG sedangkan SE memiliki tampilan code sumber yang membangun isi halaman. Jadi, kalau kita ingin menuliskan sebuah halaman web maka gunakanlah RTE. Namun, kalau kita ingin melihat isi halaman tersebut, SE merupakan pilihan yang tepat. SE juga dapat digunakan untuk menambahkan script, style dan menghasilkan apa yang tidak dapat dilakukan dengan hanya menggunakan RTE saja.

Mengedit halaman di RTE ataupun SE tidak berbahaya asal tags dituliskan secara lengkap dan benar. Namun, masalah akan mulai muncul jika penulisan tags tidak lengkap. Problem yang akan muncul mulai dari javascript error, halaman tidak bisa dibuka dengan FrontPage 2003 atau bahkan merusak site secara keseluruhan (jika content editor wp berada di ticket page – page default – default.aspx).

Bagaimana masalah it muncul?
Kita ambil contoh sebuah kasus sederhana. Sebuah tabel berisi satu baris akan ditambahkan kedalam page dengan menggunakan content editor webpart. Namun, ada salah satu tags yang tidak memiliki pasangan.

Code yang benar adalah,

<table>
<tr>
<td>Some text here </td>
</tr>
</table>

namun, tag </tr> tidak dibuat sehingga code yang ditulis adalah,

<table>
<tr>
<td>Some text here </td>
<!— </tr> —- is missing –>
</table>

Tag <tr> yang tidak berpasangan akan memperoleh pasangannya </tr> disuatu tempat dihalaman tersebut. (Ingat bahwa halaman web Sharepoint dikonstruksi dari tags HTML). Dan ketika tag tersebut menemui pasangannya, maka format halaman secara keseluruhan akan terpengaruh dan berubah tidak seperti yang direncanakan.
Dilain pihak, halaman web Sharepoint sangat mengandalkan scripting dan teknik dhtml untuk menyajikan halaman web yang interaktif. Scripting dan teknik dhtml yang digunakan tidak mengantisipasi adanya kesalahan semacam itu – dan akibatnya dapat dibayangkan bahwa scripting tersebut akan beroperasi pada blok halaman yang salah. Lebih jauh lagi, jika hal ini terjadi pada halaman tiket (default.aspx) dan Anda sedang beruntung.. maka seluruh site tidak akan bisa dibuka.

Pencegahan

  1. Selalu dahulukan RTE dan bukan SE
  2. Hindari melakukan editing langsung didalam halaman, namun gunakan FrontPage untuk membuat halaman; lalu copy-paste code yang dihasilkan kedalam content editor webpart
  3. Berikan hak edit hanya kepada orang-orang yang sudah terlatih menggunakan HTML/scripting.
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

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: