<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" 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:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>LifeCycle Solutions, LLC - Weblog - SharePoint</title>
    <link>http://blog.lifecycle-solutions.com/</link>
    <description>Technical Writing</description>
    <language>en-us</language>
    <copyright>LifeCycle Solutions, LLC</copyright>
    <lastBuildDate>Thu, 06 May 2010 18:59:48 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.2.8279.16125</generator>
    <managingEditor>info@lifecycle-solutions.com</managingEditor>
    <webMaster>info@lifecycle-solutions.com</webMaster>
    <item>
      <trackback:ping>http://blog.lifecycle-solutions.com/Trackback.aspx?guid=88ed8e4a-40b2-42d7-ba41-4117353d7b07</trackback:ping>
      <pingback:server>http://blog.lifecycle-solutions.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.lifecycle-solutions.com/PermaLink,guid,88ed8e4a-40b2-42d7-ba41-4117353d7b07.aspx</pingback:target>
      <dc:creator>Daniel Root</dc:creator>
      <wfw:comment>http://blog.lifecycle-solutions.com/CommentView,guid,88ed8e4a-40b2-42d7-ba41-4117353d7b07.aspx</wfw:comment>
      <wfw:commentRss>http://blog.lifecycle-solutions.com/SyndicationService.asmx/GetEntryCommentsRss?guid=88ed8e4a-40b2-42d7-ba41-4117353d7b07</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
SharePoint 2010 has fairly rich Web Analytics and usage reporting functionality. 
You can see plenty of useful stats and charts across your farm.  However, at
farm level, it’s missing an important feature – email subscriptions.  In site
collection admin, you can subscribe to stats for a given site collection, but in Central
Admin (AFAIK), you can’t set up email subscriptions on the overall farm stats, or
stats for an entire web app.
</p>
        <p>
Hopefully, this feature will be added in the future, but as a quick fix, I whipped
together a wonderful hack that can be used to scrape-and-send just about any of the
reports- or other content as well.
</p>
        <div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
          <div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">$wc = <span style="color: #0000ff">new</span>-<span style="color: #0000ff">object</span> net.webclient</pre>
            <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">$cred = [System.Net.CredentialCache]::DefaultCredentials;</pre>
            <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">$wc.Credentials = $cred</pre>
            <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">$reportMarkup = $wc.DownloadString(<span style="color: #006080">"http://yourcentraladmin/_layouts/WebAnalytics/Report.aspx?t=SummaryReport&amp;l=wa&amp;Id=http%3a%2f%2fyourserver%2f&amp;WebAppName=YourWebApp&amp;DURATION=7&amp;CD=false&amp;SHOWANALYZETAB=1"</span>)</pre>
            <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">$reportStart = $reportMarkup.IndexOf(<span style="color: #006080">'&lt;table
class="ms-listviewtable"'</span>)</pre>
            <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">$reportEnd = $reportMarkup.IndexOf(<span style="color: #006080">'&lt;/table&gt;'</span>,
$reportStart) + 8</pre>
            <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">$reportMarkup = $reportMarkup.Substring($reportStart, $reportEnd - $reportStart)</pre>
            <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">Send-MailMessage -To you@yourcompany.com -From sharepoint@yourcompany.com -Subject <span style="color: #006080">"Web
Analytics"</span> -Body $reportMarkup -BodyAsHtml -SmtpServer smtpiron</pre>
          </div>
        </div>
        <p>
This script just downloads the page, scrapes the relevant area, and sends it off as
email.  To use, you’ll need to fix up the url, scraping code, and mail addresses
as needed, then schedule in scheduled tasks.
</p>
        <p>
