<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2022978557711118071</id><updated>2012-02-16T03:05:22.437-08:00</updated><category term='sharepoint'/><category term='website'/><category term='personal'/><category term='tool'/><category term='error'/><category term='bug'/><category term='development'/><title type='text'>Development Dreams</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://devdreams.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2022978557711118071/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://devdreams.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Andrey Shchurov</name><uri>http://www.blogger.com/profile/04807057547080579722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://andreyshchurov.com/images/mysmallphoto.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2022978557711118071.post-608402132429058563</id><published>2009-05-03T18:10:00.000-07:00</published><updated>2009-05-03T18:36:54.970-07:00</updated><title type='text'>Wrong Content Type value displayed for a new document</title><content type='html'>&lt;p&gt;I troubleshot a problem when a wrong content type value was displayed for a new document in document library with multiple content types. Content type “Electronic Letter” was created a while after content type “Letter” and used the same template MS Word 2007 document. The root of the problem was in the document template itself. It was taken from content type “Letter” and contained this content type metadata and when I tried to use it in other content types it still had the original binding to “Letter”. Microsoft says that this problem happens with Office 2007 document only and recommendation is to keep the master copy of the document template on disk and never take it from SharePoint. In my case the problem was that I did not have the master copy on my disk and could only use the document already loaded to SharePoint and bound to the other content type. And finally I found the way how to detach the document.&lt;/p&gt;  &lt;p&gt;Open the document from disk and go to Prepare-&gt;Inspect Document menu item.&lt;/p&gt;  &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_K8WsAFM0ym0/Sf5ExCprJ7I/AAAAAAAAAAk/SLIgXnVSGl4/s1600-h/1.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 293px;" src="http://4.bp.blogspot.com/_K8WsAFM0ym0/Sf5ExCprJ7I/AAAAAAAAAAk/SLIgXnVSGl4/s320/1.jpg" alt="" id="BLOGGER_PHOTO_ID_5331774618169190322" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Check “Document Properties and Personal Information” item and press “Inspect” button.&lt;/p&gt;  &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_K8WsAFM0ym0/Sf5FIC4zZAI/AAAAAAAAAAs/cxlsn1_obWY/s1600-h/2.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 291px;" src="http://4.bp.blogspot.com/_K8WsAFM0ym0/Sf5FIC4zZAI/AAAAAAAAAAs/cxlsn1_obWY/s320/2.jpg" alt="" id="Img1" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Press “Remove All” button against “Document Properties and Personal Information” item. This will remove all the content type binding of this document.&lt;/p&gt;  &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_K8WsAFM0ym0/Sf5FIKWRIXI/AAAAAAAAAA0/338kZgoJiWY/s1600-h/3.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 291px;" src="http://2.bp.blogspot.com/_K8WsAFM0ym0/Sf5FIKWRIXI/AAAAAAAAAA0/338kZgoJiWY/s320/3.jpg" alt="" id="Img2" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Press “Close” button and save the document. &lt;/p&gt;  &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_K8WsAFM0ym0/Sf5FIQZ5KZI/AAAAAAAAAA8/Ik83xgCBaIc/s1600-h/4.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 291px;" src="http://3.bp.blogspot.com/_K8WsAFM0ym0/Sf5FIQZ5KZI/AAAAAAAAAA8/Ik83xgCBaIc/s320/4.jpg" alt="" id="Img3" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After that you can use this document as a master copy for all the other content types where it is used as a template. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2022978557711118071-608402132429058563?l=devdreams.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devdreams.blogspot.com/feeds/608402132429058563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2022978557711118071&amp;postID=608402132429058563' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2022978557711118071/posts/default/608402132429058563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2022978557711118071/posts/default/608402132429058563'/><link rel='alternate' type='text/html' href='http://devdreams.blogspot.com/2009/05/wrong-content-type-value-displayed-for.html' title='Wrong Content Type value displayed for a new document'/><author><name>Andrey Shchurov</name><uri>http://www.blogger.com/profile/04807057547080579722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://andreyshchurov.com/images/mysmallphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_K8WsAFM0ym0/Sf5ExCprJ7I/AAAAAAAAAAk/SLIgXnVSGl4/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2022978557711118071.post-8459966150793701419</id><published>2008-06-09T22:30:00.000-07:00</published><updated>2008-06-09T22:41:55.775-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='error'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><title type='text'>Be careful using non-alphanumeric field names in SharePoint</title><content type='html'>&lt;p&gt;I found 
that there are some inconsistency in internal name generating in WSS 3.0. I 
encountered with it when receiving en error on checking in a file. SharePoint 
log file did not reveal the problem as usual :) and I used my custom code to 
troubleshoot. This is the exception description and a stack trace I received:&lt;/p&gt;
&lt;pre&gt;
at Microsoft.SharePoint.SPFieldCollection.GetFieldByInternalName(String strName, Boolean bThrowException)
at Microsoft.SharePoint.SPFieldCollection.GetFieldByInternalName(String strName)
at Microsoft.SharePoint.SPListItem.get_MissingRequiredFields()
at Microsoft.SharePoint.ApplicationPages.Checkin.OnLoad(EventArgs e)
&lt;/pre&gt;
&lt;p&gt;I 
started to review code in Reflector and discovered that 
&lt;code&gt;SPListItem.MissingRequiredFields&lt;/code&gt; property is checked on page check in. For this 
purpose it uses &lt;code&gt;SPFieldLink.Name&lt;/code&gt; from &lt;code&gt;SPListItem.ContentType.FieldLinks&lt;/code&gt; 
collection to retrieve &lt;code&gt;SPField&lt;/code&gt; object from &lt;code&gt;SPListItem.ParentList.Fields&lt;/code&gt; 
collection for every field which is &lt;code&gt;SPFieldLink.Required=true&lt;/code&gt;. In order to get 
&lt;code&gt;SPField&lt;/code&gt; object &lt;code&gt;SPFieldCollection.GetFieldByInternalName()&lt;/code&gt; method is used and if 
&lt;code&gt;SPFieldLink.Name&lt;/code&gt; field value is not found as internal name of any &lt;code&gt;SPField&lt;/code&gt; then 
we receive &amp;quot;Value does not fall within the expected range&amp;quot; exception. &lt;/p&gt;
&lt;p&gt;In my 
case I have a field named &amp;quot;Description of Change/New document&amp;quot; which is 
translated to internal name as 
&amp;quot;&lt;code&gt;Description_x0020_of_x0020_Change_x002F_New_x0020_Document&lt;/code&gt;&amp;quot; but for some reason 
&lt;code&gt;SPFieldLink.Name&lt;/code&gt; field value for this field is 
&amp;quot;&lt;code&gt;Description_x0020_of_x0020_Change_x002f_New_x0020_Document&lt;/code&gt;&amp;quot;. Feel the 
difference in unicode of symbol &amp;quot;/&amp;quot;: &lt;code&gt;x002f&lt;/code&gt; (small 'f') and &lt;code&gt;x002F&lt;/code&gt; (capital 'F'). 
That gives me two different internal names and I have these troubles. I guess 
there is inconsistency and there are several functions which generate internal 
name and these functions produce different result in some cases. &lt;/p&gt;
&lt;p&gt;When I 
recreated my field the problem was fixed for which I do not have any 
explanation.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2022978557711118071-8459966150793701419?l=devdreams.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devdreams.blogspot.com/feeds/8459966150793701419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2022978557711118071&amp;postID=8459966150793701419' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2022978557711118071/posts/default/8459966150793701419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2022978557711118071/posts/default/8459966150793701419'/><link rel='alternate' type='text/html' href='http://devdreams.blogspot.com/2008/06/i-found-that-there-are-some.html' title='Be careful using non-alphanumeric field names in SharePoint'/><author><name>Andrey Shchurov</name><uri>http://www.blogger.com/profile/04807057547080579722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://andreyshchurov.com/images/mysmallphoto.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2022978557711118071.post-219189107999180797</id><published>2007-07-22T18:08:00.000-07:00</published><updated>2007-07-22T18:11:33.111-07:00</updated><title type='text'>Convert Java to .NET</title><content type='html'>&lt;p&gt;Some project required me to port Java source code into .NET environment. I 
had to import this code into J# project and then compile it. It worked ok if you 
had entire source code but usually I did not have it or Java project used some 
third party JARs. Searching for some solution I found
&lt;a target="_blank" href="http://www.ikvm.net"&gt;IKVM.NET&lt;/a&gt; This is a striking 
solution and it solves 99% of problems of usage Java in .NET. It converts Java 
byte code into .NET CLR and you do not need to any source code any more. It is 
amazing and many thanks to its author Jeroen Frijters.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2022978557711118071-219189107999180797?l=devdreams.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devdreams.blogspot.com/feeds/219189107999180797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2022978557711118071&amp;postID=219189107999180797' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2022978557711118071/posts/default/219189107999180797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2022978557711118071/posts/default/219189107999180797'/><link rel='alternate' type='text/html' href='http://devdreams.blogspot.com/2007/07/convert-java-to-net.html' title='Convert Java to .NET'/><author><name>Andrey Shchurov</name><uri>http://www.blogger.com/profile/04807057547080579722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://andreyshchurov.com/images/mysmallphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2022978557711118071.post-8196778406155184955</id><published>2007-05-11T20:28:00.000-07:00</published><updated>2007-05-12T00:03:01.005-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><title type='text'>Yet another scripting host - MyScriptHost</title><content type='html'>&lt;p&gt;Developing for SharePoint I found myself in situation when I had an access 
the the server (direct or remote desktop) and need to run some ad-hoc code on it 
but the server did not have Visual Studio or any other development environment 
installed. I think this is familiar to some of us. These are some possible 
options:&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;install Visual Studio or any other development environment (very 
 unlikely that administrator will allow you to do it for test or production 
 environment)&lt;/li&gt;
 &lt;li&gt;develop the code on the other machine and run on the server (good 
 approach but you loose code flexibility especially if you want to write and 
 test your code interactively)&lt;/li&gt;
 &lt;li&gt;use 
 &lt;a target="_blank" href="http://www.sliver.com/dotnet/SnippetCompiler/"&gt;SnippetCompiler&lt;/a&gt;. This is a very good tool and I would choose it if 
 it supported command line execution of C# files.&lt;/li&gt;
 &lt;li&gt;use Windows Scripting Host (WSH) to create and run scripts (good 
 approach but you need to use JScript of VBScript)&lt;/li&gt;
 &lt;li&gt;use&amp;nbsp;
 &lt;a target="_blank" href="http://www.codeproject.com/dotnet/DotNetScript.asp"&gt;
 Dot Net Script&lt;/a&gt; (good tool, but it uses its own file format and does not 
 have IDE)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I wanted to have some kind of a combination of 
