<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/"><channel><title>Mark Ferraz</title><link>http://mindsharpblogs.com/markf/</link><description /><managingEditor>Mark Ferraz</managingEditor><dc:language>en-US</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Mark Ferraz</dc:creator><title>Farm Global Delegate Control Feature Gotcha</title><link>http://mindsharpblogs.com/markf/archive/2008/08/31/8053.aspx</link><pubDate>Sun, 31 Aug 2008 14:03:00 GMT</pubDate><guid>http://mindsharpblogs.com/markf/archive/2008/08/31/8053.aspx</guid><wfw:comment>http://mindsharpblogs.com/markf/comments/8053.aspx</wfw:comment><comments>http://mindsharpblogs.com/markf/archive/2008/08/31/8053.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://mindsharpblogs.com/markf/comments/commentRss/8053.aspx</wfw:commentRss><trackback:ping>http://mindsharpblogs.com/markf/services/trackbacks/8053.aspx</trackback:ping><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri&gt;This post keys off an earlier post, entitled &lt;/FONT&gt;&lt;A href="http://mindsharpblogs.com/markf/archive/2008/03/12/4440.aspx"&gt;&lt;FONT face=Calibri&gt;Using a Delegate Control Feature to Reconfigure OOTB Site Definitions (aka, The AdditionalPageHead / PropertyBag Trick)&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; , where I discussed the use of delegate controls for the purpose of performing on-the-fly rolling configuration changes to sites over time. In that post, I was specifically referring to the use of delegate controls within the context of a specific site type or template, where the delegate control feature was stapled to that specific template. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Since then, I have expanded my use of delegate controls to include changes that need to be made across an entire farm. Along the way, I ran into the following issue:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;U&gt;&lt;FONT face=Calibri&gt;Issue Summary&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri&gt;When creating a meeting workspace from a new calendar event, the user is forwarded to a page where they pick the template for the new workspace. As it turns out, the new site they are creating has already been created as an &amp;#8220;Un- template-ed Site&amp;#8221;, which is basically a site which uses the &amp;#8220;STS&amp;#8221; WebTemplate with a Configuration value of &amp;#8220;-1&amp;#8221;. When a site is in this state, the user can use the template picker to select a template, and then the provisioning process will complete with the selected type/template site having been created. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri&gt;The problem was, in my case, the user was getting an access denied error when presented with the templatepicker.aspx page. Even providing them direct access via web app policy resulted in the selected template returning a variation on &amp;#8220;this site is already template, in order to re-template, please delete the site and start over&amp;#8221;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri&gt;As it turns out, the create a new meeting workspace via a new calendar event scenario actually passes the user&amp;#8217;s http request to the un- template-ed site which then forwards the user to the template picker. Prior to the forward, my global delegate control was performing some propertybag tagging of the SPWeb object. For whatever reason, this tagging activity was invalidating the un- template-ed state of the site, and consequently making the system think the site has already been template-ed.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;U&gt;&lt;FONT face=Calibri&gt;Resolution&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri&gt;In the end, the resolution was to detect the STS#-1 site within the code of my delegate control, and do nothing. Then when the template is selected and processed, and the WebTemplate#Configuration combination is updated, the code contained in the global delegate will fire and the processing will occur as intended.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri&gt;I&amp;#8217;m left wondering when, if and where else I might run into similar issues. Any feedback is much appreciated&amp;#8230;&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://mindsharpblogs.com/markf/aggbug/8053.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mark Ferraz</dc:creator><title>CopyUtil.aspx and CQWP "List Does Not Exist" Error</title><link>http://mindsharpblogs.com/markf/archive/2008/08/27/7885.aspx</link><pubDate>Wed, 27 Aug 2008 14:46:00 GMT</pubDate><guid>http://mindsharpblogs.com/markf/archive/2008/08/27/7885.aspx</guid><wfw:comment>http://mindsharpblogs.com/markf/comments/7885.aspx</wfw:comment><comments>http://mindsharpblogs.com/markf/archive/2008/08/27/7885.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://mindsharpblogs.com/markf/comments/commentRss/7885.aspx</wfw:commentRss><trackback:ping>http://mindsharpblogs.com/markf/services/trackbacks/7885.aspx</trackback:ping><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;Issue Summary:&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri&gt;When a user in any site collection attempts to add a CQWP to a page, and uses that webpart to render items from list type &amp;#8220;Announcements&amp;#8221; or &amp;#8220;Issues&amp;#8221;, the resulting list items are displayed, but produce a &amp;#8220;List Does Not Exist&amp;#8221; error when clicked.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;To understand why this happens, we need to better understand how the webpart is processing this request. If you look carefully, you will notice that rather than the webpart providing a direct link to each item, as would be expected, instead it provides a link to a _layouts page which hangs off the &amp;lt;Root&amp;gt; Site Collection for that Web Application, called &amp;#8220;CopyUtil.aspx&amp;#8221;. Further analysis indicates that this page receives the querystring parameters provided by the CQWP and does some processing in order to locate the proper site, web, list, and item, after which it forwards the user to that item&amp;#8217;s display form. As part of its processing, it does some security checks to ensure that the requesting user has what it known as &amp;#8220;Limited Access&amp;#8221;, which provides view access to specific list libraries such as the mater page and layouts gallery. The reason it does this is so that it can be sure the user will have the permissions needed to pull any needed master pages or layouts, etc. needed to view the target item. Interestingly enough, it doesn&amp;#8217;t perform these checks against those libraries in the target site, but rather the libraries which exist in the &amp;lt;Root&amp;gt; Site Collection. If the requesting user doesn&amp;#8217;t have access to those libraries, the call fails, returning the &amp;#8220;List Does Not Exist&amp;#8221; error as described above. Not so helpful, but this is how it works&amp;#8230;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;Forensic Analysis:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri&gt;As the problem was isolatable to the production environment, and could not be replicated in any development or&amp;nbsp;integration environments, we did some comparisons the production environments to see if we could reproduce it. The results of those tests, using testing site collections setup for this purpose indicated that the effect could not be reproduced. We consulted the database folks and had them recheck and compare the database permissions between those environments to ensure the proper application pool accounts had the needed content db access, and that the permissions were equivalent between the two environments. Everything checked out, and no differences could be identified. We then set our focus on the permissions of the root site collection itself, and discovered that if a specific test user was granted viewer rights to the root site collection, the effect was eliminated. After performing a detailed group by group analysis of the root site collection security for all environments, we were able to locate the primary causal discrepancy. The issue was related to the membership of an OOTB delivered site group called &amp;#8220;Style Resource Users&amp;#8221;. This is a limited access group that ships with the site collection. When a new site is created, this group comes with &amp;#8220;All NT Authenticated Users&amp;#8221;, however this can be optionally removed to further secure (or in our case, break) the environment. Based on our assessment, it appears whoever setup the root site collections elected to futrhur secure these sites in this fashion by removing the group.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;Resolution:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri&gt;As a single unit test, we were able to temporarily add NT Auth Users to the group and verify that:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;A)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;The Problem was resolved&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;B)&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;The user still received an &amp;#8220;Access Denied&amp;#8221; when visiting the root site collection directly&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;Recommendation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri&gt;It is recommended that the membership of the &amp;#8220;Style Resource Users&amp;#8221; group be audited in all root site collections in all web application in all production environments, to ensure that NT Auth Users is present, and all other user accounts or group have been removed. After this change, which is in alignment with the design and the automation, the above error should no longer be present.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri&gt;Please let me know if there are any questions. Thanks!&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://mindsharpblogs.com/markf/aggbug/7885.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mark Ferraz</dc:creator><title>Blogging, Writing, Speaking, and such...</title><link>http://mindsharpblogs.com/markf/archive/2008/08/21/7608.aspx</link><pubDate>Thu, 21 Aug 2008 10:07:00 GMT</pubDate><guid>http://mindsharpblogs.com/markf/archive/2008/08/21/7608.aspx</guid><wfw:comment>http://mindsharpblogs.com/markf/comments/7608.aspx</wfw:comment><comments>http://mindsharpblogs.com/markf/archive/2008/08/21/7608.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://mindsharpblogs.com/markf/comments/commentRss/7608.aspx</wfw:commentRss><trackback:ping>http://mindsharpblogs.com/markf/services/trackbacks/7608.aspx</trackback:ping><description>&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;With the whirlwind of activity surrounding the recent release of our new book, &lt;A href="http://www.amazon.com/Microsoft-Office-SharePoint-Server-Practices/dp/0735625387"&gt;&lt;FONT color=#0000ff&gt;Office SharePoint Server 2007 Best Practices&lt;/FONT&gt;&lt;/A&gt;, as well as the time it took to write it, I haven't been able to blog much lately. But now that the book is out, and I have my presentations prepared to the upcoming 1st Annual &lt;A href="http://www.sharepointbestpractices.com/"&gt;&lt;FONT color=#0000ff&gt;SharePoint Best Practices Conference&lt;/FONT&gt;&lt;/A&gt;, I'm ready to get back to blogging and contributing to the community online. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;I'd like to thank all my friends at Mindsharp, Microsoft, and Chevron for all your support over the past 2 years. Working within the SharePoint community has and continues to be very rewarding. Having been approached recently by my friends from Microsoft regarding my interest in becoming a SharePoint MVP, I wanted to craft this post as a means of providing a brief rundown of what all I have been up too, and what I have planned for the remainder of the year.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri&gt;In the past two years, I have been involved in the following major projects and presentations:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;Technical Development Lead, SharePoint Service, Chevron (One of the largest Office SharePoint Server 2007 deployments)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;Contributing Author, &lt;/FONT&gt;&lt;A href="http://www.amazon.com/Microsoft-Office-SharePoint-Server-Practices/dp/0735625387"&gt;&lt;FONT face=Calibri color=#0000ff&gt;Office SharePoint Server 2007 Best Practices&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;, Microsoft Press (Curry &amp;amp; English, 2008)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;Houston SharePoint Users Group, Chevron Project Lessons Learned (Q&amp;amp;A Panel)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;Mindsharp Blogs (when and where I could from a IP standpoint and while writing the book with Ben and Bill)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri&gt;My planned community involvement for the remainder of the year (so far):&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;Presenting 3 Sessions at the 1&lt;SUP&gt;st&lt;/SUP&gt; Annual &lt;/FONT&gt;&lt;A href="http://www.sharepointbestpractices.com/"&gt;&lt;FONT face=Calibri color=#0000ff&gt;SharePoint Best Practices Conference&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; in Washington DC&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;o&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;Developing an Information Architecture&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;o&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;Optimizing Information Security (IT Pro)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;o&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;Team Development for Delivering Complex SharePoint Projects&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;In the scheduling stage to deliver the last of the above three presentations for the following user groups:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;o&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;Chevron SharePoint Users Community&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;o&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;Phoenix SharePoint Users Group&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-add-space: auto; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;o&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;Houston SharePoint Users Group&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri&gt;I&amp;#8217;m also in the process of looking for some opportunities and contacts regarding additional opportunities at conferences, radio shows, podcasts, and publications. My focus through the end of the year will be on team development for SharePoint, with a specific focus on how a team can leverage MSF, ALM, and VSTS to lay the foundation needed for delivering successful project and product/service outcomes.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri&gt;If anyone has any ideas, thoughts, or feedback, please feel free to reach out to me via email: &lt;/FONT&gt;&lt;A href="mailto:mark@solutionsmark.com"&gt;&lt;FONT face=Calibri color=#0000ff&gt;mark@solutionsmark.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://mindsharpblogs.com/markf/aggbug/7608.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mark Ferraz</dc:creator><title>F5 and SharePoint HTTP to HTTPS Redirect "Gotcha"</title><link>http://mindsharpblogs.com/markf/archive/2008/03/14/4445.aspx</link><pubDate>Fri, 14 Mar 2008 02:06:00 GMT</pubDate><guid>http://mindsharpblogs.com/markf/archive/2008/03/14/4445.aspx</guid><wfw:comment>http://mindsharpblogs.com/markf/comments/4445.aspx</wfw:comment><comments>http://mindsharpblogs.com/markf/archive/2008/03/14/4445.aspx#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://mindsharpblogs.com/markf/comments/commentRss/4445.aspx</wfw:commentRss><trackback:ping>http://mindsharpblogs.com/markf/services/trackbacks/4445.aspx</trackback:ping><description>&lt;P&gt;&lt;FONT face=Verdana&gt;Let's assume that you have a medium sized SharePoint Server 2007 farm with&amp;nbsp;two WFEs&amp;nbsp;behind an F5 &amp;#8220;BIG IP&amp;#8221; LTM.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;The host name for each configured web application resolves to the Virtual IP (VIP) on the F5, which in turn performs it's sophisticated load balancing function and routes the traffic to one of the two designated WFEs for processing.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;Naturally, you would visited F5's web site and followed &lt;/FONT&gt;&lt;A href="http://www.f5.com/pdf/deployment-guides/f5-sharepoint07-dg.pdf" target=_blank&gt;&lt;FONT face=Verdana&gt;&lt;STRONG&gt;this deployment guide&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana&gt; when creating your configuration profile and HTTP pool. And would assume that all is well, right? Well, mostly, but maybe not...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;During testing, you begin to notice that some requests are getting dumped on the HTTP response, which is causing the browser to provide a 404 error. After some investigation, you realize that this abnormality only occurs under very specific, yet obscure, conditions. In my case, I had a custom SharePoint feature which included a WebContol which was loading as a CustomAction in the document library list ViewToolbar. This WebControl performed some configuration settings adjustments similar to those described in my post entitled &lt;/FONT&gt;&lt;A href="http://mindsharpblogs.com/MarkF/archive/2008/03/12/4440.aspx" target=_blank&gt;&lt;FONT face=Verdana&gt;&lt;STRONG&gt;&amp;#8220;Using a Delegate Control Feature to Reconfigure OOTB Site Definitions&amp;#8220;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana&gt;. Upon completing the execution of the changes included in my class, I tagged the list to avoid future re-execution of that passage, and performed a page redirect to reload the page&amp;nbsp;so the user would see the new settings. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;This is where things got very interesting...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;It turns out that I only had the browser 404 when the request traffic was flowing through the F5 LTM. If I set a local host entry on the client, my WebControl would do it's work, reload the page, and everything was just fine. Even more perplexing was the fact that with the custom feature de-activated, initial list library loads flowing through the F5 occurred without error as well. Very strange indeed...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;So,&amp;nbsp;a few&amp;nbsp;fine colleagues and I began the lengthy process of sniffing the traffic using Net Mon on both the client and the server in order to find out exactly what was happening. What we found was both slightly confusing, and very unexpected. To set this up, let's go back to the F5 Deployment guide I referenced earlier. In section 1-8, the guide lays out the steps for creating the HTTP pool. Step 6 states:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P align=left&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=1&gt;&lt;FONT size=3&gt;&lt;STRONG&gt;6. In the Settings section, check the Custom box for &lt;/STRONG&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Redirect Rewrite&lt;/FONT&gt;, and from the Redirect Rewrite list, select &lt;FONT color=#ff0000&gt;Match&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;ing&lt;/FONT&gt;.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;Well, it turns out that Redirect Rewrite is an interesting little feature indeed. &lt;/FONT&gt;&lt;A href="https://support.f5.com/kb/en-us/solutions/public/6000/900/sol6912.html?sr=420534" target=_blank&gt;&lt;FONT face=Verdana&gt;&lt;STRONG&gt;SOL9612&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana&gt; on the F5 support site (requires registration) describes the specifics of this setting, which is so quickly passed over in the deployment guide it isn't even funny. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;Basically, when a requested URI does not include a trailing slash (a forward slash, such as &lt;STRONG&gt;/&lt;/STRONG&gt;, at the end of the URI), some web servers generate a courtesy redirect. That sounds like an OK thing, right? Sure, but guess what, and this is the &amp;#8220;Gottcha&amp;#8220;...&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face=Verdana&gt;In BIG-IP LTM version 9.x you can configure an HTTP profile to rewrite URLs so that redirects from an HTTP server specify the HTTPS protocol.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;Whoa, what just a minute! That doesn't even sound like the same feature. how did we go from slashes to protocol redirection. Hmmmm.... As it turns out, the &lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Redirect Rewrite&lt;/FONT&gt;&lt;/STRONG&gt; options available are as follows: &lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;Choose &lt;STRONG&gt;All&lt;/STRONG&gt; to rewrite any HTTP 301, 302, 303, 305, or 307 redirects to HTTPS&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;Choose &lt;STRONG&gt;Matching&lt;/STRONG&gt; to rewrite redirects when the path and query URI components of the request and the redirect are identical (except for the trailing slash)&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;Choose &lt;STRONG&gt;Node&lt;/STRONG&gt; to rewrite redirects when the redirect URI contains a node IP address instead of a host name, and you want the system to change it to the virtual server address&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;So, basically, if we follow the settings recommendations included within the deployment guide referenced above, we inadvertently setup the F5 in such a way that any &lt;EM&gt;&lt;STRONG&gt;redirect&lt;/STRONG&gt;&lt;/EM&gt; with a &lt;EM&gt;&lt;STRONG&gt;matching&lt;/STRONG&gt;&lt;/EM&gt; referrer, such as the one I had placed in my WebControl, will cause the &lt;STRONG&gt;HTTP&lt;/STRONG&gt; response coming from the WFE to be &lt;EM&gt;&lt;STRONG&gt;rewritten&lt;/STRONG&gt;&lt;/EM&gt; by the F5 as an &lt;STRONG&gt;HTTPS&lt;/STRONG&gt; response... as a&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;courtesy&lt;/EM&gt;&lt;/STRONG&gt;, of course :)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;Ok, back to the deployment guide one more time... Above the step by step in section 1-8, there is a short disclaimer as well as a note&amp;nbsp;written in italics. These state the following:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;&lt;B&gt;&lt;I&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;Important: &lt;/FONT&gt;&lt;/B&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;If you are using the WebAccelerator module, we recommend you configure an HTTP profile based off of the default HTTP profile, and only change the &lt;/FONT&gt;&lt;B&gt;&lt;FONT size=2&gt;&lt;FONT color=#ff0000&gt;Redirect Rewrite&lt;/FONT&gt; &lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;option to &lt;/FONT&gt;&lt;B&gt;&lt;FONT size=2&gt;&lt;FONT color=#ff0000&gt;Match&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;. Any other settings in this case are optional.&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face=Verdana size=2&gt;-and-&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size=2&gt;&lt;I&gt;&lt;FONT size=2&gt;
&lt;P align=left&gt;&lt;FONT face=Verdana&gt;The following procedure shows one way to optimize the Microsoft SharePoint 2007 configuration that has been tested in real-world scenarios by F5, and shown to give the greatest improvement. These&amp;nbsp; procedures and the specific values given in some steps should be used as guidelines, modify them as applicable to your configuration.&lt;/FONT&gt;&lt;/P&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;So, what the fine print is really saying here is:&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT face=Verdana&gt;If we are using the WebAccelerator module, we should &lt;FONT color=#000000&gt;&lt;STRONG&gt;NOT&lt;/STRONG&gt;&lt;/FONT&gt; set the &lt;STRONG&gt;Redirect Rewrite&lt;/STRONG&gt; options to &lt;STRONG&gt;Matching&lt;/STRONG&gt;, but rather set it to &lt;STRONG&gt;Match&lt;/STRONG&gt;, which interestingly enough is not a listed option in the above referenced support article on the F5 support site, nor (as is the case with all the options for this setting) is it listed or explained anywhere in the deployment guide.&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Verdana&gt;These settings, including step 6, and their specific recommended values should be used (&lt;STRONG&gt;&lt;EM&gt;only&lt;/EM&gt;&lt;/STRONG&gt;) as &lt;STRONG&gt;guidelines&lt;/STRONG&gt;, and &lt;STRONG&gt;may&lt;/STRONG&gt; &lt;STRONG&gt;require modification&lt;/STRONG&gt; in your environment.&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;Well, in the case of a SharePoint implementation, while I can see some value in the whole trailing slash detection thing, I can't see many cases where I would want HTTP traffic being converted into HTTPS traffic, at least not in this case. Upon changing the &lt;STRONG&gt;Redirect Rewrite&lt;/STRONG&gt; setting to &lt;STRONG&gt;None&lt;/STRONG&gt;, everything works fine again and the browser errors disappear (&lt;STRONG&gt;&lt;EM&gt;&lt;FONT color=#800080&gt;magic!&lt;/FONT&gt;&lt;/EM&gt;&lt;/STRONG&gt;). &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;On a side note, I think it is worth mentioning that if you are doing development of custom components for your SharePoint implementation, and you plan on using an F5 LTM, you might want to avoid performing redirects, especially in cases where you are simply trying to reload the current page for the user. Although, hopefully you find this post first, and simply adjust the settings to resolve the issue entirely.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;-Mark&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;Please feel free to send any thoughts, comments, or questions to &lt;/FONT&gt;&lt;A href="http://mindsharpblogs.com/markf/admin/mailtmark@solutionsmark.com"&gt;&lt;FONT face=Verdana color=#0000ff&gt;mark@solutionsmark.com&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://mindsharpblogs.com/markf/aggbug/4445.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>