<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-2902899147800241803</atom:id><lastBuildDate>Fri, 30 Aug 2024 17:00:38 +0000</lastBuildDate><category>SharePoint</category><category>WebParts</category><category>CSS</category><category>CoreResultsWebPart</category><category>2010</category><category>2013</category><category>Absolute</category><category>Authentication</category><category>Best Practice</category><category>Cache</category><category>Content By Search</category><category>ContentBySearchWebPart</category><category>Crawled Properties</category><category>DVWP</category><category>DataViewWebPart</category><category>Date</category><category>Deployment</category><category>Enterprise</category><category>Feature</category><category>Feature Receiver</category><category>Filter</category><category>Firefox</category><category>Integrated</category><category>Login</category><category>Managed Properties</category><category>NTLM</category><category>Navigation</category><category>OWSTIMER</category><category>PortalSiteMapDataSource</category><category>Round Robin</category><category>Search</category><category>SiteMapDataSource</category><category>Solution</category><category>ULS</category><category>Unified Logging Service</category><title>Reduce, Reuse, Recycle</title><description>“Often when you think you’re at the end of something, you’re at the beginning of something else.”&#xa;– Fred Rogers</description><link>http://kduenke.blogspot.com/</link><managingEditor>noreply@blogger.com (Kenny Duenke)</managingEditor><generator>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2902899147800241803.post-8808009668333592112</guid><pubDate>Thu, 15 Mar 2018 02:52:00 +0000</pubDate><atom:updated>2018-03-14T21:57:09.816-05:00</atom:updated><title>SharePoint Document Library Metadata in Microsoft Teams</title><description>If you&#39;ve started to play around with Microsoft Teams and are familiar with storing documents in SharePoint, you may have been disappointed to learn you can&#39;t see document metadata on the Files tab of your team&#39;s channel.&amp;nbsp; When I first heard this, I couldn&#39;t believe it!&amp;nbsp; How could we overlook one of the most basic reasons to use SharePoint over file shares?!&lt;br /&gt;
&lt;br /&gt;
Have no fear.&amp;nbsp; After poking around a bit, it turns out Teams is almost as flexible as SharePoint.&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;In Teams, click on the Files tab for your channel.&lt;/li&gt;
&lt;li&gt;Click &#39;Open in SharePoint&#39;.&lt;/li&gt;
&lt;li&gt;Edit the view, or create a new one, and add the desired metadata.&lt;/li&gt;
&lt;li&gt;Copy the web address (something like, https://xxx.sharepoint.com/sites/ComeTogether/Shared%20Documents/Forms/AllItems.aspx)&lt;/li&gt;
&lt;li&gt;Back in Teams, add a new tab by clicking +.&lt;/li&gt;
&lt;li&gt;Search for &#39;web&#39; and add the Website type tab.&lt;/li&gt;
&lt;li&gt;Fill out the Tab name and URL.&lt;/li&gt;
&lt;li&gt;Golden!&lt;/li&gt;
&lt;/ol&gt;
**Bonus Content&lt;br /&gt;
Related, someone asked me, &quot;Wouldn&#39;t it be cool if there were a place to drop files that all channels could see, like at the root of the Shared Documents library that already has folders for each of my channels?&lt;br /&gt;
&lt;br /&gt;
Why, yes.&amp;nbsp; Yes, it would.&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Follow the steps above.&lt;/li&gt;
&lt;li&gt;In the SharePoint view you create, set the Filter to Content Type is not equal to Folder.&lt;/li&gt;
&lt;li&gt;Celebrate!&lt;/li&gt;
&lt;/ol&gt;
&lt;img alt=&quot;&quot; height=&quot;192&quot; src=&quot;data:image/png;base64,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&quot; width=&quot;640&quot; /&gt; </description><link>http://kduenke.blogspot.com/2018/03/sharepoint-document-library-metadata-in.html</link><author>noreply@blogger.com (Kenny Duenke)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2902899147800241803.post-110201896861433025</guid><pubDate>Thu, 08 Feb 2018 16:48:00 +0000</pubDate><atom:updated>2018-02-08T10:48:45.320-06:00</atom:updated><title>Upgrade SPFx from 1.3.4 to 1.4.0</title><description>I just had to upgrade a SharePoint Framework client-side web part from v1.3.4 to v1.4.0.&amp;nbsp; Here are the steps I did to complete this.&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Run a command prompt as admin and upgrade the yoeman generator, npm install -g @microsoft/generator-sharepoint@latest&lt;/li&gt;
&lt;li&gt;Create a new web part project using the updated scaffolding engine using the settings I used originally.&amp;nbsp; For example, this project is based on the React template.&amp;nbsp; I selected that option again.&lt;/li&gt;
&lt;li&gt;In the project I was upgrading...&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;Delete the node_modules folder and the package-lock.json file&lt;/li&gt;
&lt;li&gt;Compare and copy relevant packages/versions into your package.json file&lt;/li&gt;
&lt;li&gt;Replace the tsconfig.json file with one from the newly generated project&lt;/li&gt;
&lt;li&gt;npm install&lt;/li&gt;
&lt;li&gt;gulp clean&lt;/li&gt;
&lt;li&gt;gulp build&lt;/li&gt;
&lt;li&gt;Address any build errors.&amp;nbsp; For example, in my project I wasn&#39;t doing some Date casting correctly.&amp;nbsp; Typescript did a better job of identifying this and I had to correct those errors.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
</description><link>http://kduenke.blogspot.com/2018/02/upgrade-spfx-from-134-to-140.html</link><author>noreply@blogger.com (Kenny Duenke)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2902899147800241803.post-8093407915076244803</guid><pubDate>Thu, 08 May 2014 16:33:00 +0000</pubDate><atom:updated>2014-05-08T11:33:15.439-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2013</category><category domain="http://www.blogger.com/atom/ns#">Content By Search</category><category domain="http://www.blogger.com/atom/ns#">ContentBySearchWebPart</category><category domain="http://www.blogger.com/atom/ns#">SharePoint</category><category domain="http://www.blogger.com/atom/ns#">WebParts</category><title>Output Raw XML from New Content By Search Web Part</title><description>Following &lt;a href=&quot;http://blog.mastykarz.nl/server-side-rendering-content-search-web-part-sharepoint-2013/&quot;&gt;this blog post&lt;/a&gt; in an attempt to reuse some custom XML developed for SharePoint 2010, I ran into a problem with &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/office/ms546985%28v=office.14%29.aspx&quot;&gt;this technique&lt;/a&gt; for outputting raw XML from search in SharePoint 2013.&amp;nbsp; It seems other have had &lt;a href=&quot;http://social.msdn.microsoft.com/Forums/en-US/8057290d-e173-4edc-a723-6d88ec68907b/sharepoint-2013-content-search-web-part-how-to-output-the-raw-xml?prof=required&quot;&gt;the same issue&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
This is what I came up with to help.&amp;nbsp; It&#39;s not pretty or perfect, but it&#39;ll do for now and gives a &quot;decent&quot; picture of what&#39;s going on in the XML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&#39;1.0&#39; xmlns:xsl=&#39;http://www.w3.org/1999/XSL/Transform&#39;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:template match=&#39;/&#39;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:apply-templates /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:template match=&quot;ResultTable&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h1&amp;gt;ResultTable&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:call-template name=&quot;out&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:with-param name=&quot;in&quot; select=&quot;ResultTable&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:apply-templates select=&quot;Rows&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:template match=&quot;Rows&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h1&amp;gt;Rows&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:call-template name=&quot;out&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:with-param name=&quot;in&quot; select=&quot;Rows&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:apply-templates select=&quot;Row&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:template match=&#39;Row&#39;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h1&amp;gt;Row&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:call-template name=&quot;out&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:with-param name=&quot;in&quot; select=&quot;Row&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:template name=&quot;out&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:param name=&quot;in&quot; /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table style=&quot;border: 1px solid #000;&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:for-each select=&quot;*&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td style=&quot;border: 1px solid #000;&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:value-of select=&quot;name()&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td style=&quot;border: 1px solid #000;&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:value-of select=&quot;.&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/table&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;&amp;lt;/xsl:stylesheet&amp;gt;</description><link>http://kduenke.blogspot.com/2014/05/output-raw-xml-from-new-content-by.html</link><author>noreply@blogger.com (Kenny Duenke)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2902899147800241803.post-4027706725850748515</guid><pubDate>Mon, 09 May 2011 17:07:00 +0000</pubDate><atom:updated>2011-05-09T12:08:35.607-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">2010</category><category domain="http://www.blogger.com/atom/ns#">Best Practice</category><category domain="http://www.blogger.com/atom/ns#">SharePoint</category><category domain="http://www.blogger.com/atom/ns#">ULS</category><category domain="http://www.blogger.com/atom/ns#">Unified Logging Service</category><title>SharePoint 2010 Error Logging</title><description>New to SharePoint 2010 is the ability for developers to readily log to either the SharePoint Unified Logging Service (ULS) or to the Windows application event log.&amp;nbsp; What a win-win-win situation for all involved, from the developer to the end user to the admin.&amp;nbsp; The namespace to investigate if you&#39;re interested in performing either of these tasks is Microsoft.SharePoint.Administration.&amp;nbsp; More specifically, the classes under the prefix SPDiagnostics (SPDiagnosticsArea, SPDiagnosticsCategory, ...).&amp;nbsp; Even more specifically, the methods SPDiagnosticsService.WriteTrace (for ULS logging) and SPDiagnosticsService.WriteEvent (for Windows application event logging).&lt;br /&gt;
&lt;br /&gt;
A great place to put this type of logging is in web parts.&amp;nbsp; Always be sure to wrap your CreateChildControls or Render methods with a try/catch.&amp;nbsp; There&#39;s nothing worse than the whole page blowing up just because one piece of the page has failed unexpectedly.&amp;nbsp; On to the example....&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;cSharpKeyword&quot;&gt;catch&lt;/span&gt; (&lt;span class=&quot;cSharpClass&quot;&gt;Exception&lt;/span&gt; ex)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class=&quot;cSharpComment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Get the local instance of the diagnostics service&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;cSharpClass&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPDiagnosticsService&lt;/span&gt; diagService = &lt;span class=&quot;cSharpClass&quot;&gt;SPDiagnosticsService&lt;/span&gt;.Local;&lt;br /&gt;
&lt;span class=&quot;cSharpComment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Log the event under the SharePoint Foundation, Web Part category&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;cSharpClass&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPDiagnosticsCategory&lt;/span&gt; diagCategory = diagService.Areas[&lt;span class=&quot;cSharpString&quot;&gt;&quot;SharePoint Foundation&quot;&lt;/span&gt;].Categories[&lt;span class=&quot;cSharpString&quot;&gt;&quot;Web Parts&quot;&lt;/span&gt;];&lt;br /&gt;
&lt;span class=&quot;cSharpComment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The exception message to write to the log&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;cSharpClass&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string&lt;/span&gt; exceptionId = &lt;span class=&quot;cSharpString&quot;&gt;&quot;Web Part Exception Unique ID: &quot;&lt;/span&gt; + &lt;span class=&quot;cSharpClass&quot;&gt;Guid&lt;/span&gt;.NewGuid().ToString();&lt;br /&gt;
&lt;span class=&quot;cSharpClass&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string&lt;/span&gt; exceptionMsg = exceptionId + &lt;span class=&quot;cSharpString&quot;&gt;&quot; &quot;&lt;/span&gt; + ex.Message + ex.StackTrace;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;cSharpComment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Log the event as unexpected&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; diagService.WriteTrace(0, diagCategory, &lt;span class=&quot;cSharpClass&quot;&gt;TraceSeverity&lt;/span&gt;.Unexpected, exceptionMsg);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (...) &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
At this point, it&#39;d be good to write something back to the user of your web part.&amp;nbsp; Depending on the method you&#39;re overriding, you would replace the above ellipsis with code to either add some literal controls to the web part controls collection, or by writing directly to the HTMLTextWriter provided.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;cSharpComment&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Provide the user some nice feedback with a follow-up for the admin&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;cSharpClass&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;writer.WriteLine(&lt;span class=&quot;cSharpString&quot;&gt;&quot;An unexpected error has occurred.&quot;&lt;/span&gt;);&lt;br /&gt;
&lt;span class=&quot;cSharpClass&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;writer.WriteBreak();&lt;br /&gt;
&lt;span class=&quot;cSharpClass&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;writer.WriteLine(&lt;span class=&quot;cSharpString&quot;&gt;&quot;If this problem persists, please contact your administrator.&quot;&lt;/span&gt;);&lt;br /&gt;
&lt;span class=&quot;cSharpClass&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;writer.WriteBreak();&lt;br /&gt;
&lt;span class=&quot;cSharpClass&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;writer.WriteBreak();&lt;br /&gt;
&lt;span class=&quot;cSharpClass&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;writer.WriteLine(&lt;span class=&quot;cSharpString&quot;&gt;&quot;Events have been added to the ULS log.&quot;&lt;/span&gt;);&lt;br /&gt;
&lt;span class=&quot;cSharpClass&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;writer.WriteBreak();&lt;br /&gt;
&lt;span class=&quot;cSharpClass&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;writer.WriteLine(exceptionId);&lt;br /&gt;
&lt;br /&gt;
Also new to SharePoint 2010 is a more useful error messaging system in general.&amp;nbsp; If a page errors out, a dialog box containing a correlation ID is made available for admins to use in troubleshooting.&amp;nbsp; You may be asking yourself, how do I include this correlation ID into my message back to the user.&lt;br /&gt;
&lt;br /&gt;
I did a lot of digging and found &lt;a href=&quot;http://www.zimmergren.net/archive/2010/09/03/sp-2010-find-error-messages-with-a-correlation-id-token-in-sharepoint-2010.aspx&quot;&gt;this post&lt;/a&gt; by Tobias Zimmergren.&amp;nbsp; In the section titled &quot;Get the current Correlation ID by using code&quot;, he talks about just how to do this.&amp;nbsp; However, in my opinion, this is overkill.&amp;nbsp; I say this because...&lt;br /&gt;
1.&amp;nbsp; The correlation ID is not unique to the error itself.&amp;nbsp; It really  reflects the page request as a whole.&amp;nbsp; Therefore several lines, at least in the  ULS log, will have this correlation ID stuck on the end of them. &lt;br /&gt;
and &lt;br /&gt;
2.&amp;nbsp; You&#39;re already providing the system administrator a new GUID that uniquely identifies this error.</description><link>http://kduenke.blogspot.com/2011/05/sharepoint-2010-error-logging.html</link><author>noreply@blogger.com (Kenny Duenke)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2902899147800241803.post-732077986749171348</guid><pubDate>Thu, 28 Apr 2011 23:03:00 +0000</pubDate><atom:updated>2011-04-28T18:10:03.423-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Date</category><category domain="http://www.blogger.com/atom/ns#">Enterprise</category><category domain="http://www.blogger.com/atom/ns#">Filter</category><category domain="http://www.blogger.com/atom/ns#">SharePoint</category><category domain="http://www.blogger.com/atom/ns#">WebParts</category><title>A Poor Man&#39;s Date Filter Web Part</title><description>Recently, I was asked to create a date filter to give&amp;nbsp;users an easy mechanism to filter down some data in a list.&lt;br /&gt;
&lt;br /&gt;
Normally, I&#39;d create myself a view on the list then edit the page and add a date filter web part.&amp;nbsp; At that point,&amp;nbsp;all you have to do is wire up the date filter and the list view web parts and you&#39;re done (see &lt;a href=&quot;http://office.microsoft.com/en-us/sharepoint-server-help/connect-a-filter-web-part-to-a-list-view-web-part-HA010250989.aspx?CTT=5&amp;amp;origin=HA010033786&quot;&gt;this article&lt;/a&gt; for more information).&lt;br /&gt;
&lt;br /&gt;
That&#39;s all fine and dandy if you&#39;ve got the SharePoint Enterprise license.&amp;nbsp; All of the filter web parts are in the Enterprise feature.&amp;nbsp; What if you don&#39;t have Enterprise?&amp;nbsp; Am I out of luck?&lt;br /&gt;
&lt;br /&gt;
Absolutely not.&amp;nbsp; Instead of the Date Filter Web Part, why not slap on a &lt;a href=&quot;http://office.microsoft.com/en-us/sharepoint-server-help/form-web-part-HA010024050.aspx&quot;&gt;Form Web Part&lt;/a&gt;?&amp;nbsp; This little guy lets you define your own HTML to filter with.&amp;nbsp; Need a text box?&amp;nbsp; Great.&amp;nbsp; Need a check box, dropdown list, ...?&amp;nbsp; Great.&amp;nbsp; Need a calendar?&amp;nbsp; Uhm...wait, there&#39;s no easy HTML control for a date picker.&lt;br /&gt;
&lt;br /&gt;
Ah, but you&#39;re in SharePoint.&amp;nbsp; SharePoint has date pickers all over the place.&amp;nbsp; An easy&amp;nbsp;way to&amp;nbsp;toss one on a page is to add&amp;nbsp;a &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.datetimecontrol.aspx&quot;&gt;Microsoft.SharePoint.WebControls.DateTimeControl&lt;/a&gt;&amp;nbsp;server control to it.&amp;nbsp; If&amp;nbsp;we can figure out what that control adds to the page, we&#39;re golden.&lt;br /&gt;
&lt;br /&gt;
Modify the Form Web Part and add the below&amp;nbsp;HTML to the Source Editor.&amp;nbsp; The text is red is what renders the date picker functionality onto the page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div onkeydown=&quot;javascript:if (event.keyCode == 13) _SFSUBMIT_&quot;&amp;gt;&lt;br /&gt;
&lt;span style=&quot;color: #cc0000;&quot;&gt;&amp;nbsp; &amp;lt;SCRIPT language=&#39;javascript&#39; src=&#39;/_layouts/datepicker.js&#39;&amp;gt;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;SCRIPT language=&#39;javascript&#39;&amp;gt;var g_strDateTimeControlIDs = new Array();&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;SCRIPT language=&#39;javascript&#39;&amp;gt;g_strDateTimeControlIDs[&quot;&quot;] = &quot;ctl00_PlaceHolderMain_ctl00_Date&quot;;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;input name=&quot;ctl00$PlaceHolderMain$ctl00$Date&quot; type=&quot;text&quot; maxlength=&quot;45&quot; id=&quot;ctl00_PlaceHolderMain_ctl00_Date&quot; class=&quot;ms-input&quot; AutoPostBack=&quot;0&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;A href=&quot;#&quot; onclick=&#39;clickDatePicker(&quot;ctl00_PlaceHolderMain_ctl00_Date&quot;, &quot;\u002f_layouts\u002fiframe.aspx?&amp;amp;cal=1&amp;amp;lcid=1033&amp;amp;langid=1033&amp;amp;ww=0111110&amp;amp;fdow=0&amp;amp;fwoy=0&amp;amp;hj=0&amp;amp;swn=False&amp;amp;minjday=109207&amp;amp;maxjday=2666269&amp;amp;date=&quot;, &quot;&quot;); return false;&#39; &amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;IMG id=ctl00_PlaceHolderMain_ctl00_DateDatePickerImage src=&quot;/_layouts/images/calendar.gif&quot; border=&quot;0&quot; alt=&quot;Select a date from the calendar.&quot;&amp;gt;&amp;lt;/IMG&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/A&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;IFRAME id=ctl00_PlaceHolderMain_ctl00_DateDatePickerFrame SRC=&quot;/_layouts/images/blank.gif&quot; FRAMEBORDER=0 SCROLLING=no style=&quot;DISPLAY:none;POSITION:absolute; width:200px; Z-INDEX:101;&quot; title=&quot;Select a date from the calendar.&quot;&amp;gt;&amp;lt;/IFRAME&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;input type=&quot;button&quot; value=&quot;Go&quot; onclick=&quot;javascript:_SFSUBMIT_&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;input type=&quot;button&quot; value=&quot;Reset&quot; onclick=&quot;javascript:_SFRESET_&quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Awesome!&amp;nbsp; Now we&#39;ve got a date picker in our Form Web Part.&amp;nbsp; All that&#39;s left is to wire it up to our list view web part the same way we always did.</description><link>http://kduenke.blogspot.com/2011/04/poor-mans-date-filter-web-part.html</link><author>noreply@blogger.com (Kenny Duenke)</author><thr:total>9</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2902899147800241803.post-2709257140511156975</guid><pubDate>Fri, 11 Feb 2011 20:42:00 +0000</pubDate><atom:updated>2011-02-11T14:42:34.428-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CSS</category><category domain="http://www.blogger.com/atom/ns#">SharePoint</category><category domain="http://www.blogger.com/atom/ns#">WebParts</category><title>Remove Default SharePoint Web Part CSS - Part 2</title><description>A post is long over due.&amp;nbsp; I wanted to revisit this topic for two reasons.&amp;nbsp; It was my first post ever, and according to best practices, this is not (necessarily) what you should do to remove SharePoint CSS classes from your custom developed web part.&lt;br /&gt;
&lt;br /&gt;
If you follow best practices, you should not be inheriting from Microsoft.SharePoint.WebPartPages.WebPart.&amp;nbsp; According to SDK, &quot;this class&amp;nbsp;exists primarily for the purpose of backward compatibility, and secondarily, to provide a small set of features that are not available in the ASP.NET web part&amp;nbsp;class.&quot;&lt;br /&gt;
&lt;br /&gt;
The UseDefaultStyles Property, unfortunately,&amp;nbsp;is available only in the Microsoft.SharePoint.WebPartPages.WebPart class and&amp;nbsp;not in the &lt;span class=&quot;selflink&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;System.Web.UI.WebControls.WebParts&lt;span xmlns=&quot;&quot;&gt;.&lt;/span&gt;WebPart class (the class you should really be using 99% of the time).&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;selflink&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;So...how do I fix my cumbersome SharePoint default CSS for my &lt;span class=&quot;selflink&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;System.Web.UI.WebControls.WebParts&lt;span xmlns=&quot;&quot;&gt;.&lt;/span&gt;WebPart inherited class?!&amp;nbsp; This is what I came up with.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;selflink&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;span class=&quot;selflink&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;span class=&quot;cSharpKeyword&quot;&gt;public class&lt;/span&gt; &lt;span class=&quot;cSharpClass&quot;&gt;NoCssWebPart&lt;/span&gt; : System.Web.UI.WebControls.WebParts.&lt;span class=&quot;cSharpClass&quot;&gt;WebPart&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;selflink&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;span class=&quot;selflink&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class=&quot;cSharpKeyword&quot;&gt;protected override void&lt;/span&gt; OnInit(&lt;span class=&quot;cSharpClass&quot;&gt;EventArgs&lt;/span&gt; e)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;selflink&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;span class=&quot;selflink&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class=&quot;cSharpKeyword&quot;&gt;base&lt;/span&gt;.OnInit(e);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;br /&gt;
&lt;span class=&quot;selflink&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;span class=&quot;selflink&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // No default styles&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class=&quot;cSharpKeyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;cSharpKeyword&quot;&gt;this&lt;/span&gt;.Zone != &lt;span class=&quot;cSharpKeyword&quot;&gt;null&lt;/span&gt; &amp;amp;&amp;amp; &lt;span class=&quot;cSharpKeyword&quot;&gt;this&lt;/span&gt;.Zone.WebPartChrome != &lt;span class=&quot;cSharpKeyword&quot;&gt;null&lt;/span&gt;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class=&quot;cSharpClass&quot;&gt;SPChromeSettings&lt;/span&gt; chromeSettings = ((&lt;span class=&quot;cSharpClass&quot;&gt;SPChrome&lt;/span&gt;)&lt;span class=&quot;cSharpKeyword&quot;&gt;this&lt;/span&gt;.Zone.WebPartChrome).GetSPChromeSettings(&lt;span class=&quot;cSharpKeyword&quot;&gt;this&lt;/span&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chromeSettings.UseDefaultStyles = &lt;span class=&quot;cSharpKeyword&quot;&gt;false&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
}&lt;/div&gt;</description><link>http://kduenke.blogspot.com/2011/02/remove-default-sharepoint-web-part-css.html</link><author>noreply@blogger.com (Kenny Duenke)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2902899147800241803.post-369394764982212996</guid><pubDate>Tue, 09 Nov 2010 05:20:00 +0000</pubDate><atom:updated>2010-11-11T16:08:03.305-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CoreResultsWebPart</category><category domain="http://www.blogger.com/atom/ns#">Crawled Properties</category><category domain="http://www.blogger.com/atom/ns#">Managed Properties</category><category domain="http://www.blogger.com/atom/ns#">Search</category><category domain="http://www.blogger.com/atom/ns#">SharePoint</category><category domain="http://www.blogger.com/atom/ns#">WebParts</category><title>Search Core Results Web Part Doesn&#39;t Display Managed Property</title><description>Everything is set up right.&amp;nbsp; I&#39;ve followed articles like &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms560074%28office.12%29.aspx&quot;&gt;this&lt;/a&gt;, or maybe &lt;a href=&quot;http://www.tautic.com/?p=27&quot;&gt;this&lt;/a&gt;.&amp;nbsp; I&#39;ve full crawled a million times, but I still can&#39;t get my managed property to display in the search core results web part.&lt;br /&gt;
&lt;br /&gt;
First, double check search is crawling your content properly.&amp;nbsp; Go to Search administration -&amp;gt; Metadata properties and click the name of your metadata property.&amp;nbsp; There&#39;s a section here labeled &#39;Content using this property&#39;.&amp;nbsp; &#39;Number of items found using this property&#39; obviously should not be zero.&amp;nbsp; If it is, take a look your managed property configurations.&amp;nbsp; Also, confirm you&#39;ve actually set the value somewhere in your site and, if in a publishing environment, make sure everything is published and approved.&lt;br /&gt;
&lt;br /&gt;
Second, go to the search box in the site and search for MetadataField:AValueYouKnowExists.&amp;nbsp; The results should be as expected.&amp;nbsp; Items with your MetadataField = AValueYouKnowExists should appear in the results.&lt;br /&gt;
&lt;br /&gt;
Lastly, double check the Search Core Results XSLT.&amp;nbsp; Make sure you&#39;ve got the proper &amp;lt;Column Name=&quot;MetadataField&quot;/&amp;gt; tag.&amp;nbsp; Also, make sure you&#39;re using the right metadata property name in the &amp;lt;xsl:value-of&amp;gt; tag.&amp;nbsp; This tag is case sensitive.&amp;nbsp; If you don&#39;t get the case right, it&#39;s not going to work.&amp;nbsp; The easiest way to check the case is to edit the Search Core Results web part and put &amp;lt;xmp&amp;gt;&amp;lt;xsl:copy-of select=&quot;*&quot;/&amp;gt;&amp;lt;/xmp&amp;gt; into the section labeled &amp;lt;xsl:template match=&quot;Result&quot;&amp;gt;.&amp;nbsp; This is going to display all the XML nodes and the values contained in the results.&amp;nbsp; Refresh your MetadataField:AValueYouKnowExists search and look for your metadata property.</description><link>http://kduenke.blogspot.com/2010/11/search-core-results-web-part-doesnt.html</link><author>noreply@blogger.com (Kenny Duenke)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2902899147800241803.post-3375229621937020883</guid><pubDate>Sat, 23 Oct 2010 20:29:00 +0000</pubDate><atom:updated>2010-10-23T15:33:53.386-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Absolute</category><category domain="http://www.blogger.com/atom/ns#">Navigation</category><category domain="http://www.blogger.com/atom/ns#">PortalSiteMapDataSource</category><category domain="http://www.blogger.com/atom/ns#">SharePoint</category><category domain="http://www.blogger.com/atom/ns#">SiteMapDataSource</category><title>Absolute Left-hand Navigation in Page Layouts</title><description>I&#39;ve chosen this topic because when I first received the requirement for this, I thought it&#39;d be tough or at the very least, messy.&amp;nbsp; It turned out to be extremely simple and clean.&lt;br /&gt;
&lt;br /&gt;
Business owner, &quot;When I&#39;m navigating my particular sub-site, I always want the left-hand navigation to begin with the first node in my sub-site.&amp;nbsp; This should always be the case no matter how deep I get in my sub-site.&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Example Site Structure:&lt;/u&gt;&lt;br /&gt;
Root Site Collection&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Busines Owner&#39;s Sub-Site&lt;br /&gt;
&amp;nbsp;&amp;nbsp; (Nav should begin here no matter which page we&#39;re actually on)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Pages &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A Lower Sub-Site&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Pages &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; An Even Lower Sub-Site&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pages&lt;br /&gt;
&lt;br /&gt;
To fulfill this requirement, it&#39;s merely a matter of configuring your SiteMapDataSource (or PortalSiteMapDataSource) properly.&amp;nbsp; We need to key on two properties, StartFromCurrentNode and StartingNodeOffset.&lt;br /&gt;
&lt;br /&gt;
In this case, we&#39;d want StartFromCurrentNode = false and StartingNodeOffset = 1.&amp;nbsp; The tells our SiteMapDataSource to always start at the Root Site Collection node then offset one node down.&lt;br /&gt;
&lt;br /&gt;
The only downfall I can see here is you&#39;re going to have to train the business owner to use the right page layouts, but they have probably already asked for special branding anyway.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;References:&lt;/u&gt;&lt;br /&gt;
&lt;a href=&quot;http://msdn.microsoft.com/EN-US/library/fyed9ks7&quot;&gt;SiteMapDataSource.StartFromCurrentNode&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://msdn.microsoft.com/EN-US/library/ahsf1c2d&quot;&gt;SiteMapDataSource.StartingNodeOffset&lt;/a&gt;</description><link>http://kduenke.blogspot.com/2010/10/absolute-left-hand-navigation-in-page.html</link><author>noreply@blogger.com (Kenny Duenke)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2902899147800241803.post-3199063433112936611</guid><pubDate>Wed, 20 Oct 2010 17:34:00 +0000</pubDate><atom:updated>2010-10-22T14:43:18.412-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Cache</category><category domain="http://www.blogger.com/atom/ns#">Deployment</category><category domain="http://www.blogger.com/atom/ns#">Feature</category><category domain="http://www.blogger.com/atom/ns#">Feature Receiver</category><category domain="http://www.blogger.com/atom/ns#">OWSTIMER</category><category domain="http://www.blogger.com/atom/ns#">Round Robin</category><category domain="http://www.blogger.com/atom/ns#">SharePoint</category><category domain="http://www.blogger.com/atom/ns#">Solution</category><title>OWSTIMER, Give Up Your Cache</title><description>Recently,&amp;nbsp;we&amp;nbsp;had&amp;nbsp;some struggles surrounding SharePoint solution deployment.&amp;nbsp; In our&amp;nbsp;farm (2 WFEs, 1 App, 1 DB), one of the WFEs consistently kept throwing errors when deploying my solution.&lt;br /&gt;
﻿﻿﻿ &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf7SyAODQBFK27BoTP9_rW1KrhtJFRdkSYdLOLFNq2wDeiLjdwJCHKBbdaL2ZwC5VpXl6wezUYCblUCDofHhZ805WWsNcVB0Dr5XSrnLHs0lWmgSrgp88R-IsTOwHtlLWtlWu0FYl-3o6v/s800/error.jpg&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; ex=&quot;true&quot; height=&quot;171&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4bU0w3Ay0e4QzJakA91AHqAScxhiHtmXHcSR-Dp2M_xOr4OAQpbuOzQwnRh447AlNo4sBDqCGivmllkWDyF_xQ0haM_8wtLRMQhNnWJWfguCqG1J8Y4jQ-dtYaLzbF3tSzmJbLmITLZWK/s400/error.jpg&quot; width=&quot;450&quot; /&gt;&lt;/a&gt;&lt;/div&gt;﻿﻿ &lt;br /&gt;
Always...two deployed fine, one failed.&amp;nbsp; Strangely, the failed server wasn&#39;t always the same.&amp;nbsp; At times, it even exhibited a sort of round-robin behavior.&amp;nbsp; First 4, next attempt 5, next attempt 3, then back to 4.&lt;br /&gt;
&lt;br /&gt;
I was not able to replicate this in my dev environment until, instead of deploying&amp;nbsp;the&amp;nbsp;solution via the Central Admin Application, I deployed it using the stsadm -o deploysolution command.&lt;br /&gt;
&lt;br /&gt;
The stsadm command clearly states &quot;Timer job successfully created,&quot; but upon checking the Central Admin Application for status I found&amp;nbsp;&quot;Error&quot;.&amp;nbsp; This pushed me to investigate the&amp;nbsp;Windows SharePoint Services Timer service and led me to believe it was&amp;nbsp;incorrectly caching something.&lt;br /&gt;
&lt;br /&gt;
I followed the steps highlighted in the resource articles and magic, it&#39;s fixed.&lt;br /&gt;
&lt;br /&gt;
For the record, I did delete the cache.ini file without problems.&amp;nbsp; Also, depending on if you&#39;re using Server 2003 or 2008, the cache files are in different places.&amp;nbsp; Just use the %ALLUSERSPROFILE% token in the address bar of Windows Explorer and you should be good to go after that (e.g. %ALLUSERSPROFILE%\Microsoft\SharePoint\Config).&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;References:&lt;/u&gt;&lt;br /&gt;
&lt;a href=&quot;http://jopx.blogspot.com/2008/01/clearing-sharepoint-configuration-cache.html&quot;&gt;Clearing the Sharepoint configuration cache (Joris Poelmans)&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://blogs.msdn.com/b/josrod/archive/2007/12/12/clear-the-sharepoint-configuration-cache-for-timer-job-and-psconfig-errors.aspx&quot;&gt;Clearing the SharePoint Configuration Cache (Joe Rodgers)&lt;/a&gt;</description><link>http://kduenke.blogspot.com/2010/10/owstimer-give-up-your-cache.html</link><author>noreply@blogger.com (Kenny Duenke)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4bU0w3Ay0e4QzJakA91AHqAScxhiHtmXHcSR-Dp2M_xOr4OAQpbuOzQwnRh447AlNo4sBDqCGivmllkWDyF_xQ0haM_8wtLRMQhNnWJWfguCqG1J8Y4jQ-dtYaLzbF3tSzmJbLmITLZWK/s72-c/error.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2902899147800241803.post-1530541446697353333</guid><pubDate>Mon, 11 Oct 2010 15:46:00 +0000</pubDate><atom:updated>2010-10-12T09:30:13.238-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Authentication</category><category domain="http://www.blogger.com/atom/ns#">Firefox</category><category domain="http://www.blogger.com/atom/ns#">Integrated</category><category domain="http://www.blogger.com/atom/ns#">Login</category><category domain="http://www.blogger.com/atom/ns#">NTLM</category><title>Tired of Logging into Firefox?</title><description>Typing in my username and password all day long&amp;nbsp;is tiresome.&amp;nbsp; IE offers nice NTLM integrated authetication functionality using Local Internet and Trusted Sites settings.&amp;nbsp; Wouldn&#39;t it be nice if you could do that with Firefox?&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Open Firefox.&lt;/li&gt;
&lt;li&gt;In the address bar, navigate to &#39;about:config&#39;.&lt;/li&gt;
&lt;li&gt;Filter the resulting&amp;nbsp;list&amp;nbsp;by &#39;network.automatic-ntlm-auth.trusted-uris&#39;.&lt;/li&gt;
&lt;li&gt;Change the value of&amp;nbsp;this variable&amp;nbsp;to&amp;nbsp;.company.com.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;u&gt;References:&lt;/u&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;a href=&quot;http://www.crossedconnections.org/w/?p=89&quot;&gt;NTLM Authentication in Firefox&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;</description><link>http://kduenke.blogspot.com/2010/10/tired-of-logging-into-firefox.html</link><author>noreply@blogger.com (Kenny Duenke)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2902899147800241803.post-7132041272361368400</guid><pubDate>Wed, 06 Oct 2010 02:04:00 +0000</pubDate><atom:updated>2011-02-11T14:46:57.237-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CoreResultsWebPart</category><category domain="http://www.blogger.com/atom/ns#">CSS</category><category domain="http://www.blogger.com/atom/ns#">DataViewWebPart</category><category domain="http://www.blogger.com/atom/ns#">DVWP</category><category domain="http://www.blogger.com/atom/ns#">SharePoint</category><category domain="http://www.blogger.com/atom/ns#">WebParts</category><title>Remove Default SharePoint Web Part CSS</title><description>&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;strong&gt;**UPDATE:&lt;/strong&gt; See &lt;a href=&quot;http://kduenke.blogspot.com/2011/02/remove-default-sharepoint-web-part-css.html&quot;&gt;this&lt;/a&gt; revision.&lt;br /&gt;
&lt;br /&gt;
It’s always been a struggle for me to style a web part in SharePoint because of the default Microsoft classes that get added (i.e. &lt;span class=&quot;x_cssselector&quot;&gt;.ms-WPBody a:link, .ms-WPBody a:visited, blah, blah, blah).&amp;nbsp; These stylings are annoying and difficult to override because they’re directly on the web part and sometimes replace general site CSS. &lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;Well…just turn them off.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;For the DataViewWebPart&lt;/span&gt;&lt;span class=&quot;x_cssselector&quot;&gt;... &lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;&amp;lt;SharePoint:DataFormWebPart runat=”server”&lt;/span&gt; &lt;b&gt;NoDefaultStyle=”true”&lt;/b&gt; &lt;span class=&quot;x_cssselector&quot;&gt;…&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;&amp;lt;/SharePoint:DataFormWebPart&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;(This also works for the CoreResultsWebPart as it’s essentially just a DVWP).&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;x_cssselector&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;If you&#39;re creating your own web part...&lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;cSharpKeyword&quot;&gt;public class&lt;/span&gt; &lt;span class=&quot;cSharpClass&quot;&gt;NoCssWebPart&lt;/span&gt; : &lt;span class=&quot;cSharpClass&quot;&gt;WebPart&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class=&quot;cSharpKeyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;x_cssselector&quot;&gt;NoCssWebPart()&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;cSharpKeyword&quot;&gt;this&lt;/span&gt;&lt;b&gt;.UseDefaultStyles = false;&lt;/b&gt; &lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;u&gt;&lt;span class=&quot;x_cssselector&quot;&gt;References:&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webpartpages.dataviewwebpart.nodefaultstyle%28v=office.14%29.aspx&quot;&gt;DataViewWebPart.NoDefaultStyle Property&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webpartpages.webpart.usedefaultstyles.aspx&quot;&gt;WebPart.UseDefaultStyles Property&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;x_MsoNormal&quot;&gt;&lt;span class=&quot;x_cssselector&quot;&gt;&lt;/span&gt;&lt;/div&gt;</description><link>http://kduenke.blogspot.com/2010/10/remove-default-sharepoint-web-part-css.html</link><author>noreply@blogger.com (Kenny Duenke)</author><thr:total>1</thr:total></item></channel></rss>