&lt;a target="_blank" href="http://www.sliver.com/dotnet/SnippetCompiler/"&gt;SnippetCompiler&lt;/a&gt; and 
&lt;a target="_blank" href="http://www.codeproject.com/dotnet/DotNetScript.asp"&gt;Dot 
Net Script&lt;/a&gt; where I could create some scripts and maybe execute them 
automatically in future.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;So meet &lt;a href="http://www.andreyshchurov.com/projects/MyScriptHost/default.aspx"&gt;MyScriptHost&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;&lt;img border="0" src="http://www.andreyshchurov.com/blogimages/004_01.jpg" width="600" height="341"&gt;&lt;/p&gt;
&lt;p&gt;This is a console application with a windowed code editor. It works with one 
file at a time which can be executed with or without code editor. It can 
associate .mysh files to itself (I have taken this idea from
&lt;a target="_blank" href="http://www.codeproject.com/dotnet/DotNetScript.asp"&gt;Dot 
Net Script&lt;/a&gt; project).&lt;/p&gt;
&lt;p&gt;Command line usage:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;MyScriptHost.exe &amp;lt;filename&amp;gt; &amp;lt;command&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;where &amp;lt;filename&amp;gt; is a name of a file and &amp;lt;command&amp;gt; is one of the following:&lt;/p&gt;