With a little more effort, you could even scrape together an ‘admin’ report to give
you a quick glance at the most relevant Central Admin content such as health, analytics,
and search crawl info.
</p>
        <img width="0" height="0" src="http://blog.lifecycle-solutions.com/aggbug.ashx?id=88ed8e4a-40b2-42d7-ba41-4117353d7b07" />
      </body>
      <title>SharePoint 2010 PowerShell Kung-Fu: Email Farm Web Analytics</title>
      <guid isPermaLink="false">http://blog.lifecycle-solutions.com/PermaLink,guid,88ed8e4a-40b2-42d7-ba41-4117353d7b07.aspx</guid>
      <link>http://blog.lifecycle-solutions.com/2010/05/06/SharePoint2010PowerShellKungFuEmailFarmWebAnalytics.aspx</link>
      <pubDate>Thu, 06 May 2010 18:59:48 GMT</pubDate>
      <description>&lt;p&gt;
SharePoint 2010 has fairly rich Web Analytics and usage reporting functionality.&amp;#160;
You can see plenty of useful stats and charts across your farm.&amp;#160; However, at
farm level, it’s missing an important feature – email subscriptions.&amp;#160; In site
collection admin, you can subscribe to stats for a given site collection, but in Central
Admin (AFAIK), you can’t set up email subscriptions on the overall farm stats, or
stats for an entire web app.
&lt;/p&gt;
&lt;p&gt;
Hopefully, this feature will be added in the future, but as a quick fix, I whipped
together a wonderful hack that can be used to scrape-and-send just about any of the
reports- or other content as well.
&lt;/p&gt;
&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;$wc = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt;-&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; net.webclient&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;$cred = [System.Net.CredentialCache]::DefaultCredentials;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;$wc.Credentials = $cred&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;#160;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;$reportMarkup = $wc.DownloadString(&lt;span style="color: #006080"&gt;&amp;quot;http://yourcentraladmin/_layouts/WebAnalytics/Report.aspx?t=SummaryReport&amp;amp;l=wa&amp;amp;Id=http%3a%2f%2fyourserver%2f&amp;amp;WebAppName=YourWebApp&amp;amp;DURATION=7&amp;amp;CD=false&amp;amp;SHOWANALYZETAB=1&amp;quot;&lt;/span&gt;)&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;$reportStart = $reportMarkup.IndexOf(&lt;span style="color: #006080"&gt;'&amp;lt;table
class=&amp;quot;ms-listviewtable&amp;quot;'&lt;/span&gt;)&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;$reportEnd = $reportMarkup.IndexOf(&lt;span style="color: #006080"&gt;'&amp;lt;/table&amp;gt;'&lt;/span&gt;,
$reportStart) + 8&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;$reportMarkup = $reportMarkup.Substring($reportStart, $reportEnd - $reportStart)&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;#160;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;Send-MailMessage -To you@yourcompany.com -From sharepoint@yourcompany.com -Subject &lt;span style="color: #006080"&gt;&amp;quot;Web
Analytics&amp;quot;&lt;/span&gt; -Body $reportMarkup -BodyAsHtml -SmtpServer smtpiron&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
This script just downloads the page, scrapes the relevant area, and sends it off as
email.&amp;#160; To use, you’ll need to fix up the url, scraping code, and mail addresses
as needed, then schedule in scheduled tasks.
&lt;/p&gt;
&lt;p&gt;
With a little more effort, you could even scrape together an ‘admin’ report to give
you a quick glance at the most relevant Central Admin content such as health, analytics,
and search crawl info.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.lifecycle-solutions.com/aggbug.ashx?id=88ed8e4a-40b2-42d7-ba41-4117353d7b07" /&gt;</description>
      <comments>http://blog.lifecycle-solutions.com/CommentView,guid,88ed8e4a-40b2-42d7-ba41-4117353d7b07.aspx</comments>
      <category>PowerShell</category>
      <category>SharePoint</category>
    </item>
    <item>
      <trackback:ping>http://blog.lifecycle-solutions.com/Trackback.aspx?guid=e34d4433-2bac-47c2-b834-ab39412e827e</trackback:ping>
      <pingback:server>http://blog.lifecycle-solutions.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.lifecycle-solutions.com/PermaLink,guid,e34d4433-2bac-47c2-b834-ab39412e827e.aspx</pingback:target>
      <dc:creator>Ron Taylor</dc:creator>
      <wfw:comment>http://blog.lifecycle-solutions.com/CommentView,guid,e34d4433-2bac-47c2-b834-ab39412e827e.aspx</wfw:comment>
      <wfw:commentRss>http://blog.lifecycle-solutions.com/SyndicationService.asmx/GetEntryCommentsRss?guid=e34d4433-2bac-47c2-b834-ab39412e827e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We recently ran into an issue concernig an Automatic Security update for Windows 2003
