<?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">Dario Martirani Paolillo's Web Log</title><subtitle type="html">My 2 cents</subtitle><id>http://blogs.msdn.com/dmp/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/dmp/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2007-07-31T12:16:29Z</updated><entry><title>Could not find stored procedure 'proc_ar_BumpCacheInvalidationCounter'</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/archive/2009/10/16/could-not-find-stored-procedure-proc-ar-bumpcacheinvalidationcounter.aspx" /><id>http://blogs.msdn.com/dmp/archive/2009/10/16/could-not-find-stored-procedure-proc-ar-bumpcacheinvalidationcounter.aspx</id><published>2009-10-16T09:03:25Z</published><updated>2009-10-16T09:03:25Z</updated><content type="html">&lt;p align="justify"&gt;If you have a MOSS 2007 Standard Edition environment and you run a full Profile Import (either scheduled or manual) you can get the following message in the event log:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#ff0000"&gt;Error messages 7888 - &amp;quot;System.Data.SqlClient.SqlException: Could not find stored procedure 'proc_ar_BumpCacheInvalidationCounter'.&amp;quot; &lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;This is a &lt;strong&gt;known issue&lt;/strong&gt;, the missing stored procedure is part of the BDC functionality, which is a MOSS 2007 Enterprise feature. The error messages can be safely ignored.&lt;/p&gt;  &lt;p align="justify"&gt;NB: The same error (or similar) can appear if you are trying to use BDC functionality on a MOSS 2007 standard environment. BDC is an enterprise functionality and need enterprise license of MOSS.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9908030" width="1" height="1"&gt;</content><author><name>dario.martirani</name><uri>http://blogs.msdn.com/members/dario.martirani.aspx</uri></author><category term="MOSS" scheme="http://blogs.msdn.com/dmp/archive/tags/MOSS/default.aspx" /></entry><entry><title>Access Denied when accessing local sites/webservices</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/archive/2009/04/23/access-denied-when-accessing-local-sites-webservices.aspx" /><id>http://blogs.msdn.com/dmp/archive/2009/04/23/access-denied-when-accessing-local-sites-webservices.aspx</id><published>2009-04-23T19:14:16Z</published><updated>2009-04-23T19:14:16Z</updated><content type="html">&lt;p&gt;Microsoft released MS09-014 and .Net Framework 3.5 SP1 which closed a vulnerability in NTLM authentication. If you’re browsing to your own machine, and the URL you’re browsing to doesn’t match the machine name, then NTLM authentication will fail. This affects calls to web sites and web services. &lt;/p&gt;  &lt;p&gt;Possible solutions here: &lt;a title="http://support.microsoft.com/kb/896861/en-us" href="http://support.microsoft.com/kb/896861/en-us"&gt;http://support.microsoft.com/kb/896861/en-us&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;From Larry Kuhn’s blog:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sharepoint.microsoft.com/blogs/LKuhn/Lists/Posts/Post.aspx?ID=82"&gt;SharePoint Index Server Local Crawling affected by MS09-014 - KB 963027&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9565011" width="1" height="1"&gt;</content><author><name>dario.martirani</name><uri>http://blogs.msdn.com/members/dario.martirani.aspx</uri></author><category term="Sharepoint" scheme="http://blogs.msdn.com/dmp/archive/tags/Sharepoint/default.aspx" /><category term="MOSS" scheme="http://blogs.msdn.com/dmp/archive/tags/MOSS/default.aspx" /><category term="Authentication" scheme="http://blogs.msdn.com/dmp/archive/tags/Authentication/default.aspx" /></entry><entry><title>How to expand InputFormTextBox</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/archive/2009/02/19/how-to-expand-inputformtextbox.aspx" /><id>http://blogs.msdn.com/dmp/archive/2009/02/19/how-to-expand-inputformtextbox.aspx</id><published>2009-02-19T20:19:50Z</published><updated>2009-02-19T20:19:50Z</updated><content type="html">&lt;p align="justify"&gt;If you need to expand InputFormTextBox control and CssClass property seems to be not working, continue reading this post.&lt;/p&gt; &lt;p align="justify"&gt;I’ve created an application page and I used an InputFormTextBox control to give users the possibility to write some html content. This is the code I used:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;wssawc&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;InputFormTextBox &lt;br&gt;          &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Title&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="My Field" &lt;br&gt;          &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;ID&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="myField" &lt;br&gt;          &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Rows&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="15" &lt;br&gt;          &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;Runat&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="server" &lt;br&gt;          &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;TextMode&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="MultiLine" &lt;br&gt;          &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;RichText&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="true" &lt;br&gt;          &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;RichTextMode&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="FullHtml"/&amp;gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/span&gt;
&lt;p align="justify"&gt;You can see the page rendering in the following picture:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/HowtoexpandInputFormTextBox_110D9/image_6.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="359" alt="image" src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/HowtoexpandInputFormTextBox_110D9/image_thumb_2.png" width="491" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p align="justify"&gt;As you can see, the control’s width is not at 100% of available space. &lt;/p&gt;
&lt;p align="justify"&gt;Trying to enlarge the control with style and CssClass attributes were unsuccessful. I made some investigations and I discovered that code rendered by the control simply ignores those attributes.&lt;/p&gt;
&lt;p align="justify"&gt;Looking at html generated by the control, I saw that it is rendered as two main element, a table element to display the toolbar and an iframe element for the html container. Both have a css class defined, &lt;span style="color: rgb(163,21,21)"&gt;ms-rtetoolbarmenu&lt;/span&gt; for the table (toolbar) and&amp;nbsp; &lt;span style="color: rgb(163,21,21)"&gt;ms-rtelong&lt;/span&gt; for the iframe (html container).&lt;/p&gt;
&lt;p align="justify"&gt;My solution to the problem was to override those classes with the following code&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;style &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;type&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="text/css"&amp;gt; 

&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;table.ms-rtetoolbarmenu{ 
    &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;width:&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;100%;
} 

&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;iframe.ms-rtelong{ 
    &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;width:&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;100%;
} 

&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt; &lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;The page rendering after this modify was:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/HowtoexpandInputFormTextBox_110D9/image_8.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="363" alt="image" src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/HowtoexpandInputFormTextBox_110D9/image_thumb_3.png" width="496" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Hope this can help you.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:46145450-5add-4545-9c5b-c2b5ba487b80" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/MOSS" rel="tag"&gt;MOSS&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9434460" width="1" height="1"&gt;</content><author><name>dario.martirani</name><uri>http://blogs.msdn.com/members/dario.martirani.aspx</uri></author><category term="MOSS" scheme="http://blogs.msdn.com/dmp/archive/tags/MOSS/default.aspx" /></entry><entry><title>New release: SPDisposeCheck v1.3.1</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/archive/2009/01/30/new-release-spdisposecheck-v1-3-1.aspx" /><id>http://blogs.msdn.com/dmp/archive/2009/01/30/new-release-spdisposecheck-v1-3-1.aspx</id><published>2009-01-30T20:15:57Z</published><updated>2009-01-30T20:15:57Z</updated><content type="html">&lt;p&gt;A must-have for each Sharepoint developer. More info are available at Paul Andrew’s blog: &lt;a title="http://blogs.msdn.com/pandrew/archive/2009/01/29/spdisposecheck-v1-3-1-is-released.aspx" href="http://blogs.msdn.com/pandrew/archive/2009/01/29/spdisposecheck-v1-3-1-is-released.aspx"&gt;http://blogs.msdn.com/pandrew/archive/2009/01/29/spdisposecheck-v1-3-1-is-released.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9384990" width="1" height="1"&gt;</content><author><name>dario.martirani</name><uri>http://blogs.msdn.com/members/dario.martirani.aspx</uri></author></entry><entry><title>How to hide content type choice control in edit forms</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/archive/2009/01/26/how-to-hide-content-type-choice-control-in-edit-forms.aspx" /><id>http://blogs.msdn.com/dmp/archive/2009/01/26/how-to-hide-content-type-choice-control-in-edit-forms.aspx</id><published>2009-01-26T20:10:00Z</published><updated>2009-01-26T20:10:00Z</updated><content type="html">&lt;P&gt;If you want the edit form of a particular list to don’t show some field, you can change the ContentType definition by setting ShowInEditForm=”FALSE” in corresponding FieldRef element.&lt;/P&gt;
&lt;P&gt;If you want to do the same with Content Type field, the above hint simply don’t work.&lt;/P&gt;
&lt;P&gt;To make it working you have to modify the rendering template of the edit form. To do this you have to create a &lt;STRONG&gt;new rendering template&lt;/STRONG&gt;: &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;copy the standard ListForm template from DefaultTemplates.ascx (ControlTemplate folder)&lt;/LI&gt;
&lt;LI&gt;create a new ascx file in the same folder and paste ListForm template&lt;/LI&gt;
&lt;LI&gt;change the template id to MyCustomForm&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;remove the Sharepoint ContentTypeChoice control from the custom template&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Then you have to associate the edit form to the custom template created above, to do this you can modify the content type definition inserting XmlDocuments tag under ContentType tag like in the following example:&lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;XmlDocuments&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
  &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;XmlDocument&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;BR&gt;  &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;NamespaceURI&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&lt;A href="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms%22%3E" mce_href='http://schemas.microsoft.com/sharepoint/v3/contenttype/forms"&gt;'&gt;http://schemas.microsoft.com/sharepoint/v3/contenttype/forms&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/A&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;FormTemplates&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;  &lt;BR&gt;    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&lt;A href="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms%22%3E" mce_href='http://schemas.microsoft.com/sharepoint/v3/contenttype/forms"&gt;'&gt;http://schemas.microsoft.com/sharepoint/v3/contenttype/forms&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/A&gt;      &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;Display&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;ListForm&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;Display&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;Edit&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;MyCustomForm&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;Edit&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;New&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;ListForm&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;New&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;FormTemplates&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
  &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;XmlDocument&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;XmlDocuments&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;If you don’t have content type you can change the list definition schema by using the following code:&lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;Forms&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
  &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;Form&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;Type&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;DisplayForm&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;BR&gt;        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;Url&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;DispForm.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;BR&gt;        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;SetupPath&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;pages\form.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;BR&gt;        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;WebPartZoneID&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Main&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; /&amp;gt;
  &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;Form&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;Type&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;EditForm&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;BR&gt;        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;Url&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;EditForm.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;BR&gt;        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;SetupPath&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;pages\form.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;BR&gt;        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;Template&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;MyCustomForm&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;BR&gt;        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;WebPartZoneID&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Main&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; /&amp;gt;
  &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;Form&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;Type&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;NewForm&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;BR&gt;        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;Url&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;NewForm.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;BR&gt;        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;SetupPath&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;pages\form.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;WebPartZoneID&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Main&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; /&amp;gt;