&lt;table border="1"&gt;
 &lt;tr&gt;
  &lt;td&gt;&lt;code&gt;/open&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;open the file for editing. This is a default behavior if no other 
  command is specified.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td&gt;&lt;code&gt;/compile&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;compile the file without execution&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td&gt;&lt;code&gt;/run&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;compile and execute the file&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td&gt;&lt;code&gt;/runandwait&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;compile and execute the file and keep the console window open after 
  execution&lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;Code file should be a C# class containing &lt;code&gt;public static void Main()&lt;/code&gt; as entry point. 
The only addition to pure C# code is a metatag &lt;code&gt;&amp;lt;@ Reference Name=&amp;quot;assembly name 
or path&amp;quot; %&amp;gt;&lt;/code&gt; in order to define external references. Code file can 
have any number of these tags at the beginning of the file.&lt;/p&gt;
&lt;p&gt;MyScriptHost contains internal static class MyshDebug which has some methods 
useful for debugging:&lt;/p&gt;

&lt;table border="1" id="table1"&gt;
 &lt;tr&gt;
  &lt;td valign="top"&gt;&lt;code&gt;static void Watch(params object[] values)&lt;/code&gt;&lt;/td&gt;
  &lt;td valign="top"&gt;Opens a watch window for specified values&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td valign="top"&gt;&lt;code&gt;static void Print(object obj)&lt;/code&gt;&lt;p&gt;&lt;code&gt;static void Print(object obj, int levels)&lt;/code&gt;&lt;/td&gt;
  &lt;td valign="top"&gt;Prints object properties to console. It also allows to specify a 
  number of levels to print out.&lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;Watch window is a modal window and allows you to see and change properties in 
PropertyGrid. Invoke tab allows you to print property value with a specified 
level of details.&lt;/p&gt;

&lt;p&gt;&lt;img border="0" src="http://www.andreyshchurov.com/blogimages/004_02.jpg"&gt;&lt;img border="0" src="http://www.andreyshchurov.com/blogimages/004_03.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This is an example of a script I used with MOSS to import news items from xml 
file to SharePoint document library. &lt;/p&gt;