and WSS 3.0.  The customer's SharePoint site became inoperative and displayed
a 'Cannot connect to the configuration database' error.  The server Application
Log showed a Windows SharePoint Services error of 'Unkown SQL Exception 33002' - 'Access
to module dbo.proc_getObjectsByClass is blocked because the signature is not valid.' 
Turns out that this was caused by a security update for Windows SharePoint 3.0 reference
KB934525.  If this patch is applied you have to run psconfig -cmd upgrade -inplace
b2b. This utility can found under Program Files\Common Files\Microsoft Shared\Web
Server Extensions\12\Bin .  Please reference KB934525.
</p>
        <p>
 
</p>
        <p>
Ron
</p>
        <img width="0" height="0" src="http://blog.lifecycle-solutions.com/aggbug.ashx?id=e34d4433-2bac-47c2-b834-ab39412e827e" />
      </body>
      <title>SharePoint 3.0 and Microsoft Security Updates</title>
      <guid isPermaLink="false">http://blog.lifecycle-solutions.com/PermaLink,guid,e34d4433-2bac-47c2-b834-ab39412e827e.aspx</guid>
      <link>http://blog.lifecycle-solutions.com/2007/10/31/SharePoint30AndMicrosoftSecurityUpdates.aspx</link>
      <pubDate>Wed, 31 Oct 2007 13:30:23 GMT</pubDate>
      <description>&lt;p&gt;
We recently ran into an issue concernig an Automatic Security update for Windows 2003
and WSS 3.0.&amp;nbsp; The customer's SharePoint site became inoperative and displayed
a 'Cannot connect to the configuration database' error.&amp;nbsp; The server Application
Log showed a Windows SharePoint Services error of 'Unkown SQL Exception 33002' - 'Access
to module dbo.proc_getObjectsByClass is blocked because the signature is not valid.'&amp;nbsp;
Turns out that this was caused by a security update for Windows SharePoint 3.0 reference
KB934525.&amp;nbsp; If this patch is applied you have to run psconfig -cmd upgrade -inplace
b2b. This utility can found under Program Files\Common Files\Microsoft Shared\Web
Server Extensions\12\Bin .&amp;nbsp; Please reference KB934525.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Ron
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.lifecycle-solutions.com/aggbug.ashx?id=e34d4433-2bac-47c2-b834-ab39412e827e" /&gt;</description>
      <comments>http://blog.lifecycle-solutions.com/CommentView,guid,e34d4433-2bac-47c2-b834-ab39412e827e.aspx</comments>
      <category>SharePoint</category>
    </item>
    <item>
      <trackback:ping>http://blog.lifecycle-solutions.com/Trackback.aspx?guid=8d6d1172-0b55-4e37-96e0-9aaa7f0655ab</trackback:ping>
      <pingback:server>http://blog.lifecycle-solutions.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.lifecycle-solutions.com/PermaLink,guid,8d6d1172-0b55-4e37-96e0-9aaa7f0655ab.aspx</pingback:target>
      <dc:creator>Brian Parks</dc:creator>
      <wfw:comment>http://blog.lifecycle-solutions.com/CommentView,guid,8d6d1172-0b55-4e37-96e0-9aaa7f0655ab.aspx</wfw:comment>
      <wfw:commentRss>http://blog.lifecycle-solutions.com/SyndicationService.asmx/GetEntryCommentsRss?guid=8d6d1172-0b55-4e37-96e0-9aaa7f0655ab</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Microsoft Office SharePoint Server 2007 utilizes the "master page" concept familiar
