SharePoint 2010 Reusable Content Type Issue Changes from SharePoint 2007

Symptoms

You have upgraded a SharePoint farm from 2007 to 2010 version and within the 2007 environment you were using the Reusable Content Type feature and the Reusable Text option within that to have some HTML which includes OBJECT tags saved as a predefined content type. A couple samples of such HTML is shown below:


1) <OBJECT id="VIDEO" width="320" height="240" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject">
<PARAM NAME="URL" VALUE="http://Site/Video/beach_cleanup.wmv">
<PARAM NAME = "BannURL" VALUE = "http://Site/Shared%20Pictures/ duomo.jpg"/>
<PARAM NAME="SendPlayStateChangeEvents" VALUE="True">
<PARAM NAME="AutoStart" VALUE="false">
<PARAM name="uiMode" value="full">
<PARAM name="PlayCount" value="9999">
</OBJECT>

2) <script type="text/javascript">
function showVideo() {
var videoData = '<OBJECT id="VIDEO" width="320" height="240"' +
'CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"' +
'type="application/x-oleobject">' +
'<PARAM NAME="URL" VALUE="http://Site/Video/beach_cleanup.wmv">' +
'<PARAM NAME = "BannURL" VALUE = "http://Site/Shared%20Pictures/ duomo.jpg"/>' +
'<PARAM NAME="SendPlayStateChangeEvents" VALUE="True">' +
'<PARAM NAME="AutoStart" VALUE="true">' +
'<PARAM name="uiMode" value="full">' +
'<PARAM name="PlayCount" value="9999">';
document.getElementById("divVideo").innerHTML = videoData;
}
</script>
<div id="divVideo">
<img alt="Sony" title="Click on image to play a video" style="cursor:pointer"
src="/SELNews/PublishingImages/selToday/Sonytest.jpg" onclick="showVideo()" />
</div>

When such a content type is used on a page (ex OOB Article Page), and when end users access the page this HTML appears correctly (all HTML is rendered as processed along with scripts and OBJECT tags etc). However on a 2010 environment this HTML just displays as hard coded text and the HTML is not processed.

Cause

  • As per design Reusable Text option is meant to be used for plain text that we need to save/store as predefined content type and Reusable HTML is meant to be used for any actual HTML that we want to process. Contrary to design in 2007 Reusable Text actually processes HTML also, so the above was working in a 2007 environment
  • Starting in 2010 we fixed this so now Reusable Text won’t process any HTML and only Reusable HTML would.
  • Also we identified that any scripts (including OBJECT tags) are stripped by the Reusable HTML feature of both 2007 and 2010 for security reasons

Resolution

As a solution we suggest using the media web part for such requirement instead of using the Reusable HTML feature which is more suited if we have just HTML without scripts and OBJECT tags.
Properties

Article ID: 2433415 - Last Review: Oct 25, 2010 - Revision: 1

Feedback