&lt;div lang='CS' class='codepane'&gt;&lt;span class='cs-metatag'&gt;&amp;lt;%@&amp;nbsp;Reference&amp;nbsp;Name="C:\Program&amp;nbsp;Files\Common&amp;nbsp;Files\Microsoft&amp;nbsp;Shared\web&amp;nbsp;server&amp;nbsp;extensions\12\ISAPI\Microsoft.SharePoint.dll"&amp;nbsp;%&amp;gt;&lt;/span&gt;&lt;br/&gt;
&lt;span class='cs-keyword'&gt;using&lt;/span&gt;&amp;nbsp;System;&lt;br/&gt;
&lt;span class='cs-keyword'&gt;using&lt;/span&gt;&amp;nbsp;System.Collections.Generic;&lt;br/&gt;
&lt;span class='cs-keyword'&gt;using&lt;/span&gt;&amp;nbsp;System.Diagnostics;&lt;br/&gt;
&lt;span class='cs-keyword'&gt;using&lt;/span&gt;&amp;nbsp;Microsoft.SharePoint;&lt;br/&gt;
&lt;span class='cs-keyword'&gt;using&lt;/span&gt;&amp;nbsp;Microsoft.SharePoint.Administration;&lt;br/&gt;
&lt;span class='cs-keyword'&gt;using&lt;/span&gt;&amp;nbsp;System.IO;&lt;br/&gt;
&lt;span class='cs-keyword'&gt;using&lt;/span&gt;&amp;nbsp;System.Xml;&lt;br/&gt;
&lt;br/&gt;
&lt;span class='cs-keyword'&gt;public&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;class&lt;/span&gt;&amp;nbsp;Class1&lt;br/&gt;
{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;private&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;const&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;m_destNewsItemsFolder&amp;nbsp;=&amp;nbsp;&lt;span class='cs-string'&gt;@"C:\My&amp;nbsp;Projects\Sharepoint&amp;nbsp;Scripts\ImportNews\Items\"&lt;/span&gt;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;private&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;const&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;m_destNewsAttachmentsFolder&amp;nbsp;=&amp;nbsp;&lt;span class='cs-string'&gt;@"C:\My&amp;nbsp;Projects\Sharepoint&amp;nbsp;Scripts\ImportNews\Attachments\"&lt;/span&gt;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;private&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;const&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;m_siteUrl&amp;nbsp;=&amp;nbsp;&lt;span class='cs-string'&gt;@"http://localhost:1003/"&lt;/span&gt;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;private&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;const&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;m_prefix&amp;nbsp;=&amp;nbsp;&lt;span class='cs-string'&gt;"newPage_"&lt;/span&gt;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;private&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;const&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;m_pageTemplateName&amp;nbsp;=&amp;nbsp;&lt;span class='cs-string'&gt;"page1.aspx"&lt;/span&gt;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;public&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;static&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;void&lt;/span&gt;&amp;nbsp;Main()&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPSite&amp;nbsp;site&amp;nbsp;=&amp;nbsp;&lt;span class='cs-keyword'&gt;new&lt;/span&gt;&amp;nbsp;SPSite(m_siteUrl);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPWeb&amp;nbsp;web&amp;nbsp;=&amp;nbsp;site.OpenWeb(&lt;span class='cs-string'&gt;"News"&lt;/span&gt;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-comment'&gt;//MyshDebug.Watch(web);&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPFolder&amp;nbsp;pages&amp;nbsp;=&amp;nbsp;web.Folders[&lt;span class='cs-string'&gt;"Pages"&lt;/span&gt;];&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-comment'&gt;//MyshDebug.Watch(pages);&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPFile&amp;nbsp;pageTemplate&amp;nbsp;=&amp;nbsp;pages.Files[m_pageTemplateName];&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-comment'&gt;//MyshDebug.Watch(pageTemplate);&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-comment'&gt;//&amp;nbsp;delete&amp;nbsp;old&amp;nbsp;files&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;span class='cs-string'&gt;"Deleting&amp;nbsp;previous&amp;nbsp;files..."&lt;/span&gt;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;SPFile&amp;gt;&amp;nbsp;filesToDelete&amp;nbsp;=&amp;nbsp;&lt;span class='cs-keyword'&gt;new&lt;/span&gt;&amp;nbsp;List&amp;lt;SPFile&amp;gt;();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach(SPFile&amp;nbsp;file&amp;nbsp;in&amp;nbsp;pages.Files)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(String.Format(&lt;span class='cs-string'&gt;"{0}"&lt;/span&gt;,&amp;nbsp;file.Name));&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;if&lt;/span&gt;(file.Name.StartsWith(m_prefix))&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;filesToDelete.Add(file);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach(SPFile&amp;nbsp;file&amp;nbsp;in&amp;nbsp;filesToDelete)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;span class='cs-string'&gt;"Deleting&amp;nbsp;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;file.Name);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file.Delete();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;[]&amp;nbsp;fileNames&amp;nbsp;=&amp;nbsp;Directory.GetFiles(m_destNewsItemsFolder);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-comment'&gt;//&amp;nbsp;Create&amp;nbsp;new&amp;nbsp;files&amp;nbsp;first&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span class='cs-keyword'&gt;int&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;fileNames.Length;&amp;nbsp;i++)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;fileName&amp;nbsp;=&amp;nbsp;Path.GetFileNameWithoutExtension(fileNames[i]);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileName&amp;nbsp;=&amp;nbsp;m_prefix&amp;nbsp;+&amp;nbsp;fileName;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-comment'&gt;//MyshDebug.Watch(fileName);&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;span class='cs-string'&gt;"Creating&amp;nbsp;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;fileName);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pageTemplate.CopyTo(pages.Url&amp;nbsp;+&amp;nbsp;&lt;span class='cs-string'&gt;"/"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;fileName&amp;nbsp;+&amp;nbsp;&lt;span class='cs-string'&gt;".aspx"&lt;/span&gt;,&amp;nbsp;&lt;span class='cs-keyword'&gt;true&lt;/span&gt;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-comment'&gt;//&amp;nbsp;This&amp;nbsp;is&amp;nbsp;to&amp;nbsp;refresh&amp;nbsp;file&amp;nbsp;list&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pages&amp;nbsp;=&amp;nbsp;web.Folders[&lt;span class='cs-string'&gt;"Pages"&lt;/span&gt;];&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-comment'&gt;//&amp;nbsp;Upload&amp;nbsp;news&amp;nbsp;content&amp;nbsp;to&amp;nbsp;already&amp;nbsp;created&amp;nbsp;files&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span class='cs-keyword'&gt;int&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;fileNames.Length;&amp;nbsp;i++)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;fileName&amp;nbsp;=&amp;nbsp;Path.GetFileNameWithoutExtension(fileNames[i]);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileName&amp;nbsp;=&amp;nbsp;m_prefix&amp;nbsp;+&amp;nbsp;fileName;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-comment'&gt;//MyshDebug.Watch(fileName);&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(&lt;span class='cs-string'&gt;"Uploading&amp;nbsp;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;fileName);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XmlDocument&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;&lt;span class='cs-keyword'&gt;new&lt;/span&gt;&amp;nbsp;XmlDocument();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;doc.Load(fileNames[i]);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;body&amp;nbsp;=&amp;nbsp;GetNodeText(doc,&amp;nbsp;&lt;span class='cs-string'&gt;"//body"&lt;/span&gt;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;date&amp;nbsp;=&amp;nbsp;GetNodeText(doc,&amp;nbsp;&lt;span class='cs-string'&gt;"//date"&lt;/span&gt;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;sourceName&amp;nbsp;=&amp;nbsp;GetNodeText(doc,&amp;nbsp;&lt;span class='cs-string'&gt;"//sourceName"&lt;/span&gt;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;newsType&amp;nbsp;=&amp;nbsp;GetNodeText(doc,&amp;nbsp;&lt;span class='cs-string'&gt;"//newsType"&lt;/span&gt;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;title&amp;nbsp;=&amp;nbsp;GetNodeText(doc,&amp;nbsp;&lt;span class='cs-string'&gt;"//title"&lt;/span&gt;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;[]&amp;nbsp;attachments&amp;nbsp;=&amp;nbsp;GetNodeTextArray(doc,&amp;nbsp;&lt;span class='cs-string'&gt;"//attachment"&lt;/span&gt;);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;creator&amp;nbsp;=&amp;nbsp;GetNodeText(doc,&amp;nbsp;&lt;span class='cs-string'&gt;"//creator"&lt;/span&gt;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;creatorName&amp;nbsp;=&amp;nbsp;GetNodeText(doc,&amp;nbsp;&lt;span class='cs-string'&gt;"//creatorName"&lt;/span&gt;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;author&amp;nbsp;=&amp;nbsp;GetNodeText(doc,&amp;nbsp;&lt;span class='cs-string'&gt;"//author"&lt;/span&gt;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;entity&amp;nbsp;=&amp;nbsp;GetNodeText(doc,&amp;nbsp;&lt;span class='cs-string'&gt;"//Entity"&lt;/span&gt;);&amp;nbsp;//????&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPFile&amp;nbsp;newPage&amp;nbsp;=&amp;nbsp;pages.Files[fileName&amp;nbsp;+&amp;nbsp;&lt;span class='cs-string'&gt;".aspx"&lt;/span&gt;];&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-comment'&gt;//&amp;nbsp;adjust&amp;nbsp;body&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;body&amp;nbsp;=&amp;nbsp;&lt;span class='cs-string'&gt;"&amp;lt;p&amp;gt;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;body.Replace(&lt;span class='cs-string'&gt;"\r\n"&lt;/span&gt;,&amp;nbsp;&lt;span class='cs-string'&gt;"&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;"&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span class='cs-string'&gt;"&amp;lt;/p&amp;gt;"&lt;/span&gt;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-comment'&gt;//MyshDebug.Watch(body);&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-comment'&gt;//break;&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newPage.CheckOut();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPListItem&amp;nbsp;item&amp;nbsp;=&amp;nbsp;newPage.Item;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item[&lt;span class='cs-string'&gt;"Page&amp;nbsp;Content"&lt;/span&gt;]&amp;nbsp;=&amp;nbsp;body;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item[&lt;span class='cs-string'&gt;"Article&amp;nbsp;Date"&lt;/span&gt;]&amp;nbsp;=&amp;nbsp;date;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-comment'&gt;//item["NewsType"]&amp;nbsp;=&amp;nbsp;newsType;&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item[&lt;span class='cs-string'&gt;"Title"&lt;/span&gt;]&amp;nbsp;=&amp;nbsp;title;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item[&lt;span class='cs-string'&gt;"Contact&amp;nbsp;Name"&lt;/span&gt;]&amp;nbsp;=&amp;nbsp;author;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item.Update();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newPage.CheckIn(&lt;span class='cs-string'&gt;""&lt;/span&gt;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newPage.Publish(&lt;span class='cs-string'&gt;""&lt;/span&gt;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-comment'&gt;//newPage.Versions.DeleteAllMinorVersions();&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-comment'&gt;//break;&lt;/span&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;private&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;static&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;GetNodeText(XmlNode&amp;nbsp;root,&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;xpath)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XmlNode&amp;nbsp;node&amp;nbsp;=&amp;nbsp;root.SelectSingleNode(xpath);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;if&lt;/span&gt;&amp;nbsp;(node&amp;nbsp;==&amp;nbsp;&lt;span class='cs-keyword'&gt;null&lt;/span&gt;)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class='cs-string'&gt;""&lt;/span&gt;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;return&lt;/span&gt;&amp;nbsp;node.InnerText;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;private&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;static&lt;/span&gt;&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;[]&amp;nbsp;GetNodeTextArray(XmlNode&amp;nbsp;root,&amp;nbsp;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;nbsp;xpath)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XmlNodeList&amp;nbsp;nodes&amp;nbsp;=&amp;nbsp;root.SelectNodes(xpath);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;lt;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;gt;&amp;nbsp;values&amp;nbsp;=&amp;nbsp;&lt;span class='cs-keyword'&gt;new&lt;/span&gt;&amp;nbsp;List&amp;lt;&lt;span class='cs-keyword'&gt;string&lt;/span&gt;&amp;gt;();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach&amp;nbsp;(XmlNode&amp;nbsp;node&amp;nbsp;in&amp;nbsp;nodes)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.Add(node.InnerText);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cs-keyword'&gt;return&lt;/span&gt;&amp;nbsp;values.ToArray();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
}&lt;br/&gt;
&lt;/div&gt;
I am not going to 
explain how this script works. It just demonstrates the power and flexibility I 
gained in development for SharePoint in restricted environment. 
I started this project for fun and now it becomes a very useful tool for me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2022978557711118071-8196778406155184955?l=devdreams.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devdreams.blogspot.com/feeds/8196778406155184955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2022978557711118071&amp;postID=8196778406155184955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2022978557711118071/posts/default/8196778406155184955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2022978557711118071/posts/default/8196778406155184955'/><link rel='alternate' type='text/html' href='http://devdreams.blogspot.com/2007/05/yet-another-scripting-host-myscripthost.html' title='Yet another scripting host - MyScriptHost'/><author><name>Andrey Shchurov</name><uri>http://www.blogger.com/profile/04807057547080579722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://andreyshchurov.com/images/mysmallphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2022978557711118071.post-4162824056903368883</id><published>2007-05-11T20:20:00.000-07:00</published><updated>2007-05-11T20:27:20.722-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><category scheme='http://www.blogger.com/atom/ns#' term='website'/><title type='text'>Personal web site</title><content type='html'>&lt;p&gt;Finally I opened my personal web site 
&lt;a target="_blank" href="http://www.andreyshchurov.com"&gt;www.andreyshchurov.com&lt;/a&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2022978557711118071-4162824056903368883?l=devdreams.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devdreams.blogspot.com/feeds/4162824056903368883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2022978557711118071&amp;postID=4162824056903368883' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2022978557711118071/posts/default/4162824056903368883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2022978557711118071/posts/default/4162824056903368883'/><link rel='alternate' type='text/html' href='http://devdreams.blogspot.com/2007/05/personal-web-site.html' title='Personal web site'/><author><name>Andrey Shchurov</name><uri>http://www.blogger.com/profile/04807057547080579722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://andreyshchurov.com/images/mysmallphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2022978557711118071.post-6040235549639998645</id><published>2007-03-08T14:36:00.000-08:00</published><updated>2007-03-08T14:38:59.631-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><title type='text'>Video Tutorials on SharePoint from LearnVu.com</title><content type='html'>SharePointHosting.com provides on-demand access to SharePoint tutorials from LearnVu to all our SharePoint hosting customers. This is a significant value-add service to our SharePoint hosting offerings.