to ASP.NET 2.0 developers -- a big improvement in the latest SharePoint release. 
Developers wishing to create a custom look and feel for a SharePoint site will probably
first open <a href="http://office.microsoft.com/en-us/sharepointdesigner/FX100487631033.aspx">SharePoint
Designer</a> and begin dissecting, changing and discarding parts of the default
master page ("default.master"); however, it doesn't take long to discover that this
is not a trivial process and that removing the wrong ContentPlaceHolder tags renders
some of the default pages inoperable.  This is due to the fact that pages inherting
the "default" master page expect certain ContentPlaceHolder tags to be available in
the base page.<br />
Microsoft has published a <a href="http://msdn2.microsoft.com/en-us/library/aa660698.aspx">How-To </a>document
with a code sample that provides a minimal master page which contains all the basic
pieces need to have a functioning site.  While this code snippet is a good start,
it appears that MS left out the following ContentPlaceHolders:<br /><br /><font size="2"><font face="Courier New">&lt;asp:ContentPlaceHolder ID="PlaceHolderBodyRightMargin"
runat="server"/&gt;<br />
&lt;asp:ContentPlaceHolder ID="PlaceHolderTitleRightMargin" runat="server"/&gt;</font><br /></font><br />
If you experience error messages with the standard SharePoint pages after using the
"minimal" template, try adding these placeholders. 
</p>
        <img width="0" height="0" src="http://blog.lifecycle-solutions.com/aggbug.ashx?id=8d6d1172-0b55-4e37-96e0-9aaa7f0655ab" />
      </body>
      <title>Creating a Basic MasterPage for SharePoint 2007</title>
      <guid isPermaLink="false">http://blog.lifecycle-solutions.com/PermaLink,guid,8d6d1172-0b55-4e37-96e0-9aaa7f0655ab.aspx</guid>
      <link>http://blog.lifecycle-solutions.com/2007/01/27/CreatingABasicMasterPageForSharePoint2007.aspx</link>
      <pubDate>Sat, 27 Jan 2007 05:41:49 GMT</pubDate>
      <description>&lt;p&gt;
Microsoft Office SharePoint Server 2007 utilizes the "master page" concept familiar
to ASP.NET 2.0 developers -- a big improvement in the latest SharePoint release.&amp;nbsp;
Developers wishing to create a custom look and feel for a SharePoint site will probably
first open &lt;a href="http://office.microsoft.com/en-us/sharepointdesigner/FX100487631033.aspx"&gt;SharePoint
Designer&lt;/a&gt;&amp;nbsp;and begin dissecting, changing and discarding parts of the default
master page ("default.master"); however, it doesn't take long to discover that this
is not a trivial process and that removing the wrong ContentPlaceHolder tags renders
some of the default pages inoperable.&amp;nbsp; This is due to the fact that pages inherting
the "default" master page expect certain ContentPlaceHolder tags to be available in
the base page.&lt;br&gt;
Microsoft has published a &lt;a href="http://msdn2.microsoft.com/en-us/library/aa660698.aspx"&gt;How-To &lt;/a&gt;document
with a code sample that provides a minimal master page which contains all the basic
pieces need to have a functioning site.&amp;nbsp; While this code snippet is a good start,
it appears that MS left out the following ContentPlaceHolders:&lt;br&gt;
&lt;br&gt;
&lt;font size=2&gt;&lt;font face="Courier New"&gt;&amp;lt;asp:ContentPlaceHolder ID="PlaceHolderBodyRightMargin"
runat="server"/&amp;gt;&lt;br&gt;
&amp;lt;asp:ContentPlaceHolder ID="PlaceHolderTitleRightMargin" runat="server"/&amp;gt;&lt;/font&gt;
&lt;br&gt;
&lt;/font&gt;
&lt;br&gt;
If you experience error messages with the standard SharePoint pages after using the
"minimal" template, try adding these placeholders.&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.lifecycle-solutions.com/aggbug.ashx?id=8d6d1172-0b55-4e37-96e0-9aaa7f0655ab" /&gt;</description>
      <comments>http://blog.lifecycle-solutions.com/CommentView,guid,8d6d1172-0b55-4e37-96e0-9aaa7f0655ab.aspx</comments>
      <category>SharePoint</category>
    </item>
  </channel>
</rss>