<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Anjali's Blog</title><subtitle type="html" /><id>http://blogs.msdn.com/anjali_chelawat/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/anjali_chelawat/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/anjali_chelawat/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2009-06-16T00:43:00Z</updated><entry><title>Custom column of type &amp;quot;People/Group&amp;quot; named say: &amp;quot;last replied by&amp;quot; for team discussions which reflects the person/group who last replied to the thread in the topic (specific to that topic) in the discussion board in MOSS </title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/anjali_chelawat/archive/2009/08/15/9870852.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="964904" href="http://blogs.msdn.com/anjali_chelawat/attachment/9870852.ashx" /><id>http://blogs.msdn.com/anjali_chelawat/archive/2009/08/15/9870852.aspx</id><published>2009-08-15T10:17:00Z</published><updated>2009-08-15T10:17:00Z</updated><content type="html">&lt;P&gt;&lt;B&gt;Requirement&lt;/B&gt;&lt;/P&gt;
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;End User requires an OOB column of type "People/Group" named say: "last replied to" in Discussion Board. This column should show the Person/Group who last replied to the thread specific to the topic in the Discussion Board. &lt;/LI&gt;
&lt;LI&gt;Currently, there is an OOB Column "LastUpdated" which shows the timestamp as when was last replied (Date/Time) on the topic, but there is no such OOB column which shows as who last replied to the topic in the discussion board &lt;/LI&gt;
&lt;LI&gt;Besides, there is an OOB Column "LastModifiedBy", but that reflects the Person/Group who modified the Topic details and not the one who replied to the topic in the discussion board &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; In short, WE require a Custom column of type "People/Group" named say: "last replied by"&amp;nbsp; (People/Group Type) for team discussions which reflects the person/group who last replied to the thread in the topic (specific to that topic) in the discussion board in MOSS 2007 &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;Steps To Understand The Requirement&lt;/B&gt;&lt;/P&gt;
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;Create an OOB Discussion Board &lt;/LI&gt;
&lt;LI&gt;Add the following fields to the default View: ModifiedBy, LastUpdated, Modified &lt;/LI&gt;
&lt;LI&gt;Add the topic to the discussion board &lt;/LI&gt;
&lt;LI&gt;Now, Reply to the topic &lt;/LI&gt;
&lt;LI&gt;Check the value for the column "LastUpdated"; the TimeStamp chnges every time we reply to the topic. &lt;/LI&gt;
&lt;LI&gt;Now, modify the topic properties by right click n say edit properties. &lt;/LI&gt;
&lt;LI&gt;Check the value of the column "Modified" &amp;amp; "ModifiedBy"; it reflects the TimeStamp and the Person/Group who modified the topic &lt;/LI&gt;
&lt;LI&gt;But, there is no OOB column which reflects the Person/Group who last replied on the topic. Just there is a timestamp "LastUpdated". &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;Resolution / Work Around&lt;/B&gt;&lt;/P&gt;
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;An event handler (&lt;STRONG&gt;Note:&lt;/STRONG&gt; onItemUpdated) attached to the Discussion board, which tracks as whenever a user replies to the topic assigns the name of the user to the custom column (which is non-editable by the users) of the Topic in the discussion board. 
&lt;LI&gt;Created 1 custom column of Type:People/Group named “LastRepliedBy” in the Discussion board “Team Discussion”. &lt;/LI&gt;
&lt;LI&gt;Attach the 2 event handlers defined in FieldAddedEvntHand folder using application contained in ConsoleApplication1 folder &lt;/LI&gt;
&lt;LI&gt;Now, add the discussion topic and reply to the thread. &lt;/LI&gt;
&lt;LI&gt;Check the output in non-editable column “LastRepliedBy” &lt;/LI&gt;&lt;/OL&gt;
&lt;UL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Note:&lt;/FONT&gt;&lt;/STRONG&gt; 
&lt;LI&gt;Here, the custom column is made non-editable so that it is not seen by users while adding topics in the discussion board. &lt;/LI&gt;
&lt;LI&gt;Currently, the given code is specific to the named discussion board. But, we can write feature related xml to deploy the code as as feature so that on activation it can work for any OOB Discussion Board in the site. Besides, We can also attach the handler code with SiteStapler Feature by writing an xml file for it. This will result in activation of the feature at the time site is created. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Attachment:&lt;/B&gt;&lt;/P&gt;
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;The attachment contains Sample_Files.zip which in turn contains 2 folders for reference: 
&lt;LI&gt;FieldAddedEvntHand folder : contains the Class Library Application &lt;/LI&gt;
&lt;LI&gt;ConsoleApplication1 folder : contains the Console Application &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;Steps for Deploying The Code&lt;/B&gt;&lt;/P&gt;
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;Open the class library project: FieldAddedEvntHand in Visual Studio 2005 or later version 
&lt;OL type=a&gt;
&lt;LI&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;Make necessary changes in the code:&lt;/SPAN&gt; 
&lt;OL type=i&gt;
&lt;LI&gt;In File: Class2.cs ; Method: FieldAdded ; specify the name of the non-editable column which will be created in the Discussion Board List &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;if (oField.Title == "LastRepliedBy")&lt;/SPAN&gt; &lt;/LI&gt;
&lt;LI&gt;In File: Class1.cs ; Method: ItemUpdated; specify the name of the non-editable column &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;(&lt;STRONG&gt;as mentioned in Point 1a(i)&lt;/STRONG&gt; ) properties.ListItem["LastRepliedBy"] = oUser.ID;&lt;/SPAN&gt; &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI&gt;Once the above mentioned changes are done, compile/build the code (&lt;STRONG&gt;Note:&lt;/STRONG&gt; Check if the strong name is assigned to the assembly) &lt;/LI&gt;
&lt;LI&gt;Install the compiled dll in the GAC &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI&gt;Now, Open the console application project: ConsoleApplication1 in Visual Studio 2005 or later version 
&lt;OL type=a&gt;
&lt;LI&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;Make necessary changes here in the code: (in Program.cs file)&lt;/SPAN&gt; 
&lt;OL type=i&gt;
&lt;LI&gt;Specify your site URL here: &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;using (SPSite oSite = new SPSite("http://anjalich11:2001"))&lt;/SPAN&gt; &lt;/LI&gt;
&lt;LI&gt;Specify the name of the Discussion Board here: &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;SPList oList = oWeb.Lists["Team Discussion"];&lt;/SPAN&gt; &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI&gt;Once the above mentioned changes are done, compile/build the code &lt;/LI&gt;
&lt;LI&gt;Run the console application. &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI&gt;Restart IIS &lt;/LI&gt;
&lt;LI&gt;Add the non-editable column in the Discussion Board (Note: Its case sensitive; so specify the exact name as mentioned in Point 1a(i) ) &lt;/LI&gt;
&lt;LI&gt;Now try adding the topics and its respective replies in the discussion board. &lt;/LI&gt;
&lt;LI&gt;Check the value of the column “LastRepliedBy”. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9870852" width="1" height="1"&gt;</content><author><name>anjali_chelawat</name><uri>http://blogs.msdn.com/members/anjali_chelawat.aspx</uri></author><category term="LastRepliedBy" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/LastRepliedBy/default.aspx" /><category term="onItemUpdated" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/onItemUpdated/default.aspx" /><category term="EventHandler" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/EventHandler/default.aspx" /><category term="discussion board" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/discussion+board/default.aspx" /><category term="ModifiedBy" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/ModifiedBy/default.aspx" /><category term="LastUpdated" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/LastUpdated/default.aspx" /><category term="team discussions" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/team+discussions/default.aspx" /></entry><entry><title>How to rename column names in Content Query Webpart using property : DataColumnRenames</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/anjali_chelawat/archive/2009/08/14/9870584.aspx" /><id>http://blogs.msdn.com/anjali_chelawat/archive/2009/08/14/9870584.aspx</id><published>2009-08-15T00:35:00Z</published><updated>2009-08-15T00:35:00Z</updated><content type="html">&lt;P&gt;&lt;B&gt;Requirement&lt;/B&gt;&lt;/P&gt;
&lt;UL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;How to rename column names in Content Query Webpart using property : DataColumnRenames&lt;/SPAN&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;NOTE:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;In any other Site except of Publishing Type, activate the following 2 features in your site, to have Content Query Webpart: 
&lt;OL&gt;
&lt;LI&gt;In Site Collection Features: Office SharePoint Server Publishing Infrastructure &lt;/LI&gt;
&lt;LI&gt;In Site Features: Office SharePoint Server Publishing &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Resolution&lt;/B&gt;&lt;/P&gt;
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;Firstly, get the Internal Names for the columns (NOT Display Name) which will be shown in the Content Query Webpart. The easiest &amp;amp; accurate way is to create a console application and get the Internal Names &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;The format for the values for the property DataColumnRenames in Content Query Webpart : &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;&lt;B&gt;&lt;I&gt;OriginalName1,Newname1&lt;/I&gt;&lt;/B&gt; &lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;Multiple column renames are separated by semicolon. The below is valid one:&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;&lt;B&gt;&lt;I&gt;OriginalName1,Newname1;OriginalName2,Newname2&lt;/I&gt;&lt;/B&gt; &lt;/SPAN&gt;
&lt;P&gt;&lt;B&gt;MOST IMP:&lt;/B&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt; Please &lt;STRONG&gt;DO NOT&lt;/STRONG&gt; give any &lt;STRONG&gt;SPACES OR TAB&lt;/STRONG&gt; while renaming multiple columns. Otherwise, only 1st column in row will be resolved.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Note:&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;OriginalName means the Internal name (actual internal name in SharePoint &amp;amp; NOT that is changed N rendered by XSLT) &lt;/LI&gt;
&lt;LI&gt;New Name can be any. &lt;/LI&gt;
&lt;LI&gt;Query is made using the internal name (so in CommonViewFields property, we still required to specify Internal Names.) &lt;/LI&gt;
&lt;LI&gt;Fields names are changed at the time of rendering by XSLT engine and not at time of querying. &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Example:&lt;/STRONG&gt; 
&lt;UL&gt;
&lt;LI&gt;Suppose, we want the file/folder icons to be shown in the Content Query Webpart 
&lt;OL&gt;
&lt;LI&gt;We will add the columns in the webpart xml by changing the property CommonViewFields: &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="CommonViewFields" type="string" &amp;gt;File_x0020_Type, Text;HTML_x0020_File_x0020_Type, Text&amp;lt;/property&amp;gt; &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;Now, we wanted to rename these fields, so that when we use in ItemStyle.xsl, its easier to read. Locate the word "DataColumnRenames" in the webpart &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="DataColumnRenames" type="string"&amp;gt;File_x0020_Type,FileType;HTML_x0020_File_x0020_Type,HTMLFileType;&amp;lt;/property&amp;gt; &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;Now, in ItemStyle.xsl; the custom templates will extract value from Field Names : FileType, HTMLFileType &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9870584" width="1" height="1"&gt;</content><author><name>anjali_chelawat</name><uri>http://blogs.msdn.com/members/anjali_chelawat.aspx</uri></author><category term="Content Query Webpart" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/Content+Query+Webpart/default.aspx" /><category term="CommonViewFields" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/CommonViewFields/default.aspx" /><category term="DataColumnRenames" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/DataColumnRenames/default.aspx" /></entry><entry><title>Query regarding the Web Control Library templates</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/anjali_chelawat/archive/2009/08/14/9870563.aspx" /><id>http://blogs.msdn.com/anjali_chelawat/archive/2009/08/14/9870563.aspx</id><published>2009-08-14T23:58:00Z</published><updated>2009-08-14T23:58:00Z</updated><content type="html">&lt;P&gt;&lt;B&gt;Question&lt;/B&gt;&lt;/P&gt;
&lt;UL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;In Visual Studio 2005, on the File menu, point to New, and then click Project. In Project types, under C#, select Windows. Under Templates, select Web Control Library. In the Name field, type CustomSearchWebPart, and then click OK. &lt;BR&gt;But we are using vs2008, can you point me to the same document for vs2008 or tell me how to get an web control library template? &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Answer&lt;/B&gt;&lt;/P&gt;
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;The web control library in Visual studio 2005 &lt;BR&gt;&amp;gt;&amp;gt; File - New - Project - Windows - Web Control Library &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;The web control library in&amp;nbsp; Visual Studio 2008 &lt;BR&gt;&amp;gt;&amp;gt; File - New - Project - Web - ASP.NET Server Control &lt;BR&gt;&amp;gt;&amp;gt; So, Its ASP.Net Server Control in VS 2008 &lt;/LI&gt;&lt;/OL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9870563" width="1" height="1"&gt;</content><author><name>anjali_chelawat</name><uri>http://blogs.msdn.com/members/anjali_chelawat.aspx</uri></author><category term="Web Control Library" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/Web+Control+Library/default.aspx" /><category term="ASP.NET Server Control" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/ASP.NET+Server+Control/default.aspx" /><category term="templates" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/templates/default.aspx" /></entry><entry><title>When we use the wild card with CONTAINS predicate on the managed property “PreferredName” (OOB); it does not returns any result</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/anjali_chelawat/archive/2009/08/14/9870317.aspx" /><id>http://blogs.msdn.com/anjali_chelawat/archive/2009/08/14/9870317.aspx</id><published>2009-08-14T20:22:00Z</published><updated>2009-08-14T20:22:00Z</updated><content type="html">&lt;p&gt;&lt;b&gt;Issue Description&lt;/b&gt;&lt;/p&gt;  &lt;ul style="font-size: 15px; color: #1f497d; font-family: calibri; mso-bidi-font-family: calibri"&gt;   &lt;li&gt;When we use the wild cards with contains predicate on the managed property “PreferredName” (OOB); it &lt;span style="background-color: yellow"&gt;&lt;strong&gt;DOES NOT RETURNS any RESULT&lt;/strong&gt;&lt;/span&gt; &lt;/li&gt;    &lt;li&gt;EXAMPLE:&amp;#160; &lt;em&gt;SELECT Title, FirstName, LastName, PreferredName, JobTitle FROM portal..scope() WHERE&amp;#160; ( (&amp;quot;SCOPE&amp;quot; = 'People') )&amp;#160; AND CONTAINS(PreferredName,'anjali*')&lt;/em&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Analysis&lt;/b&gt;&lt;/p&gt;  &lt;ol style="font-size: 15px; color: #1f497d; font-family: calibri; mso-bidi-font-family: calibri"&gt;   &lt;li&gt;I checked on the queries &amp;amp; found that the PreferredName property does not works with the CONTAINS (with or without WILD card characters) &amp;amp; FREETEXT predicate      &lt;ul&gt;       &lt;li&gt;EXAMPLE:&amp;#160; &lt;em&gt;SELECT Title, FirstName, LastName, PreferredName, JobTitle FROM portal..scope() WHERE&amp;#160; ( (&amp;quot;SCOPE&amp;quot; = 'People') )&amp;#160; AND &lt;span style="background-color: yellow"&gt;CONTAINS(PreferredName,'anjali*')&lt;/span&gt;&lt;/em&gt; &lt;/li&gt;        &lt;li&gt;EXAMPLE:&amp;#160; &lt;em&gt;SELECT Title, FirstName, LastName, PreferredName, JobTitle FROM portal..scope() WHERE&amp;#160; ( (&amp;quot;SCOPE&amp;quot; = 'People') )&amp;#160; AND &lt;span style="background-color: yellow"&gt;FREETEXT(PreferredName,'anjali')&lt;/span&gt;&lt;/em&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;This seems to be an issue with SharePoint 2007      &lt;ul&gt;&lt;/ul&gt;      &lt;p mce_keep="true"&gt;&amp;#160;&lt;/p&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;b&gt;Resolution/ WorkAround&lt;/b&gt;&lt;/p&gt;  &lt;ol style="font-size: 15px; color: #1f497d; font-family: calibri; mso-bidi-font-family: calibri"&gt;   &lt;li&gt;Use LIKE Predicate with Managed Property: PreferredName&amp;#160;&amp;#160;&amp;#160; (&lt;font color="#ff0000"&gt;Note:&lt;/font&gt; LIKE Predicate support WILD card characters)       &lt;br /&gt;&lt;strong&gt;EXAMPLE:&lt;/strong&gt;&amp;#160; &lt;em&gt;SELECT Title, FirstName, LastName, PreferredName, JobTitle FROM portal..scope() WHERE&amp;#160; ( (&amp;quot;SCOPE&amp;quot; = 'People') )&amp;#160; AND &lt;span style="background-color: yellow"&gt;PreferredName LIKE 'anjali%')&lt;/span&gt;&lt;/em&gt;       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Use CONTAINS Predicate (with or without WILD card characters) with Managed Property: Title&amp;#160;&amp;#160;&amp;#160; (&lt;font color="#ff0000"&gt;Note:&lt;/font&gt; Title (in SharedServices) is mapped to People:PreferredName)       &lt;br /&gt;&lt;strong&gt;EXAMPLE:&lt;/strong&gt;&amp;#160; &lt;em&gt;SELECT Title, FirstName, LastName, PreferredName, JobTitle FROM portal..scope() WHERE&amp;#160; ( (&amp;quot;SCOPE&amp;quot; = 'People') )&amp;#160; AND &lt;span style="background-color: yellow"&gt;CONTAINS(TITLE,'anjali*')&lt;/span&gt;&lt;/em&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;b&gt;Important Points To Consider&lt;/b&gt;&lt;/p&gt;  &lt;ul style="font-size: 15px; color: #1f497d; font-family: calibri; mso-bidi-font-family: calibri"&gt;   &lt;li&gt;Basic design/working for LIKE and CONTAIN Predicate      &lt;ol&gt;       &lt;li&gt;Defining:          &lt;br /&gt;          &lt;ul&gt;           &lt;li&gt;LIKE Predicate- In simple words, if we define: It matches a pattern of string. It’s more like regular expression &lt;/li&gt;            &lt;li&gt;CONTAINS Predicate- In simple words, if we define: It searches for specific string in each n every word &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Example:          &lt;br /&gt;&lt;strong&gt;Property: test1=”abc dabch abcp”&lt;/strong&gt; (In other words, Managed Property: test1 has value =”abc dabch abcp”)           &lt;br /&gt;Now,           &lt;ul&gt;           &lt;li&gt;CONTAINS(test1, ‘abc*’) : This will search each n every word in the string and will try to match with the given pattern that is ‘abc*’ (abc followed by zero or n number of characters). It finds 3 matches. It checks 3 words individually &lt;/li&gt;            &lt;li&gt;LIKE test1 ‘abc%’ : This will check for a pattern in test1 managed property. It checks the strings beginning with ‘abc’ followed by zero or n number of characters. It checks as regular expression. It doesn’t here check each word &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Analysis from above example          &lt;ul&gt;           &lt;li&gt;In current example, LIKE predicate is more faster as compared to CONTAINS predicate. Better from performance point of view. We may end up concluding this most of the time. &lt;/li&gt;            &lt;li&gt;BUT, there may be scenarios where both may perform similarly. It greatly depends on the pattern of data to be searched.&lt;/li&gt;            &lt;li&gt;Important point is; both have been designed for different purposes; so which to be used depends on the requirement.&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;Analyze the difference in 2 resolution&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; From above discussion: We can conclude       &lt;ol&gt;       &lt;li&gt;Both resolutions can be used ; depend upon the pattern of search. &lt;/li&gt;        &lt;li&gt;If we are sure of a particular pattern then go for LIKE predicate. Faster &lt;/li&gt;        &lt;li&gt;If no particular pattern and wants to check for specific words example in fields such as Comments ; Description then choose CONTAINS Predicate. &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9870317" width="1" height="1"&gt;</content><author><name>anjali_chelawat</name><uri>http://blogs.msdn.com/members/anjali_chelawat.aspx</uri></author></entry><entry><title>How Page Parsing functionality in SharePoint (SPPageParseFilter) works with the constructor of a webpart</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/anjali_chelawat/archive/2009/06/23/9798829.aspx" /><id>http://blogs.msdn.com/anjali_chelawat/archive/2009/06/23/9798829.aspx</id><published>2009-06-23T07:24:00Z</published><updated>2009-06-23T07:24:00Z</updated><content type="html">&lt;span style="font-size: 15px; color: #1f497d; font-family: calibri; mso-bidi-font-family: calibri"&gt;&amp;#160;&amp;#160;&amp;#160; About a month ago, I was working on case which from code point of view was damn simple; just a HelloWorld Webpart. But things are not so easy if they appears to be. The issue was running one single line of code in a webpart constructor; which works perfectly fine if we add in CreateChildControls(). Issue was easily reproducible; as in Initial stage we couldn’t find why it happens; I seriously thought to say to the customer as what is such a business need that he need to write in constructor itself; as CreateChildControls() will also be called always. But as we say customers drives us. With help of my Escalation Engineer Andy Li, we found what was the reason. Before, I begin to drill down , few important points to note:    &lt;br /&gt;&lt;font color="#ff0000"&gt;Note: &lt;/font&gt;    &lt;ul&gt;     &lt;li&gt;Please put the sample code in&amp;#160; the Constructor in Try…Catch block, else you won’t be able to add the webpart to the page. &lt;/li&gt;      &lt;li&gt;It will throw ERROR: “Cannot import this webpart”. Similar to the image: &lt;a href="http://blogs.msdn.com/blogfiles/anjali_chelawat/WindowsLiveWriter/2b21802efd71_14AB8/Webpart%20Error.png" mce_href="http://blogs.msdn.com/blogfiles/anjali_chelawat/WindowsLiveWriter/2b21802efd71_14AB8/Webpart%20Error.png"&gt;         &lt;br /&gt;&lt;img title="Webpart Error" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="120" alt="Webpart Error" src="http://blogs.msdn.com/blogfiles/anjali_chelawat/WindowsLiveWriter/2b21802efd71_14AB8/Webpart%20Error_thumb.png" width="244" border="0" mce_src="http://blogs.msdn.com/blogfiles/anjali_chelawat/WindowsLiveWriter/2b21802efd71_14AB8/Webpart%20Error_thumb.png" /&gt;&lt;/a&gt; &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;strong&gt;Scenario 1:&lt;/strong&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Following error is generated from the given sample code:       &lt;br /&gt;&lt;font color="#ff0000"&gt;ERROR: &lt;/font&gt;      &lt;br /&gt;&lt;span style="background-color: yellow"&gt;at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark&amp;amp; stackMark, Boolean isPermSet)        &lt;br /&gt;at System.Security.CodeAccessPermission.Demand() &lt;/span&gt;      &lt;br /&gt;at System.Environment.get_MachineName()       &lt;br /&gt;at HelloWorldWebpart.Class1..ctor() &lt;/p&gt;    &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; max-height: 250px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; background-color: white"&gt;public class Class1 : WebPart      &lt;br /&gt;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; private string name = &amp;quot;&amp;quot;;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public Class1()       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; try       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background-color: yellow"&gt;name = Environment.MachineName;&lt;/span&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; catch (Exception e)       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.Web.HttpContext.Current.Response.Write(e.StackTrace);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; protected override void CreateChildControls()       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; base.CreateChildControls();       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Label label1 = new Label();       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; label1.Text = name;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Controls.Add(label1);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/div&gt;    &lt;br /&gt;    &lt;p&gt;&lt;font color="#008000"&gt;&lt;strong&gt;Some Initial Conclusions&lt;/strong&gt;: Just a vague idea, may be Environment.MachineName does not works with Web application (just meant for Windows Application ). There should be something in web application related stuff. Check Scenario 2.&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Scenario 2:&lt;/strong&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Following error is generated from the given sample code:       &lt;br /&gt;&lt;font color="#ff0000"&gt;ERROR: &lt;/font&gt;      &lt;br /&gt;&lt;span style="background-color: yellow"&gt;at System.Web.HttpServerUtility.get_MachineName() at HelloWorldWebpart.Class1..ctor()&lt;/span&gt; &lt;/p&gt;    &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; max-height: 250px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; background-color: white"&gt;public class Class1 : WebPart      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; private string name = &amp;quot;&amp;quot;;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public Class1()       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; try       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background-color: yellow"&gt;name = System.Web.HttpContext.Current.Server.MachineName; &lt;/span&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; catch (Exception e)       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.Web.HttpContext.Current.Response.Write(e.StackTrace);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; protected override void CreateChildControls()       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; base.CreateChildControls();       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Label label1 = new Label();       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; label1.Text = name;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Controls.Add(label1);       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; } &lt;/div&gt;    &lt;br /&gt;    &lt;p&gt;&lt;font color="#ff0000"&gt;Now, few tests to do before we jump on to root cause analysis:&lt;/font&gt;&lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;Is the error shown every time once you have added the webpart? Confused what's this question. Putting other way round, add the webpart either of Scenario1 OR Scenario 2, it throws error and along with that we can see the webpart added to the page.        &lt;ul&gt;         &lt;li&gt;Now, Exit the edit mode of the page. IS the error stack message still shown on the page? &lt;strong&gt;::: NO&lt;/strong&gt; &lt;/li&gt;          &lt;li&gt;Is the output of the webpart rendered that is the machine name is visible? &lt;strong&gt;::: YES&lt;/strong&gt; &lt;/li&gt;       &lt;/ul&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; In short, &lt;strong&gt;error comes only once at the time&lt;/strong&gt; of adding the webpart. Not after that.&lt;strong&gt;::: YES&lt;/strong&gt; &lt;/li&gt;      &lt;li&gt;Try using the webpart given in Scenario1 OR Scenario 2 (without any modification)in the ASP.Net Webapplication. &lt;strong&gt;Does it WORKS? ::: YES&lt;/strong&gt;. Any Error thrown?&lt;strong&gt;::: NO&lt;/strong&gt; &lt;/li&gt;      &lt;li&gt;Remove the lines from constructor and add to CreateChildControls() method that is remove these lines from the respective Scenario code        &lt;br /&gt;name = Environment.MachineName;         &lt;br /&gt;name = System.Web.HttpContext.Current.Server.MachineName;         &lt;br /&gt;and add these lines to respective CreateChildControls() method         &lt;br /&gt;&lt;strong&gt;Does it WORKS? ::: YES&lt;/strong&gt;. Any Error thrown?&lt;strong&gt;::: NO&lt;/strong&gt; &lt;/li&gt;      &lt;li&gt;In the given sample code in &lt;strong&gt;Scenario 1&lt;/strong&gt;, make the following modifications in the constructor and then check. &lt;strong&gt;Does it WORKS::: YES&lt;/strong&gt;         &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; max-height: 250px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; background-color: white"&gt;public Class1()          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; try           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background-color: yellow"&gt;EnvironmentPermission obj1 = new EnvironmentPermission(EnvironmentPermissionAccess.Read, &amp;quot;COMPUTERNAME&amp;quot;); &lt;/span&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background-color: yellow"&gt;obj1.Assert(); &lt;/span&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; name = Environment.MachineName;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background-color: yellow"&gt;obj1.Deny();&lt;/span&gt;           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; catch (Exception e)           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.Web.HttpContext.Current.Response.Write(e.StackTrace);           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/div&gt;     &lt;/li&gt;      &lt;li&gt;In the given sample code in &lt;strong&gt;Scenario 2&lt;/strong&gt;, make the following modifications in the constructor and then check. &lt;strong&gt;Does it WORKS::: YES&lt;/strong&gt;         &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; max-height: 250px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; background-color: white"&gt;public Class1()          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; try           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background-color: yellow"&gt;AspNetHostingPermission obj1 = new AspNetHostingPermission(AspNetHostingPermissionLevel.Medium); &lt;/span&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background-color: yellow"&gt;obj1.Assert(); &lt;/span&gt;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; name = System.Web.HttpContext.Current.Server.MachineName;           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background-color: yellow"&gt;obj1.Deny();&lt;/span&gt;           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; catch (Exception e)           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.Web.HttpContext.Current.Response.Write(e.StackTrace);           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/div&gt;     &lt;/li&gt;   &lt;/ol&gt;    &lt;p&gt;&lt;font color="#ff0000"&gt;Few questions, from these tests:&lt;/font&gt;&lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;Why the error message comes just once and not always? &lt;/li&gt;      &lt;li&gt;Why the webpart works fine with ASP.Net Web application &amp;amp; not with SharePoint? &lt;/li&gt;      &lt;li&gt;Why removing the line from the constructor in the respective Scenario code and thereby adding the same line to CreateChildControls() worked? What was wrong in the constructor? &lt;/li&gt;      &lt;li&gt;We have turn on the trust level to &amp;quot;Full&amp;quot; in the web.config file, but still the code doesn't works? &lt;/li&gt;      &lt;li&gt;Why the code is considered as Partial Trusted code? &lt;/li&gt;      &lt;li&gt;The webpart is added to GAC which should mean “Full Trust” ; but still the code doesn't works. &lt;/li&gt;      &lt;li&gt;Why we require to add code to give explicit permissions for the lines in the constructor to work? &lt;/li&gt;   &lt;/ol&gt;    &lt;br /&gt;    &lt;p&gt;&lt;strong&gt;&lt;font color="#008000"&gt;ROOT Cause Analysis:&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;The issue is because of the way the Page Parsing functionality works in SharePoint. In SharePoint context, &lt;strong&gt;the Page Parsing is done by SPPageParseFilter&lt;/strong&gt;.         &lt;ol type="a"&gt;         &lt;li&gt;It ignores the security configuration (if any) &amp;amp; even if the DLL is in GAC. It expects the explicit permissions. &lt;/li&gt;          &lt;li&gt;It considers the DLL to be Partial Trusted code though you install the assembly in GAC &lt;/li&gt;       &lt;/ol&gt;     &lt;/li&gt;      &lt;li&gt;Now, why it happens with the Constructor only?        &lt;ol type="a"&gt;         &lt;li&gt;The Page Parser (SPPageParseFilter) only access the Constructor. It does not access any other method like CreateChildControls() and those methods will be called in the page rendering only. &lt;/li&gt;          &lt;li&gt;Now, the Page Parser calls the constructor and expects            &lt;ul&gt;             &lt;li&gt;The explicit security permission included. &lt;/li&gt;              &lt;li&gt;The called assembly to allow Partially Trusted Callers. &lt;/li&gt;           &lt;/ul&gt; In case, not found throws the errors. &lt;/li&gt;       &lt;/ol&gt;     &lt;/li&gt;      &lt;li&gt;The reason why we see the error message just once is the Parser calls the page only once and keeps in the cache. When we do not provide any explicit permissions (just added DLL to GAC and changed the trust level in the web.config file), the parser access the constructor for the first time, it throws the error. But when the page rendering happens it does not throws the error. In the successive calls the parser doesn't comes to the picture and only the page rendering mechanism happens and it doesn't have any issues in accessing the constructor or CreateChildControls ()        &lt;br /&gt;&lt;/li&gt;      &lt;li&gt;Because of this behavior its always recommended to either:&amp;#160; (especially while calling methods in constructors)        &lt;ol type="a"&gt;         &lt;li&gt;Explicitly provide the permissions &lt;/li&gt;          &lt;li&gt;Either make the caller assembly as Allow Partially Trusted Caller OR make a Wrapper round the called assembly and thereby expose the wrapper assembly as Allow Partially Trusted Caller. Now use the wrapper assembly. &lt;/li&gt;       &lt;/ol&gt;        &lt;p mce_keep="true"&gt;&amp;#160;&lt;/p&gt;     &lt;/li&gt;   &lt;/ol&gt; &lt;/span&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9798829" width="1" height="1"&gt;</content><author><name>anjali_chelawat</name><uri>http://blogs.msdn.com/members/anjali_chelawat.aspx</uri></author></entry><entry><title>How to create list using custom list template using SharePoint object model</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/anjali_chelawat/archive/2009/06/20/9793175.aspx" /><id>http://blogs.msdn.com/anjali_chelawat/archive/2009/06/20/9793175.aspx</id><published>2009-06-20T11:36:00Z</published><updated>2009-06-20T11:36:00Z</updated><content type="html">&lt;P&gt;&lt;B&gt;Requirement:&lt;/B&gt; &lt;/P&gt;
&lt;UL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;I have a custom list template uploaded to the List template gallery of the site &lt;/LI&gt;
&lt;LI&gt;How can I create a new list whose template is custom list template using SharePoint object model &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Sample Code:&lt;/B&gt; &lt;/P&gt;&lt;SPAN style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;Decription: &lt;STRONG&gt;GetCustomListTemplates(...) method of SPSite&lt;/STRONG&gt; object gives the collection of the custom lists. &lt;BR&gt;Just a note: &lt;STRONG&gt;ListTemplates property of SPWeb&lt;/STRONG&gt; object returns ONLY the OOB list templates ( as a SPListTemplateCollection). It DOES NOT include the custom list templates (which are stored in the List Template gallery on the site.) &lt;BR&gt;&lt;FONT color=#ff0000&gt;Note:&lt;/FONT&gt; 
&lt;OL&gt;
&lt;LI&gt;Change the highlighted value in the below sample code appropriately.&lt;/LI&gt;
&lt;LI&gt;The &lt;STRONG&gt;title&lt;/STRONG&gt; column value &amp;amp; NOT the &lt;STRONG&gt;name&lt;/STRONG&gt; column value given to the custom list template (in the List Template Gallery) needs to be used in calling methods. &lt;/LI&gt;&lt;/OL&gt;
&lt;DIV style="BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: gray 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: gray 1px solid; MAX-HEIGHT: 250px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: gray 1px solid; BACKGROUND-COLOR: white"&gt;SPSite osite = new SPSite("&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;http://anjalich11:2020&lt;/SPAN&gt;"); &lt;BR&gt;SPWeb oweb = osite.OpenWeb(); &lt;BR&gt;&lt;FONT color=#008000&gt;SPListTemplateCollection listtempcol = oweb.Site.GetCustomListTemplates(oweb); &lt;BR&gt;oweb.Lists.Add(&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;"TestList", "This is my list ", listtempcol["TestListSTP"]&lt;/SPAN&gt;); &lt;BR&gt;SPList olist = oweb.Lists["&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;TestList&lt;/SPAN&gt;"]; &lt;/FONT&gt;&lt;BR&gt;olist.OnQuickLaunch = true; &lt;BR&gt;olist.Update(); &lt;BR&gt;oweb.Dispose(); &lt;BR&gt;osite.Dispose(); &lt;/DIV&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9793175" width="1" height="1"&gt;</content><author><name>anjali_chelawat</name><uri>http://blogs.msdn.com/members/anjali_chelawat.aspx</uri></author><category term="GetCustomListTemplates" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/GetCustomListTemplates/default.aspx" /><category term="SPListTemplateCollection" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/SPListTemplateCollection/default.aspx" /></entry><entry><title>How to return 301/200 for selective 404 HTTP status or in other words say URL-rewriting</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/anjali_chelawat/archive/2009/06/19/9787265.aspx" /><id>http://blogs.msdn.com/anjali_chelawat/archive/2009/06/19/9787265.aspx</id><published>2009-06-19T15:48:00Z</published><updated>2009-06-19T15:48:00Z</updated><content type="html">&lt;SPAN style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;P&gt;About a month ago, I came across an interesting request from my customer, who wanted to have render 301/200 for specific 404 pages. May be few of us are aware about URL re-writing &amp;amp; designing&amp;nbsp; of HTTP modules; but interesting point to share here difference between 2 methods to achieve this&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;B&gt;Issue Description:&lt;/B&gt; &lt;/P&gt;
&lt;UL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;Customer had a collection of URLs , which when we type in browser, it gives HTTP 404 Not found. The reason they are short handed URL and not the the complete URL &lt;/LI&gt;
&lt;LI&gt;Example: 
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#"&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;http://anjalich11:5000/TI&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt; is the URL which actually needs to be redirected to : &lt;/A&gt;&lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#"&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;http://anjalich11:5000/TI/Pages/default.aspx&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Because of HTTP 404, Customer had issues with external sites which crawl these links. The crawler won’t crawl these links as it is rendered as HTTP 404 &lt;/LI&gt;
&lt;LI&gt;We want these links to be rendered as HTTP 301 “Temporarily Moved” OR mark as HTTP 301 “Successful” which will help the crawler to crawl the links &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Tool Used:&lt;/B&gt; &lt;/P&gt;
&lt;UL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;The tool I used to view the HTTP requests is Fiddler. You can get it at &lt;A href="http://www.fiddlertool.com/" mce_href="http://www.fiddlertool.com"&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;www.fiddlertool.com&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;BR&gt;
&lt;P&gt;&lt;B&gt;Points to NOTE :&lt;/B&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;P&gt;Before we discuss about the solutions, there are few questions here: (&lt;FONT color=#ff0000&gt;Note: &lt;/FONT&gt;Read the &lt;STRONG&gt;2 Scenarios&lt;/STRONG&gt; and their respective &lt;STRONG&gt;fiddler test result&lt;/STRONG&gt; for both the Scenarios.)&lt;/FONT&gt; &lt;/P&gt;
&lt;P&gt;&lt;B&gt;Scenario 1:&lt;/B&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;What if we want the link to be crawled? &lt;/LI&gt;
&lt;LI&gt;What if we want the URL to be rendered as HTTP 200 (Success) instead of 404 (Page Not Found) &lt;/LI&gt;
&lt;LI&gt;What if we want the URL to render contents of other link but for User it seems to the same link. &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Example:&lt;/B&gt; 
&lt;UL&gt;
&lt;LI&gt;User enters: &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#"&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;http://anjalich11:4000/TI&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;But the page to be processed at HTTP handler need to be changed before processing. &lt;/LI&gt;
&lt;LI&gt;Say need to render data from this page: &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#"&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;http://anjalich11:4000/TI/Pages/default.aspx&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;Scenario 2:&lt;/B&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;What if we want the link to be marked as Temporarily Moved? &lt;/LI&gt;
&lt;LI&gt;What if we want the URL to be rendered as HTTP 301 (Temporarily Moved) instead of 404 (Page Not Found) &lt;/LI&gt;
&lt;LI&gt;What the redirection need to be mentioned dynamically rather than mentioning at IIS settings &lt;/LI&gt;&lt;/OL&gt;&lt;/SPAN&gt;&lt;BR&gt;
&lt;P&gt;&lt;B&gt;Resolution / WorkAround &lt;/B&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;P&gt;&lt;B&gt;For Scenario 1:&lt;/B&gt;Taking Example to explain the resolution &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;User enters link: &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#"&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;http://anjalich11:4000/TI&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Data Rendered for the requested link is :&lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#"&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;http://anjalich11:4000/TI/Pages/default.aspx&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;User still sees the entered URL &amp;amp; he wont know that URL is been rendered/processed from some other page &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;Resolution For Scenario 1:&lt;/B&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;We need to create custom HTTPModule inheriting from IHttpModule for achieving URL Rewriting &lt;BR&gt;&lt;FONT color=#ff0000&gt;Note:&lt;/FONT&gt; We need to define 2 methods: Dispose() &amp;amp; Init() &lt;/LI&gt;
&lt;LI&gt;Depending upon the Authentication for SharePoint Site, we need to decide as which event need to be used for URL Rewriting 
&lt;UL&gt;
&lt;LI&gt;If you use Windows authentication with file authorization, we will need to change this so that URL rewriting is performed in either the BeginRequest or AuthenticateRequest events &lt;/LI&gt;
&lt;LI&gt;Else we can do URL rewriting in Authorize event &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;I will be selecting for Begin Event. &lt;/LI&gt;
&lt;LI&gt;Create an Event Handler for Begin event and register the event in the Initialize event &lt;/LI&gt;
&lt;LI&gt;Writing Code for URL Rewriting: &lt;/LI&gt;
&lt;LI&gt;Complete Code Snippet: 
&lt;DIV style="BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: gray 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: gray 1px solid; MAX-HEIGHT: 250px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: gray 1px solid; BACKGROUND-COLOR: white"&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; namespace HTTPModule404To301&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class HTTPModule404To301 : IHttpModule&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Dispose()&amp;nbsp; {}&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Init(HttpApplication context) { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; context.BeginRequest += new EventHandler(URLRewriter_BeginRequest); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void URLRewriter_BeginRequest(object sender, EventArgs e) { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpApplication app = (HttpApplication)sender; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rewrite(app.Request.Path, app); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected void Rewrite(string requestedPath,System.Web.HttpApplication app){ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Boolean blnRedirect ;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#008000&gt;// Business Logic to connect to data repository and thereby check if the shortcut for the link exists and get the link which need to be rendered &lt;/FONT&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (blnRedirect) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#008000&gt;// Here, as per our example mentioned above:&amp;nbsp; strUrlToBeRendered= "/TI/Pages/default.aspx"&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Note: It takes Relative URL Path.&lt;/FONT&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#ff0000&gt;HttpContext.Current.RewritePath(strUrlToBeRendered, String.Empty, String.Empty);&lt;/FONT&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp; }&amp;nbsp; &lt;/P&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Test Result on FIDDLER TOOL&lt;/B&gt; 
&lt;UL&gt;
&lt;LI&gt;When we enter &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#"&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;http://anjalich11:4000/TI&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt; when there is no custom HTTP Module designed; we can see Value HTTP 404 &lt;/LI&gt;
&lt;LI&gt;After we designed custom HTTP Module, for URL: &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#"&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;http://anjalich11:4000/TI&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;, &lt;STRONG&gt;we can see Value HTTP 200 &lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;BR&gt;
&lt;P&gt;&lt;B&gt;For Scenario 2:&lt;/B&gt;Taking Example to explain the resolution &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;User enters link: &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#"&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;http://anjalich11:4000/TI&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;We need to render to Browser as HTTP 301 "Temporarily Moved" and thereby redirect to other URL Page showing Custom Message/the content &lt;BR&gt;&lt;FONR color="red"&gt;Note:&lt;/FONT&gt; Make sure the redirected page exists &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;Resolution For Scenario 2:&lt;/B&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;We need to create custom HTTPModule inheriting from IHttpModule for achieving URL Rewriting &lt;BR&gt;&lt;FONT color=#ff0000&gt;Note:&lt;/FONT&gt; We need to define 2 methods: Dispose() &amp;amp; Init() &lt;/LI&gt;
&lt;LI&gt;Depending upon the Authentication for SharePoint Site, we need to decide as which event need to be used for URL Rewriting 
&lt;UL&gt;
&lt;LI&gt;If you use Windows authentication with file authorization, we will need to change this so that URL rewriting is performed in either the BeginRequest or AuthenticateRequest events &lt;/LI&gt;
&lt;LI&gt;Else we can do URL rewriting in Authorize event &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;I will be selecting for Begin Event. &lt;/LI&gt;
&lt;LI&gt;Create an Event Handler for Begin event and register the event in the Initialize event &lt;/LI&gt;
&lt;LI&gt;Writing Code for URL Rewriting: &lt;/LI&gt;
&lt;LI&gt;Complete Code Snippet: 
&lt;DIV style="BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: gray 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: gray 1px solid; MAX-HEIGHT: 250px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: gray 1px solid; BACKGROUND-COLOR: white"&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; namespace HTTPModule404To301&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class HTTPModule404To301 : IHttpModule&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Dispose()&amp;nbsp; {}&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Init(HttpApplication context) { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; context.BeginRequest += new EventHandler(URLRewriter_BeginRequest); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void URLRewriter_BeginRequest(object sender, EventArgs e) { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpApplication app = (HttpApplication)sender; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rewrite(app.Request.Path, app); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected void Rewrite(string requestedPath,System.Web.HttpApplication app){ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Boolean blnRedirect ;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#008000&gt;// Business Logic to connect to data repository and thereby check if the shortcut for the link exists and get the link which need to be rendered &lt;/FONT&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (blnRedirect) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#008000&gt;//Adding Response header&lt;/FONT&gt; &lt;BR&gt;&lt;FONT color=#ff0000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; app.Response.StatusCode =301;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; app.Response.RedirectLocation= strRedirectLocation; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; app.Response.Flush();&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; app.Response.End();&lt;/FONT&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp; }&amp;nbsp; &lt;/P&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Test Result on FIDDLER TOOL&lt;/B&gt; 
&lt;UL&gt;
&lt;LI&gt;When we enter &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#"&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;http://anjalich11:4000/TI&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt; when there is no custom HTTP Module designed; we can see Value HTTP 404 &lt;/LI&gt;
&lt;LI&gt;After we designed custom HTTP Module, for URL: &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=12564&amp;amp;postid=9787265#"&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;http://anjalich11:4000/TI&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;, &lt;STRONG&gt;we can see Value HTTP 301 and then there will be another entry for the redirected Page with HTTP Status 200 &lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9787265" width="1" height="1"&gt;</content><author><name>anjali_chelawat</name><uri>http://blogs.msdn.com/members/anjali_chelawat.aspx</uri></author><category term="URL rewriting" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/URL+rewriting/default.aspx" /><category term="http modules" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/http+modules/default.aspx" /><category term="HTTP 301" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/HTTP+301/default.aspx" /><category term="HTTP 200" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/HTTP+200/default.aspx" /><category term="crawling links" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/crawling+links/default.aspx" /><category term="HTTP 404" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/HTTP+404/default.aspx" /></entry><entry><title>How to customize the table styles in content editor webpart</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/anjali_chelawat/archive/2009/06/17/9765429.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="6907" href="http://blogs.msdn.com/anjali_chelawat/attachment/9765429.ashx" /><id>http://blogs.msdn.com/anjali_chelawat/archive/2009/06/17/9765429.aspx</id><published>2009-06-17T06:13:00Z</published><updated>2009-06-17T06:13:00Z</updated><content type="html">&lt;P&gt;&lt;B&gt;Requirement:&lt;/B&gt; &lt;/P&gt;
&lt;UL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;How to customize the table styles in content editor webpart &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Attachment:&lt;/B&gt; &lt;/P&gt;
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;The attachment contains Sample_Files zip which in turn contains 2 files for reference: 
&lt;LI&gt;sample.master file &lt;/LI&gt;
&lt;LI&gt;CustomHtmlEditorTableFormats.css &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;Steps to REPRO the OOB functionality:&lt;/B&gt; &lt;/P&gt;
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;ADD Content Editor Webpart to your Webpart page &lt;/LI&gt;
&lt;LI&gt;Click on Rich text editor in the tool pane of the webpart &lt;/LI&gt;
&lt;LI&gt;Click on Insert table &lt;/LI&gt;
&lt;LI&gt;You will see the check box "Apply Table template" &lt;BR&gt;&lt;B&gt;(&lt;FONT color=#ff0000&gt;Note:&lt;/FONT&gt; In case its disabled. Please follow instructions as per : &lt;A href="http://support.microsoft.com/kb/948320"&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;http://support.microsoft.com/kb/948320&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;)&lt;/B&gt; &lt;/LI&gt;
&lt;LI&gt;If its enabled, Click on the check box Apply Table template &lt;/LI&gt;
&lt;LI&gt;There are some predefined templates. Now, if we want to add our own table template, then how to do that? The resolution for the same is below &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;Resolution / WorkAround:&lt;/B&gt; &lt;/P&gt;
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;Browse to the location: &lt;I&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033\STYLES&lt;/I&gt; &lt;/LI&gt;
&lt;LI&gt;Make a copy of HtmlEditorTableFormats.css (&lt;FONT color=#ff0000&gt;Note:&lt;/FONT&gt; DO NOT make any changes in the OOB files without using SharePoint Designer. Changing any OOB Files using Visual Studio/ text editor is not supported &amp;amp; recommended. ) &lt;/LI&gt;
&lt;LI&gt;Rename the copy to (say) CustomHtmlEditorTableFormats.css &lt;/LI&gt;
&lt;LI&gt;Now, open the CustomHtmlEditorTableFormats.css in any text editor &lt;/LI&gt;
&lt;LI&gt;Add your styles for table to it. Few very point points to take care: 
&lt;UL&gt;
&lt;LI&gt;It should be with the below prescribed format. &lt;/LI&gt;
&lt;LI&gt;The whole set of below .css classes describes one single table format. &lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;We cannot change the name of the .CSS classes except the highlighted number&lt;/STRONG&gt;&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;The &lt;STRONG&gt;highlighted number “10” in all the below classes can be any other number&lt;/STRONG&gt;. &lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Make sure it is numeric only&lt;/FONT&gt; &lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Add the following bunch of .css classes in the custom css file (as created in POINT NO. 3) as per the &lt;STRONG&gt;instructions&lt;/STRONG&gt; mentioned in the POINT NO. 5 
&lt;DIV style="BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: gray 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: gray 1px solid; MAX-HEIGHT: 250px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: gray 1px solid; BACKGROUND-COLOR: white"&gt;.ms-rteTable-&lt;STRONG&gt;10&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-width: 0px; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-style: none; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-collapse: collapse; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family: Tahoma;&amp;nbsp; &lt;BR&gt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10&lt;/STRONG&gt; tr.ms-rteTableHeaderRow-&lt;STRONG&gt;10&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin: 10px; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding: 10px; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color: #3F4D6B; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; background: #D6E8FF; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text-align: left; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-size: 10pt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-style: normal; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family: Tahoma;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text-transform: capitalize; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-weight: bold; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-spacing: 10px; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; line-height: 14pt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vertical-align: top; &lt;BR&gt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10&lt;/STRONG&gt; td.ms-rteTableHeaderFirstCol-&lt;STRONG&gt;10 &lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding: 0in 5.4pt 0in 5.4pt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color: #3a4663; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; line-height: 14pt; &lt;BR&gt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10 &lt;/STRONG&gt;td.ms-rteTableHeaderLastCol-&lt;STRONG&gt;10&lt;/STRONG&gt;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding: 0in 5.4pt 0in 5.4pt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color: #3a4663; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; line-height: 14pt; &lt;BR&gt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10&lt;/STRONG&gt; td.ms-rteTableHeaderOddCol-&lt;STRONG&gt;10&lt;/STRONG&gt; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding:0in 5.4pt 0in 5.4pt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color: #3a4663; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; line-height: 14pt; &lt;BR&gt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10&lt;/STRONG&gt; td.ms-rteTableHeaderEvenCol-&lt;STRONG&gt;10 &lt;/STRONG&gt;&lt;BR&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding:0in 5.4pt 0in 5.4pt; color: #3a4663; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; line-height: 14pt; &lt;BR&gt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10&lt;/STRONG&gt; tr.ms-rteTableOddRow-&lt;STRONG&gt;10&lt;/STRONG&gt;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color: #666666; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; background-color: #F2F3F4; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-size: 10pt;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vertical-align: top; &lt;BR&gt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10&lt;/STRONG&gt; tr.ms-rteTableEvenRow-&lt;STRONG&gt;10&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color: #666666; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; background-color: #E7EBF7; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-size: 10pt;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vertical-align: top; &lt;BR&gt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10&lt;/STRONG&gt; td.ms-rteTableFirstCol-&lt;STRONG&gt;10&lt;/STRONG&gt;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding: 0in 5.4pt 0in 5.4pt; &lt;BR&gt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10&lt;/STRONG&gt; td.ms-rteTableLastCol-10 {padding:0in 5.4pt 0in 5.4pt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10&lt;/STRONG&gt; td.ms-rteTableOddCol-10&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding: 0in 5.4pt 0in 5.4pt; &lt;BR&gt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10 &lt;/STRONG&gt;td.ms-rteTableEvenCol-&lt;STRONG&gt;10&lt;/STRONG&gt; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding:0in 5.4pt 0in 5.4pt; &lt;BR&gt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10&lt;/STRONG&gt; tr.ms-rteTableFooterRow-&lt;STRONG&gt;10 &lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; background-color: #D6E8FF; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color: #4A5A80; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-weight: 500; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-size: 10pt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family: Tahoma;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; line-height: 11pt; &lt;BR&gt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10&lt;/STRONG&gt; td.ms-rteTableFooterFirstCol-&lt;STRONG&gt;10&lt;/STRONG&gt;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding: 0in 5.4pt 0in 5.4pt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-top: solid gray 1.0pt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text-align: left; &lt;BR&gt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10&lt;/STRONG&gt; td.ms-rteTableFooterLastCol-&lt;STRONG&gt;10&lt;/STRONG&gt; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding:0in 5.4pt 0in 5.4pt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-top:solid gray 1.0pt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text-align:left; &lt;BR&gt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10&lt;/STRONG&gt; td.ms-rteTableFooterOddCol-&lt;STRONG&gt;10&lt;/STRONG&gt;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding: 0in 5.4pt 0in 5.4pt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text-align: left; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-top: solid gray 1.0pt; &lt;BR&gt;} &lt;BR&gt;.ms-rteTable-&lt;STRONG&gt;10 &lt;/STRONG&gt;td.ms-rteTableFooterEvenCol-&lt;STRONG&gt;10&lt;/STRONG&gt;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; padding: 0in 5.4pt 0in 5.4pt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text-align: left; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; border-top: solid gray 1.0pt; &lt;BR&gt;}&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;Open the respective master page for the site, if default.master (open in SharePoint Designer) and if a custom master page (open either in SharePoint Designer or Visual Studio or any text editor) (&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt;&lt;/FONT&gt; In case, the site is using default.master, then please make changes using SharePoint designer only. Changing default.master using Visual Studio is not supported &amp;amp; recommended. In case wanted to make changes using Visual Studio, then make copy of default.master and name it as (say) custom.master and now make changes &lt;/LI&gt;
&lt;LI&gt;If there is any URL specific for HtmlEditorTableFormats.css, remove the link from master page. And now, attach the URL for the stylesheet CustomHtmlEditorTableFormats.css to the respective master page. &lt;/LI&gt;
&lt;LI&gt;Upload the changed master page to the respective site and thereby publish &amp;amp; approve the changed one. &lt;/LI&gt;
&lt;LI&gt;Check the table formats now in the content editor webpart. &lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#ff0000&gt;The name of the custom table format will be: "Table Format [the number given]". In our case it will be "Table Format 10"&lt;/FONT&gt; &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;End Result:&lt;/B&gt; &lt;/P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/anjali_chelawat/WindowsLiveWriter/d5b2b4c9fa8d_5366/Sample_2.gif" mce_href="http://blogs.msdn.com/blogfiles/anjali_chelawat/WindowsLiveWriter/d5b2b4c9fa8d_5366/Sample_2.gif"&gt;&lt;IMG title=Custom_TableStyles_ContentEditorWebpart style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=114 alt=Custom_TableStyles_ContentEditorWebpart src="http://blogs.msdn.com/blogfiles/anjali_chelawat/WindowsLiveWriter/d5b2b4c9fa8d_5366/Sample_2_thumb.gif" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/anjali_chelawat/WindowsLiveWriter/d5b2b4c9fa8d_5366/Sample_2_thumb.gif"&gt;&lt;/A&gt; &lt;BR&gt;
&lt;P&gt;&lt;B&gt;How this WORKS in SharePoint:&lt;/B&gt; &lt;/P&gt;
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;In order to know as how the table styles are loaded for the Content Editor WebPart; best is to use Fiddler tool (found at &lt;A href="http://www.fiddlertool.com/"&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;http://www.fiddlertool.com&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;) 
&lt;LI&gt;After we have click the RichText Editor; we are with the writ up space with many formatting options &lt;/LI&gt;
&lt;LI&gt;Click on the "Insert Table". A new window opens up with table format. &lt;/LI&gt;
&lt;LI&gt;This window is designed using RTE2ETable.aspx (located at ..\12\TEMPLATE\LAYOUTS) &lt;/LI&gt;
&lt;LI&gt;Now, if we look at the javascript files which are been added to this page; we find 4 files of which we will drill down 2 
&lt;UL&gt;
&lt;LI&gt;BForm.js (located at ..\12\TEMPLATE\LAYOUTS\1033) &lt;/LI&gt;
&lt;LI&gt;HtmlEditor.js (located at ..\12\TEMPLATE\LAYOUTS\1033) &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Assumption:&lt;/STRONG&gt; We clicked on "Insert Table" option &amp;amp; the Page: RTE2ETable.aspx opens. Now, how the table templates are build. They are build using javascript. Flow is below: 
&lt;OL type=A&gt;
&lt;LI&gt;Calls Method: &lt;STRONG&gt;RTE2_InsertTable&lt;/STRONG&gt;, when page loads(File: HtmlEditor.js) &lt;BR&gt;Description: 
&lt;UL&gt;
&lt;LI&gt;This method calls the RTE2_GetReservedTableStyleRules method &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Method: &lt;STRONG&gt;RTE2_GetReservedTableStyleRules&lt;/STRONG&gt; (File: HtmlEditor.js) &lt;BR&gt;Description: 
&lt;UL&gt;
&lt;LI&gt;This method calls RTE_GetReservedStyleRules &lt;/LI&gt;
&lt;LI&gt;It passes the default css file for the table formats (i.e. HtmlEditorTableFormats.css) as the parameter &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Method: &lt;STRONG&gt;RTE_GetReservedStyleRules&lt;/STRONG&gt; (File: BForm.js) &lt;BR&gt;Description: 
&lt;UL&gt;
&lt;LI&gt;It gets the collection of all the stylesheets and there by calls the method: RTE_GetReservedStyleRulesFromStyleSheet for each of them in a loop &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Method: &lt;STRONG&gt;RTE_GetReservedStyleRulesFromStyleSheet&lt;/STRONG&gt; (File: BForm.js) &lt;BR&gt;Description: 
&lt;UL&gt;
&lt;LI&gt;This is the method which &lt;STRONG&gt;adds all the classes&lt;/STRONG&gt; of the stylesheets into the array &lt;/LI&gt;
&lt;LI&gt;Check out the &lt;STRONG&gt;conditional check for the prefix to be numeric &lt;/STRONG&gt;in this method &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9765429" width="1" height="1"&gt;</content><author><name>anjali_chelawat</name><uri>http://blogs.msdn.com/members/anjali_chelawat.aspx</uri></author><category term="content editor webpart" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/content+editor+webpart/default.aspx" /><category term="table templates" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/table+templates/default.aspx" /><category term="table styles" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/table+styles/default.aspx" /></entry><entry><title>How to show file/folder icons depending on the type in Content Query Webpart</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/anjali_chelawat/archive/2009/06/16/how-to-show-file-folder-icons-depending-on-the-type-in-content-query-webpart.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="3467" href="http://blogs.msdn.com/anjali_chelawat/attachment/9762868.ashx" /><id>http://blogs.msdn.com/anjali_chelawat/archive/2009/06/16/how-to-show-file-folder-icons-depending-on-the-type-in-content-query-webpart.aspx</id><published>2009-06-16T21:39:00Z</published><updated>2009-06-16T21:39:00Z</updated><content type="html">&lt;P&gt;&lt;B&gt;Requirement:&lt;/B&gt; &lt;/P&gt;
&lt;UL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;How to show file/folder icons depending on the type in Content Query Webpart &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;POINTS to Remember:&lt;/B&gt; &lt;/P&gt;
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;&lt;FONT color=#ff0000&gt;NOTE:&lt;/FONT&gt; In any other Site except of Publishing Type, activate the following two features in your site, to have Content Query Webpart 
&lt;LI&gt;In Site Collection Features: Office SharePoint Server Publishing Infrastructure &lt;/LI&gt;
&lt;LI&gt;In Site Features: Office SharePoint Server Publishing &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;Attachment:&lt;/B&gt; &lt;/P&gt;
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;The attachment contains Sample_Files zip which in turn contains 2 files for reference: 
&lt;LI&gt;webpart file &lt;/LI&gt;
&lt;LI&gt;ItemStyle.xsl &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;Steps to REPRO the OOB functionality:&lt;/B&gt; &lt;/P&gt;
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;ADD Content Query Webpart to your Webpart page &lt;/LI&gt;
&lt;LI&gt;Set the query properties to display the items from specific site or list of any content or specific content type. &lt;/LI&gt;
&lt;LI&gt;The result are shown, BUT whether the shown item is doc, xls, pdf , folder or any other type is not visible. &lt;/LI&gt;
&lt;LI&gt;The resolution for the same is below &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;Resolution / WorkAround:&lt;/B&gt; &lt;/P&gt;
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: calibri; mso-bidi-font-family: calibri"&gt;
&lt;LI&gt;There are 2 fields which determine whether its is file or folder. And if it is file then which type: 
&lt;UL&gt;
&lt;LI&gt;File Type &lt;/LI&gt;
&lt;LI&gt;HTML File Type &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;The above field names are the Display Names. Their Internal Names are: 
&lt;UL&gt;
&lt;LI&gt;File_x0020_Type &lt;/LI&gt;
&lt;LI&gt;HTML_x0020_File_x0020_Type &lt;FONT color=#ff0000&gt;(Note: The space is replaced by "_x0020_")&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Now, add the Content query webpart to the page. (OOB webpart) &lt;/LI&gt;
&lt;LI&gt;Export the webpart (by clicking on the webpart right side small arrow icon: Export) &lt;/LI&gt;
&lt;LI&gt;Save the *.webpart file &lt;/LI&gt;
&lt;LI&gt;Open the file in notepad &lt;/LI&gt;
&lt;LI&gt;Search for word "CommonViewFields" &lt;/LI&gt;
&lt;LI&gt;Change the property as below: 
&lt;DIV style="BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: gray 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: gray 1px solid; MAX-HEIGHT: 200px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: gray 1px solid; BACKGROUND-COLOR: white"&gt;&amp;lt;property type="string" name="&lt;STRONG&gt;CommonViewFields&lt;/STRONG&gt;"&amp;gt;File_x0020_Type, Text;HTML_x0020_File_x0020_Type, Text&amp;lt;/property&amp;gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;Now, save the *.webpart file &lt;/LI&gt;
&lt;LI&gt;Go the respective SharePoint Site&amp;gt;&amp;gt; Site Settings &amp;gt;&amp;gt; Click on Webpart Gallery &lt;/LI&gt;
&lt;LI&gt;Now, Upload the *.webpart file . (Make sure to give Name &amp;amp; Title differently) &lt;/LI&gt;
&lt;LI&gt;Now, open the siet in SharePoint Designer &lt;/LI&gt;
&lt;LI&gt;Browse to &lt;STRONG&gt;Style Library &amp;gt;&amp;gt; XSL Style Sheets &amp;gt;&amp;gt; ItemStyle.xsl&lt;/STRONG&gt; . Checkout the file &lt;/LI&gt;
&lt;LI&gt;Add the following namespace to the &lt;STRONG&gt;&amp;lt;xsl:stylesheet&amp;gt;&lt;/STRONG&gt; ( this is the root node) tag 
&lt;DIV style="BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: gray 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: gray 1px solid; COLOR: red; MAX-HEIGHT: 200px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: gray 1px solid; BACKGROUND-COLOR: white"&gt;&lt;STRONG&gt;xmlns:ddwrt&lt;/STRONG&gt;="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;Now, append the following custom style template to the existing templates&amp;nbsp; (add inside the root node of&amp;nbsp; &amp;lt;xsl:stylesheet&amp;gt; )in the ItemStyle.xsl : 
&lt;DIV style="BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: gray 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: gray 1px solid; MAX-HEIGHT: 200px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: gray 1px solid; BACKGROUND-COLOR: white"&gt;&amp;lt;xsl:template name="&lt;STRONG&gt;MyCustomStyle&lt;/STRONG&gt;" match="Row[@Style='MyCustomStyle']' mode='&lt;STRONG&gt;itemstyle&lt;/STRONG&gt;"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:variable name="SafeImageUrl"&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:call-template name="OuterTemplate.GetSafeStaticUrl"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:with-param name="UrlColumnName" select="'ImageUrl'"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:call-template&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:variable&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:variable name="SafeLinkUrl"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:call-template name="OuterTemplate.GetSafeLink"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:with-param name="UrlColumnName" select="'LinkUrl'"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:call-template&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:variable&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:variable name="DisplayTitle"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:call-template name="OuterTemplate.GetTitle"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:with-param name="Title" select="@Title"/&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:with-param name="UrlColumnName" select="'LinkUrl'"/&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:call-template&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:variable&amp;gt; &amp;lt;xsl:variable name="LinkTarget"&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:if test="@OpenInNewWindow = 'True'" &amp;gt;_blank&amp;lt;/xsl:if&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:variable&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="linkitem" class="item"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:variable name="&lt;STRONG&gt;CustomVariable1&lt;/STRONG&gt;"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:value-of select="@File_x005F_x0020_Type" /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:variable&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:choose&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:when test="&lt;STRONG&gt;string-length($CustomVariable1) != 0&lt;/STRONG&gt;"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="image-area-left"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a href="{$SafeLinkUrl}" mce_href="{$SafeLinkUrl}" target="{$LinkTarget}"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;img class="image" alt="&lt;STRONG&gt;Type:{@File_x005F_x0020_Type}&lt;/STRONG&gt;" src=&lt;STRONG&gt;"/_layouts/images/{ddwrt:MapToIcon(string(@HTML_x005F_x0020_File_x005F_x0020_Type),string(@File_x005F_x0020_Type))}"&lt;/STRONG&gt;&amp;nbsp; /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/a&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:when&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:otherwise&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="image-area-left"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a href="{$SafeLinkUrl}" mce_href="{$SafeLinkUrl}" target="{$LinkTarget}"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;img class="image" src=&lt;STRONG&gt;"/_layouts/images/FOLDER.GIF"&lt;/STRONG&gt; alt="&lt;STRONG&gt;Type:Folder&lt;/STRONG&gt;" /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/a&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:otherwise&amp;gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:choose&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="link-item"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:call-template name="OuterTemplate.CallPresenceStatusIconTemplate"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a href="{$SafeLinkUrl}" mce_href="{$SafeLinkUrl}" target="{$LinkTarget}" title="{@LinkToolTip}"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:value-of select="$DisplayTitle"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/a&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="description"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:value-of select="@Description" /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt; &lt;BR&gt;&amp;lt;/xsl:template&amp;gt; &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;Save the file &amp;amp; check in. &lt;/LI&gt;
&lt;LI&gt;Now, Add the webpart (which is uploaded in Point 11) to the page &lt;/LI&gt;
&lt;LI&gt;Edit the page and browse the webpart properties (Edit &amp;gt;&amp;gt; Modify Webpart) &lt;/LI&gt;
&lt;LI&gt;Make sure to select appropriate values in the Query section: for &lt;STRONG&gt;&lt;SPAN&gt;List Type &amp;amp; Source&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;/LI&gt;
&lt;LI&gt;Open section Presentation and check for ItemStyle Field &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Select the custom style name (here is "MyCustomStyle") from the dropdown&lt;/STRONG&gt; &lt;/LI&gt;
&lt;LI&gt;Save the changes and check the webpart. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;End Result:&lt;/B&gt; &lt;/P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/anjali_chelawat/WindowsLiveWriter/Howtoshowfilefoldericonsdependingonthety_3E69/Sample_1.gif"&gt;&lt;IMG title=ContentQueryWebpart_File_Folder_icon style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=90 alt=ContentQueryWebpart_File_Folder_icon src="http://blogs.msdn.com/blogfiles/anjali_chelawat/WindowsLiveWriter/Howtoshowfilefoldericonsdependingonthety_3E69/Sample_1_thumb.gif" width=260 border=0&gt;&lt;/A&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9762868" width="1" height="1"&gt;</content><author><name>anjali_chelawat</name><uri>http://blogs.msdn.com/members/anjali_chelawat.aspx</uri></author><category term="custom fields" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/custom+fields/default.aspx" /><category term="Content Query Webpart" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/Content+Query+Webpart/default.aspx" /><category term="CommonViewFields" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/CommonViewFields/default.aspx" /><category term="ItemStyle.xsl" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/ItemStyle.xsl/default.aspx" /><category term="icons" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/icons/default.aspx" /></entry><entry><title>How to modify a DateTime value of AfterProperties in ItemUpdating/ ItemAdding Events in SharePoint </title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/anjali_chelawat/archive/2009/06/16/how-to-modify-a-datetime-value-in-sharepoint-afterproperties.aspx" /><link rel="enclosure" type="application/octet-stream" length="1093" href="http://blogs.msdn.com/anjali_chelawat/attachment/9757628.ashx" /><id>http://blogs.msdn.com/anjali_chelawat/archive/2009/06/16/how-to-modify-a-datetime-value-in-sharepoint-afterproperties.aspx</id><published>2009-06-16T04:56:00Z</published><updated>2009-06-16T04:56:00Z</updated><content type="html">&lt;P&gt;&lt;B&gt;Issue Description:&lt;/B&gt; 
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: Calibri; mso-bidi-font-family: Calibri"&gt;
&lt;LI&gt;When you change the value of the DateTime column of Custom List in SharePoint's SPItemReceiver AfterProperties/BeforeProperties you need to set it to a specific DateTimeFormat string or else it throws the Error&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=red&gt;Error "Invalid date/time value. A date/time field contains invalid data. Please check the value and try again."&lt;/FONT&gt; &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;Steps to REPRO the Issue:&lt;/B&gt; 
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: Calibri; mso-bidi-font-family: Calibri"&gt;
&lt;LI&gt;Created a SharePoint Customer List &lt;/LI&gt;
&lt;LI&gt;Add a new custom Column of type DateTime (Example: ApprovedTimeStamp)&lt;/LI&gt;
&lt;LI&gt;Created a Feature Receiver Event Handler Assembly implementing ItemUpdating/ ItemAdding&amp;nbsp;event.&lt;BR&gt;(&lt;FONT color=red&gt;Note:&lt;/FONT&gt; EventHandler sample showing ItemUpdating &lt;STRONG&gt;code is attached in the blog&lt;/STRONG&gt;)&lt;/LI&gt;
&lt;LI&gt;Try to assign value to the Datetime Column of After Properties in ItemUpdating/ ItemAdding&amp;nbsp;event. If you assign value either of the below mentioned way it throws Error: "&lt;EM&gt;Invalid date/time value. A date/time field contains invalid data. Please check the value and try again.&lt;/EM&gt;"&lt;/LI&gt;
&lt;LI&gt;properties.AfterProperties["ApprovedTimeStamp"] = DateTime.Now ; &lt;FONT color=red&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Generates Error&lt;/FONT&gt; &lt;BR&gt;properties.AfterProperties["ApprovedTimeStamp"] = DateTime.Now.ToString(); &lt;FONT color=red&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Generates Error&lt;/FONT&gt;&lt;BR&gt;properties.AfterProperties["ApprovedTimeStamp"] = new DateTime(2008, 11, 08) ; &lt;FONT color=red&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Generates Error&lt;/FONT&gt; &lt;BR&gt;properties.AfterProperties["ApprovedTimeStamp"] = DateTime.Now.ToLongDateString(); &lt;FONT color=red&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Generates Error &lt;/FONT&gt;&lt;BR&gt;properties.AfterProperties["ApprovedTimeStamp"] = DateTime.Now.ToShortDateString(); &lt;FONT color=red&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Generates Error&lt;/FONT&gt; &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;Resolution / WorkAround:&lt;/B&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: Calibri; mso-bidi-font-family: Calibri"&gt;When setting a DateTime value in AfterProperties you have to convert the the DateTime to an ISO8601 string format. Either of the below mentioned line can be used to assign value to DateTime Column of Afterproperties in ItemUpdating/ ItemAdding Event: 
&lt;OL&gt;
&lt;LI&gt;properties.AfterProperties["ApprovedTimeStamp"] = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ssZ"); &lt;FONT color=green&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Works Fine&lt;/FONT&gt; 
&lt;LI&gt;properties.AfterProperties["ApprovedTimeStamp"] = Microsoft.SharePoint.Utilities.SPUtility.CreateISO8601DateTimeFromSystemDateTime(DateTime.Now); &lt;FONT color=green&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Works Fine&lt;/FONT&gt; &lt;/LI&gt;&lt;/OL&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9757628" width="1" height="1"&gt;</content><author><name>anjali_chelawat</name><uri>http://blogs.msdn.com/members/anjali_chelawat.aspx</uri></author><category term="After Properties" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/After+Properties/default.aspx" /><category term="DateTime Field" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/DateTime+Field/default.aspx" /><category term="Item Updating" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/Item+Updating/default.aspx" /></entry><entry><title>The security validation for this page is incorrect. Click Back in your Web browser, refresh the page and retry the operation</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/anjali_chelawat/archive/2009/06/16/the-security-validation-for-this-page-is-incorrect-click-back-in-your-web-browser-refresh-the-page-and-retry-the-operation.aspx" /><id>http://blogs.msdn.com/anjali_chelawat/archive/2009/06/16/the-security-validation-for-this-page-is-incorrect-click-back-in-your-web-browser-refresh-the-page-and-retry-the-operation.aspx</id><published>2009-06-16T03:52:00Z</published><updated>2009-06-16T03:52:00Z</updated><content type="html">&lt;P&gt;&lt;B&gt;Issue Description:&lt;/B&gt; 
&lt;OL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: Calibri; mso-bidi-font-family: Calibri"&gt;
&lt;LI&gt;A custom webpart which on filling the info path form; creates a folder and a file inside the folder, in the SharePoint Document Library. &lt;/LI&gt;
&lt;LI&gt;When we fill the Info Path form and submit the request ; the folder and the file is created inside the SharePoint Document Library &lt;/LI&gt;
&lt;LI&gt;We then try to have the custom permissions for each item through BreakRoleInheritance . &lt;/LI&gt;
&lt;LI&gt;We end up in getting &lt;FONT color=red&gt;ERROR: “The security validation for this page has timed out. Click Back in your Web browser, refresh the page, and try your operation again” &lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;Root Cause:&lt;/B&gt; &lt;SPAN style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: Calibri; mso-bidi-font-family: Calibri"&gt;Trying to update the permissions through &lt;B&gt;BreakRoleInheritance&lt;/B&gt; from a webpart under SPSecurity.RunwithElevatedPrivileges&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;&lt;B&gt;Resolution / WorkAround:&lt;/B&gt; 
&lt;UL style="FONT-SIZE: 15px; COLOR: #1f497d; FONT-FAMILY: Calibri; mso-bidi-font-family: Calibri"&gt;
&lt;LI&gt;&lt;B&gt;SOLUTION 1:&lt;/B&gt; 
&lt;OL&gt;
&lt;LI&gt;Create SPSite Object 
&lt;LI&gt;Add Lines: SPUtility.ValidateFormDigest(); &lt;B&gt;(&lt;FONT color=red&gt;Note:&lt;/FONT&gt; SPUtility is found in Microsoft.Sharepoint.Utilities class)&lt;/B&gt; 
&lt;LI&gt;Create SPWeb Object 
&lt;LI&gt;Add the SPWeb.AllowUnsafeUpdates = true ; &lt;B&gt;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* The code which contains the permissions managing through BreakRoleInheritance */&lt;BR&gt;&lt;BR&gt;&lt;/B&gt;Add the SPWeb.AllowUnsafeUpdates = false; &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;BR&gt;
&lt;LI&gt;&lt;B&gt;SOLUTION 2:&lt;/B&gt;&lt;/LI&gt;
&lt;OL&gt;
&lt;LI&gt;Re- Add the line :&lt;B&gt; SPWeb.AllowUnsafeUpdates = true AFTER Item.BreakRoleInheritance(true) is added. &lt;/B&gt;
&lt;LI&gt;&lt;FONT color=red&gt;REASON:&lt;/FONT&gt; The call to method BreakRoleInheritance makes the SPWeb.AllowUnsafeUpdates= false internally. So now, if we do any updates; it causes the error. So we need to re-add the lines to make the AllowUnsafeUpdates to true for SPWeb object &lt;/LI&gt;&lt;/OL&gt;&lt;/UL&gt;&lt;BR&gt;&lt;BR&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9757110" width="1" height="1"&gt;</content><author><name>anjali_chelawat</name><uri>http://blogs.msdn.com/members/anjali_chelawat.aspx</uri></author><category term="BreakRoleInheritance" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/BreakRoleInheritance/default.aspx" /><category term="AllowUnsafeUpdates" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/AllowUnsafeUpdates/default.aspx" /><category term="FormDigest" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/FormDigest/default.aspx" /><category term="security validation" scheme="http://blogs.msdn.com/anjali_chelawat/archive/tags/security+validation/default.aspx" /></entry><entry><title>The maximum limit for the length of the QueryText property of FullTextSqlQuery is 4096 characters.</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/anjali_chelawat/archive/2009/06/16/the-maximum-limit-for-the-length-of-the-querytext-property-of-fulltextsqlquery-is-4096-characters.aspx" /><id>http://blogs.msdn.com/anjali_chelawat/archive/2009/06/16/the-maximum-limit-for-the-length-of-the-querytext-property-of-fulltextsqlquery-is-4096-characters.aspx</id><published>2009-06-16T02:43:00Z</published><updated>2009-06-16T02:43:00Z</updated><content type="html">&lt;p&gt;&lt;b&gt;Requirement:&lt;/b&gt; &lt;/p&gt;  &lt;ul style="font-size: 15px; color: #1f497d; font-family: calibri; mso-bidi-font-family: calibri"&gt;   &lt;li&gt;I was working on case, where Customer's business requirement was to have the length of the &lt;em&gt;QueryText&lt;/em&gt; property of &lt;em&gt;FullTextSqlQuery&lt;/em&gt; to be &lt;strong&gt;UNLIMITED&lt;/strong&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Troubleshooting:&lt;/b&gt; &lt;/p&gt;  &lt;ol style="font-size: 15px; color: #1f497d; font-family: calibri; mso-bidi-font-family: calibri"&gt;   &lt;li&gt;Moment the code touches the limit of about 4093 it throws the error &lt;/li&gt;    &lt;li&gt;&lt;font color="#ff0000"&gt;Error: Specified argument was out of range of valid values; _COMPlusExceptionCode -532459699&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;Occurs When: Error comes when trying to assign the &lt;i&gt;string&lt;/i&gt; value to the &lt;em&gt;QueryText&lt;/em&gt; property itself. &lt;/li&gt;    &lt;li&gt;Took help from our Escalation engineer Nishandv, to know the exact hard-code limit (if any) in SharePoint for &lt;em&gt;QueryText&lt;/em&gt; property of &lt;em&gt;FullTextSqlQuery&lt;/em&gt; object &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;b&gt;Resolution / WorkAround:&lt;/b&gt; &lt;/p&gt;  &lt;ul style="font-size: 15px; color: #1f497d; font-family: calibri; mso-bidi-font-family: calibri"&gt;   &lt;li&gt;When using &lt;em&gt;FullTextSqlQuery&lt;/em&gt; objects for search; make sure the length of the &lt;em&gt;QueryText&lt;/em&gt; Property &lt;strong&gt;do not exceed 4096 characters&lt;/strong&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Reference :&lt;/b&gt; &lt;/p&gt;  &lt;ul style="font-size: 15px; color: #1f497d; font-family: calibri; mso-bidi-font-family: calibri"&gt;   &lt;li&gt;Nishand's blog for reference: &lt;a href="http://blogs.msdn.com/nishand/archive/2008/10/02/fulltextsqlquery-with-querytext-length-gt-4096-throws-argumentoutofrange-exception.aspx"&gt;&lt;font color="#0000ff"&gt;&lt;u&gt;http://blogs.msdn.com/nishand/archive/2008/10/02/fulltextsqlquery-with-querytext-length-gt-4096-throws-argumentoutofrange-exception.aspx&lt;/font&gt;&lt;/a&gt;&lt;/u&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9756520" width="1" height="1"&gt;</content><author><name>anjali_chelawat</name><uri>http://blogs.msdn.com/members/anjali_chelawat.aspx</uri></author></entry></feed>