&lt;a href="http://www.sharepointhosting.com/video_tutorials.html"&gt;Check it out here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2022978557711118071-6040235549639998645?l=devdreams.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devdreams.blogspot.com/feeds/6040235549639998645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2022978557711118071&amp;postID=6040235549639998645' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2022978557711118071/posts/default/6040235549639998645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2022978557711118071/posts/default/6040235549639998645'/><link rel='alternate' type='text/html' href='http://devdreams.blogspot.com/2007/03/video-tutorials-on-sharepoint-from.html' title='Video Tutorials on SharePoint from LearnVu.com'/><author><name>Andrey Shchurov</name><uri>http://www.blogger.com/profile/04807057547080579722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://andreyshchurov.com/images/mysmallphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2022978557711118071.post-2439788609877253337</id><published>2007-02-14T20:04:00.000-08:00</published><updated>2008-12-11T15:25:28.309-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sharepoint'/><title type='text'>How to disable fields on EditForm.aspx. WSS 3.0 version.</title><content type='html'>I had a task to disable or make read-only some of a SharePoint list fields. I did not wanted to do much development and found some very good solutions
for WSS 2.0:

&lt;a href="http://wss.collutions.com/Lists/FAQ/DispForm.aspx?ID=118"&gt;How can I make a field read-only?&lt;/a&gt;