&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;Forms&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;HTH &lt;BR&gt;Dario&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3f154540-1e39-43ce-b4ed-b6def14757b1 class=wlWriterEditableSmartContent&gt;Technorati Tag: &lt;A href="http://technorati.com/tags/Sharepoint" rel=tag mce_href="http://technorati.com/tags/Sharepoint"&gt;Sharepoint&lt;/A&gt;,&lt;A href="http://technorati.com/tags/MOSS" rel=tag mce_href="http://technorati.com/tags/MOSS"&gt;MOSS&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9376041" width="1" height="1"&gt;</content><author><name>dario.martirani</name><uri>http://blogs.msdn.com/members/dario.martirani.aspx</uri></author><category term="Sharepoint" scheme="http://blogs.msdn.com/dmp/archive/tags/Sharepoint/default.aspx" /></entry><entry><title>User Information Page (Userdisp.aspx vs person.aspx)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/archive/2009/01/21/user-information-page-userdisp-aspx-vs-person-aspx.aspx" /><id>http://blogs.msdn.com/dmp/archive/2009/01/21/user-information-page-userdisp-aspx-vs-person-aspx.aspx</id><published>2009-01-22T01:13:29Z</published><updated>2009-01-22T01:13:29Z</updated><content type="html">&lt;p&gt;I hope with this post to clarify why in Sharepoint the User Information Page is rendered sometimes with userdisp.aspx and sometimes with person.aspx.&lt;/p&gt;  &lt;p&gt;In WSS, when you click on a profile link you are redirected to the User Information Page used by WSS to display WSS profile informations, this page is &lt;strong&gt;userdisp.aspx&lt;/strong&gt; and is located in the same web.&lt;/p&gt;  &lt;p&gt;In MOSS (with profile services enabled), instead, when you click on a profile link you are redirected to a different User Information Page, &lt;strong&gt;person.aspx&lt;/strong&gt;. This page is the page showing the public profile of a user and is located under mysite site collection. &lt;/p&gt;  &lt;p&gt;Sometimes happens that in MOSS (with profile services enabled), when you click on a profile link you are redirected to userdisp.aspx instead of person.aspx and this page doesn’t permit you to change user profile attributes. I will give you in a moment a reason for this behaviour.&lt;/p&gt;  &lt;p&gt;When you are in MOSS and click on a profile link, you are &lt;u&gt;always&lt;/u&gt; redirected to userdisp.aspx. This page loads &lt;strong&gt;ProfileRedirect&lt;/strong&gt; control which uses &lt;strong&gt;MySiteRedirectionUserControl&lt;/strong&gt; to redirect to public profile page on mysite. For security reasons, this redirection is made only if the public profile page url is &lt;strong&gt;safe&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;What does it mean safe? Ok, right question!&lt;/p&gt;  &lt;p&gt;The following URLs are considered safe in redirection:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Same host name as the original URL (portal at &lt;u&gt;&lt;font color="#400080"&gt;http://mycompany:80&lt;/font&gt;&lt;/u&gt;, and my site under &lt;u&gt;&lt;font color="#400080"&gt;http://mycompany:8080&lt;/font&gt;&lt;/u&gt;).&lt;/li&gt;    &lt;li&gt;The URL to be redirected is a Portal URL. That is, if we set Portal site connection (from site actions -&amp;gt; site settings -&amp;gt; Portal site connection) to be      &lt;br /&gt;&lt;u&gt;&lt;font color="#400080"&gt;http://mysite.[hostheader]&lt;/font&gt;&lt;/u&gt;, &lt;font color="#400080"&gt;&lt;u&gt;http://mysite&lt;/u&gt;&lt;/font&gt;... will then be considered as a safe URL.&lt;/li&gt;    &lt;li&gt;Loop back addresses like &lt;font color="#400080"&gt;&lt;u&gt;http://localhost&lt;/u&gt;&lt;/font&gt;, &lt;u&gt;&lt;font color="#400080"&gt;http://127.0.0.1&lt;/font&gt;&lt;/u&gt;.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;HTH&lt;/p&gt;  &lt;p&gt;Dario&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4a961570-6848-4888-8a1e-dc3a4cb5c8e1" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/MOSS" rel="tag"&gt;MOSS&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9359471" width="1" height="1"&gt;</content><author><name>dario.martirani</name><uri>http://blogs.msdn.com/members/dario.martirani.aspx</uri></author><category term="MOSS" scheme="http://blogs.msdn.com/dmp/archive/tags/MOSS/default.aspx" /><category term="User Profiles" scheme="http://blogs.msdn.com/dmp/archive/tags/User+Profiles/default.aspx" /></entry><entry><title>How to show Attachments with DataFormWebPart</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/archive/2009/01/21/how-to-show-attachments-with-dataformwebpart.aspx" /><id>http://blogs.msdn.com/dmp/archive/2009/01/21/how-to-show-attachments-with-dataformwebpart.aspx</id><published>2009-01-21T18:55:00Z</published><updated>2009-01-21T18:55:00Z</updated><content type="html">&lt;P&gt;If you are using DataFormWebPart and you need to add the list of attachments to the output you have to modify the XSLT to use the AttachmentsField control.&lt;/P&gt;
&lt;P&gt;If you simply use&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:value-of&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;select&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;@Attachments&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;the result displayed will be a boolean (Yes/No) value. If you want to display the list of attachments with corresponding links you must use AttachmentsField control as described below. This control contains the logic needed to get the attachments and render the list with links.&lt;/P&gt;
&lt;P&gt;First of all, locate the template with name &lt;STRONG&gt;dvt_1&lt;/STRONG&gt; and add the html code to insert a new column header like in the following example:&lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:template&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;dvt_1&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
        &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:variable&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;dvt_StyleName&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;Table&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:variable&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
        &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:variable&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Rows&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;select&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;/dsQueryResponse/Rows/Row&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
        &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;table&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;border&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;0&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;width&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;100%&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;cellpadding&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;2&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;cellspacing&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;0&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
            &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;tr&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;valign&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;top&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
                &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:if&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;test&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;$dvt_1_automode = '1'&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;ddwrt:cf_ignore&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;1&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
                    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;th&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;class&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ms-vh&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;width&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;1%&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;nowrap&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;nowrap&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;th&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
                &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:if&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
                &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;th&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;class&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ms-vh&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;nowrap&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;nowrap&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;Title&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;th&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
                &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;th&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;class&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ms-vh&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;nowrap&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;nowrap&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;Author&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;th&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
                &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;th&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;class&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ms-vh&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;nowrap&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;nowrap&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;Modified&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;th&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;STRONG&gt;                &amp;lt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;th&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;class&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ms-vh&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;nowrap&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;nowrap&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;Attachments&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;th&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&lt;STRONG&gt;&amp;gt;
&lt;/STRONG&gt;            &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;tr&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
            &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:call-template&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;dvt_1.body&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
                &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:with-param&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Rows&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;select&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;$Rows&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
            &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:call-template&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
        &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;table&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:template&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;Now, locate the &lt;STRONG&gt;dvt_1.rowview&lt;/STRONG&gt; template and add a new column with the AttachmentsField control:&lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:template&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;dvt_1.rowview&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
  &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;tr&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:if&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;test&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;position() mod 2 = 1&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
          &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:attribute&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;class&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;ms-alternating&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:attribute&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:if&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:if&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;test&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;$dvt_1_automode = '1'&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;ddwrt:cf_ignore&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;1&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
          &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;class&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ms-vb&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;width&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;1%&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;nowrap&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;nowrap&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
              &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;span&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;ddwrt:amkeyfield&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ID&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;BR&gt;                        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;ddwrt:amkeyvalue&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ddwrt:EscapeDelims(string(@ID))&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;BR&gt;                        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;ddwrt:ammode&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;view&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;BR&gt;              &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;span&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
          &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:if&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;class&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ms-vb&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
          &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:value-of&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;select&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;@Title&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
      &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;class&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ms-vb&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
          &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:value-of&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;select&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;@Editor&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;disable-output-escaping&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;yes&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
      &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;class&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ms-vb&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
        &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:value-of&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;select&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ddwrt:FormatDate(string(@Modified), 1040, 5)&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
      &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;class&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ms-vb&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
          &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:element&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;SharePoint:AttachmentsField&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;          &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:attribute&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;runat&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;server&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:attribute&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
          &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:attribute&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ListId&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;BR&gt;                 &lt;/SPAN&gt;&lt;STRONG&gt;{D2C70ED5-8551-446D-B0CF-AC4B30387CF0}&lt;BR&gt;          &lt;/STRONG&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:attribute&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
          &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:attribute&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;FieldName&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;Attachments&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:attribute&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
          &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:attribute&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ControlMode&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;Display&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:attribute&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
          &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:attribute&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Visible&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;true&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:attribute&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
          &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:attribute&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;ItemId&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;BR&gt;              &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:value-of&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;select&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;@ID&lt;/SPAN&gt;"&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;&lt;BR&gt;          &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:attribute&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
          &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:element&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;td&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
  &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;tr&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(43,145,175)"&gt;xsl:template&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;Important&lt;/FONT&gt;: you must change the value of ListId attribute with your list id!&lt;/P&gt;
