<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>SharePoint adventures</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/andrasg/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/andrasg/feed.xml</link>
    <description>A blog about random SharePoint stuff</description>
    <lastBuildDate>Tue, 16 Apr 2019 04:38:12 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Content deployment fails with guid conflict</title>
      <link>https://docs.microsoft.com/archive/blogs/andrasg/content-deployment-fails-with-guid-conflict</link>
      <pubDate>Thu, 16 Feb 2012 05:57:46 GMT</pubDate>
      <dc:creator><![CDATA[AndrasGaal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/andrasg/2012/02/16/content-deployment-fails-with-guid-conflict/</guid>
      <description><![CDATA[When setting up content deployment, you might need to start from scratch on the destination side....]]></description>
      <content:encoded><![CDATA[<p>When setting up content deployment, you might need to start from scratch on the destination side. You delete the sitecollection, create a new one and try running the deployment. The deployment process will fail and log an error that states that the database already contains an item with the same guid.</p>  <p>The reason for this behaviour lies in the way SP2010 works post SP1. The feature is called sitecollection recycle bin. Sitecollections when deleted from the GUI or powershell are marked as deleted but are kept in the DB.</p>  <p>You can see which sitecollections have been deleted by running the Get-SPDeletedSite powershell cmdlet.</p>  <p>To delete these sites from the DB, you need to remove them using the Remove-SPDeletedSite cmdlet. After you have run this, you will need to manually start the Gradual site delete job that will actually delete the content from the DB.</p>]]></content:encoded>
    </item>
    <item>
      <title>Content deployment job stuck on preparing</title>
      <link>https://docs.microsoft.com/archive/blogs/andrasg/content-deployment-job-stuck-on-preparing</link>
      <pubDate>Tue, 14 Feb 2012 12:35:19 GMT</pubDate>
      <dc:creator><![CDATA[AndrasGaal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/andrasg/2012/02/14/content-deployment-job-stuck-on-preparing/</guid>
      <description><![CDATA[After you have successfully verified your content deployment job on a newly created farm, and your...]]></description>
      <content:encoded><![CDATA[<p>After you have successfully verified your content deployment job on a newly created farm, and your deployment jobs are stuck on the status Preparing and you see the message Content deployment status not available in the ULS log, just go back to Content deployment settings on Central Admin, make sure something is selected in the export server dropdown and click Ok. Even if you haven’t changed anything. Voliá, content deployment jobs start running.</p>]]></content:encoded>
    </item>
    <item>
      <title>SharePoint 2010 Master</title>
      <link>https://docs.microsoft.com/archive/blogs/andrasg/sharepoint-2010-master</link>
      <pubDate>Mon, 17 Oct 2011 11:54:31 GMT</pubDate>
      <dc:creator><![CDATA[AndrasGaal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/andrasg/2011/10/17/sharepoint-2010-master/</guid>
      <description><![CDATA[Recently I had the opportunity to take part in the the 9th rotation of the SharePoint 2010 Master...]]></description>
      <content:encoded><![CDATA[<p>Recently I had the opportunity to take part in the the 9th rotation of the SharePoint 2010 Master course in Redmond. I had big expectations on the course itself, having heard a lot of good things about it. Among the good things every single master I have talked to pointed out the very demanding and challenging nature of the course.</p>  <p>Well, I can definitely say that it has been the most intense three weeks of my technical life. Not only was the content very well built and wide-spread, but the pace of the training was also very fast. Listening to the introductions on the first day I immediately noticed that my fellow master candidates are all very experienced and quite knowledgeable on SharePoint. People attending the course had a very good general knowledge but also contributed with unique areas of expertise that came in very handy later during team exercises.</p>  <p>Time management played a critical role throughout the duration of the master rotation. Starting from the first day, the candidates had to have a perfect knowledge on how much they can handle, what are their strengths and weaknesses, and how to process an awful lot of information while keeping a healthy balance between learning and relaxation. When you are surrounded with a technical topic for more than 10 days for 12+ hours a day, it is critical to find a way to maintain your concentration and keep some reserves for the qualification lab and knowledge exam.</p>  <p>Speaking of exams, both the qual lab and the knowledge exams were very demanding. And again, time management, time management, time management… <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/85/metablogapi/4760.wlEmoticon-smile_6455C7E0.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-85-metablogapi/4760.wlEmoticon_2D00_smile_5F00_6455C7E0.png" /></p>  <p>Summing it all up, I think it was a well invested effort, I met my calculation and not only learned a lot on SharePoint 2010 and myself, but also met a lot of very bright, fun people!</p>  <p>Oh yes, I almost forgot. I am now certified as a SharePoint 2010 Master! <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-openmouthedsmile" alt="Open-mouthed smile" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/85/metablogapi/4505.wlEmoticon-openmouthedsmile_6DCE8656.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-85-metablogapi/4505.wlEmoticon_2D00_openmouthedsmile_5F00_6DCE8656.png" /></p>]]></content:encoded>
    </item>
    <item>
      <title>Deciphering the encoded claims string</title>
      <link>https://docs.microsoft.com/archive/blogs/andrasg/deciphering-the-encoded-claims-string</link>
      <pubDate>Tue, 23 Aug 2011 03:17:13 GMT</pubDate>
      <dc:creator><![CDATA[AndrasGaal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/andrasg/2011/08/23/deciphering-the-encoded-claims-string/</guid>
      <description><![CDATA[During a recent claims discussion, it came up how SharePoint 2010 encodes claims into encoded claim...]]></description>
      <content:encoded><![CDATA[<p>During a recent claims discussion, it came up how SharePoint 2010 encodes claims into encoded claim strings.</p>  <p>Here’s the answer:</p>  <p>The claim i:0#.w|europe\andrasg translates into:</p>  <p>i: This is an identity claim. Other claims would have the character c here.</p>  <p>:: Colon separator</p>  <p>0: Reserved for later use</p>  <p>#: Claim type = SPClaimTypes.UserLogonName</p>  <p>.: Claim value type = Microsoft.IdentityModel.Claims.ClaimValueTypes.String</p>  <p>&#160;</p>  <p>You can find the full list of values at:</p>  <p><a title="https://msdn.microsoft.com/en-us/library/gg481769.aspx" href="https://msdn.microsoft.com/en-us/library/gg481769.aspx">https://msdn.microsoft.com/en-us/library/gg481769.aspx</a></p>  <p>&#160;</p>  <p>These unified encoding values ensure that different farms can understand each others claims. Be aware though that if you use a custom claim type, the encoded string can differ from farm to farm.</p>]]></content:encoded>
    </item>
    <item>
      <title>Description goes missing on editforms</title>
      <link>https://docs.microsoft.com/archive/blogs/andrasg/description-goes-missing-on-editforms</link>
      <pubDate>Wed, 27 Jul 2011 14:01:20 GMT</pubDate>
      <dc:creator><![CDATA[AndrasGaal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/andrasg/2011/07/27/description-goes-missing-on-editforms/</guid>
      <description><![CDATA[I had some trouble today finding the reason why descriptions set on fields did not show up on the...]]></description>
      <content:encoded><![CDATA[<p>I had some trouble today finding the reason why descriptions set on fields did not show up on the editform. Turned out that <a href="https://officetoolbox.codeplex.com/" target="_blank">Office Toolbox</a> was installed and even though it was not active, made all descriptions disappear.</p>  <p>Retracting the OfficeToolbox wsp solved the problem.</p>]]></content:encoded>
    </item>
    <item>
      <title>Beware of conflicting field static names</title>
      <link>https://docs.microsoft.com/archive/blogs/andrasg/beware-of-conflicting-field-static-names</link>
      <pubDate>Wed, 27 Jul 2011 13:59:08 GMT</pubDate>
      <dc:creator><![CDATA[AndrasGaal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/andrasg/2011/07/27/beware-of-conflicting-field-static-names/</guid>
      <description><![CDATA[Recently I came across a problem where pushdown of changes on a contenttype did not work when doing...]]></description>
      <content:encoded><![CDATA[<p>Recently I came across a problem where pushdown of changes on a contenttype did not work when doing a feature upgrade. The appropriate AddContentTypeField command was specified in the feature.xml template:</p>  <p><font face="Consolas">&lt;AddContentTypeField ContentTypeId=&quot;averylongidhere&quot;      <br /></font><font face="Consolas">FieldId=&quot;{133865E2-17C6-4c42-B98A-D4D09BA43714}&quot; PushDown=&quot;TRUE&quot;/&gt;     <br /></font></p>  <p>Digging deeper I found no errors when upgrading the feature so I was about to give up when I tried to manually add the field to the contenttype from the UI. I was greeted with a nice exception when clicking “Add from existing site columns”. This error showed up in the ULS log with a trace and callstack. The error message was rather misleading, telling that there is a column that has multiple choice values with the same ID.</p>  <p>Examining my solution I found a few fields that had a StaticName that already existed. This resulted in site columns with the same staticname but a different ID. Cleaning these up made the error disappear.</p>  <p>It’s been a happy SharePoint day. <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/28/85/metablogapi/1732.wlEmoticon-smile_2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-28-85-metablogapi/1732.wlEmoticon_2D00_smile_5F00_2.png" /></p>]]></content:encoded>
    </item>
    <item>
      <title>The good solution for versioning SharePoint 2010 webparts</title>
      <link>https://docs.microsoft.com/archive/blogs/andrasg/the-good-solution-for-versioning-sharepoint-2010-webparts</link>
      <pubDate>Mon, 18 Jul 2011 18:26:42 GMT</pubDate>
      <dc:creator><![CDATA[AndrasGaal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/andrasg/2011/07/18/the-good-solution-for-versioning-sharepoint-2010-webparts/</guid>
      <description><![CDATA[Everyone who has had the pleasure of working in a team with other developers and using TFS with...]]></description>
      <content:encoded><![CDATA[<p>Everyone who has had the pleasure of working in a team with other developers and using TFS with auto-incrementing version numbers most probably have faced the issue with webparts breaking after an increment in version numbers. This effect is not at all strange, as SharePoint keep the full signature of the class behind the webpart and as this changed it will not know how to render the webpart.</p>  <p>To solve this problem, a very easy workaround is to create a class in a separate assembly that inherits from the version-controlled webpart .cs file and implements the actual webpart. This way the non-version controlled part of the code is very thin and SharePoint is still happy with it. Problem of this solution is that it requires and additional assembly file and also generates quite some overhead (SPWebConfigModification class) when packaging your solution.</p>  <p>Come SharePoint 2010, a lot nicer solution is available:</p>  <p><font face="Consolas">&lt;Assemblies&gt;     <br />&#160; &lt;Assembly Location=&quot;assemblyname.dll&quot; DeploymentTarget=&quot;GlobalAssemblyCache&quot;&gt;      <br />&#160;&#160;&#160; &lt;BindingRedirects&gt;      <br />&#160;&#160;&#160;&#160;&#160; &lt;BindingRedirect OldVersion=&quot;0.0.0.0-1.0.0.0&quot; NewVersion=&quot;2.0.0.0&quot; /&gt;      <br />&#160;&#160;&#160; &lt;/BindingRedirects&gt;      <br />&#160; &lt;/Assembly&gt;      <br />&lt;/Assemblies&gt;</font></p>  <p>You could even omit the NewVersion tag and have a wide OldVersion range.</p>  <p>One thing to be careful of is keeping old SafeControl entries. If you remove them, assembly redirection will not work as the original assembly will not be loaded. This results in SharePoint also not updating its references to the old assembly version. Also keep in mind that SharePoint updates assembly references page-by-page when they webparts on the page are loaded, so all pages need to be “touched” in order to get rid of old references.</p>  <p>To get around the bug with leading zeros in the public key token’s bytes make sure you are at least on the June 2011 CU.</p>  <p>More info on the issue:   <br /><a title="https://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/Post.aspx?ID=313" href="https://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/Post.aspx?ID=313">https://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/Post.aspx?ID=313</a></p>  <p>And the resolution:   <br /><a title="https://blogs.msdn.com/b/mcsnoiwb/archive/2011/07/18/assembly-binding-redirection-bug-fixed-in-june-cu.aspx" href="https://blogs.msdn.com/b/mcsnoiwb/archive/2011/07/18/assembly-binding-redirection-bug-fixed-in-june-cu.aspx">https://blogs.msdn.com/b/mcsnoiwb/archive/2011/07/18/assembly-binding-redirection-bug-fixed-in-june-cu.aspx</a></p>]]></content:encoded>
    </item>
    <item>
      <title>DataFormWebPart XSL variables are emtpy</title>
      <link>https://docs.microsoft.com/archive/blogs/andrasg/dataformwebpart-xsl-variables-are-emtpy</link>
      <pubDate>Wed, 06 Jul 2011 15:18:28 GMT</pubDate>
      <dc:creator><![CDATA[AndrasGaal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/andrasg/2011/07/06/dataformwebpart-xsl-variables-are-emtpy/</guid>
      <description><![CDATA[If you discover that a DataFormWebPart added programmatically is missing values in its built in XSL...]]></description>
      <content:encoded><![CDATA[<p>If you discover that a DataFormWebPart added programmatically is missing values in its built in XSL variables, like HttpVDir or PageUrl, verify that the ViewFlag attribute is set to something other than zero on your webpart. Took me some time to find out… Also, would be nice to know what this property stands for.</p>]]></content:encoded>
    </item>
    <item>
      <title>What to do when SPContext is null but you need it?</title>
      <link>https://docs.microsoft.com/archive/blogs/andrasg/what-to-do-when-spcontext-is-null-but-you-need-it</link>
      <pubDate>Mon, 27 Jun 2011 08:01:55 GMT</pubDate>
      <dc:creator><![CDATA[AndrasGaal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/andrasg/2011/06/27/what-to-do-when-spcontext-is-null-but-you-need-it/</guid>
      <description><![CDATA[Sometimes you stumble upon really strange errors when doing trivial things. When you dig deeper,...]]></description>
      <content:encoded><![CDATA[<p>Sometimes you stumble upon really strange errors when doing trivial things. When you dig deeper, sometimes it turns out the error comes from the lack of a HttpContext, for example when running some action through STSADM or a timer job.</p>  <p>Recently I faced a strange ArgumentNullException when creating a Content by Query Webpart in C# code. A feature activated event handler was supposed to add a new webpart to a page. Wiring everything up, testing the feature activation through the UI, everything was smooth. As a last step I made the feature hidden and tried to activate the feature through stsadm. And this is where I was left out of luck. STSADM only gave me a very helpful “Value cannot be null”. Digging deeper in the ULS log I caught a callstack which showed that there is some problem getting the SPContext.</p>  <p>To go around this problem, the easiest way is to create a fake SPContext. <a href="https://blog.mastykarz.nl/structured-and-repeatable-deployment-of-content-query-web-part-instances/">Waldek</a> and <a href="https://solutionizing.net/2009/02/16/faking-spcontext/">Keith</a> have some great suggestions. The idea is pretty simple:</p>  <div id="codeSnippetWrapper">   <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">     <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> <span style="color: #0000ff">if</span> (HttpContext.Current == <span style="color: #0000ff">null</span>)</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span> {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span>   HttpRequest request = <span style="color: #0000ff">new</span> HttpRequest(<span style="color: #b71515">&quot;&quot;</span>, web.Url, <span style="color: #b71515">&quot;&quot;</span>);</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span>   HttpContext.Current = <span style="color: #0000ff">new</span> HttpContext(request,</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum5">   5:</span>     <span style="color: #0000ff">new</span> HttpResponse(<span style="color: #0000ff">new</span> StringWriter()));</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum6">   6:</span>   HttpContext.Current.Items[<span style="color: #b71515">&quot;HttpHandlerSPWeb&quot;</span>] = web;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum7">   7:</span> }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum8">   8:</span> // your code goes here</pre>
<!--CRLF--></div>
</div>

<p>Be aware that this trick only works when you are working with an SPWeb level object. When dealing with SPList or lower hierarchy items you need to go an other way.</p>]]></content:encoded>
    </item>
    <item>
      <title>Publishing start and end dates are set brute force</title>
      <link>https://docs.microsoft.com/archive/blogs/andrasg/publishing-start-and-end-dates-are-set-brute-force</link>
      <pubDate>Tue, 26 Apr 2011 14:18:10 GMT</pubDate>
      <dc:creator><![CDATA[AndrasGaal]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/andrasg/2011/04/26/publishing-start-and-end-dates-are-set-brute-force/</guid>
      <description><![CDATA[When setting publishing start and end dates on a publishing page, these dates will be saved in the...]]></description>
      <content:encoded><![CDATA[<p>When setting publishing start and end dates on a publishing page, these dates will be saved in the PublishStartDate and PublishEndDate fields of the publishing page. Changing the scheduling settings will result in an immediate change of the page (with the modified by and modified date properties set as well), regardless of the state of the page (draft, pending, etc.).</p>  <p>An interesting anomaly I have faced recently (and the source of this discovery) was that when using custom field controls to values of some custom fields and trying to access the values of PublishStartDate or PublishEndDate, these fields contain the values that were present on the ListItem when the pagelayout used to edit the publishing page has loaded.</p>  <p>So imagine the following flow of user actions:</p>  <ol>   <li>Open page for editing</li>    <li>Use the Schedule button in the ribbon</li>    <li>Set some scheduling dates and click ok</li>    <li>The modal dialog disappears (and your page loads some info through JavaScript from the server)</li>    <li>Save the page</li>    <li>Field controls are asked to provide values of their controls so these can be saved to the appropriate field</li> </ol>  <p>At this point I would expect that the following code would return the dates set in step 3:</p>  <div id="codeSnippetWrapper">   <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">     <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> <span style="color: #0000ff">public</span> <span style="color: #0000ff">override</span> <span style="color: #0000ff">object</span> Value</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span> {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span>     get</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span>     {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum5">   5:</span>         SPFieldDateTime pubStart = <span style="color: #0000ff">base</span>.Fields.GetFieldByInternalName(<span style="color: #b71515">&quot;PublishStartDate&quot;</span>) <span style="color: #0000ff">as</span> SPFieldDateTime;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum6">   6:</span>         <span style="color: #0000ff">return</span> ListItem[pubStart.Id];</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum7">   7:</span>     }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum8">   8:</span>     set</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum9">   9:</span>     {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum10">  10:</span>         <span style="color: #0000ff">base</span>.Value = <span style="color: #0000ff">value</span>;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum11">  11:</span>     }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum12">  12:</span> }</pre>
<!--CRLF--></div>
</div>

<p>Interestingly this is not the case, the values set in step 3 are not retained. My logic would tell me that the ListItem object would be built from scratch at step 5 resulting in the query of properties (changed in step 3). Any ideas what’s happening here?</p>]]></content:encoded>
    </item>
  </channel>
</rss>