<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">The Office SharePoint Server Experience</title><subtitle type="html" /><id>http://blogs.technet.com/apurdon/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.technet.com/apurdon/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.technet.com/apurdon/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2008-01-30T23:37:00Z</updated><entry><title>The mystery that is SPWebProvisioningProvider</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/apurdon/archive/2008/02/05/the-mystery-that-is-spwebprovisioningprovider.aspx" /><id>http://blogs.technet.com/apurdon/archive/2008/02/05/the-mystery-that-is-spwebprovisioningprovider.aspx</id><published>2008-02-05T07:23:51Z</published><updated>2008-02-05T07:23:51Z</updated><content type="html">&lt;h5&gt;A little bit of background ( or a lot )&lt;/h5&gt; &lt;p&gt;The SPWebProvisioningProvider lets you take control of the SPWeb (Web site) or SPSite (Site Collection) that your are provisioning. Instead of just using a Site Template and the changes that can be applied through a Site Template you can add your own custom code to the solution.&lt;/p&gt; &lt;p&gt;What you need to get started with this process:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;WebTemp&amp;lt;Name&amp;gt;.XML - Your own customised WebTemp.xml file which will define the Site Templates that are available.  &lt;li&gt;A Site Template folder containing all of the files required to apply the Site Definition (at least onet.xml and default.aspx)  &lt;li&gt;Visual Studio 2005 to build the custom Provisioning Provider&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;To give you an example of what can be done you can take a look at the OOB Collaboration Portal that is shipped with MOSS 2007, we use the SPWebProvisioningProvider for the Portal templates. The Portal Templates contain all of the files listed previously - webtempsps.xml, a few site templates (SPS, SPSNHOME, SPSSITES, SRCHCEN, BDR, etc) and the visual studio code is already compiled into the Microsoft.SharePoint.Publishing dll.&lt;/p&gt; &lt;p&gt;If we look at webtempsps.xml this defines what templates will be shown to a user when they create a site or site collection. If you look through the xml file you will notice that there are only a few of the Templates that will be shown (Hidden = FALSE). We can then filter this down further:&lt;/p&gt; &lt;p&gt;Publishing Portal, Collaboration Portal and My Site Host will be shown only when creating a site collection as they have the attribute RootWebOnly = TRUE&lt;/p&gt; &lt;p&gt;Personalization Site, Publishing Site, Publishing Site with Workflow, and News Site will be shown only when creating subsites as they have the attribute SubWebOnly = TRUE&lt;/p&gt; &lt;p&gt;Site Directory, Report Center and Search Center with Tabs will be shown as options when creating Site Collections or subsites as they do not define either attribute (RootWebOnly or SubWebOnly).&lt;/p&gt; &lt;p&gt;The usual practice when building your webtemp file is that the Template Name attribute matches the folder name of one of the site templates. You will notice that for the Collaboration Portal (SPSPortal) and Publishing Portal (BLANKINTERNETCONTAINER) neither of these folders exist in the web server extensions\12\template\sitetemplates, there is a good reason for this which I'll mention at the end. The two templates are provisioned via the SPWebProvisioningProvider and you can see this in webtemp via the configuration attributes ProvisionAssembly, ProvisionClass and ProvisionData.&lt;/p&gt; &lt;p&gt;ProvisionAssembly tells SharePoint which assembly to load and which class to start in. This class needs to inherit from SPWebProvisioningProvider and override the Provision function.&lt;/p&gt; &lt;h5&gt;Putting it together&lt;/h5&gt; &lt;p&gt;After such a long description I thought it would be a good idea to put a small sample together so that you can walk through this and see first hand how this works. The sample will create a team site template that you can use for a new site collection with Auditing enabled.&lt;/p&gt; &lt;p&gt;1. Build a .Net C# Class Library (EnableAudit.dll) and add the following code&lt;br&gt;&lt;br&gt;// SharePoint Specific Assemblies&lt;br&gt;using Microsoft.SharePoint;&lt;br&gt;using Microsoft.Office.Server.Diagnostics; &lt;br&gt;&lt;br&gt;namespace EnableAudit&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class AuditProvisioningProvider : SPWebProvisioningProvider&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &amp;lt;summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Gets called when a web is provisioning when the template&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // chosen has ProvisionAssembly and ProvionClass attributes&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // specified&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &amp;lt;/summary&amp;gt; &lt;/p&gt; &lt;ol&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void Provision(SPWebProvisioningProperties props)&lt;br&gt;&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; // Apply the hidden Site Definition to the Web 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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPWeb web = props.Web;&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; web.ApplyWebTemplate("AuditTeam");  &lt;p&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; // Update Audit Settings for the Site Collection&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; SPSite site = web.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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPAudit audit = site.Audit;&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; audit.AuditFlags = SPAuditMaskType.All;&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; audit.Update()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br&gt;&lt;br&gt;Note: The props object will give you access to the SPWeb that you are creating as well as a data file which is the ProvisionData file that you can specify in the webtemp file.&lt;/p&gt;&lt;/ol&gt; &lt;p&gt;2. Install your custom assembly to the GAC &lt;/p&gt; &lt;p&gt;3. Create a custom WebTempAudit.xml. &lt;br&gt;&lt;br&gt;Paste the following code into notepad and save this as web server extensions\12\template\1033\xml\WebTempAudit.xml&lt;br&gt;&lt;br&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br&gt;&amp;lt;!-- _lcid="1033" _version="12.0.4518" _dal="1" --&amp;gt;&lt;br&gt;&amp;lt;!-- _LocalBinding --&amp;gt;&lt;br&gt;&amp;lt;Templates xmlns:ows="Microsoft SharePoint"&amp;gt;&lt;br&gt;&amp;lt;Template Name="Audit" ID="10001"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Configuration ID="0" Title="Audit Team Site" Hidden="FALSE" &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ImageUrl="/_layouts/images/stsprev.png" &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description="A site for teams to quickly organize, author, and share information. It provides a document library, and lists for managing announcements, calendar items, tasks, and discussions." DisplayCategory="Collaboration" &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProvisionAssembly="EnableAudit, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=&amp;lt;PublicKeyToken of DLL&amp;gt;"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProvisionClass="EnableAudit.AuditProvisioningProvider"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProvisionData=""&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Configuration&amp;gt;&lt;br&gt;&amp;lt;/Template&amp;gt;&lt;br&gt;&amp;lt;Template Name="AuditTeam" ID="10002"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Configuration ID="0" Title="Hidden Audit Team Site" Hidden="TRUE" ImageUrl="../images/stsprev.png" Description="This template is applied through the ProvisioningProvider."&amp;gt;&amp;nbsp;&amp;nbsp; &amp;lt;/Configuration&amp;gt;&lt;br&gt;&amp;lt;/Template&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;lt;/Templates&amp;gt;&lt;br&gt;&lt;/p&gt; &lt;p&gt;4. Create a custom Site Template&lt;br&gt;&lt;br&gt;a. Open the web server extensions\12\template\sitetemplates folder&lt;br&gt;b. Take a copy of the sts folder and call it AuditTeam&lt;br&gt;c. Open the AuditTeam folder&lt;br&gt;d. Remove the defaultdws.aspx page (We will be removing the reference to this in the onet.xml file)&lt;br&gt;e. Open the xml file and then open onet.xml in Notepad&lt;br&gt;f. Find the section titled &amp;lt;Configurations&amp;gt;&lt;br&gt;g. Remove all of the Configuration attributes except for ID=0&lt;br&gt;h. Find the section &amp;lt;Module Name="DWS"... &amp;lt;/Module&amp;gt; and remove this section&lt;br&gt;i. Find the &amp;lt;SiteFeatures&amp;gt; section and add the Audit Reporting Feature&lt;br&gt;&amp;lt;Feature ID="7094BD89-2CFE-490a-8C7E-FBACE37B4A34" /&amp;gt;&lt;br&gt;&lt;br&gt;Your &amp;lt;SiteFeatures&amp;gt; should now look like this:&lt;br&gt;&lt;br&gt;&amp;lt;SiteFeatures&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- BasicWebParts Feature --&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- Three-state Workflow Feature --&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Feature ID="FDE5D850-671E-4143-950A-87B473922DC7" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- Audit Reporting Feature --&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Feature ID="7094BD89-2CFE-490a-8C7E-FBACE37B4A34" /&amp;gt;&lt;br&gt;&amp;lt;/SiteFeatures&amp;gt;&lt;br&gt;&lt;br&gt;j. Save the onet.xml changes&lt;/p&gt; &lt;p&gt;5. Run IISReset&lt;/p&gt; &lt;p&gt;6. Create a new site collection based off the Audit Team template and check the Audit settings for the Site Collection.&lt;/p&gt; &lt;p&gt;Note: As a best practice you should build this project as a package that can be deployed across the farm, the above steps will only work on a single server environment.&lt;/p&gt; &lt;h5&gt;How this works&lt;/h5&gt; &lt;p&gt;1. The site creation process will go to the webtemp file and find the template you have selected to apply&lt;br&gt;2. It will then look for the directory in SiteTemplates that matches the Template Name and apply that Template. (if you followed the steps then it shouldn't find a match)&lt;br&gt;3. It will then know to launch your DLL since you have the provision attributes set.&lt;br&gt;4. Your DLL will then apply the template, which is the same process as step 2 above, and do the additional actions required. (In this example, update the auditing settings)&lt;/p&gt; &lt;h5&gt;What to look out for&lt;/h5&gt; &lt;p&gt;If the Template Name attribute matches your Site Template, the one you are applying in your ProvisionClass, then you will end up in a loop where SharePoint will start to Apply the webtemplate and will find the configuration attributes ProvisionAssembly, ProvisionClass and ProvisionData so it will launch into your custom provisioningprovider again.&lt;/p&gt;&lt;span class="sbmLink"&gt; &lt;table cellspacing="1" cellpadding="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td class="sbmText"&gt;Share this post : &lt;/td&gt; &lt;td class="sbmDim" onmouseover="mOvr(this)" onmouseout="mOut(this)"&gt;&lt;a class="sbmDim" onmouseover="mOvr(this)" title="Post it to del.icio.us" onmouseout="mOut(this)" href="http://del.icio.us/post?url=http://blogs.technet.com/apurdon/archive/2008/02/05/the-mystery-that-is-spwebprovisioningprovider.aspx&amp;amp;;title=The mystery that is SPWebProvisioningProvider" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" border="0"&gt;&lt;/a&gt; &lt;td class="sbmDim" onmouseover="mOvr(this)" onmouseout="mOut(this)"&gt;&lt;a class="sbmDim" onmouseover="mOvr(this)" title="Post it to del.iri.ous!" onmouseout="mOut(this)" href="http://de.lirio.us/bookmarks/sbmtool?action=add&amp;amp;address=http://blogs.technet.com/apurdon/archive/2008/02/05/the-mystery-that-is-spwebprovisioningprovider.aspx&amp;amp;title=The mystery that is SPWebProvisioningProvider" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliriou4.png" border="0"&gt;&lt;/a&gt; &lt;td class="sbmDim" onmouseover="mOvr(this)" onmouseout="mOut(this)"&gt;&lt;a class="sbmDim" onmouseover="mOvr(this)" title="Post it to digg" onmouseout="mOut(this)" href="http://digg.com/submit?phase=2&amp;amp;url=http://blogs.technet.com/apurdon/archive/2008/02/05/the-mystery-that-is-spwebprovisioningprovider.aspx&amp;amp;title=The mystery that is SPWebProvisioningProvider" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" border="0"&gt;&lt;/a&gt; &lt;td class="sbmDim" onmouseover="mOvr(this)" onmouseout="mOut(this)"&gt;&lt;a class="sbmDim" onmouseover="mOvr(this)" title="Post it to dotnetkicks" onmouseout="mOut(this)" href="http://www.dotnetkicks.com/kick/?url=http://blogs.technet.com/apurdon/archive/2008/02/05/the-mystery-that-is-spwebprovisioningprovider.aspx&amp;amp;title=The mystery that is SPWebProvisioningProvider" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" border="0"&gt;&lt;/a&gt; &lt;td class="sbmDim" onmouseover="mOvr(this)" onmouseout="mOut(this)"&gt;&lt;a class="sbmDim" onmouseover="mOvr(this)" title="Post it to live" onmouseout="mOut(this)" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://blogs.technet.com/apurdon/archive/2008/02/05/the-mystery-that-is-spwebprovisioningprovider.aspx&amp;amp;title=The mystery that is SPWebProvisioningProvider" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/live4.png" border="0"&gt;&lt;/a&gt; &lt;td class="sbmDim" onmouseover="mOvr(this)" onmouseout="mOut(this)"&gt;&lt;a class="sbmDim" onmouseover="mOvr(this)" title="Post it to reddit!" onmouseout="mOut(this)" href="http://reddit.com/submit?url=http://blogs.technet.com/apurdon/archive/2008/02/05/the-mystery-that-is-spwebprovisioningprovider.aspx&amp;amp;title=The mystery that is SPWebProvisioningProvider" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" border="0"&gt;&lt;/a&gt; &lt;td class="sbmDim" onmouseover="mOvr(this)" onmouseout="mOut(this)"&gt;&lt;a class="sbmDim" onmouseover="mOvr(this)" title="Post it to technorati!" onmouseout="mOut(this)" href="http://technorati.com/faves/?add=http://blogs.technet.com/apurdon/archive/2008/02/05/the-mystery-that-is-spwebprovisioningprovider.aspx&amp;amp;title=The mystery that is SPWebProvisioningProvider" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" border="0"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2828942" width="1" height="1"&gt;</content><author><name>apurdon</name><uri>http://blogs.technet.com/members/apurdon.aspx</uri></author></entry><entry><title>Is your SharePoint server reporting Event IDs 7076, 6398, 6482</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/apurdon/archive/2008/01/31/is-your-sharepoint-server-reporting-event-ids-7076-6398-6482.aspx" /><id>http://blogs.technet.com/apurdon/archive/2008/01/31/is-your-sharepoint-server-reporting-event-ids-7076-6398-6482.aspx</id><published>2008-01-31T07:45:50Z</published><updated>2008-01-31T07:45:50Z</updated><content type="html">&lt;p&gt;A lot of the SharePoint servers I look at have Error level events (7076, 6398 and 6482) showing up in their Event Logs and I think most people are either starting to ignore these or never look at their Event Logs.&lt;/p&gt; &lt;p&gt;I'm guilty of the latter. I have looked after our team MOSS server for at least a year and I haven't looked at the Event Logs once. It's the first place I go when there are problems but when everything is running smoothly then I don't do a proactive check to see what is happening.&lt;/p&gt; &lt;p&gt;If you have seen the following Events in your Event Log then relief is at hand.&lt;/p&gt; &lt;p&gt;Event Id: 7076&lt;br&gt;Event Source: Office SharePoint Server&lt;br&gt;The Message text contains: &lt;br&gt;"Attempted to read or write protected memory. This is often an indication that other memory is corrupt." and a reference to the Metabase in the callstack.&lt;/p&gt; &lt;p&gt;Event Id: 6398&lt;br&gt;Event Source: Windows SharePoint Services 3&lt;br&gt;The Message text contains: "Microsoft.Office.Server.Administration.ApplicationServerAdministrationServiceJob" and "Attempted to read or write protected memory. This is often an indication that other memory is corrupt."&lt;/p&gt; &lt;p&gt;Event Id: 6482&lt;br&gt;Event Source: Office SharePoint Server&lt;br&gt;The Message text contains: &lt;br&gt;"Microsoft.Office.Server.Search.Administration.SearchAdminSharedWebServiceInstance", "Attempted to read or write protected memory. This is often an indication that other memory is corrupt." and a reference to the Metabase in the callstack.&lt;/p&gt; &lt;p&gt;A hotfix, KB946517, is now available for this issue. &lt;p&gt;946517&amp;nbsp;&amp;nbsp;&amp;nbsp; FIX: You may be unable to manage IIS 6.0 by using Server Manager if two threads access IIS 6.0 at the same time&lt;br&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;946517"&gt;http://support.microsoft.com/default.aspx?scid=kb;EN-US;946517&lt;/a&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;span class="sbmLink"&gt; &lt;table cellspacing="1" cellpadding="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td class="sbmText"&gt;Share this post : &lt;/td&gt; &lt;td class="sbmDim" onmouseover="mOvr(this)" onmouseout="mOut(this)"&gt;&lt;a class="sbmDim" onmouseover="mOvr(this)" title="Post it to del.icio.us" onmouseout="mOut(this)" href="http://del.icio.us/post?url=http://blogs.technet.com/apurdon/archive/2008/01/31/is-your-sharepoint-server-reporting-event-ids-7076-6398-6482.aspx&amp;amp;;title=Is your SharePoint server reporting Event IDs 7076, 6398, 6482" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" border="0"&gt;&lt;/a&gt; &lt;td class="sbmDim" onmouseover="mOvr(this)" onmouseout="mOut(this)"&gt;&lt;a class="sbmDim" onmouseover="mOvr(this)" title="Post it to del.iri.ous!" onmouseout="mOut(this)" href="http://de.lirio.us/bookmarks/sbmtool?action=add&amp;amp;address=http://blogs.technet.com/apurdon/archive/2008/01/31/is-your-sharepoint-server-reporting-event-ids-7076-6398-6482.aspx&amp;amp;title=Is your SharePoint server reporting Event IDs 7076, 6398, 6482" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliriou4.png" border="0"&gt;&lt;/a&gt; &lt;td class="sbmDim" onmouseover="mOvr(this)" onmouseout="mOut(this)"&gt;&lt;a class="sbmDim" onmouseover="mOvr(this)" title="Post it to digg" onmouseout="mOut(this)" href="http://digg.com/submit?phase=2&amp;amp;url=http://blogs.technet.com/apurdon/archive/2008/01/31/is-your-sharepoint-server-reporting-event-ids-7076-6398-6482.aspx&amp;amp;title=Is your SharePoint server reporting Event IDs 7076, 6398, 6482" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" border="0"&gt;&lt;/a&gt; &lt;td class="sbmDim" onmouseover="mOvr(this)" onmouseout="mOut(this)"&gt;&lt;a class="sbmDim" onmouseover="mOvr(this)" title="Post it to dotnetkicks" onmouseout="mOut(this)" href="http://www.dotnetkicks.com/kick/?url=http://blogs.technet.com/apurdon/archive/2008/01/31/is-your-sharepoint-server-reporting-event-ids-7076-6398-6482.aspx&amp;amp;title=Is your SharePoint server reporting Event IDs 7076, 6398, 6482" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" border="0"&gt;&lt;/a&gt; &lt;td class="sbmDim" onmouseover="mOvr(this)" onmouseout="mOut(this)"&gt;&lt;a class="sbmDim" onmouseover="mOvr(this)" title="Post it to live" onmouseout="mOut(this)" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://blogs.technet.com/apurdon/archive/2008/01/31/is-your-sharepoint-server-reporting-event-ids-7076-6398-6482.aspx&amp;amp;title=Is your SharePoint server reporting Event IDs 7076, 6398, 6482" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/live4.png" border="0"&gt;&lt;/a&gt; &lt;td class="sbmDim" onmouseover="mOvr(this)" onmouseout="mOut(this)"&gt;&lt;a class="sbmDim" onmouseover="mOvr(this)" title="Post it to reddit!" onmouseout="mOut(this)" href="http://reddit.com/submit?url=http://blogs.technet.com/apurdon/archive/2008/01/31/is-your-sharepoint-server-reporting-event-ids-7076-6398-6482.aspx&amp;amp;title=Is your SharePoint server reporting Event IDs 7076, 6398, 6482" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" border="0"&gt;&lt;/a&gt; &lt;td class="sbmDim" onmouseover="mOvr(this)" onmouseout="mOut(this)"&gt;&lt;a class="sbmDim" onmouseover="mOvr(this)" title="Post it to technorati!" onmouseout="mOut(this)" href="http://technorati.com/faves/?add=http://blogs.technet.com/apurdon/archive/2008/01/31/is-your-sharepoint-server-reporting-event-ids-7076-6398-6482.aspx&amp;amp;title=Is your SharePoint server reporting Event IDs 7076, 6398, 6482" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" border="0"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2801536" width="1" height="1"&gt;</content><author><name>apurdon</name><uri>http://blogs.technet.com/members/apurdon.aspx</uri></author><category term="SharePoint" scheme="http://blogs.technet.com/apurdon/archive/tags/SharePoint/default.aspx" /><category term="Maintenance" scheme="http://blogs.technet.com/apurdon/archive/tags/Maintenance/default.aspx" /></entry><entry><title>Can you customise the Request Access Email?</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/apurdon/archive/2008/01/30/can-you-customise-the-request-access-email.aspx" /><id>http://blogs.technet.com/apurdon/archive/2008/01/30/can-you-customise-the-request-access-email.aspx</id><published>2008-01-31T02:37:00Z</published><updated>2008-01-31T02:37:00Z</updated><content type="html">&lt;P&gt;The simple answer to this question is No, or more accurately you probably shouldn't.&lt;/P&gt;
&lt;P&gt;I've seen many requests sent&amp;nbsp;from customers and internal engineers on "How do you customise the Request Access Email that SharePoint sends out?". I decided to have a look at this and found the request access email that is sent out is built inside the SharePoint code which means there is no way for the you (a customer) or us (Microsoft Services) to change it for you.&lt;/P&gt;
&lt;P&gt;In particular the option that caused me to look at this was how to send the Email out using a Preferred Display Name rather than the users Domain\UserName.&lt;/P&gt;
&lt;P&gt;The property we use for the user is the WindowsIdentity.Name Property, which is the logon name in the form DOMAIN\USERNAME.&lt;BR&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/system.security.principal.windowsidentity.name(VS.80).aspx" mce_href="http://msdn2.microsoft.com/en-us/library/system.security.principal.windowsidentity.name(VS.80).aspx"&gt;http://msdn2.microsoft.com/en-us/library/system.security.principal.windowsidentity.name(VS.80).aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The WindowsIdentity.Name is also what is shown on the reqacc.aspx page when the user is redirected to this page. “You are currently signed in as:&amp;nbsp; (WindowsIdentity.Name)”&lt;/P&gt;
&lt;P&gt;There is one way to workaround this and that is to build a custom reqacc.aspx page and not use our Out of the Box page. Since the page is stored in _layouts you should review KB944105 before deciding on this option. 
&lt;P&gt;944105&amp;nbsp; How to customize application pages in the Layouts folder in SharePoint Server 2007 and in Windows SharePoint Services 3.0&lt;BR&gt;&lt;A href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;944105" mce_href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;944105"&gt;http://support.microsoft.com/default.aspx?scid=kb;EN-US;944105&lt;/A&gt; 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN class=sbmLink&gt;
&lt;TABLE class="" cellSpacing=1 cellPadding=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=sbmText class="sbmText"&gt;Share this post : &lt;/TD&gt;
&lt;TD class=sbmDim onmouseover=mOvr(this) onmouseout=mOut(this) class="sbmDim"&gt;&lt;A class=sbmDim onmouseover=mOvr(this) title="Post it to del.icio.us" onmouseout=mOut(this) href="http://del.icio.us/post?url=http://blogs.technet.com/apurdon/archive/2008/01/30/can-you-customise-the-request-access-email.aspx&amp;amp;;title=Can you customise the Request Access Email?" target=_blank&gt;&lt;IMG src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png" border=0 mce_src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliciou4.png"&gt;&lt;/A&gt; 
&lt;TD class=sbmDim onmouseover=mOvr(this) onmouseout=mOut(this) class="sbmDim"&gt;&lt;A class=sbmDim onmouseover=mOvr(this) title="Post it to del.iri.ous!" onmouseout=mOut(this) href="http://de.lirio.us/bookmarks/sbmtool?action=add&amp;amp;address=http://blogs.technet.com/apurdon/archive/2008/01/30/can-you-customise-the-request-access-email.aspx&amp;amp;title=Can you customise the Request Access Email?" target=_blank&gt;&lt;IMG src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliriou4.png" border=0 mce_src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/deliriou4.png"&gt;&lt;/A&gt; 
&lt;TD class=sbmDim onmouseover=mOvr(this) onmouseout=mOut(this) class="sbmDim"&gt;&lt;A class=sbmDim onmouseover=mOvr(this) title="Post it to digg" onmouseout=mOut(this) href="http://digg.com/submit?phase=2&amp;amp;url=http://blogs.technet.com/apurdon/archive/2008/01/30/can-you-customise-the-request-access-email.aspx&amp;amp;title=Can you customise the Request Access Email?" target=_blank&gt;&lt;IMG src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png" border=0 mce_src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/digg14.png"&gt;&lt;/A&gt; 
&lt;TD class=sbmDim onmouseover=mOvr(this) onmouseout=mOut(this) class="sbmDim"&gt;&lt;A class=sbmDim onmouseover=mOvr(this) title="Post it to dotnetkicks" onmouseout=mOut(this) href="http://www.dotnetkicks.com/kick/?url=http://blogs.technet.com/apurdon/archive/2008/01/30/can-you-customise-the-request-access-email.aspx&amp;amp;title=Can you customise the Request Access Email?" target=_blank&gt;&lt;IMG src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg" border=0 mce_src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/CropperCapture154.jpg"&gt;&lt;/A&gt; 
&lt;TD class=sbmDim onmouseover=mOvr(this) onmouseout=mOut(this) class="sbmDim"&gt;&lt;A class=sbmDim onmouseover=mOvr(this) title="Post it to live" onmouseout=mOut(this) href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;mkt=en-us&amp;amp;url=http://blogs.technet.com/apurdon/archive/2008/01/30/can-you-customise-the-request-access-email.aspx&amp;amp;title=Can you customise the Request Access Email?" target=_blank&gt;&lt;IMG src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/live4.png" border=0 mce_src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/live4.png"&gt;&lt;/A&gt; 
&lt;TD class=sbmDim onmouseover=mOvr(this) onmouseout=mOut(this) class="sbmDim"&gt;&lt;A class=sbmDim onmouseover=mOvr(this) title="Post it to reddit!" onmouseout=mOut(this) href="http://reddit.com/submit?url=http://blogs.technet.com/apurdon/archive/2008/01/30/can-you-customise-the-request-access-email.aspx&amp;amp;title=Can you customise the Request Access Email?" target=_blank&gt;&lt;IMG src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png" border=0 mce_src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/reddit4.png"&gt;&lt;/A&gt; 
&lt;TD class=sbmDim onmouseover=mOvr(this) onmouseout=mOut(this) class="sbmDim"&gt;&lt;A class=sbmDim onmouseover=mOvr(this) title="Post it to technorati!" onmouseout=mOut(this) href="http://technorati.com/faves/?add=http://blogs.technet.com/apurdon/archive/2008/01/30/can-you-customise-the-request-access-email.aspx&amp;amp;title=Can you customise the Request Access Email?" target=_blank&gt;&lt;IMG src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png" border=0 mce_src="http://blogs.msdn.com/blogfiles/rahulso/WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites_B387/technora4.png"&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2800380" width="1" height="1"&gt;</content><author><name>apurdon</name><uri>http://blogs.technet.com/members/apurdon.aspx</uri></author><category term="Customisation" scheme="http://blogs.technet.com/apurdon/archive/tags/Customisation/default.aspx" /><category term="SharePoint" scheme="http://blogs.technet.com/apurdon/archive/tags/SharePoint/default.aspx" /></entry></feed>