&lt;P&gt;HTH&lt;/P&gt;
&lt;P&gt;Dario&lt;/P&gt;
&lt;DIV class=wlWriterEditableSmartContent id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:579da791-fee1-4221-91fb-eafff1f4931c style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tag: &lt;A href="http://technorati.com/tags/Sharepoint+Designer" rel=tag mce_href="http://technorati.com/tags/Sharepoint+Designer"&gt;Sharepoint Designer&lt;/A&gt;,&lt;A href="http://technorati.com/tags/MOSS" rel=tag mce_href="http://technorati.com/tags/MOSS"&gt;MOSS&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9356673" width="1" height="1"&gt;</content><author><name>dario.martirani</name><uri>http://blogs.msdn.com/members/dario.martirani.aspx</uri></author><category term="Sharepoint" scheme="http://blogs.msdn.com/dmp/archive/tags/Sharepoint/default.aspx" /><category term="MOSS" scheme="http://blogs.msdn.com/dmp/archive/tags/MOSS/default.aspx" /><category term="Sharepoint Designer" scheme="http://blogs.msdn.com/dmp/archive/tags/Sharepoint+Designer/default.aspx" /></entry><entry><title>Plan for Global My Sites and User Profiles</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/archive/2008/07/11/Plan-for-global-my-sites-and-user-profiles.aspx" /><id>http://blogs.msdn.com/dmp/archive/2008/07/11/Plan-for-global-my-sites-and-user-profiles.aspx</id><published>2008-07-11T17:18:00Z</published><updated>2008-07-11T17:18:00Z</updated><content type="html">&lt;P style="font-color: red" align=justify&gt;[Updated on 2009-10-11 to include link to User Profile Replication Engine]&amp;nbsp;&lt;/P&gt;
&lt;P align=justify&gt;If you have multiple farms (or simply one farm with two or more SSPs) and you want to set-up User Profiles and My Sites that are shared between SSPs, this post is for you.&lt;/P&gt;
&lt;H5&gt;Introduction and Sample Scenario&lt;/H5&gt;
&lt;P align=justify&gt;Let me describe a sample scenario with &lt;STRONG&gt;geographically distributed farms&lt;/STRONG&gt;. In this scenario, users work in different regions, each of which uses a different SSP. Some users have to collaborate across regions, and must have access to multiple SSPs. This is particularly common if an employee in a global deployment moves between geographic locations.&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/image_2.png" target=_blank mce_href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/image_thumb.png" width=519 height=260 mce_src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Suppose that, as usually, users of each farm are configured in the same forest. &lt;/P&gt;
&lt;P align=justify&gt;If you want to give users the possibility to see other users’ profiles you have to configure in each farm the import of profiles from Active Directory and if you want that users in a region can see profile of users of other regions you have to import &lt;STRONG&gt;all&lt;/STRONG&gt; users profiles in &lt;STRONG&gt;each&lt;/STRONG&gt; farm.&lt;/P&gt;
&lt;P align=justify&gt;This works well and in each farm you can see all users details but what happen if you want to give users the possibility to update their details (like skills, blog site and so on)? Let me show you an example: MyLinks. &lt;EM&gt;MyUser1&lt;/EM&gt; is browsing a site collection located in Farm 1 and adds a shortcut to a page with MyLinks OOB functionality. This link is recorded in a property of the user profile on SSP1. If the same user &lt;EM&gt;MyUser1&lt;/EM&gt; goes to a different site collection hosted on Farm 2 and looks at the list of his links he cannot find the previous added link on Farm 1. This happens because of Farm 2 is using a different SSP and user profiles are not synchronized between SSPs.&lt;/P&gt;
&lt;P align=justify&gt;We have a similar behavior with My sites. Each SSP hosts My Sites, so if a user click on MySite link from a site on Farm 1 he is redirected to the MySite hosted on SSP1 but if the same user click on MySite link from a site on Farm 2 he is redirected to a different MySite hosted on SSP2.&lt;/P&gt;
&lt;P align=justify&gt;Ok, it seems quite bad but… MOSS has &lt;STRONG&gt;My Site Host Locations&lt;/STRONG&gt;! If you don’t know what host locations are, you can read the following two paragraphs (from &lt;A title="Manage My Site host locations" href="http://technet.microsoft.com/en-us/library/cc263115(TechNet.10).aspx" target=_blank mce_href="http://technet.microsoft.com/en-us/library/cc263115(TechNet.10).aspx"&gt;technet&lt;/A&gt;).&lt;/P&gt;
&lt;H5&gt;My Site host locations&lt;/H5&gt;
&lt;P align=justify&gt;As the name says, a My Site host location is the location where My Sites reside. A My Site host location is created automatically when a Shared Services Provider (SSP) is created. The host location is created in its own site collection on the default Web application, and all personal sites are stored in that location. In most scenarios, this is the only My Site host location for the entire deployment of Microsoft Office SharePoint Server 2007. Users can view My Sites if the SSP for the My Site host location imports their user profile information from directory services, and only if they have the Create personal site permission enabled. Individual personal sites are created when individual users click the My Site link on the top link bar of the site.&lt;/P&gt;
&lt;H5&gt;Managing multiple My Site host locations over multiple SSPs&lt;/H5&gt;
&lt;P align=justify&gt;In some cases, like our scenario, users can be members of two or more sites that use different SSPs and different My Site host locations. In that case, by default, the user can see the My Sites in the host location used for the SSP of the current site. My Sites in other host locations cannot be seen, and the personalization features of those sites cannot be used. This configuration results in an unpredictable My Site experience. Each user's My Site changes depending upon the site, and the My Sites of other users are not reliably available on each site. &lt;/P&gt;
&lt;P align=justify&gt;To avoid this situation, it is usually a good practice to limit each user to one SSP. However, in our scenario, this is not possible and it is a good idea to think through the reasons for multiple SSPs and then create a predictable experience for My Sites and personalized content. &lt;/P&gt;
&lt;P align=justify&gt;To enable users to view My Sites and use personal features on multiple host locations, &lt;U&gt;each host location must enable support for global deployments&lt;/U&gt; on the My Site Settings page. This makes personalized content on each host location available across SSPs, but only if the host location is trusted by an SSP. Each SSP has a list of trusted My Site host locations links. Each link can be targeted so that &lt;U&gt;only users in selected audiences can view My Sites in a particular host location&lt;/U&gt;. Profile information for all targeted users is replicated to each SSP and is available to all sites on the SSP. My Site host locations are used by each SSP in the order of the trusted My Site host locations list. If a user is a member of an audience targeted by one host location link, then that My Site host location is used for that SSP and the later host locations are ignored. This results in one set of personalized content for each user being made available to all targeted users in each SSP. &lt;/P&gt;
&lt;H5&gt;Configuration and Interface Behavior&lt;/H5&gt;
&lt;P align=justify&gt;Coming back to our sample scenario, to appropriately configure My Site host locations we have to enable on each SSP support for global deployments and define for each SSP the following host locations:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Host Location 1 (Region 1), targeted to audience “Users of Region 1” &lt;/LI&gt;
&lt;LI&gt;Host Location 2 (Region 2), targeted to audience “Users of Region 2” &lt;/LI&gt;
&lt;LI&gt;Host Location 3 (Region 3), targeted to audience “Users of Region 3” &lt;/LI&gt;&lt;/UL&gt;
&lt;P align=justify&gt;After that the My Site link in each site of each farm will point to the My Site in the SSP where the user belongs. Furthermore, the “Add Link” and “Manage Links” links are targeted to the same (correct) SSP. All other functionalities that show profile information (such as the list of links defined by the user) are instead targeted to the SSP which is related to the current site. This underlines the &lt;U&gt;needs of a profile replication mechanism&lt;/U&gt; (described later in this post).&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This picture illustrates MOSS behavior for a user belonging to Region 2:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/clip_image002_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image002 border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/clip_image002_thumb.jpg" width=518 height=451 mce_src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The following picture shows the option to be enabled in My Site Settings page of each SSP&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/clip_image002%5B10%5D.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/clip_image002%5B10%5D.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image002[10] border=0 alt=clip_image002[10] src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/clip_image002%5B10%5D_thumb.jpg" width=510 height=95 mce_src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/clip_image002%5B10%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This picture shows the Add new My Sit Host Location form:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/clip_image004_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image004 border=0 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/clip_image004_thumb.jpg" width=267 height=126 mce_src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H5&gt;Replication of User Profiles&lt;/H5&gt;
&lt;P align=justify&gt;To keep MOSS 2007 profile data across three worldwide regions consistent for People Search and Audiences targeting we need a Geo Replication mechanism.&lt;/P&gt;
&lt;P align=justify&gt;Each farm hosts only a subset of user’s MySites/Profiles and can be consider as “Master” on this subset of users for the other farms. So the replication engine should replicate user profiles from each Master farm versus other farms.&lt;/P&gt;
&lt;P align=justify&gt;Microsoft has released the &lt;A title="Sharepoint Administration Toolkit" href="http://technet.microsoft.com/en-us/library/cc508851.aspx" target=_blank mce_href="http://technet.microsoft.com/en-us/library/cc508851.aspx"&gt;Sharepoint Administration Toolkit&lt;/A&gt; which include &lt;A title="User Profile Replication Engine (Technet)" href="http://technet.microsoft.com/en-us/library/cc663011.aspx" target=_blank mce_href="http://technet.microsoft.com/en-us/library/cc663011.aspx"&gt;User Profile Replication Engine&lt;/A&gt;, a tool that does replication of user profiles.&lt;/P&gt;
&lt;P&gt;The replication mechanism can be represented by this picture:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/image_4.png" target=_blank mce_href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/image_thumb_1.png" width=518 height=371 mce_src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/PlanforGlobalMySitesandUserProfiles_FED6/image_thumb_1.png"&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8721351" width="1" height="1"&gt;</content><author><name>dario.martirani</name><uri>http://blogs.msdn.com/members/dario.martirani.aspx</uri></author><category term="MOSS" scheme="http://blogs.msdn.com/dmp/archive/tags/MOSS/default.aspx" /><category term="Configuration" scheme="http://blogs.msdn.com/dmp/archive/tags/Configuration/default.aspx" /><category term="MySites" scheme="http://blogs.msdn.com/dmp/archive/tags/MySites/default.aspx" /><category term="User Profiles" scheme="http://blogs.msdn.com/dmp/archive/tags/User+Profiles/default.aspx" /></entry><entry><title>Unified Search Experience with MOSS</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/archive/2008/05/31/unified-search-experience-with-moss.aspx" /><id>http://blogs.msdn.com/dmp/archive/2008/05/31/unified-search-experience-with-moss.aspx</id><published>2008-05-31T03:29:13Z</published><updated>2008-05-31T03:29:13Z</updated><content type="html">&lt;p align="justify"&gt;I’d like to summarize all configurations needed to obtain a &lt;b&gt;Unified Search Experience&lt;/b&gt; for end users, obviously with &lt;b&gt;MOSS&lt;/b&gt; as Enterprise Search Engine &lt;font face="Wingdings"&gt;J&lt;/font&gt;. With “Unified Search Experience” I mean the possibility to search for enterprise content not only from the Search Intranet Portal but also from client applications like Office Applications, Windows Search and IE.&lt;/p&gt;  &lt;p&gt;First of all you need to discover the correct URLs to use as search engines/providers. &lt;/p&gt;  &lt;p&gt;Open your Search Centre (for example &lt;font color="#0000ff"&gt;&lt;u&gt;http://search.litewareinc.com/&lt;/u&gt;&lt;/font&gt;) and search for something using the default scope. You will be redirect probably to a page like &lt;u&gt;&lt;font color="#0000ff"&gt;http://search.litewareinc.com/Pages/results.aspx?k=SOMETHING&lt;/font&gt;&lt;/u&gt;, write down this URL.&lt;/p&gt;  &lt;p&gt;Now change the scope (if you have defined scopes, obviously) and perform the search again. The URL should be &lt;u&gt;&lt;font color="#0000ff"&gt;http://search.litewareinc.com/Pages/results.aspx?k=SOMETHING&amp;amp;s=MYSCOPE&lt;/font&gt;&lt;/u&gt;, write down this URL also.&lt;/p&gt;  &lt;p&gt;(NB: You should write down an URL for each scope you have defined)&lt;/p&gt;  &lt;p&gt;Don’t forget to search for people and write down the corresponding URL, it should looks like &lt;u&gt;&lt;font color="#0000ff"&gt;http://search.litewareinc.com/Pages/peopleresults.aspx?k=SOMETHING&lt;/font&gt;&lt;/u&gt;. &lt;/p&gt;  &lt;p&gt;The last URL you need is the Search Web Service URL: &lt;u&gt;&lt;font color="#0000ff"&gt;http://search.litewareinc.com/_vti_bin/search.asmx&lt;/font&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;At the end you should have something like this:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Search with Web Site&lt;/b&gt;       &lt;ul&gt;       &lt;li&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;http://search.litewareinc.com/Pages/results.aspx?k=SOMETHING&lt;/font&gt;&lt;/u&gt; &lt;/li&gt;        &lt;li&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;http://search.litewareinc.com/Pages/results.aspx?k=SOMETHING&amp;amp;s=MYSCOPE1&lt;/font&gt;&lt;/u&gt; &lt;/li&gt;        &lt;li&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;http://search.litewareinc.com/Pages/results.aspx?k=SOMETHING&amp;amp;s=MYSCOPE2&lt;/font&gt;&lt;/u&gt; &lt;/li&gt;        &lt;li&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;http://search.litewareinc.com/Pages/peopleresults.aspx?k=SOMETHING&lt;b&gt;&lt;/b&gt;&lt;/font&gt;&lt;/u&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Search with Web Service&lt;/b&gt;       &lt;ul&gt;       &lt;li&gt;&lt;u&gt;&lt;font color="#0000ff"&gt;http://search.litewareinc.com/_vti_bin/search.asmx&lt;/font&gt;&lt;/u&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;&lt;u&gt;Note&lt;/u&gt; that MYSCOPE, MYSCOPE1 and MYSCOPE2 are your scopes and are fixed, instead you will have to replace the word SOMETHING with &lt;i&gt;$w &lt;/i&gt;or &lt;i&gt;TEST&lt;/i&gt; depending on the configuration you are doing (described below).&lt;/p&gt;  &lt;p align="justify"&gt;Now take a look at how to configure this Unified Search Experience in different products/technologies.&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Configuring Windows Search 4.0 (beta) on Windows XP&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;You can customize the behavior of WS4.0 by adding a new button in Search Bar to search for the “Primary Intranet Search Location”. Besides you can also add other “Secondary Intranet Search Locations” that will be visible in Search Companion location selection menu.&lt;/p&gt;  &lt;p align="justify"&gt;To perform this configuration, you have to work with local computer policies (you can also create group policy objects to manage this settings centrally) following the steps below:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Run gpedit.msc &lt;/li&gt;    &lt;li&gt;Right click on Administrative Templates under Computer Configuration and select “&lt;em&gt;Add/Remove templates…&lt;/em&gt;” &lt;/li&gt;    &lt;li&gt;Verify that Search.adm is listed otherwise add it from c:\windows\inf &lt;/li&gt;    &lt;li&gt;Now locate “&lt;em&gt;Add Primary Intranet Search Location&lt;/em&gt;” under “&lt;em&gt;Windows Component\Search&lt;/em&gt;” &lt;/li&gt;    &lt;li&gt;Right click --&amp;gt; properties &lt;/li&gt;    &lt;li&gt;Enable it and specify the value with the sintax: &lt;i&gt;name,url&lt;/i&gt; - for example you can use the default scope specifying this value: &lt;i&gt;MyIntranet,http://search.litewareinc.com/Pages/results.aspx?k=$w&lt;/i&gt;       &lt;br /&gt;&lt;b&gt;Note&lt;/b&gt; that you must replace SOMETHING with $w &lt;/li&gt;    &lt;li&gt;Apply the changes &lt;/li&gt;    &lt;li&gt;Now Locate “&lt;em&gt;Add Secondary Intranet Search Locations&lt;/em&gt;” and enable it specifying all other locations with the following sintax: name1,url1;name2,url2;name3,url3 &lt;/li&gt;    &lt;li&gt;Apply changes &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;After above steps you will be able to search in MOSS also within WS4.0 Search Bar and Search Companion.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Useful links:&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Windows Search 4.0 Administrator's Guide        &lt;br /&gt;&lt;/b&gt;&lt;a title="Windows Search 4.0 Administrator&amp;#39;s Guide" href="http://technet2.microsoft.com/windowsserver2008/en/library/f98696ed-6e3e-47b7-ab38-511439bce7ae1033.mspx?mfr=true" target="_blank"&gt;http://technet2.microsoft.com/windowsserver2008/en/library/f98696ed-6e3e-47b7-ab38-511439bce7ae1033.mspx?mfr=true&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Group Policy for Windows Search        &lt;br /&gt;&lt;/b&gt;&lt;a title="Group Policy for Windows Search" href="http://technet2.microsoft.com/windowsserver2008/en/library/c55e6003-8b70-4d5e-a0ce-55c25a35015a1033.mspx?mfr=true" target="_blank"&gt;http://technet2.microsoft.com/windowsserver2008/en/library/c55e6003-8b70-4d5e-a0ce-55c25a35015a1033.mspx?mfr=true&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Configuring Windows Vista Search     &lt;br /&gt;&lt;/strong&gt;&lt;a title="Sharepoint Search directly from Windows Vista Desktop" href="http://markharrison.co.uk/blog/2006/10/sharepoint-search-directly-from.htm" target="_blank"&gt;&lt;font size="1"&gt;(from Mark Harrison’s post)&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;You can add an Intranet search location directly into Windows Vista Desktop. To perform this configuration, you have to work with local computer policies (you can also create group policy objects to manage this settings centrally) following the steps below:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Run gpedit.msc (requires elevation) &lt;/li&gt;    &lt;li&gt;Locate “&lt;em&gt;Custom Instant Search Internet Search Provider&lt;/em&gt;” under “&lt;em&gt;User Configuration --&amp;gt; Administrative Templates --&amp;gt; Windows Components --&amp;gt; Instant Search&lt;/em&gt;” &lt;/li&gt;    &lt;li&gt;Right click --&amp;gt; properties &lt;/li&gt;    &lt;li&gt;Enable it and specify a name (ex: Search MSWeb) and the url of the default scope (ex: &lt;u&gt;&lt;font color="#0000ff"&gt;http://search.litewareinc.com/Pages/results.aspx?k=$w&lt;/font&gt;&lt;/u&gt;)       &lt;br /&gt;&lt;b&gt;Note&lt;/b&gt; that you must replace SOMETHING with $w &lt;/li&gt;    &lt;li&gt;Apply the changes &lt;/li&gt;    &lt;li&gt;You must reboot or run gpupdate /force from an elevated prompt &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Now you will find a new search location in Vista Search Window like the following&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/UnifiedSearchExperiencewithMOSS_DE61/image_4.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="137" alt="image" src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/UnifiedSearchExperiencewithMOSS_DE61/image_thumb_1.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Configuring Office Research Task Pane&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Both Office 2003 and Office 2007 include the &lt;strong&gt;Research Task Pane&lt;/strong&gt; that permits to add external search services to be used for querying external content. This is accomplished by implementing a &lt;u&gt;well defined contract that MOSS2007 exposes out of the box&lt;/u&gt;. In this case we will use the “Search with Web Service” URL defined above.&lt;/p&gt;  &lt;p align="justify"&gt;Open for example MS Word 2007 (in 2003 is quite similar), click on &lt;em&gt;Review&lt;/em&gt; and then on &lt;em&gt;Research&lt;/em&gt;: this will shows the Research Task Pane.&lt;/p&gt;  &lt;p align="justify"&gt;Now click on the “&lt;em&gt;Research options&lt;/em&gt;” bottom link and then click the “&lt;em&gt;Add services…&lt;/em&gt;” button.&lt;/p&gt;  &lt;p align="justify"&gt;Specify the address of your Web Service and follow the instructions.&lt;/p&gt;  &lt;p align="justify"&gt;Now you are able, inside Word, to search for content indexed by MOSS and the results will be displayed (grouped) together with results from other services.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;u&gt;This configuration automatically affects also other MS Office applications and also IE.&lt;/u&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;u&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Configuring IE7&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;In IE7 you can add &lt;strong&gt;custom search providers &lt;/strong&gt;which will be added to the search provider list available via Search Options (down arrow near search box and magnifying glass). &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/UnifiedSearchExperiencewithMOSS_DE61/clip_image002_2.jpg"&gt;&lt;img title="clip_image002" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="183" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/UnifiedSearchExperiencewithMOSS_DE61/clip_image002_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;To do it, you have to click on “&lt;em&gt;Find More Providers…&lt;/em&gt;” in the search Options Menu. It will display a &lt;a href="http://www.microsoft.com/windows/ie/searchguide/en-en/default.mspx"&gt;web page&lt;/a&gt; in which you have to specify your Own Provider using the “Search with Web Site” URLs defined above. Don’t forget to replace the word SOMETHING with the word TEST. Click Install to add it to your provider list.&lt;/p&gt;  &lt;p align="justify"&gt;When you will have installed all URLs, you will be able to use IE7 search box to search for content inside the corresponding scope in MOSS simply by selecting it in Search Options Menu.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8564989" width="1" height="1"&gt;</content><author><name>dario.martirani</name><uri>http://blogs.msdn.com/members/dario.martirani.aspx</uri></author><category term="Sharepoint" scheme="http://blogs.msdn.com/dmp/archive/tags/Sharepoint/default.aspx" /><category term="MOSS" scheme="http://blogs.msdn.com/dmp/archive/tags/MOSS/default.aspx" /></entry><entry><title>Rilasciato il Microsoft SharePoint Administration Toolkit 1.0</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/archive/2008/05/02/rilasciato-il-microsoft-sharepoint-administration-toolkit-1-0.aspx" /><id>http://blogs.msdn.com/dmp/archive/2008/05/02/rilasciato-il-microsoft-sharepoint-administration-toolkit-1-0.aspx</id><published>2008-05-02T16:10:27Z</published><updated>2008-05-02T16:10:27Z</updated><content type="html">&lt;p align="justify"&gt;Il &lt;strong&gt;30 Aprile&lt;/strong&gt; è stato rilasciato il &lt;strong&gt;Microsoft SharePoint Administration Toolkit 1.0&lt;/strong&gt;, un toolkit destinato agli amministratori di una farm SharePoint che fornisce loro due strumenti aggiuntivi:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;strong&gt;&lt;u&gt;Batch Site Manager&lt;/u&gt;&lt;/strong&gt;&lt;br&gt;Feature accessibile dalla pagina Application Management della Central Administration che permetterà di gestire e amministrare operazioni multiple inerenti la cancellazione, lo spostamento e il blocco (lock) di una o più Site Collection all'interno della stessa Web Application.&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;strong&gt;&lt;u&gt;Alert Fixer&lt;br&gt;&lt;/u&gt;&lt;/strong&gt;Una nuova operazione (&lt;em&gt;updatealert&lt;/em&gt;) di STSADM.EXE che dà la possibilità ad un amministratore, in seguito ad un cambio dell'indirizzo di una Web Application, di aggiornare l'URL della Web Application usato nelle email di alert.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p align="justify"&gt;Il toolkit è scaricabile &lt;a title="Download Microsoft SharePoint Administration Toolkit 1.0 (x86)" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=263CD480-F6EB-4FA3-9F2E-2D47618505F2&amp;amp;displaylang=en" target="_blank"&gt;qui&lt;/a&gt; (la versione x64 invece è scaricabile &lt;a title="Download Microsoft SharePoint Administration Toolkit 1.0 (x64)" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=F8EEA8F0-FA30-4C10-ABC9-217EEACEC9CE&amp;amp;displaylang=en" target="_blank"&gt;qui&lt;/a&gt;) ma consiglio vivamente di leggere il relativo &lt;a title="Microsoft SharePoint Administration Toolkit White Paper" href="http://go.microsoft.com/fwlink/?LinkId=117212&amp;amp;clcid=0x409 " target="_blank"&gt;White Paper&lt;/a&gt; che illustra anche alcuni aspetti dell'installazione e i requisiti per il corretto funzionamento.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8450453" width="1" height="1"&gt;</content><author><name>dario.martirani</name><uri>http://blogs.msdn.com/members/dario.martirani.aspx</uri></author><category term="Sharepoint" scheme="http://blogs.msdn.com/dmp/archive/tags/Sharepoint/default.aspx" /><category term="MOSS" scheme="http://blogs.msdn.com/dmp/archive/tags/MOSS/default.aspx" /></entry><entry><title>"Impossibile caricare il flusso di lavoro" errore in Sharepoint Designer</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/archive/2008/02/04/impossibile-caricare-il-flusso-di-lavoro-errore-in-sharepoint-designer.aspx" /><id>http://blogs.msdn.com/dmp/archive/2008/02/04/impossibile-caricare-il-flusso-di-lavoro-errore-in-sharepoint-designer.aspx</id><published>2008-02-04T23:13:00Z</published><updated>2008-02-04T23:13:00Z</updated><content type="html">&lt;P&gt;Se anche a voi è capitato di non riuscire ad aprire o creare un nuovo workflow da Sharepoint Designer ottenendo il seguente errore:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/Impossibilecaricareilflussodilavoroerror_12A82/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/Impossibilecaricareilflussodilavoroerror_12A82/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=110 alt=image src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/Impossibilecaricareilflussodilavoroerror_12A82/image_thumb.png" width=325 border=0 mce_src="http://blogs.msdn.com/blogfiles/dmp/WindowsLiveWriter/Impossibilecaricareilflussodilavoroerror_12A82/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;allora la soluzione è quella di cancellare la cartella 12.x.x.xxxx presente sotto C:\Documents and Settings\&amp;lt;my user name&amp;gt;\Dati Applicazioni\Microsoft\SharePoint Designer\ProxyAssemblyCache&lt;/P&gt;
&lt;P&gt;Incredibile ma vero. Per correttezza riporto il post in inglese che mi ha permesso di risolvere il problema presso il cliente.&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.sharepointblogs.com/smuller/archive/2007/07/20/failed-to-load-the-workflow-error-message-in-sharepoint-designer.aspx" target=_blank mce_href="http://www.sharepointblogs.com/smuller/archive/2007/07/20/failed-to-load-the-workflow-error-message-in-sharepoint-designer.aspx"&gt;“Failed to load the workflow” Error Message in SharePoint Designer - Scott's blog&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7445805" width="1" height="1"&gt;</content><author><name>dario.martirani</name><uri>http://blogs.msdn.com/members/dario.martirani.aspx</uri></author><category term="MOSS" scheme="http://blogs.msdn.com/dmp/archive/tags/MOSS/default.aspx" /><category term="Sharepoint Designer" scheme="http://blogs.msdn.com/dmp/archive/tags/Sharepoint+Designer/default.aspx" /></entry><entry><title>Workflow sui sondaggi? Unsupported!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/archive/2007/10/27/workflow-sui-sondaggi-unsupported.aspx" /><id>http://blogs.msdn.com/dmp/archive/2007/10/27/workflow-sui-sondaggi-unsupported.aspx</id><published>2007-10-27T02:13:00Z</published><updated>2007-10-27T02:13:00Z</updated><content type="html">&lt;P&gt;Ebbene si, è inutile che proviate a configurare il vostro bel workflow sulla lista di un sondaggio perché non potrà mai funzionare. Ho infatti trovato questa KB che lo sancisce:&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://support.microsoft.com/kb/926370/en-us" target=_blank mce_href="http://support.microsoft.com/kb/926370/en-us"&gt;The status of a workflow appears as "Failed to Start" when you try to start a workflow from a survey response in Windows SharePoint Services 3.0&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Prima che trovassi la KB mi sono messo a cercare di capire come mai il mio semplice workflow non partiva dopo aver sottomesso la risposta ad un sondaggio. O meglio, cercava di partire e si arenava miseramente segnalando "Failed to Start". &lt;/P&gt;
&lt;P&gt;Nei log ho trovato il seguente errore:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;RunWorkflow: System.ArgumentException: &lt;STRONG&gt;Invalid field name. {ae069f25-3ac2-4256-b9c3-15dbc15da0e0}&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.SharePoint.SPFieldCollection.GetFieldById(Guid fieldId, Boolean bThrowException)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.SharePoint.SPFieldCollection.get_Item(Guid id)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.SharePoint.SPListItem.get_Item(Guid fieldId)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties..ctor(SPWorkflow workflow, Int32 runAsUserId, String associationData, String initiationData)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.SharePoint.Workflow.SPWinOEWSSService.MakeActivation(SPWorkflow workflow, SPWorkflowEvent e)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(Guid trackingId, SPWorkflowHostService host, SPWorkflow workflow, Collection`1 events, TimeSpan timeOut)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Microsoft.SharePoint.Workflow.SP..&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Giocando con il &lt;A href="http://www.aisto.com/roeder/dotnet/" mce_href="http://www.aisto.com/roeder/dotnet/"&gt;Reflector&lt;/A&gt; ho capito che il problema è dovuto al fatto che, durante l'attivazione del workflow, Sharepoint tenta di accedere al campo &lt;STRONG&gt;GUID&lt;/STRONG&gt; (FieldID=ae069f25-3ac2-4256-b9c3-15dbc15da0e0) dell'item a cui è associata l'istanza del workflow ma a quanto pare &lt;U&gt;gli item della lista di tipo sondaggio non hanno tale attributo&lt;/U&gt;! Ecco quindi perché non potrà mai funzionare e quindi perché viene dichiarato come Unsupported.&lt;/P&gt;
&lt;P&gt;Ecco qualche dettaglio del codice disassemblato:&lt;/P&gt;
&lt;P&gt;Il metodo MakeActivation dell'oggetto SPWinOEWSSService è:&lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;internal&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;void&lt;/SPAN&gt; MakeActivation(SPWorkflow workflow, SPWorkflowEvent e)
{
    e.IsActivation = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;true&lt;/SPAN&gt;;
    e.EventType = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;typeof&lt;/SPAN&gt;(ISharePointService).GUID;
    e.EventName = &lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"OnWorkflowActivated"&lt;/SPAN&gt;;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt; associationData = workflow.ParentAssociation.AssociationData;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt; initiationData = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;null&lt;/SPAN&gt;;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;if&lt;/SPAN&gt; ((e.EventData != &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;null&lt;/SPAN&gt;) &amp;amp;&amp;amp; (e.EventData.Length &amp;gt; 0))
    {
        initiationData = e.EventData[0] &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;as&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt;;
    }
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;if&lt;/SPAN&gt; (e.IsAutostart &amp;amp;&amp;amp; (initiationData == &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;null&lt;/SPAN&gt;))
    {
        initiationData = associationData;
    }
    e.EventData = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;object&lt;/SPAN&gt;[] { workflow.InstanceId, &lt;BR&gt;&lt;STRONG&gt;                                 &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt; SPWorkflowActivationProperties(workflow, &lt;BR&gt;                                               e.RunAsUserId, &lt;BR&gt;                                               associationData, &lt;BR&gt;                                               initiationData)&lt;/STRONG&gt; };
}&lt;/PRE&gt;&lt;PRE class=code&gt;&lt;FONT face=Tahoma size=2&gt;Il costruttore di SPWorkflowActivationProperties è:&lt;/FONT&gt;&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;internal&lt;/SPAN&gt; SPWorkflowActivationProperties(SPWorkflow workflow, &lt;BR&gt;                                        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;int&lt;/SPAN&gt; runAsUserId, &lt;BR&gt;                                        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt; associationData, &lt;BR&gt;                                        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt; initiationData)
{
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_itemId = -1;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_workflow = workflow;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;if&lt;/SPAN&gt; (!&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.SuperUserWorkflow)
    {
        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;throw&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt; ArgumentException();
    }
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_associationData = associationData;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_initiationData = initiationData;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_workflowId = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.Workflow.InstanceId;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_itemId = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.Item.ID;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_listId = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.List.ID;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_taskListId = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.Workflow.TaskListId;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_histListId = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.Workflow.HistoryListId;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_templateName = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.Workflow.ParentAssociation.Name;
&lt;STRONG&gt;    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_itemGuid = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt; Guid((&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt;) &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.Item[SPBuiltInFieldId.GUID]);&lt;/STRONG&gt;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_webId = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.Web.ID;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_siteId = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.Site.ID;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;if&lt;/SPAN&gt; (runAsUserId != &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.OriginatorUser.ID)
    {
        &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;throw&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt; ArgumentException();
    }
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_originator = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.OriginatorUser.LoginName;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_originatorEmail = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.OriginatorUser.Email;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_siteUrl = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.Site.Url;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_webUrl = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.Web.Url;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_itemUrl = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.Item.Url;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_listUrl = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.List.RootFolderUrl;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_histListUrl = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.HistoryList.RootFolderUrl;
    &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.m_taskListUrl = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;.TaskList.RootFolderUrl;
}&lt;/PRE&gt;&lt;FONT face=Tahoma size=2&gt;Da cui si evince il tentativo di accesso al field indicato da SPBuiltInFieldId.GUID che infatti è quello indicato nei log:&lt;/FONT&gt; &lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;static&lt;/SPAN&gt; SPBuiltInFieldId()
{
    [...]
    &lt;STRONG&gt;GUID = &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt; Guid(&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;"{ae069f25-3ac2-4256-b9c3-15dbc15da0e0}"&lt;/SPAN&gt;);
&lt;/STRONG&gt;    [...] &lt;BR&gt;}&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;HTH&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5696615" width="1" height="1"&gt;</content><author><name>dario.martirani</name><uri>http://blogs.msdn.com/members/dario.martirani.aspx</uri></author><category term="Sharepoint" scheme="http://blogs.msdn.com/dmp/archive/tags/Sharepoint/default.aspx" /><category term="MOSS" scheme="http://blogs.msdn.com/dmp/archive/tags/MOSS/default.aspx" /></entry><entry><title>Realizzare un controllo con anteprima per il campo PublishingRollupImage in MOSS 2007</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/archive/2007/08/07/realizzare-un-controllo-con-anteprima-per-il-campo-publishingrollupimage-in-moss-2007.aspx" /><id>http://blogs.msdn.com/dmp/archive/2007/08/07/realizzare-un-controllo-con-anteprima-per-il-campo-publishingrollupimage-in-moss-2007.aspx</id><published>2007-08-07T17:16:22Z</published><updated>2007-08-07T17:16:22Z</updated><content type="html">&lt;p&gt;Il campo &lt;strong&gt;PublishingRollupImage&lt;/strong&gt;, aggiunto con la Publishing Feature di MOSS 2007, permette di specificare l'icona/immagine che&amp;nbsp;è possibile visualizzare nelle &lt;a title="ContentByQueryWebPart Class on MSDN" href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.publishing.webcontrols.contentbyquerywebpart.aspx" target="_blank"&gt;ContentByQueryWebPart&lt;/a&gt;. Tipicamente viene inserito nell'EditPanel nei Page Layout in modo che i redattori possano, in fase di editing di una pagina, navigare nelle library del sito per scegliere l'immagine da associare alla pagina che stanno creando. &lt;/p&gt; &lt;p&gt;Può capitare che non si voglia dare l'onere ai redattori di trovare l'immagine navigando nelle liste del sito ma si voglia fornire loro un elenco testuale di possibili scelte visualizzando magari un anteprima dell'immagine relativa. Se ad esempio abbiamo creato un Page Layout per il ContentType Notizia potremmo voler permettere ai redattori di scegliere immagini differenti a seconda del tipo di notizia (importanza, rating, genere).&lt;/p&gt; &lt;p&gt;Vediamo ora un esempio di come si possa realizzare una soluzione al problema esposto sopra. Per prima cosa dobbiamo definire l'interfaccia del controllo che verrà visualizzato nel PL e per farlo creeremo un controllo ASCX con il seguente codice:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="background: rgb(255,238,98)"&gt;&amp;lt;%&lt;span style="color: rgb(0,0,255)"&gt;&lt;/span&gt;@&lt;/span&gt; &lt;span style="color: rgb(163,21,21)"&gt;Control&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;Language&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="C#"&lt;/span&gt; &lt;span style="background: rgb(255,238,98)"&gt;%&amp;gt;
&amp;lt;%&lt;span style="color: rgb(0,0,255)"&gt;&lt;/span&gt;@&lt;/span&gt; &lt;span style="color: rgb(163,21,21)"&gt;Assembly&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;Name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, &lt;br&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;  PublicKeyToken=71e9bce111e9429c"&lt;/span&gt; &lt;span style="background: rgb(255,238,98)"&gt;%&amp;gt;
&amp;lt;%&lt;span style="color: rgb(0,0,255)"&gt;&lt;/span&gt;@&lt;/span&gt; &lt;span style="color: rgb(163,21,21)"&gt;Register&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;Tagprefix&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="SharePoint"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;Namespace&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="Microsoft.SharePoint.WebControls"&lt;/span&gt; &lt;br&gt;&lt;span style="color: rgb(255,0,0)"&gt;  Assembly&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, &lt;br&gt;  PublicKeyToken=71e9bce111e9429c"&lt;/span&gt; &lt;span style="background: rgb(255,238,98)"&gt;%&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;SharePoint&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;RenderingTemplate&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;ID&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="PageTypeFieldControl"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;runat&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="server"&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Template&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Table&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;runat&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="server"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="tblPageTypeControl"&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;TableRow&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;TableCell&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;DropDownList&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;ID&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="ddlPageTypes"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;runat&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="server"&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;ListItem&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;Value&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="Normal.jpg"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;Selected&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="True"&amp;gt;&lt;/span&gt;Normale&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;ListItem&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;ListItem&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;Value&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="Important.jpg"&amp;gt;&lt;/span&gt;Importante&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;ListItem&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;ListItem&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;Value&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="Urgent.jpg"&amp;gt;&lt;/span&gt;Molto Urgente&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;ListItem&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;DropDownList&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;TableCell&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;TableCell&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Image&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;ID&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="imgPreview"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;runat&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="server"&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;TableCell&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;TableRow&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Table&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Template&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;SharePoint&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;RenderingTemplate&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;Come vedete si tratta semplicemente di una tabella con all'interno una DropDownList contenente l'elenco delle immagini ed un oggetto Image che sarà utilizzato per l'anteprima. Tale file dovrà essere salvato nella cartella &lt;font color="#008000"&gt;%program files%\Common Files\Microsoft Shared\Web Server Extensions\12\template\controltemplates\&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NB:&lt;/strong&gt; Questo è solo un esempio, sarebbe sicuramente meglio rendere dinamico l'elenco della DropDownList.&lt;/p&gt;
&lt;p&gt;Quello che abbiamo fatto è creare un controllo costituito da un &lt;a title="RenderingTemplate Class on MSDN" href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.renderingtemplate.aspx" target="_blank"&gt;RenderingTemplate&lt;/a&gt; a cui abbiamo scelto arbitrariamente di assegnare l'identificativo &lt;em&gt;PageTypeFieldControl&lt;/em&gt;. A questo punto dobbiamo creare il controllo vero e proprio che verrà renderizzato tramite il suddetto RenderingTemplate. &lt;br&gt;Innanzitutto creiamo un progetto di tipo Library e facciamo ereditare la classe da &lt;a title="BaseFieldControl Class on MSDN" href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.basefieldcontrol.aspx" target="_blank"&gt;BaseFieldControl&lt;/a&gt;:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; Microsoft.SharePoint.WebControls;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; Microsoft.SharePoint.Security;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; Microsoft.SharePoint.Publishing;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; Microsoft.SharePoint.Publishing.Fields;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; Microsoft.SharePoint.Publishing.WebControls;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; UI = System.Web.UI.WebControls;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System.ComponentModel;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; Microsoft.SharePoint;
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;pre class="code"&gt;    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;PageTypeFieldControl&lt;/span&gt; : &lt;font color="#2b91af"&gt;BaseFieldControl&lt;/font&gt;
    {&lt;br&gt;        &lt;span style="color: rgb(0,0,255)"&gt;protected&lt;/span&gt; UI.&lt;span style="color: rgb(43,145,175)"&gt;DropDownList&lt;/span&gt; ddlPageTypes;
        &lt;span style="color: rgb(0,0,255)"&gt;protected&lt;/span&gt; UI.&lt;span style="color: rgb(43,145,175)"&gt;Image&lt;/span&gt; imgPreview;
        &lt;span style="color: rgb(0,0,255)"&gt;protected&lt;/span&gt; UI.&lt;span style="color: rgb(43,145,175)"&gt;Table&lt;/span&gt; tblPageTypeControl;

    }&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;&amp;nbsp;Poi dobbiamo associare il RenderingTemplate alla classe facendo il seguente override:&lt;/p&gt;&lt;pre class="code"&gt;        &lt;span style="color: rgb(0,0,255)"&gt;protected&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; DefaultTemplateName
        {
            &lt;span style="color: rgb(0,0,255)"&gt;get
&lt;/span&gt;            {
                &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; &lt;span style="color: rgb(163,21,21)"&gt;"PageTypeFieldControl"&lt;/span&gt;;
            }
        }
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;Per evitare di specificare all'interno del controllo ascx il path della lista/cartella contenente le immagini prevediamo una proprietà dell'oggetto da utilizzare allo scopo:&lt;/p&gt;&lt;pre class="code"&gt;        &lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; _ImageFolder=&lt;span style="color: rgb(163,21,21)"&gt;""&lt;/span&gt;;

        [&lt;span style="color: rgb(43,145,175)"&gt;Browsable&lt;/span&gt;(&lt;span style="color: rgb(0,0,255)"&gt;true&lt;/span&gt;)]
        &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; ImageFolder
        {
            &lt;span style="color: rgb(0,0,255)"&gt;get&lt;/span&gt; { &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; _ImageFolder; }
            &lt;span style="color: rgb(0,0,255)"&gt;set&lt;/span&gt; { _ImageFolder = &lt;span style="color: rgb(0,0,255)"&gt;value&lt;/span&gt;; }
        }
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;A questo punto facciamo un override del metodo CreateChildControls per impostare delle personalizzazioni agli oggetti come ad esempio i valori iniziali, i fogli di stile CSS e gli eventHandler per la DropDownList.&lt;/p&gt;&lt;pre class="code"&gt;        &lt;span style="color: rgb(0,0,255)"&gt;protected&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; CreateChildControls()
        {
            &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (Field == &lt;span style="color: rgb(0,0,255)"&gt;null&lt;/span&gt;) &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt;;

            &lt;span style="color: rgb(0,0,255)"&gt;base&lt;/span&gt;.CreateChildControls();

            &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (ControlMode == SPControlMode.Display)
                &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt;;

            &lt;span style="color: rgb(0,128,0)"&gt;//Tabella HTML contenitrice
&lt;/span&gt;            tblPageTypeControl = (UI.&lt;span style="color: rgb(43,145,175)"&gt;Table&lt;/span&gt;)&lt;span style="color: rgb(0,0,255)"&gt;this&lt;/span&gt;.Controls[0].FindControl(&lt;br&gt;                  &lt;span style="color: rgb(163,21,21)"&gt;"tblPageTypeControl"&lt;/span&gt;);
            &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (tblPageTypeControl == &lt;span style="color: rgb(0,0,255)"&gt;null&lt;/span&gt;) &lt;span style="color: rgb(0,0,255)"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;NullReferenceException&lt;/span&gt;(&lt;br&gt;                  &lt;span style="color: rgb(163,21,21)"&gt;"tblPageTypeControl is null. Corrupted PageTypeFieldControl."&lt;/span&gt;);
            tblPageTypeControl.TabIndex = TabIndex;
            tblPageTypeControl.CssClass = CssClass;

            &lt;span style="color: rgb(0,128,0)"&gt;//IMG HTML di preview
&lt;/span&gt;            imgPreview = (UI.&lt;span style="color: rgb(43,145,175)"&gt;Image&lt;/span&gt;)&lt;span style="color: rgb(0,0,255)"&gt;this&lt;/span&gt;.Controls[0].FindControl(&lt;span style="color: rgb(163,21,21)"&gt;"imgPreview"&lt;/span&gt;);
            &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (imgPreview == &lt;span style="color: rgb(0,0,255)"&gt;null&lt;/span&gt;) &lt;span style="color: rgb(0,0,255)"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;NullReferenceException&lt;/span&gt;(&lt;span style="color: rgb(163,21,21)"&gt;"imgPreview &lt;br&gt;                    is null. Corrupted PageTypeFieldControl."&lt;/span&gt;);
            imgPreview.TabIndex = TabIndex;
            imgPreview.CssClass = CssClass;
            imgPreview.ToolTip = &lt;span style="color: rgb(163,21,21)"&gt;"Anteprima per "&lt;/span&gt; + Field.Title;

            &lt;span style="color: rgb(0,128,0)"&gt;//DropDown List
&lt;/span&gt;            ddlPageTypes = (UI.&lt;span style="color: rgb(43,145,175)"&gt;DropDownList&lt;/span&gt;)&lt;span style="color: rgb(0,0,255)"&gt;this&lt;/span&gt;.Controls[0].FindControl(&lt;br&gt;                   &lt;span style="color: rgb(163,21,21)"&gt;"ddlPageTypes"&lt;/span&gt;);
            &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (ddlPageTypes == &lt;span style="color: rgb(0,0,255)"&gt;null&lt;/span&gt;) &lt;span style="color: rgb(0,0,255)"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;NullReferenceException&lt;/span&gt;(&lt;br&gt;                   &lt;span style="color: rgb(163,21,21)"&gt;"ddlPageTypes is null. Corrupted PageTypeFieldControl."&lt;/span&gt;);
            ddlPageTypes.TabIndex = TabIndex;
            ddlPageTypes.CssClass = CssClass;
            ddlPageTypes.ToolTip = &lt;span style="color: rgb(163,21,21)"&gt;"Scelta per "&lt;/span&gt; + Field.Title;
            ddlPageTypes.AutoPostBack = &lt;span style="color: rgb(0,0,255)"&gt;true&lt;/span&gt;;
            ddlPageTypes.SelectedIndexChanged += &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;EventHandler&lt;/span&gt;(&lt;br&gt;                   ddlPageTypes_SelectedIndexChanged);
            
            &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (ControlMode == SPControlMode.New || imgPreview.ImageUrl==&lt;span style="color: rgb(163,21,21)"&gt;""&lt;/span&gt;)
            {
                ddlPageTypes.SelectedIndex = 0;
                imgPreview.ImageUrl = ImageFolder + ddlPageTypes.SelectedValue;
            }
        }

        &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; ddlPageTypes_SelectedIndexChanged(&lt;span style="color: rgb(0,0,255)"&gt;object&lt;/span&gt; sender, &lt;span style="color: rgb(43,145,175)"&gt;EventArgs&lt;/span&gt; e)
        {
            imgPreview.ImageUrl = ImageFolder + ddlPageTypes.SelectedValue;
        }&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;Volendo possiamo anche fare un override del metodo Focus() per scegliere quale controllo costituente deve avere il focus:&lt;/p&gt;&lt;pre class="code"&gt;        &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; Focus()
        {
            EnsureChildControls();
            &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (ControlMode == SPControlMode.Display)
                &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt;;
            ddlPageTypes.Focus();
        }
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;Per far sì che il valore del field associato al nostro controllo sia visualizzato e salvato tramite il controllo stesso dobbiamo fare il seguente override:&lt;/p&gt;&lt;pre class="code"&gt;        &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;object&lt;/span&gt; Value
        {
            &lt;span style="color: rgb(0,0,255)"&gt;get
&lt;/span&gt;            {
                EnsureChildControls();
                &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (ControlMode == SPControlMode.Display)
                    &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;null&lt;/span&gt;;

                ImageFieldValue ImageValue = &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; ImageFieldValue();
                &lt;span style="color: rgb(0,0,255)"&gt;try
&lt;/span&gt;                {
                    ImageValue.ImageUrl = ImagesFolder + ddlPageTypes.SelectedValue;
                }&lt;span style="color: rgb(0,0,255)"&gt;catch&lt;/span&gt;(&lt;span style="color: rgb(43,145,175)"&gt;Exception&lt;/span&gt; ex)
                {
                    ImageValue.ImageUrl=&lt;span style="color: rgb(163,21,21)"&gt;""&lt;/span&gt;;
                }
                &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; ImageValue;
            }
            &lt;span style="color: rgb(0,0,255)"&gt;set
&lt;/span&gt;            {
                EnsureChildControls();
                ImageFieldValue ImageValue = &lt;span style="color: rgb(0,0,255)"&gt;value&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;as&lt;/span&gt; ImageFieldValue;
                &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; url = ImageValue.ImageUrl;
                &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt;(url!=&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt;.Empty)
                    url = url.Substring(url.LastIndexOf(&lt;span style="color: rgb(163,21,21)"&gt;"/"&lt;/span&gt;)+1);
                ddlPageTypes.SelectedValue = url;
                imgPreview.ImageUrl = ImageValue.ImageUrl;
            }
        }&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;A questo punto il componente è ultimato. Occorre quindi compilarlo, registrarlo in GAC ed inserirlo tra i SafeControls di Sharepoint.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Per utilizzarlo sarà sufficiente inserire nel PageLayout l'apposto TagPrefix&lt;/p&gt;&lt;span style="background: rgb(255,238,98)"&gt;&amp;lt;%&lt;span style="color: rgb(0,0,255)"&gt;&lt;/span&gt;@&lt;/span&gt; &lt;span style="color: rgb(163,21,21)"&gt;Register&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;Tagprefix&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="MyWebControls"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;Namespace&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="MyNamespace"&lt;/span&gt; &lt;br&gt;&lt;span style="color: rgb(255,0,0)"&gt;Assembly&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="MyAssembly, Version=1.0.0.0, Culture=neutral, &lt;br&gt;PublicKeyToken=b39c38c41d5734c2"&lt;/span&gt; &lt;span style="background: rgb(255,238,98)"&gt;%&amp;gt;&lt;/span&gt;
&lt;p&gt;e la relativa dichiarazione:&lt;/p&gt;
&lt;p&gt;&amp;lt;&lt;font color="#004080"&gt;MyWebControls:PageTypeFieldControl&lt;/font&gt; &lt;font color="#ff0000"&gt;id&lt;/font&gt;&lt;font color="#0000ff"&gt;="myPageType"&lt;/font&gt; &lt;font color="#ff0000"&gt;FieldName&lt;/font&gt;&lt;font color="#0000ff"&gt;="PublishingRollupImage" &lt;/font&gt;&lt;br&gt;&lt;font color="#ff0000"&gt;runat&lt;/font&gt;&lt;font color="#0000ff"&gt;="server"&lt;/font&gt; &lt;font color="#ff0000"&gt;ImageFolder&lt;/font&gt;&lt;font color="#0000ff"&gt;=""&lt;/font&gt; &lt;font color="#ff0000"&gt;CssClass&lt;/font&gt;&lt;font color="#0000ff"&gt;="dateLine"&lt;/font&gt;&amp;gt;&lt;br&gt;&amp;lt;/&lt;font color="#004080"&gt;MyWebControls:PageTypeFieldControl&lt;/font&gt;&amp;gt; 
&lt;p&gt;HTH&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4277161" width="1" height="1"&gt;</content><author><name>dario.martirani</name><uri>http://blogs.msdn.com/members/dario.martirani.aspx</uri></author><category term="Sharepoint" scheme="http://blogs.msdn.com/dmp/archive/tags/Sharepoint/default.aspx" /><category term="MOSS" scheme="http://blogs.msdn.com/dmp/archive/tags/MOSS/default.aspx" /></entry><entry><title>Come modificare il font standard dei campi INPUT disabilitati</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/archive/2007/08/03/come-modificare-il-font-standard-dei-campi-input-disabilitati.aspx" /><id>http://blogs.msdn.com/dmp/archive/2007/08/03/come-modificare-il-font-standard-dei-campi-input-disabilitati.aspx</id><published>2007-08-03T02:32:00Z</published><updated>2007-08-03T02:32:00Z</updated><content type="html">&lt;P&gt;E'&amp;nbsp;sicuramente una banalità ma può servire a risparmiare tempo...&lt;/P&gt;
&lt;P&gt;In IE, contrariamente ad altri browser,&amp;nbsp;non è possibile modificare il font standard dei campi INPUT disabilitati (Enabled="false") e quindi è inutile cercare nella sintassi dei CSS un comando adatto allo scopo. Non è quindi possibile cambiare il colore del testo in un&amp;nbsp;campo disabilitato.&lt;/P&gt;
&lt;P&gt;Per ovviare al problema io utilizzo l'evento onFocus ed i css per ottenere un campo che si comporti come se fosse disabilitato ma con la possibilità di personalizzarne l'aspetto. Ecco un esempio:&lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;input&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="MyTextbox"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;value&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="MyValue"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="text"&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;&lt;FONT color=#000000&gt;          &lt;/FONT&gt;class&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="locked"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;onfocus&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="blur();"&lt;/SPAN&gt; &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;dove ad esempio la classe "locked" è così definita:&lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: rgb(163,21,21)"&gt;.locked
&lt;/SPAN&gt;{
    &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;cursor&lt;/SPAN&gt;:&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;default&lt;/SPAN&gt;;
    &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;color&lt;/SPAN&gt;:&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Navy&lt;/SPAN&gt;;
    &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;background-color&lt;/SPAN&gt;: &lt;SPAN style="COLOR: rgb(0,0,255)"&gt;#ccffff&lt;/SPAN&gt;;
}
&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;In particolare: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;imposto &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;onfocus&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="blur();"&lt;/SPAN&gt; per ottenere che il controllo non mantenga mai il focus; quindi sarà impossibile modificarne il contenuto&lt;/LI&gt;
&lt;LI&gt;poi, con &lt;SPAN style="COLOR: rgb(255,0,0)"&gt;cursor&lt;/SPAN&gt;:&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;default&lt;/SPAN&gt; nel css, imposto il tipo di cursore (per evitare che appaia la classica I di modifica e che l'utente consideri il campo come editabile)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;A questo punto avrà effetto anche il colore del font nel foglio di stile (&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;color&lt;/SPAN&gt;:&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;Navy&lt;/SPAN&gt;;) come desiderato.&lt;/P&gt;
&lt;P&gt;HTH&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4195714" width="1" height="1"&gt;</content><author><name>dario.martirani</name><uri>http://blogs.msdn.com/members/dario.martirani.aspx</uri></author><category term="HTML" scheme="http://blogs.msdn.com/dmp/archive/tags/HTML/default.aspx" /></entry><entry><title>Nick’s Exchange and Scripting Blog: Managing Exchange 2007 Recipients with C#</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmp/archive/2007/07/31/nick-s-exchange-and-scripting-blog-managing-exchange-2007-recipients-with-c.aspx" /><id>http://blogs.msdn.com/dmp/archive/2007/07/31/nick-s-exchange-and-scripting-blog-managing-exchange-2007-recipients-with-c.aspx</id><published>2007-07-31T13:16:29Z</published><updated>2007-07-31T13:16:29Z</updated><content type="html">&lt;p&gt;Mentre stavo per realizzare l'ennesima&amp;nbsp;applicazione web che interagiva con Exchange attraverso la libreria CDOEXM mi sono accorto che &lt;a title="Caratteristiche sospese e funzionalit&amp;agrave; ridotte in Exchange 2007" href="http://technet.microsoft.com/it-it/library/aa998911.aspx" target="_blank"&gt;con Exchange 2007 CDOEXM è stato cassato&lt;/a&gt;... Allora mi sono fatto un giro&amp;nbsp;sul web per scoprire quale nuova libreria dovessi utilizzare per creare una mailbox e mi si è aperto un mondo! &lt;/p&gt; &lt;p&gt;Mi ero ripromesso di dare un'occhiata alla nuova Windows PowerShell ma ho sempre rimandato, adesso però è arrivato il momento. CDOEXM e WMI sono stati sostituiti in Exchange 2007 dall'Exchange Management Shell, uno SnapIn per PowerShell. &lt;/p&gt; &lt;p&gt;Vi consiglio caldamente di leggere il post di Nick Smith (in inglese):&lt;/p&gt; &lt;p&gt;&lt;a href="http://knicksmith.blogspot.com/2007/03/managing-exchange-2007-recipients-with.html" target="_blank"&gt;Nick’s Exchange and Scripting Blog: Managing Exchange 2007 Recipients with C#&lt;/a&gt; &lt;/p&gt; &lt;p&gt;è molto utile e fornisce un wrapper in C# semplice da utilizzare. Serve a poco, però, senza un'infarinatura di base dell'Exchange Management Shell:&lt;/p&gt; &lt;p&gt;Mstehle's Introduction to Exchange Powershell Automation&lt;br&gt;Part 1: &lt;a href="http://blogs.msdn.com/mstehle/archive/2007/01/25/fyi-introduction-to-exchange-powershell-automation-part-1.aspx" target="_blank"&gt;http://blogs.msdn.com/mstehle/archive/2007/01/25/fyi-introduction-to-exchange-powershell-automation-part-1.aspx&lt;/a&gt;&lt;br&gt;Part 2: &lt;a href="http://blogs.msdn.com/mstehle/archive/2007/01/25/outbox-introduction-to-exchange-powershell-automation-part-2.aspx" target="_blank"&gt;http://blogs.msdn.com/mstehle/archive/2007/01/25/outbox-introduction-to-exchange-powershell-automation-part-2.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4145563" width="1" height="1"&gt;</content><author><name>dario.martirani</name><uri>http://blogs.msdn.com/members/dario.martirani.aspx</uri></author><category term="C#" scheme="http://blogs.msdn.com/dmp/archive/tags/C_2300_/default.aspx" /><category term="Exchange" scheme="http://blogs.msdn.com/dmp/archive/tags/Exchange/default.aspx" /></entry></feed>