&lt;a href="http://cakriwut.wordpress.com/2006/07/31/how-can-javascripters-create-custom-editform-without-understanding-caml-and-net/"&gt;How can JavaScript’ers create custom EditForm without understanding CAML and .NET !&lt;/a&gt;
&lt;p&gt;But in case with WSS3.0 these solutions do not work properly because it is
very hard to calculate edit element &lt;b&gt;name&lt;/b&gt; or &lt;b&gt;id&lt;/b&gt; and in my solution I use
&lt;b&gt;title&lt;/b&gt;
attribute of &lt;b&gt;input &lt;/b&gt;or &lt;b&gt;select &lt;/b&gt; elements generated by &lt;b&gt;
ListFormWebPart&lt;/b&gt; web
part:&lt;/p&gt;
&lt;div style="BORDER-RIGHT: #cccccc 1pt solid; PADDING-RIGHT: 1pt; BORDER-TOP: #cccccc 1pt solid; PADDING-LEFT: 1pt; BACKGROUND: #f5f5f5; PADDING-BOTTOM: 1pt; OVERFLOW: auto; BORDER-LEFT: #cccccc 1pt solid; WIDTH: 100%; PADDING-TOP: 1pt; BORDER-BOTTOM: #cccccc 1pt solid; HEIGHT: 150pxfont-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SELECT&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=ctl00_m_g_4cfb4dc8_9323_4849_bbfb_95af4cc4f470_ctl00_ctl02_ctl00_ctl01_ctl00_ctl00_ctl02_ctl00_ctl00_ctl04_ctl00_Lookup&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;b&gt;&lt;span style="color:red;"&gt;title&lt;/span&gt;&lt;span style="color:blue;"&gt;=Company&lt;/span&gt; &lt;/b&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=ctl00$m$g_4cfb4dc8_9323_4849_bbfb_95af4cc4f470$ctl00$ctl02$ctl00$ctl01$ctl00$ctl00$ctl02$ctl00$ctl00$ctl04$ctl00$Lookup&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;OPTION&lt;/span&gt; &lt;span style="color:red;"&gt;value&lt;/span&gt;&lt;span style="color:blue;"&gt;=0&lt;/span&gt; &lt;span style="color:red;"&gt;selected&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;(None)&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;OPTION&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;OPTION&lt;/span&gt; &lt;span style="color:red;"&gt;value&lt;/span&gt;&lt;span style="color:blue;"&gt;=6&amp;gt;&lt;/span&gt;Transfield Services&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;OPTION&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SELECT&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;So I created a JavaScript function and placed it after the &lt;b&gt;ListFormWebPart&lt;/b&gt;:&lt;/p&gt;
&lt;div style="BORDER-RIGHT: #cccccc 1pt solid; PADDING-RIGHT: 1pt; BORDER-TOP: #cccccc 1pt solid; PADDING-LEFT: 1pt; BACKGROUND: #f5f5f5; PADDING-BOTTOM: 1pt; OVERFLOW: auto; BORDER-LEFT: #cccccc 1pt solid; WIDTH: 100%; PADDING-TOP: 1pt; BORDER-BOTTOM: #cccccc 1pt solid; HEIGHT: 150pxfont-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SCRIPT&lt;/span&gt; &lt;span style="color:red;"&gt;language&lt;/span&gt;&lt;span style="color:blue;"&gt;=javascript&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:green;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:green;"&gt;/// Disables EditForm field for the specified column title&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:green;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;function&lt;/span&gt; DisableField(title)&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;{&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;    &lt;span style="color:blue;"&gt;for&lt;/span&gt;(&lt;span style="color:blue;"&gt;var&lt;/span&gt; i = 0; i &amp;lt; document.all.length; i++)&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;    {&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;        &lt;span style="color:blue;"&gt;var&lt;/span&gt; el = document.all[i];&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;        &lt;span style="color:green;"&gt;// find html element with specified title&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;        &lt;span style="color:blue;"&gt;if&lt;/span&gt;(el.title == title)&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;        {&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;            el.disabled = &lt;span style="color:blue;"&gt;true&lt;/span&gt;; &lt;span style="color:green;"&gt;// disable&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;            &lt;span style="color:blue;"&gt;break&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;        }&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;    }&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;}&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;DisableField(&lt;span style="color:#a31515;"&gt;"Company"&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;DisableField(&lt;span style="color:#a31515;"&gt;"Site/Industry"&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SCRIPT&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;
&lt;p&gt;And these two fields are disabled for editing.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_K8WsAFM0ym0/RfSWPaBjliI/AAAAAAAAAAM/Agncc8QHKOg/s1600-h/2007-01.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5040819074362480162" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_K8WsAFM0ym0/RfSWPaBjliI/AAAAAAAAAAM/Agncc8QHKOg/s320/2007-01.jpg" border="0" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;But this &lt;b&gt;ListFormWebPart&lt;/b&gt; web part is a tricky thing and creates dropdown lists in different
way depending on amount of their items:&lt;/p&gt;
&lt;p&gt;Drop down list 1:&lt;/p&gt;
&lt;div style="BORDER-RIGHT: #cccccc 1pt solid; PADDING-RIGHT: 1pt; BORDER-TOP: #cccccc 1pt solid; PADDING-LEFT: 1pt; BACKGROUND: #f5f5f5; PADDING-BOTTOM: 1pt; OVERFLOW: auto; BORDER-LEFT: #cccccc 1pt solid; WIDTH: 100%; PADDING-TOP: 1pt; BORDER-BOTTOM: #cccccc 1pt solid; HEIGHT: 150pxfont-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SELECT&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=ctl00_m_g_4cfb4dc8_9323_4849_bbfb_95af4cc4f470_ctl00_ctl02_ctl00_ctl01_ctl00_ctl00_ctl02_ctl00_ctl00_ctl04_ctl00_Lookup&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;title&lt;/span&gt;&lt;span style="color:blue;"&gt;=Company&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=ctl00$m$g_4cfb4dc8_9323_4849_bbfb_95af4cc4f470$ctl00$ctl02$ctl00$ctl01$ctl00$ctl00$ctl02$ctl00$ctl00$ctl04$ctl00$Lookup&amp;gt;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;OPTION&lt;/span&gt; &lt;span style="color:red;"&gt;value&lt;/span&gt;&lt;span style="color:blue;"&gt;=0&lt;/span&gt; &lt;span style="color:red;"&gt;selected&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;(None)&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;OPTION&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/b&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;b&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;OPTION&lt;/span&gt; &lt;span style="color:red;"&gt;value&lt;/span&gt;&lt;span style="color:blue;"&gt;=6&amp;gt;&lt;/span&gt;Transfield Services&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;OPTION&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SELECT&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Drop down list 2:&lt;/p&gt;
&lt;div style="BORDER-RIGHT: #cccccc 1pt solid; PADDING-RIGHT: 1pt; BORDER-TOP: #cccccc 1pt solid; PADDING-LEFT: 1pt; BACKGROUND: #f5f5f5; PADDING-BOTTOM: 1pt; OVERFLOW: auto; BORDER-LEFT: #cccccc 1pt solid; WIDTH: 100%; PADDING-TOP: 1pt; BORDER-BOTTOM: #cccccc 1pt solid; HEIGHT: 150pxfont-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;INPUT&lt;/span&gt; &lt;span style="color:red;"&gt;class&lt;/span&gt;&lt;span style="color:blue;"&gt;=ms-lookuptypeintextbox&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;onkeypress&lt;/span&gt;&lt;span style="color:blue;"&gt;=HandleChar()&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=Text1&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;onkeydown&lt;/span&gt;&lt;span style="color:blue;"&gt;=HandleKey()&lt;/span&gt; &lt;span style="color:red;"&gt;title&lt;/span&gt;&lt;span style="color:blue;"&gt;=Site/Industry&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;onfocusout&lt;/span&gt;&lt;span style="color:blue;"&gt;=HandleLoseFocus()&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;onchange&lt;/span&gt;&lt;span style="color:blue;"&gt;=HandleChange()&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;value&lt;/span&gt;&lt;span style="color:blue;"&gt;="Transfield Services Generic Documents"&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=ctl00$m$g_4cfb4dc8_9323_4849_bbfb_95af4cc4f470$ctl00$ctl02$ctl00$ctl01$ctl00$ctl00$ctl03$ctl00$ctl00$ctl04$ctl00$ctl01&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;b&gt;&lt;span style="color:red;"&gt;choices&lt;/span&gt;&lt;span style="color:blue;"&gt;="ACT Housing TFM Contracts232ADI Alliance - FFG Refit &amp;amp;amp; Upgrade Project6...&amp;lt;here goes a very long list of choices&amp;gt;"&lt;/span&gt;&lt;/b&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;match&lt;/span&gt;&lt;span style="color:blue;"&gt;=""&lt;/span&gt; &lt;span style="color:red;"&gt;optHid&lt;/span&gt;&lt;span style="color:blue;"&gt;="SPSite_x002F_Industry_Hidden"&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;opt&lt;/span&gt;&lt;span style="color:blue;"&gt;="_Select"&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;IMG&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; VERTICAL-ALIGN: middle; BORDER-RIGHT-WIDTH: 0px"&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;b&gt;&lt;span style="color:red;"&gt;onclick&lt;/span&gt;&lt;span style="color:blue;"&gt;="ShowDropdown('ctl00_m_g_4cfb4dc8_9323_4849_bbfb_95af4cc4f470_ctl00_ctl02_ctl00_ctl01_ctl00_ctl00_ctl03_ctl00_ctl00_ctl04_ctl00_ctl01');"&lt;/span&gt;&lt;/b&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;alt&lt;/span&gt;&lt;span style="color:blue;"&gt;="Display lookup values"&lt;/span&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:red;"&gt;src&lt;/span&gt;&lt;span style="color:blue;"&gt;="INFORM%20Documents%20-%20TMB-0000-SA-9898_files/dropdown.gif"&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Thus dropdown list 2 is made of text box and image button which should be
disabled as well.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_K8WsAFM0ym0/RfSWpqBjljI/AAAAAAAAAAU/q5IMToO9es4/s1600-h/2007-02.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_K8WsAFM0ym0/RfSWpqBjljI/AAAAAAAAAAU/q5IMToO9es4/s320/2007-02.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5040819525334046258" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;This image button can be found by control id of a text box mentioned in &lt;b&gt;
onclick&lt;/b&gt; event handler which uses this id in ShowDropdown function call. So
this button can be found by content of &lt;b&gt;onclick&lt;/b&gt; attribute. Since
collection of elements in &lt;b&gt;document.all&lt;/b&gt; places elements in order of their
declaration in document then we do not need to search all this image button in
all the elements but instead of this can check the next element after the have
just found element.&lt;/p&gt;
&lt;p&gt;Disable field javascript version 2:&lt;/p&gt;
&lt;div style="BORDER-RIGHT: #cccccc 1pt solid; PADDING-RIGHT: 1pt; BORDER-TOP: #cccccc 1pt solid; PADDING-LEFT: 1pt; BACKGROUND: #f5f5f5; PADDING-BOTTOM: 1pt; OVERFLOW: auto; BORDER-LEFT: #cccccc 1pt solid; WIDTH: 100%; PADDING-TOP: 1pt; BORDER-BOTTOM: #cccccc 1pt solid; HEIGHT: 150pxfont-family:Courier New;font-size:10pt;color:black;"   &gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SCRIPT&lt;/span&gt; &lt;span style="color:red;"&gt;language&lt;/span&gt;&lt;span style="color:blue;"&gt;=javascript&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:green;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:green;"&gt;/// Disables EditForm field for the specified column title&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:green;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;function&lt;/span&gt; DisableField(title)&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;{&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;    &lt;span style="color:blue;"&gt;for&lt;/span&gt;(&lt;span style="color:blue;"&gt;var&lt;/span&gt; i = 0; i &amp;lt; document.all.length; i++)&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;    {&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;        &lt;span style="color:blue;"&gt;var&lt;/span&gt; el = document.all[i];&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;        &lt;span style="color:green;"&gt;// find html element with specified title&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;        &lt;span style="color:blue;"&gt;if&lt;/span&gt;(el.title == title)&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;        {&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;            el.disabled = &lt;span style="color:blue;"&gt;true&lt;/span&gt;; &lt;span style="color:green;"&gt;// disable&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;            &lt;span style="color:green;"&gt;// if the next element has a reference to the current element&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;            &lt;span style="color:green;"&gt;// then disable if as well&lt;/span&gt;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;            &lt;span style="color:blue;"&gt;if&lt;/span&gt;(i &amp;lt; document.all.length - 1)&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;            {&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;                &lt;span style="color:blue;"&gt;var&lt;/span&gt; el2 = document.all[i + 1];&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;                &lt;span style="color:blue;"&gt;if&lt;/span&gt;(el2.outerHTML.indexOf(el.id) &amp;gt; 0)&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;                {&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;                    el2.disabled = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;                }&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;            }&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;            &lt;span style="color:blue;"&gt;break&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt; &lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;        }&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;    }&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;}&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;DisableField(&lt;span style="color:#a31515;"&gt;"Company"&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;DisableField(&lt;span style="color:#a31515;"&gt;"Site/Industry"&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="MARGIN: 0px"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;SCRIPT&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2022978557711118071-2439788609877253337?l=devdreams.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devdreams.blogspot.com/feeds/2439788609877253337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2022978557711118071&amp;postID=2439788609877253337' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2022978557711118071/posts/default/2439788609877253337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2022978557711118071/posts/default/2439788609877253337'/><link rel='alternate' type='text/html' href='http://devdreams.blogspot.com/2007/02/customizing-editformaspx-in-sharepoint.html' title='How to disable fields on EditForm.aspx. WSS 3.0 version.'/><author><name>Andrey Shchurov</name><uri>http://www.blogger.com/profile/04807057547080579722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://andreyshchurov.com/images/mysmallphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_K8WsAFM0ym0/RfSWPaBjliI/AAAAAAAAAAM/Agncc8QHKOg/s72-c/2007-01.jpg' height='72' width='72'/><thr:total>14</thr:total></entry></feed>
