<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Solien Team Blog</title>
        <link>http://blog.solien.com/Default.aspx</link>
        <description />
        <language>en-US</language>
        <copyright>Solien Technology</copyright>
        <generator>Subtext Version 2.1.2.2</generator>
        <image>
            <title>Solien Team Blog</title>
            <url>http://blog.solien.com/images/RSS2Image.gif</url>
            <link>http://blog.solien.com/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Adobe PDF x64 IFilter for MOSS 2007 Installation Tips</title>
            <category>SharePoint</category>
            <category>Tips</category>
            <category>Search Server 2008</category>
            <link>http://blog.solien.com/archive/2010/03/03/adobe-pdf-x64-ifilter-for-moss-2007-installation-tips.aspx</link>
            <description>&lt;p&gt;It has been a while since we installed the Adobe PDF IFilter for MOSS 2007 or Search Server 2008.  This is in part because Foxit Software (&lt;a title="http://www.foxitsoftware.com/" href="http://www.foxitsoftware.com"&gt;http://www.foxitsoftware.com&lt;/a&gt;) released a 64-bit PDF IFilter for SharePoint before Adobe did and because clients have been gravitating towards 64-bit SharePoint Server Farms for a while now.  In any case, I had to revisit the installation for a new client and came across a couple of things I thought would be good to share.  &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;First, the IFilter installation document found here:    &lt;br /&gt;&lt;a title="http://www.adobe.com/special/acrobat/configuring_pdf_ifilter_for_ms_sharepoint_2007.pdf" href="http://www.adobe.com/special/acrobat/configuring_pdf_ifilter_for_ms_sharepoint_2007.pdf"&gt;http://www.adobe.com/special/acrobat/configuring_pdf_ifilter_for_ms_sharepoint_2007.pdf&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;instructs you to verify that the PDF settings are correct in the registry.  Specifically, the value of this key:    &lt;br /&gt;\\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\12.0\Search\Setup\ContentIndexCommon\Filters\Extension\.pdf     &lt;br /&gt;should be {E8978DA6-047F-4E3D-9C78-CDBE46041603}.&lt;/p&gt;  &lt;p&gt;The installation in this case supplied another GUID so I assumed it was correct and the documentation was outdated.  However, after the crawl executed it was clear something was wrong.  The crawl logs stated that although items were crawled, “the filtering process could not process this item.  This might be because you do not have the latest file filter for this type of item.  Install the corresponding filter”.&lt;/p&gt;  &lt;p&gt;Tip:  Change the GUID in the .pdf registry setting to the GUID in the documentation.&lt;/p&gt;  &lt;p&gt;After having done this, resetting the content indexes and restarting the crawl the PDF content was indexed as expected.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Second, in case you are looking for the 17x17 pdf icon that I think should be installed in the 12 hive TEMPLATE\IMAGES but isn’t, you can download it here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.adobe.com/misc/linking.html" href="http://www.adobe.com/misc/linking.html"&gt;http://www.adobe.com/misc/linking.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Look for it near the bottom of the page.&lt;/p&gt;&lt;img src="http://blog.solien.com/aggbug/42.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Solien Technology</dc:creator>
            <guid>http://blog.solien.com/archive/2010/03/03/adobe-pdf-x64-ifilter-for-moss-2007-installation-tips.aspx</guid>
            <pubDate>Wed, 03 Mar 2010 21:36:39 GMT</pubDate>
            <wfw:comment>http://blog.solien.com/comments/42.aspx</wfw:comment>
            <comments>http://blog.solien.com/archive/2010/03/03/adobe-pdf-x64-ifilter-for-moss-2007-installation-tips.aspx#feedback</comments>
            <wfw:commentRss>http://blog.solien.com/comments/commentRss/42.aspx</wfw:commentRss>
            <trackback:ping>http://blog.solien.com/services/trackbacks/42.aspx</trackback:ping>
        </item>
        <item>
            <title>Where is the SQL Server 2005/2008 Service Manager?</title>
            <category>SQL Server</category>
            <category>Tips</category>
            <link>http://blog.solien.com/archive/2010/02/25/where-is-the-sql-server-20052008-service-manager.aspx</link>
            <description>&lt;p&gt;If you’ve worked with SQL Server prior to the 2005 release you’ve seen the Service Manager.  It was a taskbar tool that let you quickly stop and start SQL Server Instances and Services without having to load the SQL Server Enterprise Manager or the Services MMC.  Honestly, I hadn’t used it in ages but this morning I wanted to find and stop all SQL Server instances on a development server in order to save on memory usage and host a Virtual Machine.  At that point I remembered that it didn’t exist in the SQL Server 2005 or 2008 versions.&lt;/p&gt;  &lt;p&gt;Fortunately, there is a replacement on CodePlex located here: &lt;a title="http://sql2005srvcmngr.codeplex.com/" href="http://sql2005srvcmngr.codeplex.com/"&gt;http://sql2005srvcmngr.codeplex.com/&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blog.solien.com/aggbug/41.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Solien Technology</dc:creator>
            <guid>http://blog.solien.com/archive/2010/02/25/where-is-the-sql-server-20052008-service-manager.aspx</guid>
            <pubDate>Thu, 25 Feb 2010 16:23:49 GMT</pubDate>
            <wfw:comment>http://blog.solien.com/comments/41.aspx</wfw:comment>
            <comments>http://blog.solien.com/archive/2010/02/25/where-is-the-sql-server-20052008-service-manager.aspx#feedback</comments>
            <wfw:commentRss>http://blog.solien.com/comments/commentRss/41.aspx</wfw:commentRss>
            <trackback:ping>http://blog.solien.com/services/trackbacks/41.aspx</trackback:ping>
        </item>
        <item>
            <title>Fix for MOSS 2007 DisplayInAdmin and S2LeftNav_Administration Errors</title>
            <category>SharePoint</category>
            <category>Troubleshooting</category>
            <link>http://blog.solien.com/archive/2010/02/24/fix-for-moss-2007-displayinadmin-and-s2leftnav_administration-errors.aspx</link>
            <description>&lt;p&gt;One of our clients requested our assistance after MOSS a infrastructure update failed.  As a result, our client’s intranet site collection had now completely lost both its search box and the Search Center site was now hidden.  Although it was possible to navigate to the Search Center site through the “View All Site Content” link, an error occurred when displaying search results.  Of course, the error was a standard SharePoint error message that didn’t explain what was really happening.  In addition, the Farm’s Search Settings page in the Central Administration SSP also threw an “Unexpected Error”.&lt;/p&gt;
&lt;p&gt;After changing the appropriate web.config files to reveal more information and recreating the errors it became clear what the errors were:&lt;/p&gt;
&lt;p&gt;On the search results page the error was  System.IndexOutOfRangeException: DisplayInAdminUI.&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/FixforMOSS2007DisplayInAdminandS2LeftNav_C20F/image_2.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title="DisplayInAdminUI Error" border="0" alt="DisplayInAdminUI Error" width="588" height="484" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/FixforMOSS2007DisplayInAdminandS2LeftNav_C20F/image_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;On the search settings the error was ‘S2LeftNav_Administration’ was not found.&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/FixforMOSS2007DisplayInAdminandS2LeftNav_C20F/image_6.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title="image" border="0" alt="image" width="545" height="362" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/FixforMOSS2007DisplayInAdminandS2LeftNav_C20F/image_thumb_2.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;After searching around it became apparent that the issue would either be resolved by re-running the SharePoint Configuration Wizard or by recreating the SSP.&lt;/p&gt;
&lt;p&gt;I didn’t want to do the second so I gave the first a try and this *did* correct both errors.&lt;/p&gt;&lt;img src="http://blog.solien.com/aggbug/40.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Solien Technology</dc:creator>
            <guid>http://blog.solien.com/archive/2010/02/24/fix-for-moss-2007-displayinadmin-and-s2leftnav_administration-errors.aspx</guid>
            <pubDate>Wed, 24 Feb 2010 21:48:04 GMT</pubDate>
            <wfw:comment>http://blog.solien.com/comments/40.aspx</wfw:comment>
            <comments>http://blog.solien.com/archive/2010/02/24/fix-for-moss-2007-displayinadmin-and-s2leftnav_administration-errors.aspx#feedback</comments>
            <wfw:commentRss>http://blog.solien.com/comments/commentRss/40.aspx</wfw:commentRss>
            <trackback:ping>http://blog.solien.com/services/trackbacks/40.aspx</trackback:ping>
        </item>
        <item>
            <title>Unable to load unit test - the assembly was not built with any known testing framework</title>
            <category>Development</category>
            <category>Unit tests</category>
            <link>http://blog.solien.com/archive/2010/02/09/unable-to-load-unit-test-the-assembly-was-not.aspx</link>
            <description>&lt;p&gt;Today, while working on some unit tests I encountered an issue I had not encountered before. After setting up a testing fixture and a base test(s) on a project, the test(s) failed to load in the NUnit GUI Test Runner. &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;An NUnit dialog stated: &lt;br /&gt;
Not a Test Assembly &lt;br /&gt;
The assembly was not built with any known testing framework &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;At first the thought was that the issue might be with the version of NUnit framework. Perhaps it was a mismatch with the GUI Runner version? This was not the case. This was a new install on a server that had never had the NUnit framework installed. &lt;/p&gt;
&lt;p&gt;A second thought was that there might be an issue with the decorations of the unit test class but this was disproven when I opened the assembly using Reflector. The unit test class and test methods did exist in the assembly. And this was the assembly I was trying to open with the GUI Runner.  So why couldn't NUnit "see" the unit tests? &lt;/p&gt;
&lt;p&gt;After speaking with a co-worker we realized that the issue was that there was a second assembly in the GAC that was causing the conflict. This project was part of a bigger solution and this solution installed the assembly into the GAC. It became clearer that the issue was the GAC version when I checked the Tools | Test Assemblies in the GUI Runner. There was indeed a reference (Path:) to the assembly in the GAC. After uninstalling the assembly from the GAC the GUI Runner was able to load the test(s).&lt;/p&gt;&lt;img src="http://blog.solien.com/aggbug/39.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Solien Technology</dc:creator>
            <guid>http://blog.solien.com/archive/2010/02/09/unable-to-load-unit-test-the-assembly-was-not.aspx</guid>
            <pubDate>Tue, 09 Feb 2010 19:01:04 GMT</pubDate>
            <wfw:comment>http://blog.solien.com/comments/39.aspx</wfw:comment>
            <comments>http://blog.solien.com/archive/2010/02/09/unable-to-load-unit-test-the-assembly-was-not.aspx#feedback</comments>
            <wfw:commentRss>http://blog.solien.com/comments/commentRss/39.aspx</wfw:commentRss>
            <trackback:ping>http://blog.solien.com/services/trackbacks/39.aspx</trackback:ping>
        </item>
        <item>
            <title>SharePoint ErrorCode 0x81020014 on CAML Update</title>
            <category>SharePoint</category>
            <category>Development</category>
            <link>http://blog.solien.com/archive/2010/02/08/sharepoint-errorcode-0x81020014-on-caml-update.aspx</link>
            <description>Recently while working on a client SharePoint project I encountered the following error code and message while executing a CAML update statement against a list:  &lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; font-family: 'Courier New', Courier, Monospace; font-size: 8pt; line-height: 12pt; border: solid 1px silver; cursor: text; margin: 20px 0px 10px 0px; max-height: 200px; overflow: auto; padding: 4px; width: 97.5%; direction: ltr; text-align: left;"&gt;&lt;div id="codeSnippet" style="background-color: #f4f4f4; font-family: 'Courier New', Courier, Monospace; font-size: 8pt; line-height: 12pt; border-style: none; color: black; overflow: visible; padding: 0px; width: 100%; direction: ltr; text-align: left;"&gt; &lt;pre style="background-color: #f4f4f4; font-family: 'Courier New', Courier, Monospace; font-size: 8pt; line-height: 12pt; border-style: none; color: black; overflow: visible; padding: 0px; width: 100%; margin: 0em; background-color: white; direction: ltr; text-align: left;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Results&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;=\&lt;span style="color: #0000ff;"&gt;"http://schemas.microsoft.com/sharepoint/soap/\"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="background-color: #f4f4f4; font-family: 'Courier New', Courier, Monospace; font-size: 8pt; line-height: 12pt; border-style: none; color: black; overflow: visible; padding: 0px; width: 100%; margin: 0em; direction: ltr; text-align: left;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Result&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;=\&lt;span style="color: #0000ff;"&gt;"1,Update\"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="background-color: #f4f4f4; font-family: 'Courier New', Courier, Monospace; font-size: 8pt; line-height: 12pt; border-style: none; color: black; overflow: visible; padding: 0px; width: 100%; margin: 0em; background-color: white; direction: ltr; text-align: left;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ErrorCode&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;0x81020014&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ErrorCode&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="background-color: #f4f4f4; font-family: 'Courier New', Courier, Monospace; font-size: 8pt; line-height: 12pt; border-style: none; color: black; overflow: visible; padding: 0px; width: 100%; margin: 0em; direction: ltr; text-align: left;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ErrorText&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;One or more field types are not installed properly. Go to the list settings page to delete these fields.&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ErrorText&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="background-color: #f4f4f4; font-family: 'Courier New', Courier, Monospace; font-size: 8pt; line-height: 12pt; border-style: none; color: black; overflow: visible; padding: 0px; width: 100%; margin: 0em; background-color: white; direction: ltr; text-align: left;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;z:row&lt;/span&gt; ...  &lt;span style="color: #ff0000;"&gt;xmlns:z&lt;/span&gt;=\&lt;span style="color: #0000ff;"&gt;"#RowsetSchema\"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Result&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="background-color: #f4f4f4; font-family: 'Courier New', Courier, Monospace; font-size: 8pt; line-height: 12pt; border-style: none; color: black; overflow: visible; padding: 0px; width: 100%; margin: 0em; direction: ltr; text-align: left;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;Results&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;


Frankly, the error message wasn't very helpful and I didn't see the issue right away but then I saw it -- I had used the wrong internal column name. The actual internal name in this case had a trailing 1 at the end of it.  After using the correct name there was no need to "delete these fields" since the fields were indeed properly installed.  It would have been more helpful if the message had said something like "the column you are trying updated doesn't exist", or "check your column names".

Hopefully this helps someone else or perhaps just me in the future.



&lt;img src="http://blog.solien.com/aggbug/38.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Solien Technology</dc:creator>
            <guid>http://blog.solien.com/archive/2010/02/08/sharepoint-errorcode-0x81020014-on-caml-update.aspx</guid>
            <pubDate>Mon, 08 Feb 2010 18:10:46 GMT</pubDate>
            <wfw:comment>http://blog.solien.com/comments/38.aspx</wfw:comment>
            <comments>http://blog.solien.com/archive/2010/02/08/sharepoint-errorcode-0x81020014-on-caml-update.aspx#feedback</comments>
            <wfw:commentRss>http://blog.solien.com/comments/commentRss/38.aspx</wfw:commentRss>
            <trackback:ping>http://blog.solien.com/services/trackbacks/38.aspx</trackback:ping>
        </item>
        <item>
            <title>Helpful SharePoint Query String Parameters and JavaScript</title>
            <category>SharePoint</category>
            <category>Tips</category>
            <link>http://blog.solien.com/archive/2009/12/21/helpful-sharepoint-query-string-parameters-and-javascript.aspx</link>
            <description>&lt;p&gt;Every so often I find it necessary to force a SharePoint web part page into edit or design mode using query string parameters. Originally posted on one of our internal development blogs, I decided to share this because it does come in handy from time to time.  &lt;/p&gt;   &lt;p&gt;&lt;strong&gt;SharePoint Query String Parameters&lt;/strong&gt;&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="400"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;Query String Parameter&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;strong&gt;Values&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;DisplayMode&lt;/td&gt;        &lt;td valign="top" width="200"&gt;Design or Edit&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;ToolPaneView&lt;/td&gt;        &lt;td valign="top" width="200"&gt;2&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Mode&lt;/td&gt;        &lt;td valign="top" width="200"&gt;Edit&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;ControlMode&lt;/td&gt;        &lt;td valign="top" width="200"&gt;Edit&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Contents&lt;/td&gt;        &lt;td valign="top" width="200"&gt;1&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Helpful JavaScript&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;JavaScript:MSOLayout_ToggleLayoutMode()&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;JavaScript:MSOTlPn_ShowToolPane('2')&lt;/p&gt;  &lt;p&gt;These come from Todd Bleeker’s blog: &lt;a href="http://www.mindsharpblogs.com/todd/archive/2005/02/11/285.aspx"&gt;http://www.mindsharpblogs.com/todd/archive/2005/02/11/285.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blog.solien.com/aggbug/37.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Solien Technology</dc:creator>
            <guid>http://blog.solien.com/archive/2009/12/21/helpful-sharepoint-query-string-parameters-and-javascript.aspx</guid>
            <pubDate>Mon, 21 Dec 2009 17:49:47 GMT</pubDate>
            <wfw:comment>http://blog.solien.com/comments/37.aspx</wfw:comment>
            <comments>http://blog.solien.com/archive/2009/12/21/helpful-sharepoint-query-string-parameters-and-javascript.aspx#feedback</comments>
            <wfw:commentRss>http://blog.solien.com/comments/commentRss/37.aspx</wfw:commentRss>
            <trackback:ping>http://blog.solien.com/services/trackbacks/37.aspx</trackback:ping>
        </item>
        <item>
            <title>Creating New Contacts and Emails with SharePoint 2007 OWA web parts</title>
            <category>SharePoint</category>
            <category>Exchange 2007</category>
            <category>My Sites</category>
            <link>http://blog.solien.com/archive/2009/12/17/creating-new-contacts-and-emails-with-sharepoint-2007-owa-web.aspx</link>
            <description>&lt;p&gt;One of the thing that has always bugged me about the SharePoint 2007 Outlook Web Access (OWA) web parts ever since I saw them was that that some of the web parts lack basic functionality and thus are inconsistent in their functionality.  The purpose of this post is to shed some light on what these web parts do or cannot do and give users an understanding of how to get around the lack of functionality.  Before I continue, I should remind readers that these OWA web parts are intended to be used in a My Site and that users of these web parts must have access to Outlook Web Access and know the OWA URL and account format to configure the web parts on their own.&lt;/p&gt;
&lt;p /&gt;
&lt;p&gt;&lt;strong&gt;My Inbox Web Part&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It is great that a My Inbox web part can let me Reply to or Forward an email but what about creating a new email?  There isn’t a UI element for that in the web part.  Of course, if you know your secret keyboard keystrokes and you have the web part in focus you can create a new email with by using CTRL + N.  Most people don’t know this but note that if you don’t have the web part in focus you’ll likely end up with nothing or a new browser window.&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/CreatingNewContactsandEmailswithSharePoi_DE50/image_4.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title="My Inbox Context Menu" border="0" alt="My Inbox Context Menu" width="244" height="160" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/CreatingNewContactsandEmailswithSharePoi_DE50/image_thumb_1.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My Contacts Web Part&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The My Contacts web part lets a user edit a contact and even use the web part to send an email or meeting request to an existing contact but what about creating a new contact?  There isn’t a UI element for that in the web part and I’m not aware of any secret key strokes.&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/CreatingNewContactsandEmailswithSharePoi_DE50/image_2.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title="My Contacts Context Menu" border="0" alt="My Contacts Context Menu" width="244" height="115" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/CreatingNewContactsandEmailswithSharePoi_DE50/image_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My Tasks Web Part&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The My Tasks web part unlike the My Inbox and My Contacts web part does have a mechanism for creating new tasks.  Type the task description in the box and hit the Enter key to submit it.&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/CreatingNewContactsandEmailswithSharePoi_DE50/image_6.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title="My Task Add New Task" border="0" alt="My Task Add New Task" width="556" height="117" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/CreatingNewContactsandEmailswithSharePoi_DE50/image_thumb_2.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The web part also allows the user also open, forward, mark complete or delete any task.&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/CreatingNewContactsandEmailswithSharePoi_DE50/image_8.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title="My Tasks Context Menu" border="0" alt="My Tasks Context Menu" width="226" height="234" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/CreatingNewContactsandEmailswithSharePoi_DE50/image_thumb_3.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My Calendar Web Part&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;The My Calendar web part seems to be the mother of all MOSS 2007 OWA web parts.  This web part has a mechanism for creating new appointments and meeting requests and also creating a new email, contact or task.  It is where users will most easily find the “new” functionality missing in the other web parts. &lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/CreatingNewContactsandEmailswithSharePoi_DE50/image_10.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title="My Calendar New Menu" border="0" alt="My Calendar New Menu" width="239" height="226" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/CreatingNewContactsandEmailswithSharePoi_DE50/image_thumb_4.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The key to remember when using the MOSS 2007 OWA web parts is that the My Calendar web part is pivotal.  It needs to be used in combination with the My Inbox and My Contacts web parts in order to give users an easy (yet awkward) way to create emails and contacts with a simple mouse click.&lt;/p&gt;&lt;img src="http://blog.solien.com/aggbug/36.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Solien Technology</dc:creator>
            <guid>http://blog.solien.com/archive/2009/12/17/creating-new-contacts-and-emails-with-sharepoint-2007-owa-web.aspx</guid>
            <pubDate>Fri, 18 Dec 2009 00:02:58 GMT</pubDate>
            <wfw:comment>http://blog.solien.com/comments/36.aspx</wfw:comment>
            <comments>http://blog.solien.com/archive/2009/12/17/creating-new-contacts-and-emails-with-sharepoint-2007-owa-web.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blog.solien.com/comments/commentRss/36.aspx</wfw:commentRss>
            <trackback:ping>http://blog.solien.com/services/trackbacks/36.aspx</trackback:ping>
        </item>
        <item>
            <title>Create a meta description control</title>
            <link>http://blog.solien.com/archive/2009/12/16/create-a-meta-description-control.aspx</link>
            <description>&lt;p&gt;This control produces a meta description element for use in the head element of a page, like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre&gt;&amp;lt;meta name="Description" 
    content="Solien Technology is a Microsoft Gold Certified Partner 
    and Microsoft Managed Partner in Southern California." /&amp;gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;The .net framework’s System.Web.UI.HtmlControls.HtmlMeta control renders as a meta tag, and by using Microsoft.SharePoint.WebControls.FormComponent as our base class we gain access to the current SharePoint item.&lt;/p&gt;

&lt;p&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa"&gt;namespace&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa"&gt; Solien.SharePoint 
    &lt;br /&gt;{ 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;summary&amp;gt; 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; Adds a meta description tag based on the contents of the specified field 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/summary&amp;gt; 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;MetaDescription&lt;/span&gt; : Microsoft.SharePoint.WebControls.FormComponent 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;{ 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="color: blue"&gt;private&lt;/span&gt; &lt;span style="color: blue"&gt;const&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt; fieldNameDefault = &lt;span style="color: #a31515"&gt;"Description"&lt;/span&gt;; 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;summary&amp;gt; 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; Field to use for description tag's content. Default value is "Description" 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/summary&amp;gt; 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;[System.ComponentModel.DefaultValue(fieldNameDefault)] 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt; FieldName 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{ 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="color: blue"&gt;get 
      &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;{ 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="color: blue"&gt;object&lt;/span&gt; o = ViewState[&lt;span style="color: #a31515"&gt;"FieldName"&lt;/span&gt;]; 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (o == &lt;span style="color: blue"&gt;null&lt;/span&gt;) &lt;span style="color: blue"&gt;return&lt;/span&gt; fieldNameDefault; 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;&lt;span style="color: blue"&gt;return&lt;/span&gt; (&lt;span style="color: blue"&gt;string&lt;/span&gt;)o; 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;} 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="color: blue"&gt;set&lt;/span&gt; { ViewState[&lt;span style="color: #a31515"&gt;"FieldName"&lt;/span&gt;] = &lt;span style="color: blue"&gt;value&lt;/span&gt;; } 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;} 

    &lt;br /&gt;

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="color: blue"&gt;protected&lt;/span&gt; &lt;span style="color: blue"&gt;override&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; OnPreRender(System.&lt;span style="color: #2b91af"&gt;EventArgs&lt;/span&gt; e) 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{ 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="color: blue"&gt;base&lt;/span&gt;.OnPreRender(e); 

    &lt;br /&gt;

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (Item != &lt;span style="color: blue"&gt;null&lt;/span&gt; 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;&amp;amp;&amp;amp; Item.Fields.ContainsField(FieldName) 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;&amp;amp;&amp;amp; Item[FieldName] != &lt;span style="color: blue"&gt;null&lt;/span&gt; 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;&amp;amp;&amp;amp; !(&lt;span style="color: blue"&gt;string&lt;/span&gt;.IsNullOrEmpty(Item[FieldName].ToString()))) 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;{ 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;System.Web.UI.HtmlControls.HtmlMeta meta = 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;new&lt;/span&gt; System.Web.UI.HtmlControls.HtmlMeta(); 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;meta.Name = &lt;span style="color: #a31515"&gt;"Description"&lt;/span&gt;; 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;meta.Content = Item[FieldName].ToString(); 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;              &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;Controls.Add(meta); 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;} 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;} 

    &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;} 

    &lt;br /&gt;} 

    &lt;br style="mso-special-character: line-break" /&gt;

    &lt;br style="mso-special-character: line-break" /&gt;&lt;/span&gt;Note that the FieldName property has a default value of “Description” since that’s the most common usage. Adding the control to a page layout is simple:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&amp;lt;SolienSharePointControls:MetaDescription runat=server /&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No matter what your next project’s description is, we’re here to help with &lt;a href="http://www.solien.com/Services/Pages/application-development.aspx"&gt;application development&lt;/a&gt; and &lt;a href="http://www.solien.com/Services/Pages/sharepoint.aspx"&gt;SharePoint consulting&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blog.solien.com/aggbug/35.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Solien Technology</dc:creator>
            <guid>http://blog.solien.com/archive/2009/12/16/create-a-meta-description-control.aspx</guid>
            <pubDate>Wed, 16 Dec 2009 14:00:00 GMT</pubDate>
            <wfw:comment>http://blog.solien.com/comments/35.aspx</wfw:comment>
            <comments>http://blog.solien.com/archive/2009/12/16/create-a-meta-description-control.aspx#feedback</comments>
            <wfw:commentRss>http://blog.solien.com/comments/commentRss/35.aspx</wfw:commentRss>
            <trackback:ping>http://blog.solien.com/services/trackbacks/35.aspx</trackback:ping>
        </item>
        <item>
            <title>Build a control to show the first non-blank field</title>
            <category>SharePoint</category>
            <category>Development</category>
            <link>http://blog.solien.com/archive/2009/12/15/build-a-control-to-show-the-first-non-blank-field.aspx</link>
            <description>&lt;p&gt;Here’s a control that shows the first non-blank SharePoint field. I created it for Solien’s web site when I added the PageTitle field. By using this control, if content authors leave the PageTitle field blank the contents of the Title field are shown instead.&lt;/p&gt;  &lt;p&gt;By inheriting from &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.formcomponent.aspx"&gt;Microsoft.SharePoint.WebControls.FormComponent&lt;/a&gt; we gain access to the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.formcomponent.item.aspx"&gt;Item property&lt;/a&gt;.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;span style="line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;; color: blue; font-size: 10pt; mso-no-proof: yes; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa"&gt;using&lt;/span&gt;&lt;span style="line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-no-proof: yes; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa"&gt; System.ComponentModel;        &lt;br /&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Web.UI.WebControls;         &lt;br /&gt;        &lt;br /&gt;&lt;span style="color: blue"&gt;namespace&lt;/span&gt; Solien.SharePoint         &lt;br /&gt;{         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;summary&amp;gt;          &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; Given a list of fields, displays the first field that has content.          &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/summary&amp;gt;          &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;CoalescingFieldControl&lt;/span&gt; : Microsoft.SharePoint.WebControls.&lt;span style="color: #2b91af"&gt;FormComponent          &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;{         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;summary&amp;gt;          &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; Fields to search for content. Fields are searched in order.          &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="color: gray"&gt;///&lt;/span&gt;&lt;span style="color: green"&gt; &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/summary&amp;gt;          &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;[&lt;span style="color: #2b91af"&gt;TypeConverter&lt;/span&gt;(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;StringArrayConverter&lt;/span&gt;))]         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt;[] FieldNames         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="color: blue"&gt;get          &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;{         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;&lt;span style="color: blue"&gt;object&lt;/span&gt; o = ViewState[&lt;span style="color: #a31515"&gt;"FieldNames"&lt;/span&gt;];         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (o == &lt;span style="color: blue"&gt;null&lt;/span&gt;)         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;&lt;span style="color: blue"&gt;return&lt;/span&gt; &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: blue"&gt;string&lt;/span&gt;[0];         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;&lt;span style="color: blue"&gt;return&lt;/span&gt; (&lt;span style="color: blue"&gt;string&lt;/span&gt;[])o;         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;}         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="color: blue"&gt;set&lt;/span&gt; { ViewState[&lt;span style="color: #a31515"&gt;"FieldNames"&lt;/span&gt;] = &lt;span style="color: blue"&gt;value&lt;/span&gt;; }         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;}         &lt;br /&gt;        &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;&lt;span style="color: blue"&gt;protected&lt;/span&gt; &lt;span style="color: blue"&gt;override&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; OnPreRender(System.&lt;span style="color: #2b91af"&gt;EventArgs&lt;/span&gt; e)         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;{         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="color: blue"&gt;base&lt;/span&gt;.OnPreRender(e);         &lt;br /&gt;        &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (Item != &lt;span style="color: blue"&gt;null&lt;/span&gt;)         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;{         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;&lt;span style="color: blue"&gt;foreach&lt;/span&gt; (&lt;span style="color: blue"&gt;string&lt;/span&gt; key &lt;span style="color: blue"&gt;in&lt;/span&gt; FieldNames)         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;{         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (Item.Fields.ContainsField(key)         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                        &lt;/span&gt;&amp;amp;&amp;amp; Item[key] != &lt;span style="color: blue"&gt;null          &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;                        &lt;/span&gt;&amp;amp;&amp;amp; !&lt;span style="color: blue"&gt;string&lt;/span&gt;.IsNullOrEmpty(Item[key].ToString()))         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;                   &lt;/span&gt;{         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                        &lt;/span&gt;&lt;span style="color: blue"&gt;this&lt;/span&gt;.Controls.Add(&lt;span style="color: blue"&gt;new&lt;/span&gt; System.Web.UI.&lt;span style="color: #2b91af"&gt;LiteralControl&lt;/span&gt;(         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                            &lt;/span&gt;Item[key].ToString()));         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                        &lt;/span&gt;&lt;span style="color: blue"&gt;break&lt;/span&gt;;         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                    &lt;/span&gt;}         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;                &lt;/span&gt;}         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;            &lt;/span&gt;}         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;}         &lt;br /&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;}         &lt;br /&gt;}&lt;/span&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Because we check that Item.Fields.ContainsField, no exception will be thrown if a field in FieldNames doesn’t exist for the current item.&lt;/p&gt;  &lt;p&gt;Here’s how the control is used on a page template:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; background: yellow; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa; mso-highlight: yellow"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa"&gt;@&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa"&gt; &lt;span style="color: #a31515"&gt;Register&lt;/span&gt; &lt;span style="color: red"&gt;Tagprefix&lt;/span&gt;&lt;span style="color: blue"&gt;="SolienSharePointControls"&lt;/span&gt; &lt;span style="color: red"&gt;Namespace&lt;/span&gt;&lt;span style="color: blue"&gt;="Solien.SharePoint "&lt;/span&gt;         &lt;br /&gt;    &lt;span style="color: red"&gt;Assembly&lt;/span&gt;&lt;span style="color: blue"&gt;="[...]"&lt;/span&gt; &lt;span style="background: yellow; mso-highlight: yellow"&gt;%&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa"&gt;&lt;span style="background: yellow; mso-highlight: yellow"&gt;[…]          &lt;br /&gt;          &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;SolienSharePointControls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;CoalescingFieldControl&lt;/span&gt; &lt;span style="color: red"&gt;id&lt;/span&gt;&lt;span style="color: blue"&gt;="HomePageTitleInHeader"&lt;/span&gt;         &lt;br /&gt;&lt;span style="color: red"&gt;    FieldNames&lt;/span&gt;&lt;span style="color: blue"&gt;="&lt;strong&gt;PageTitle,Title&lt;/strong&gt;"&lt;/span&gt; &lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;="server"/&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If you’ve got a SharePoint implementation or asp.net development project you’d like help with, &lt;a href="http://www.solien.com/about-us/Pages/contact-us.aspx"&gt;have your people talk to our people&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blog.solien.com/aggbug/34.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Solien Technology</dc:creator>
            <guid>http://blog.solien.com/archive/2009/12/15/build-a-control-to-show-the-first-non-blank-field.aspx</guid>
            <pubDate>Tue, 15 Dec 2009 14:29:00 GMT</pubDate>
            <wfw:comment>http://blog.solien.com/comments/34.aspx</wfw:comment>
            <comments>http://blog.solien.com/archive/2009/12/15/build-a-control-to-show-the-first-non-blank-field.aspx#feedback</comments>
            <wfw:commentRss>http://blog.solien.com/comments/commentRss/34.aspx</wfw:commentRss>
            <trackback:ping>http://blog.solien.com/services/trackbacks/34.aspx</trackback:ping>
        </item>
        <item>
            <title>SharePoint Development for Beginners: Adding a field to a page layout</title>
            <category>SharePoint</category>
            <category>Development</category>
            <category>For Beginners</category>
            <link>http://blog.solien.com/archive/2009/12/14/sharepoint-development-for-beginners-adding-a-field-to-a-page.aspx</link>
            <description>&lt;p&gt;Here’s how to add a new field to an existing page layout in Microsoft Office SharePoint Server 2007.&lt;/p&gt;  &lt;p&gt;Our current page layout uses the Title field both for the HTML title element shown browser’s title bar and for the header shown in the content. We want to separate these so that the HTML title can be different.&lt;/p&gt;  &lt;p&gt;We’ll be modifying the SolienInnerPage.aspx and SolienInnerPageNoLeftNav.aspx page layouts. Here’s an outline of the work we’ll need to do:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Find the associated content type for the page layout &lt;/li&gt;    &lt;li&gt;Add a new site column on the content type &lt;/li&gt;    &lt;li&gt;Set the column ordering on the content type &lt;/li&gt;    &lt;li&gt;Add the field to the page layout &lt;/li&gt;    &lt;li&gt;Add content to the new field &lt;/li&gt;    &lt;li&gt;Test that the new field’s content is shown on the page layout &lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;1. Find the associated content type for the page layout&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_2.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_thumb.png" width="545" height="232" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Both layouts use the Solien Page content type. We’ll add the new column there.&lt;/p&gt;  &lt;h3&gt;2. Add a new site column on the content type&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_4.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_thumb_1.png" width="621" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Below the list of existing columns, click “Add from new site column”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_6.png" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_thumb_2.png" width="356" height="480" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Set the Column Name and select a group for the column.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_8.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="left" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_thumb_3.png" width="212" height="43" /&gt;&lt;/a&gt; &lt;a href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_10.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_thumb_4.png" width="282" height="71" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Enter a description for the new column.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_12.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_thumb_5.png" width="277" height="152" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;We want to update content types inheriting from this type so that existing items will have the new column available.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_14.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_thumb_6.png" width="250" height="43" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Once we click OK, the site column is added.&lt;/p&gt;  &lt;h3&gt;3. Set the column ordering on the content type&lt;/h3&gt;  &lt;p&gt;On the Solien Page content type, we’ve clicked “Column Order.”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_16.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_thumb_7.png" width="608" height="480" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;We can now set the column order for the new PageTitle column.&lt;/p&gt;  &lt;h3&gt;4. Add the field to the page layout&lt;/h3&gt;  &lt;p&gt;Currently our page layout uses the Title field for the HTML title element. We’ll modify it to use the new PageTitle field instead.&lt;/p&gt;  &lt;p&gt;First we need to grab a copy of the page layout. In the master page gallery, find the page layout, then select Send To –&amp;gt; Download a Copy.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_18.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_thumb_8.png" width="473" height="224" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here’s how the Title field is currently used.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: #a31515; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;asp&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;:&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: #a31515; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;Content&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt; &lt;span style="color: red"&gt;ContentPlaceholderID&lt;/span&gt;&lt;span style="color: blue"&gt;="PlaceHolderPageTitle"&lt;/span&gt; &lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;="server"&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;            &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;SharePointWebControls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;FieldValue&lt;/span&gt; &lt;span style="color: red"&gt;id&lt;/span&gt;&lt;span style="color: blue"&gt;="HomePageTitleInHeader"&lt;/span&gt; &lt;span style="color: red"&gt;FieldName&lt;/span&gt;&lt;span style="color: blue"&gt;="Title"&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;            &lt;/span&gt;&lt;span style="mso-tab-count: 1"&gt;            &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;="server"&lt;/span&gt; &lt;span style="color: blue"&gt;/&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: #a31515; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;asp&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;:&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: #a31515; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;Content&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&amp;gt; &lt;/span&gt;&lt;/p&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p /&gt; &lt;/blockquote&gt;  &lt;p&gt;Instead, we want to use the PageTitle field.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: #a31515; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;asp&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;:&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: #a31515; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;Content&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt; &lt;span style="color: red"&gt;ContentPlaceholderID&lt;/span&gt;&lt;span style="color: blue"&gt;="PlaceHolderPageTitle"&lt;/span&gt; &lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;="server"&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;            &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;SharePointWebControls&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;FieldValue&lt;/span&gt; &lt;span style="color: red"&gt;id&lt;/span&gt;&lt;span style="color: blue"&gt;="HomePageTitleInHeader"&lt;/span&gt; &lt;span style="color: red"&gt;FieldName&lt;/span&gt;&lt;span style="color: blue"&gt;="&lt;strong&gt;PageTitle&lt;/strong&gt;"&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;span style="mso-tab-count: 1"&gt;            &lt;/span&gt;&lt;span style="mso-tab-count: 1"&gt;            &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;="server"&lt;/span&gt; &lt;span style="color: blue"&gt;/&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p /&gt;    &lt;p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: #a31515; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;asp&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;:&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: #a31515; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;Content&lt;/span&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: blue; font-size: 9pt; mso-bidi-font-family: 'Times New Roman'; mso-no-proof: yes" /&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;After saving our changes, we’ll upload the new version of the page layout. In the master page gallery, choose Upload –&amp;gt; Upload Document.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_20.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_thumb_9.png" width="317" height="193" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;We’ll overwrite the existing file.&lt;/p&gt;  &lt;p /&gt;  &lt;p&gt;&lt;a href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_22.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_thumb_10.png" width="640" height="185" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Here’s what we see after the page layout is uploaded. There aren’t any property changes needed, so we’ll click “Check In.”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_24.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_thumb_11.png" width="640" height="218" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;5. Add content to the new field&lt;/h3&gt;  &lt;p&gt;Now that the column has been added to the content type, we can add content on pages that use this page layout.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_26.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_thumb_12.png" width="598" height="262" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;6. Test that the new field’s content is shown on the page layout&lt;/h3&gt;  &lt;p&gt;It works! Previously the Title field was used,&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_28.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_thumb_13.png" width="639" height="33" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;but now the PageTitle field is used instead.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_30.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.solien.com/images/blog_solien_com/WindowsLiveWriter/Addingafieldtoapagelayout_DBAE/image_thumb_14.png" width="719" height="30" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Want help with your SharePoint implementation, or just need a quick consultation to get things rolling? &lt;a href="http://www.solien.com/about-us/Pages/contact-us.aspx"&gt;We’re here to help&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blog.solien.com/aggbug/33.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Solien Technology</dc:creator>
            <guid>http://blog.solien.com/archive/2009/12/14/sharepoint-development-for-beginners-adding-a-field-to-a-page.aspx</guid>
            <pubDate>Mon, 14 Dec 2009 15:54:00 GMT</pubDate>
            <wfw:comment>http://blog.solien.com/comments/33.aspx</wfw:comment>
            <comments>http://blog.solien.com/archive/2009/12/14/sharepoint-development-for-beginners-adding-a-field-to-a-page.aspx#feedback</comments>
            <wfw:commentRss>http://blog.solien.com/comments/commentRss/33.aspx</wfw:commentRss>
            <trackback:ping>http://blog.solien.com/services/trackbacks/33.aspx</trackback:ping>
        </item>
    </channel>
</rss>