<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Attis on SharePoint and More...</title><link>http://wssguy.com/blogs/dan/default.aspx</link><description>My ideas, challenges and solutions to some of the world&amp;#39;s problems using SharePoint as a development platform.</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 (Build: 30929.2835)</generator><geo:lat>34.032532</geo:lat><geo:long>-84.317749</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Attis" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Atlanta SharePoint User Group – June 2009 Meeting</title><link>http://feedproxy.google.com/~r/Attis/~3/CSK13ooAz48/atlanta-sharepoint-user-group-june-2009-meeting.aspx</link><pubDate>Mon, 08 Jun 2009 14:35:30 GMT</pubDate><guid isPermaLink="false">b0bcabdc-df46-463f-8d7a-8dcc073b4635:2085</guid><dc:creator>J. Dan Attis</dc:creator><slash:comments>0</slash:comments><wfw:comment>http://wssguy.com/blogs/dan/commentapi.aspx?PostID=2085</wfw:comment><comments>http://wssguy.com/blogs/dan/archive/2009/06/08/atlanta-sharepoint-user-group-june-2009-meeting.aspx#comments</comments><description>&lt;p&gt;A month has passed and it is time to register for the June meeting of the Atlanta SharePoint User Group.&amp;#160; We are meeting Monday, June 15th at the Microsoft Offices in Alpharetta.&lt;/p&gt;  &lt;p&gt;We have 2 great speakers this month.&amp;#160; Here they are along with their talk titles and abstracts:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Tom Scott [MCSE, MCSA, MCPS, MCNPS, MCTS, Infrastructure Architect for &lt;a href="http://www.askcts.com/"&gt;Computer Technology Solutions&lt;/a&gt;]:&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;SharePoint Infrastructure Planning and Considerations&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Creating a SharePoint 2007 farm always seems like an easy process (set up hardware, insert disk, click next, click next, repeat). Then, about 2 hours (sometimes 2 months) later you realize the importance of planning your implementation, realizing that the only way to solve your problems is to start over. Tom Scott will walk you through many of the &amp;quot;gotchas&amp;quot; that haunt SharePoint infrastructure professionals. Learn how to deliver your SharePoint 2007 farm right the first time and avoid this vicious cycle.&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blog.michaellotter.com/" target="_blank"&gt;Michael Lotter&lt;/a&gt; [MCTS, SharePoint Solutions Architect for &lt;a href="http://www.bandrsolutions.com/"&gt;B&amp;amp;R Business Solutions&lt;/a&gt;]:&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Building Browser Based InfoPath Forms for the Enterprise&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;With a knack for developing browser-based InfoPath forms coupled with SharePoint Designer and Visual Studio workflows, Michael will be providing insight into how you can take your forms implementations to the next level. This presentation will explore such topics as how to design for centralized and decentralized environments, the usage of data connections, and secondary data source filtering. Michael brings three years of InfoPath Forms Services experience with him, and has conducted a number of enterprise implementations. Come prepared for a fast-paced session that will leave you plenty of great tips and tricks. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Come check it out, the registration link is on the site (&lt;a href="http://www.atlspug.com"&gt;www.atlspug.com&lt;/a&gt;).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://wssguy.com/aggbug.aspx?PostID=2085" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Attis?a=CSK13ooAz48:Acxr1TuB8GE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Attis?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Attis/~4/CSK13ooAz48" height="1" width="1"/&gt;</description><category domain="http://wssguy.com/blogs/dan/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Community/default.aspx">Community</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Atlanta/default.aspx">Atlanta</category><category domain="http://wssguy.com/blogs/dan/archive/tags/User+Group/default.aspx">User Group</category><category domain="http://wssguy.com/blogs/dan/archive/tags/WSS/default.aspx">WSS</category><category domain="http://wssguy.com/blogs/dan/archive/tags/MOSS/default.aspx">MOSS</category><feedburner:origLink>http://wssguy.com/blogs/dan/archive/2009/06/08/atlanta-sharepoint-user-group-june-2009-meeting.aspx</feedburner:origLink></item><item><title>SharePoint 2007 SP2 – Important Information</title><link>http://feedproxy.google.com/~r/Attis/~3/YsVA5dYOKzE/sharepoint-2007-sp2-important-information-about.aspx</link><pubDate>Fri, 22 May 2009 13:39:22 GMT</pubDate><guid isPermaLink="false">b0bcabdc-df46-463f-8d7a-8dcc073b4635:1665</guid><dc:creator>J. Dan Attis</dc:creator><slash:comments>1</slash:comments><wfw:comment>http://wssguy.com/blogs/dan/commentapi.aspx?PostID=1665</wfw:comment><comments>http://wssguy.com/blogs/dan/archive/2009/05/22/sharepoint-2007-sp2-important-information-about.aspx#comments</comments><description>&lt;p&gt;The SharePoint product team has released guidance on a bug introduced in the recent SP2 drop with respect to the product license reverting to a trial installation.&amp;#160; Information can be found at the following url, &lt;a title="http://blogs.msdn.com/sharepoint/archive/2009/05/21/attention-important-information-on-service-pack-2.aspx" href="http://blogs.msdn.com/sharepoint/archive/2009/05/21/attention-important-information-on-service-pack-2.aspx" target="_blank"&gt;http://blogs.msdn.com/sharepoint/archive/2009/05/21/attention-important-information-on-service-pack-2.aspx&lt;/a&gt;.&amp;#160; Although a hotfix is forthcoming, if you need or want to perform a manual fix, you should read this article.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://wssguy.com/aggbug.aspx?PostID=1665" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Attis?a=YsVA5dYOKzE:saqlX3L0UEk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Attis?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Attis/~4/YsVA5dYOKzE" height="1" width="1"/&gt;</description><category domain="http://wssguy.com/blogs/dan/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://wssguy.com/blogs/dan/archive/tags/WSS/default.aspx">WSS</category><category domain="http://wssguy.com/blogs/dan/archive/tags/MOSS/default.aspx">MOSS</category><feedburner:origLink>http://wssguy.com/blogs/dan/archive/2009/05/22/sharepoint-2007-sp2-important-information-about.aspx</feedburner:origLink></item><item><title>Atlanta SharePoint User Group – May 2009 Meeting Recap</title><link>http://feedproxy.google.com/~r/Attis/~3/OvXNTnjqEtI/atlanta-sharepoint-user-group-may-2009-meeting-recap.aspx</link><pubDate>Tue, 19 May 2009 15:43:00 GMT</pubDate><guid isPermaLink="false">b0bcabdc-df46-463f-8d7a-8dcc073b4635:1570</guid><dc:creator>J. Dan Attis</dc:creator><slash:comments>1</slash:comments><wfw:comment>http://wssguy.com/blogs/dan/commentapi.aspx?PostID=1570</wfw:comment><comments>http://wssguy.com/blogs/dan/archive/2009/05/19/atlanta-sharepoint-user-group-may-2009-meeting-recap.aspx#comments</comments><description>&lt;p&gt;All I can say is WOW! The 2nd ever meeting of the &lt;a href="http://www.atlspug.com/default.aspx" target="_blank"&gt;Atlanta SharePoint User Group&lt;/a&gt; is history and we had almost 50 attendees!&amp;#160; This is fantastic as we essentially doubled our attendance from the last (and first) meeting.&amp;#160; It was great to hear other people’s views on a SharePoint development environment.&amp;#160; Some real great tips were uncovered for the masses and I think everyone got a little something out of the discussions.&lt;/p&gt;  &lt;p&gt;Here are a couple of photos taken by our in house photographer (&lt;a href="http://blogs.sharepointguys.com/matt/" target="_blank"&gt;Matt Ranlett&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://wssguy.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dan/IMG_5F00_0548_5F00_589FF5D1.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="IMG_0548" border="0" alt="IMG_0548" src="http://wssguy.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dan/IMG_5F00_0548_5F00_thumb_5F00_4A617CE1.jpg" width="244" height="184" /&gt;&lt;/a&gt; &lt;a href="http://wssguy.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dan/IMG_5F00_0549_5F00_3F37F297.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="IMG_0549" border="0" alt="IMG_0549" src="http://wssguy.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dan/IMG_5F00_0549_5F00_thumb_5F00_51148664.jpg" width="244" height="184" /&gt;&lt;/a&gt; &lt;a href="http://wssguy.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dan/IMG_5F00_0550_5F00_030C26EF.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="IMG_0550" border="0" alt="IMG_0550" src="http://wssguy.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dan/IMG_5F00_0550_5F00_thumb_5F00_70C3602C.jpg" width="244" height="184" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The next meeting is Monday, June 15th, so be sure to set that day aside and come out an join us.&amp;#160; We should have the speaker selected and confirmed by next week.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://wssguy.com/aggbug.aspx?PostID=1570" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Attis?a=OvXNTnjqEtI:7-oYEBDAWo4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Attis?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Attis/~4/OvXNTnjqEtI" height="1" width="1"/&gt;</description><category domain="http://wssguy.com/blogs/dan/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Community/default.aspx">Community</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Atlanta/default.aspx">Atlanta</category><category domain="http://wssguy.com/blogs/dan/archive/tags/User+Group/default.aspx">User Group</category><feedburner:origLink>http://wssguy.com/blogs/dan/archive/2009/05/19/atlanta-sharepoint-user-group-may-2009-meeting-recap.aspx</feedburner:origLink></item><item><title>Using SharePoint as a Data Store geekSpeak</title><link>http://feedproxy.google.com/~r/Attis/~3/iRnrPqk5UCE/using-sharepoint-as-a-data-store-geekspeak.aspx</link><pubDate>Mon, 18 May 2009 18:47:13 GMT</pubDate><guid isPermaLink="false">b0bcabdc-df46-463f-8d7a-8dcc073b4635:1550</guid><dc:creator>J. Dan Attis</dc:creator><slash:comments>0</slash:comments><wfw:comment>http://wssguy.com/blogs/dan/commentapi.aspx?PostID=1550</wfw:comment><comments>http://wssguy.com/blogs/dan/archive/2009/05/18/using-sharepoint-as-a-data-store-geekspeak.aspx#comments</comments><description>&lt;p&gt;Have you ever thought about using SharePoint as a data repository for your application?&amp;#160; Maybe you want to create a website using a custom front end, leveraging ASP.NET, Silverlight, Flash, or other technologies.&amp;#160; Maybe your dev team is primarily composed of developers who have little to no SharePoint development experience.&amp;#160; If that’s the case you want to tune in to my upcoming webcast on Wednesday discussing using SharePoint as a data store.&amp;#160; We’ll talk about some pros and cons of this approach, as well as strategies and approaches to use when developing your solution(s).&amp;#160; We will demonstrate using the API or web services depending on your scenario.&amp;#160; Tips and tricks surrounding the approaches and strategies will also be discussed, but mostly, it will be an interactive type discussion surrounding the various approaches.&lt;/p&gt;  &lt;p&gt;SharePoint provides so much out of the box, that using it in this way still can increase productivity and give your content managers smiles on their faces again.&amp;#160; See how to use approval, versioning, galleries, security, and many of the SharePoint features in your custom code so that your application benefits from them all.&lt;/p&gt;  &lt;p&gt;Hope to see you there!&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032413424" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032413424"&gt;http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032413424&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://wssguy.com/aggbug.aspx?PostID=1550" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Attis?a=iRnrPqk5UCE:wmtX-34x8r4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Attis?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Attis/~4/iRnrPqk5UCE" height="1" width="1"/&gt;</description><category domain="http://wssguy.com/blogs/dan/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://wssguy.com/blogs/dan/archive/tags/.NET/default.aspx">.NET</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Community/default.aspx">Community</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Web+Content+Management/default.aspx">Web Content Management</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Development/default.aspx">Development</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Webcast/default.aspx">Webcast</category><feedburner:origLink>http://wssguy.com/blogs/dan/archive/2009/05/18/using-sharepoint-as-a-data-store-geekspeak.aspx</feedburner:origLink></item><item><title>Atlanta SharePoint User Group – May 2009 Meeting</title><link>http://feedproxy.google.com/~r/Attis/~3/TGg8L2mAbiE/atlanta-sharepoint-user-group-may-2009-meeting.aspx</link><pubDate>Thu, 14 May 2009 15:23:10 GMT</pubDate><guid isPermaLink="false">b0bcabdc-df46-463f-8d7a-8dcc073b4635:1394</guid><dc:creator>J. Dan Attis</dc:creator><slash:comments>5</slash:comments><wfw:comment>http://wssguy.com/blogs/dan/commentapi.aspx?PostID=1394</wfw:comment><comments>http://wssguy.com/blogs/dan/archive/2009/05/14/atlanta-sharepoint-user-group-may-2009-meeting.aspx#comments</comments><description>&lt;p&gt;In case you didn’t know, there is a new &lt;a href="http://www.atlspug.com/default.aspx" target="_blank"&gt;SharePoint User Group&lt;/a&gt; in Atlanta.&amp;#160; It was announced during the Atlanta SharePoint Saturday event held on April 18th and we had our very first meeting the following Monday, April 20th.&amp;#160; The most amazing thing was that we had almost 30 attendees to the very first meeting (after less than 2 days of publicity).&amp;#160; This was very exciting as it clearly demonstrates that there is a void to be filled in the greater Atlanta area with respect to a SharePoint User Group.&amp;#160; The first meeting was a huge success.&amp;#160; As a group we all discussed how we wanted the group to evolve, what is involved in having a successful user group as well as some ad-hoc question and answer sessions.&lt;/p&gt;  &lt;p&gt;Our next meeting is next Monday, May 20th.&amp;#160; I will be discussing building a development environment for SharePoint using virtualization.&amp;#160; The talk is meant to be interactive, meaning everyone will be sharing their experiences, but more importantly, we will be discussing ways to make our development experiences more productive.&amp;#160; Whether this be by the use of 3rd party open source tools like WSP Builder, or simple scripting, or anything else that comes up.&lt;/p&gt;  &lt;p&gt;Come check it out, the registration link is on the site.&amp;#160; I am very excited to hear what everyone else is doing as well as sharing my experience with the group.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://wssguy.com/aggbug.aspx?PostID=1394" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Attis?a=TGg8L2mAbiE:BDxgzi9mD74:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Attis?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Attis/~4/TGg8L2mAbiE" height="1" width="1"/&gt;</description><category domain="http://wssguy.com/blogs/dan/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Community/default.aspx">Community</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Atlanta/default.aspx">Atlanta</category><category domain="http://wssguy.com/blogs/dan/archive/tags/User+Group/default.aspx">User Group</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Development/default.aspx">Development</category><feedburner:origLink>http://wssguy.com/blogs/dan/archive/2009/05/14/atlanta-sharepoint-user-group-may-2009-meeting.aspx</feedburner:origLink></item><item><title>SharePoint Saturday Atlanta – Sessions Posted</title><link>http://feedproxy.google.com/~r/Attis/~3/ku1qUVGtjZc/sharepoint-saturday-atlanta-sessions-posted.aspx</link><pubDate>Tue, 07 Apr 2009 14:06:53 GMT</pubDate><guid isPermaLink="false">b0bcabdc-df46-463f-8d7a-8dcc073b4635:732</guid><dc:creator>J. Dan Attis</dc:creator><slash:comments>2</slash:comments><wfw:comment>http://wssguy.com/blogs/dan/commentapi.aspx?PostID=732</wfw:comment><comments>http://wssguy.com/blogs/dan/archive/2009/04/07/sharepoint-saturday-atlanta-sessions-posted.aspx#comments</comments><description>&lt;p&gt;Join SharePoint architects, developers, end users and other professionals that work with Microsoft Office SharePoint Server 2007 for SharePoint Saturday, on Saturday, April 18th, 2009 at the Microsoft Office on Sanctuary Pkwy in Alpharetta, GA.&amp;#160; SharePoint Saturday will be an educational, informative &amp;amp; lively day filled with sessions from respected SharePoint professionals &amp;amp; MVPs, covering a wide variety of SharePoint-orientated topics.&amp;#160; SharePoint Saturday is FREE, open to the public and is your local chance to immerse yourself in SharePoint!&lt;/p&gt;  &lt;p&gt;SharePoint Saturday Atlanta is less than 2 weeks away.&amp;#160; We have quite a line up scheduled for this event along with some AWESOME speakers! There are 5 tracks, each with 5 sessions, covering everything including End-User, Development, Admin and Special Interest.&amp;#160; It’s going to be an awesome day of FREE SharePoint training.&amp;#160; On top of the FREE training, we are going to have tons of giveaways, including lots of books as well as some training.&amp;#160; The speakers &amp;amp; sessions are posted at &lt;a title="http://www.sharepointsaturday.org/atlanta/default.aspx" href="http://www.sharepointsaturday.org/atlanta/default.aspx"&gt;http://www.sharepointsaturday.org/atlanta/default.aspx&lt;/a&gt; along with the registration link. &lt;/p&gt;  &lt;p&gt;Space is limited and filling up fast so be sure to register sooner as opposed to later.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://wssguy.com/aggbug.aspx?PostID=732" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Attis?a=ku1qUVGtjZc:UmEJj2lEEUk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Attis?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Attis/~4/ku1qUVGtjZc" height="1" width="1"/&gt;</description><category domain="http://wssguy.com/blogs/dan/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Community/default.aspx">Community</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Atlanta/default.aspx">Atlanta</category><feedburner:origLink>http://wssguy.com/blogs/dan/archive/2009/04/07/sharepoint-saturday-atlanta-sessions-posted.aspx</feedburner:origLink></item><item><title>SharePoint Saturday Atlanta – Registration is Open!</title><link>http://feedproxy.google.com/~r/Attis/~3/TxwIEtNELM0/sharepoint-saturday-atlanta-registration-is-open.aspx</link><pubDate>Mon, 23 Mar 2009 16:33:24 GMT</pubDate><guid isPermaLink="false">b0bcabdc-df46-463f-8d7a-8dcc073b4635:642</guid><dc:creator>J. Dan Attis</dc:creator><slash:comments>0</slash:comments><wfw:comment>http://wssguy.com/blogs/dan/commentapi.aspx?PostID=642</wfw:comment><comments>http://wssguy.com/blogs/dan/archive/2009/03/23/sharepoint-saturday-atlanta-registration-is-open.aspx#comments</comments><description>&lt;p&gt;I am pleased to announce that registration for the first ever SharePoint Saturday event to be held in Atlanta is now open.&amp;#160; For those of you who are not familiar with the SharePoint Saturday events, head on over to &lt;a href="http://www.SharePointSaturday.org" target="_blank"&gt;www.SharePointSaturday.org&lt;/a&gt; and check it out for yourself.&amp;#160; In a nutshell it’s a FREE all day event, supported by generous sponsors, that provides free training to the SharePoint community.&amp;#160; I am talking developer, admin and end-user sessions.&lt;/p&gt;  &lt;p&gt;We have top notch speakers from near and far coming in to deliver talks that really do span the gamut of SharePoint information.&amp;#160; Personally I am extremely excited about this event as building a solid community in Atlanta around SharePoint as an application platform is something I am striving to do this year (well always really) and this event should help in many ways!&lt;/p&gt;  &lt;p&gt;It is going to be a super event, space is limited, so be sure to register as soon as possible!&lt;/p&gt;  &lt;p&gt;The registration link is: &lt;a title="https://www.clicktoattend.com/invitation.aspx?code=136991" href="https://www.clicktoattend.com/invitation.aspx?code=136991"&gt;https://www.clicktoattend.com/invitation.aspx?code=136991&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://wssguy.com/aggbug.aspx?PostID=642" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Attis?a=TxwIEtNELM0:_VIH5pvEWHk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Attis?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Attis/~4/TxwIEtNELM0" height="1" width="1"/&gt;</description><category domain="http://wssguy.com/blogs/dan/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Community/default.aspx">Community</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Atlanta/default.aspx">Atlanta</category><category domain="http://wssguy.com/blogs/dan/archive/tags/User+Group/default.aspx">User Group</category><category domain="http://wssguy.com/blogs/dan/archive/tags/WSS/default.aspx">WSS</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Conference/default.aspx">Conference</category><feedburner:origLink>http://wssguy.com/blogs/dan/archive/2009/03/23/sharepoint-saturday-atlanta-registration-is-open.aspx</feedburner:origLink></item><item><title>Visual Studio Extensions for SharePoint v1.3 released today</title><link>http://feedproxy.google.com/~r/Attis/~3/8fZsFwi1zqc/visual-studio-extensions-for-sharepoint-v1-3-released-today.aspx</link><pubDate>Mon, 12 Jan 2009 15:30:24 GMT</pubDate><guid isPermaLink="false">b0bcabdc-df46-463f-8d7a-8dcc073b4635:161</guid><dc:creator>J. Dan Attis</dc:creator><slash:comments>6</slash:comments><wfw:comment>http://wssguy.com/blogs/dan/commentapi.aspx?PostID=161</wfw:comment><comments>http://wssguy.com/blogs/dan/archive/2009/01/12/visual-studio-extensions-for-sharepoint-v1-3-released-today.aspx#comments</comments><description>&lt;p&gt;Today Microsoft released an updated version of the Visual Studio extensions for SharePoint, version 1.3.&amp;#160; The extensions provide a number of templates to help SharePoint developers create various SharePoint artifacts such as Web Parts, Content Types, Event Receivers and a number of others.&lt;/p&gt;  &lt;p&gt;A number of features have been added since the last release. The biggest one in my opinion is x64 support.&amp;#160; This was a huge gap in the previous version of the extensions, but now you can develop on an x64 OS.&amp;#160; Many other improvements have been made as well and I encourage you to go take a look by clicking &lt;a href="http://blogs.msdn.com/sharepoint/archive/2009/01/12/announcing-community-technology-preview-of-visual-studio-2008-extensions-for-sharepoint-v1-3.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The extensions on their own are a great help to those wanting to quickly get started with SharePoint development.&amp;#160; Keep in mind that they are just one tool of many that will help you get your SharePoint development projects off the ground.&amp;#160; Please provide feedback should you encounter any bugs.&amp;#160; Microsoft takes the feedback seriously and will use it to help improve future releases of their development tools, especially the one geared towards SharePoint developers.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://wssguy.com/aggbug.aspx?PostID=161" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Attis?a=8fZsFwi1zqc:wCLDCb5xlEM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Attis?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Attis/~4/8fZsFwi1zqc" height="1" width="1"/&gt;</description><category domain="http://wssguy.com/blogs/dan/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Development/default.aspx">Development</category><feedburner:origLink>http://wssguy.com/blogs/dan/archive/2009/01/12/visual-studio-extensions-for-sharepoint-v1-3-released-today.aspx</feedburner:origLink></item><item><title>I'm Moving On</title><link>http://feedproxy.google.com/~r/Attis/~3/lzL-NP7lPXQ/i-m-moving-on.aspx</link><pubDate>Mon, 15 Dec 2008 13:45:28 GMT</pubDate><guid isPermaLink="false">b0bcabdc-df46-463f-8d7a-8dcc073b4635:53</guid><dc:creator>J. Dan Attis</dc:creator><slash:comments>8</slash:comments><wfw:comment>http://wssguy.com/blogs/dan/commentapi.aspx?PostID=53</wfw:comment><comments>http://wssguy.com/blogs/dan/archive/2008/12/15/i-m-moving-on.aspx#comments</comments><description>&lt;p&gt;Let me start this post by saying that I am very excited.&amp;nbsp; I have a new job!&amp;nbsp; After working the past 20 months for quite possibly the best consulting company in the country as far as I am concerned, I have decided to make a move.&amp;nbsp; Not only was &lt;a href="http://www.slalom.com/" target="_blank"&gt;Slalom Consulting&lt;/a&gt; a great place to work, but the people there were fantastic.&amp;nbsp; It is them I will miss the most.&amp;nbsp; I thoroughly enjoyed my time there and wish the organization the best.&lt;/p&gt; &lt;p&gt;So where am I going?&amp;nbsp; I am joining the team at &lt;a href="http://www.bandrsolutions.com/" target="_blank"&gt;B&amp;amp;R Business Solutions&lt;/a&gt;!&amp;nbsp; I will be working with some very smart people as well as some fellow SharePoint MVP&amp;#39;s.&amp;nbsp; Some of those people include, but are not necessarily limited to &lt;a href="http://www.sharepointblogs.com/JasonMedero/default.aspx" target="_blank"&gt;Jason Medero&lt;/a&gt;, &lt;a href="http://cregan.wordpress.com/" target="_blank"&gt;Chris Regan&lt;/a&gt;, &lt;a href="http://bobfox.securespsite.com/FoxBlog/default.aspx" target="_blank"&gt;Bob Fox&lt;/a&gt;, &lt;a href="http://www.sharepointbrainfreeze.com/default.aspx" target="_blank"&gt;Josh Carlisle&lt;/a&gt;, and &lt;a href="http://blog.michaellotter.com/" target="_blank"&gt;Michael Lotter&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;I will be working from home.&amp;nbsp; This means a lot to me since I was averaging about 2 hours a day in the car commuting.&amp;nbsp; I also tended to eat out every day.&amp;nbsp; Now I will be able to enjoy more time at home with my family.&lt;/p&gt; &lt;p&gt;Technically, I don&amp;#39;t start until January 5th.&amp;nbsp; I am heading home to Moncton, New Brunswick, Canada next Saturday to spend the holidays with our families.&amp;nbsp; Jody and Lily flew out last Friday and I miss them already.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://wssguy.com/aggbug.aspx?PostID=53" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Attis?a=lzL-NP7lPXQ:nEPAE2W4Rc8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Attis?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Attis/~4/lzL-NP7lPXQ" height="1" width="1"/&gt;</description><category domain="http://wssguy.com/blogs/dan/archive/tags/Personal/default.aspx">Personal</category><feedburner:origLink>http://wssguy.com/blogs/dan/archive/2008/12/15/i-m-moving-on.aspx</feedburner:origLink></item><item><title>MSDN Developer Conference</title><link>http://feedproxy.google.com/~r/Attis/~3/hxx9VwPlfT4/msdn-developer-conference.aspx</link><pubDate>Wed, 26 Nov 2008 13:13:35 GMT</pubDate><guid isPermaLink="false">b0bcabdc-df46-463f-8d7a-8dcc073b4635:25</guid><dc:creator>J. Dan Attis</dc:creator><slash:comments>0</slash:comments><wfw:comment>http://wssguy.com/blogs/dan/commentapi.aspx?PostID=25</wfw:comment><comments>http://wssguy.com/blogs/dan/archive/2008/11/26/msdn-developer-conference.aspx#comments</comments><description>&lt;p&gt;If you haven&amp;#39;t heard already, Microsoft has put together what you could call a mini conference.&amp;nbsp; If you missed PDC, this will be a pretty good wrap up of what happened.&amp;nbsp; For only 99 bucks, you can get the best of PDC in your own backyard (Atlanta) and hear all the news around Windows 7 and the Azure Services Platform as well as all the other great announcements that have been made over the last couple of months.&amp;nbsp; Here is an excerpt from the conference site:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;The MDC will give you a glimpse into the future of the Microsoft Application Platform. You will experience Microsoft’s vision for Cloud Computing, our Internet services platform that will enable you to extend existing solutions, creating applications that seamlessly bridge the gaps between PC, Web, and phone. Be among the first to see the full range of advances in Windows 7, the next major version of the Windows client operating system. Sessions include the latest developments in .NET, Silverlight, Live Mesh, and more.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Here is the link to the conference registration site.&amp;nbsp; Hurry up as space is filling up fast!&amp;nbsp; Hope to see you there!&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.msdndevcon.com/pages/start.aspx" href="http://www.msdndevcon.com/pages/start.aspx" target="_blank"&gt;http://www.msdndevcon.com/pages/start.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://wssguy.com/aggbug.aspx?PostID=25" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Attis?a=hxx9VwPlfT4:8ZvA7yisFaw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Attis?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Attis/~4/hxx9VwPlfT4" height="1" width="1"/&gt;</description><category domain="http://wssguy.com/blogs/dan/archive/tags/.NET/default.aspx">.NET</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Community/default.aspx">Community</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Atlanta/default.aspx">Atlanta</category><category domain="http://wssguy.com/blogs/dan/archive/tags/User+Group/default.aspx">User Group</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Development/default.aspx">Development</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Conference/default.aspx">Conference</category><feedburner:origLink>http://wssguy.com/blogs/dan/archive/2008/11/26/msdn-developer-conference.aspx</feedburner:origLink></item><item><title>SPDisposeCheck finally available</title><link>http://feedproxy.google.com/~r/Attis/~3/hiWNFVVVr8Y/spdisposecheck-finally-available.aspx</link><pubDate>Wed, 12 Nov 2008 19:31:00 GMT</pubDate><guid isPermaLink="false">b0bcabdc-df46-463f-8d7a-8dcc073b4635:19</guid><dc:creator>J. Dan Attis</dc:creator><slash:comments>0</slash:comments><wfw:comment>http://wssguy.com/blogs/dan/commentapi.aspx?PostID=19</wfw:comment><comments>http://wssguy.com/blogs/dan/archive/2008/11/12/spdisposecheck-finally-available.aspx#comments</comments><description>&lt;p&gt;Microsoft has finally announced the not so general availability the SPDisposeCheck tool.&amp;nbsp; This tool, available internally for quite some time will help customers and their developers identify potential issues in their SharePoint code, namely due to the disposing of objects.&amp;nbsp; A thorough understanding of the the SharePoint object model is really required before interpreting the results provided by the tool as the potential for false positives does exist and as such can and should only be done under Microsoft&amp;#39;s guidance.&amp;nbsp; Check out this &lt;a href="http://blogs.msdn.com/sharepoint/archive/2008/11/12/announcing-spdisposecheck-tool-for-sharepoint-developers.aspx" target="_blank"&gt;post&lt;/a&gt; on the Microsoft SharePoint Team Blog for a more detailed explanation as well as some great links to other resources that will help you help yourself produce more stable SharePoint code.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://wssguy.com/aggbug.aspx?PostID=19" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Attis?a=hiWNFVVVr8Y:8lDiDYaA-mA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Attis?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Attis/~4/hiWNFVVVr8Y" height="1" width="1"/&gt;</description><category domain="http://wssguy.com/blogs/dan/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://wssguy.com/blogs/dan/archive/tags/WSS/default.aspx">WSS</category><feedburner:origLink>http://wssguy.com/blogs/dan/archive/2008/11/12/spdisposecheck-finally-available.aspx</feedburner:origLink></item><item><title>Atlanta Microsoft Professionals User Group Meeting - Monday, November 3rd</title><link>http://feedproxy.google.com/~r/Attis/~3/PzaUbrfCxmY/atlanta-microsoft-professionals-user-group-meeting-monday-november-3rd.aspx</link><pubDate>Fri, 31 Oct 2008 20:25:39 GMT</pubDate><guid isPermaLink="false">b0bcabdc-df46-463f-8d7a-8dcc073b4635:11</guid><dc:creator>J. Dan Attis</dc:creator><slash:comments>0</slash:comments><wfw:comment>http://wssguy.com/blogs/dan/commentapi.aspx?PostID=11</wfw:comment><comments>http://wssguy.com/blogs/dan/archive/2008/10/31/atlanta-microsoft-professionals-user-group-meeting-monday-november-3rd.aspx#comments</comments><description>&lt;p&gt;Come join us on Monday, November 3rd at our usual location, the Microsoft Regional Headquarters at the Sanctuary Park Complex in Alpharetta for an evening of questions and answers.&amp;nbsp; Hopefully you&amp;#39;ve spent the week watching, or better yet if you are lucky, participating in the PDC breakout sessions.&amp;nbsp; At this months meeting we are going to give the fish bowl format a whirl and discuss some of the things we have learned at PDC (or while watching the break out sessions).&amp;nbsp; What is the fish bowl format you may ask?&lt;/p&gt; &lt;p&gt;In a fish bowl, there will be several chairs set up in the front of the room with one chair left intentionally empty. This empty chair is for you to join the conversation. If something is said that you wish to comment on, come on up and take a seat. One of the other people sitting will then self select themselves to leave the panel. The session will continue on until there is nothing left to be said.&lt;/p&gt; &lt;p&gt;This should be a lot of fun, and educational.&amp;nbsp; I for one, love hearing other peoples views on technology.&lt;/p&gt; &lt;p&gt;As always, the abstract, directions and speakers are located on the Atlanta Microsoft Professionals web site located at &lt;a href="http://www.atlantamspros.com" target="_blank"&gt;http://www.atlantamspros.com&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;I hope to see you all there, and don&amp;#39;t forget about the detour during bridge construction on Old Roswell Road!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://wssguy.com/aggbug.aspx?PostID=11" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Attis?a=PzaUbrfCxmY:sOmVdIhLj74:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Attis?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Attis/~4/PzaUbrfCxmY" height="1" width="1"/&gt;</description><category domain="http://wssguy.com/blogs/dan/archive/tags/Community/default.aspx">Community</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Atlanta/default.aspx">Atlanta</category><category domain="http://wssguy.com/blogs/dan/archive/tags/User+Group/default.aspx">User Group</category><feedburner:origLink>http://wssguy.com/blogs/dan/archive/2008/10/31/atlanta-microsoft-professionals-user-group-meeting-monday-november-3rd.aspx</feedburner:origLink></item><item><title>How to change the default page of a SharePoint site using a Feature</title><link>http://feedproxy.google.com/~r/Attis/~3/SVwMZk_Feks/how-to-change-the-default-page-of-a-sharepoint-site-using-a-feature.aspx</link><pubDate>Wed, 29 Oct 2008 15:56:00 GMT</pubDate><guid isPermaLink="false">b0bcabdc-df46-463f-8d7a-8dcc073b4635:8</guid><dc:creator>J. Dan Attis</dc:creator><slash:comments>9</slash:comments><wfw:comment>http://wssguy.com/blogs/dan/commentapi.aspx?PostID=8</wfw:comment><comments>http://wssguy.com/blogs/dan/archive/2008/10/29/how-to-change-the-default-page-of-a-sharepoint-site-using-a-feature.aspx#comments</comments><description>&lt;p&gt;I am currently working on a project where we plan on having thousands of teamsites.&amp;nbsp; In order to help the search process we had to make a few modifications to the default page, namely adding some meta tags that once crawled, we could surface as managed properties and use to enhance the search experience.&amp;nbsp; As we all know, modifying the out of the box files is a no-no so we were left with 2 options to consider.&lt;/p&gt;
&lt;p&gt;The first option we considered was to create a custom site definition with our custom default.aspx page.&amp;nbsp; The second option was to create our custom default.aspx page and swap it out with the original one via a Feature.&amp;nbsp; After giving this much thought, we decided to go with the second, Feature based option.&lt;/p&gt;
&lt;p&gt;If you want to read a good discussion on how/when/why to use a custom site definition, head on over to &lt;a target="_blank" href="http://www.sharepointjoel.com/Lists/Posts/Post.aspx?ID=122"&gt;Joel Oleson&amp;#39;s recent post&lt;/a&gt; on the subject and the conversations that followed; good stuff!&lt;/p&gt;
&lt;p&gt;To start the process, I created a Feature called Custom Default Page.&amp;nbsp; This Feature contains the following 5 files, all of which are discussed in more detail below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;feature.xml&lt;/li&gt;
&lt;li&gt;customDefault.xml&lt;/li&gt;
&lt;li&gt;customDefault.aspx&lt;/li&gt;
&lt;li&gt;customDefault.aspx.cs&lt;/li&gt;
&lt;li&gt;CustomDefaultPageFeatureReceiver.cs&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;feature.xml&lt;/h3&gt;
&lt;p&gt;As we know all Features require at least one file and that file is feature.xml.&amp;nbsp; This file contains the definition for the Feature, including it&amp;#39;s name, description, id, and other meta data.&amp;nbsp; It also contains references to supporting element files if they exist as well as a class and assembly if the Feature uses a receiver, which our does.&amp;nbsp; Our Feature is defined as follows:&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1.0&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;encoding&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;utf-8&amp;quot;&lt;/span&gt; ?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Feature&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;  &lt;span class="attr"&gt;Id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;featureGuid&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;  &lt;span class="attr"&gt;Title&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Custom Default Page&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;  &lt;span class="attr"&gt;Description&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;This Feature contains a custom default page.&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;  &lt;span class="attr"&gt;Version&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1.0.0.0&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;  &lt;span class="attr"&gt;Scope&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Web&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;  &lt;span class="attr"&gt;Hidden&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;TRUE&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;  &lt;span class="attr"&gt;DefaultResourceFile&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;core&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;  &lt;span class="attr"&gt;SolutionId&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;solutionGuid&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;  &lt;span class="attr"&gt;ReceiverAssembly&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CustomDefaultPage, Version=1.0.0.0, Culture=neutral, PublicKeyToken=yourToken&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;  &lt;span class="attr"&gt;ReceiverClass&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CustomDefaultPage.CustomDefaultPageFeatureReceiver&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;  &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;http://schemas.microsoft.com/sharepoint/&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ElementManifests&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ElementManifest&lt;/span&gt; &lt;span class="attr"&gt;Location&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;customDefault.xml&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ElementFile&lt;/span&gt; &lt;span class="attr"&gt;Location&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;customDefault.aspx&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ElementManifests&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Feature&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;All Features must have a unique identifier, specified by the Id attribute.&amp;nbsp; We then add a Title, Description, and Version.&amp;nbsp; This Feature is scoped to Web as any site at any level can use it.&amp;nbsp; I made my Feature hidden since I don&amp;#39;t want it available on all sites.&amp;nbsp; In fact, the original purpose of this Feature in my specific case was that it be used on the top level site of a teamsite site collection only, such that we can index the home page of the site collection independently of its content and have it appear and be ranked in search results based on the custom meta information we added to it.&amp;nbsp; That may sound long winded but I plan on blogging that particular problem and solution at a later date.&lt;/p&gt;
&lt;p&gt;We can see that the Feature is backed by an assembly and class that define its receivers.&amp;nbsp; Also, we see that the customDefault.aspx we are going to use is defined by an ElementFile element and the module that will provision that file is defined by the an ElementManifest element in the customDefault.xml file.&lt;/p&gt;
&lt;h3&gt;customDefault.xml&lt;/h3&gt;
&lt;p&gt;This file contains a module element that will provision our customDefault.aspx page to the root folder of the SharePoint site in which the Feature is activated.&amp;nbsp; It is defined as follows:&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1.0&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;encoding&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;utf-8&amp;quot;&lt;/span&gt;?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Elements&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;http://schemas.microsoft.com/sharepoint/&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Module&lt;/span&gt; &lt;span class="attr"&gt;Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CustomDefault&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Url&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;RootWebOnly&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;TRUE&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;File&lt;/span&gt; &lt;span class="attr"&gt;Path&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;customDefault.aspx&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Url&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;customDefault.aspx&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;IgnoreIfAlreadyExists&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;TRUE&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Module&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Elements&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;This is quite bare bones and simple.&amp;nbsp; The module specifies the local Path (in the feature folder), the Url on the SharePoint site (no folder = root folder) and to always replace it when the Feature is activated.&lt;/p&gt;
&lt;h3&gt;customDefault.aspx&lt;/h3&gt;
&lt;p&gt;I am not going to get into the details of what I placed into this file other than the fact that I grabbed a copy of the default.aspx file located at C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SiteTemplates\sts\default.aspx and renamed it in my project.&amp;nbsp; I also created a backing class for it and consequently needed to changed the directive at the top of the file from this:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ Page language=&amp;quot;C#&amp;quot; MasterPageFile=&amp;quot;~masterurl/default.master&amp;quot; Inherits=&amp;quot;Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c&amp;quot; %&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;to something like this:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; MasterPageFile=&amp;quot;~masterurl/default.master&amp;quot; Inherits=&amp;quot;CustomDefaultPage.CustomDefaultPage, CustomDefaultPage, Version=1.0.0.0, Culture=neutral, PublicKeyToken=yourToken&amp;quot; %&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Then, in my CustomDefaultPage.aspx.cs class, I can add code to do whatever I want on my custom default page, such as insert custom meta data as was the case for me.&amp;nbsp; This allows me to have complete control over the custom default page exactly like I would in a regular asp.net web application.&lt;/p&gt;
&lt;h3&gt;customDefault.aspx.cs&lt;/h3&gt;
&lt;p&gt;I won&amp;#39;t go into the details of this file either, but it looks similar to this, with my logic inserted.&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Web.UI.HtmlControls;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Web.UI.WebControls;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.SharePoint;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.SharePoint.WebPartPages;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; CustomDefaultPage&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;{&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; CustomDefaultPage : WebPartPage&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;        &lt;span class="rem"&gt;/// Raises the &amp;lt;see cref=&amp;quot;E:System.Web.UI.Control.Load&amp;quot;&amp;gt;&amp;lt;/see&amp;gt; event.&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;param name=&amp;quot;e&amp;quot;&amp;gt;The &amp;lt;see cref=&amp;quot;T:System.EventArgs&amp;quot;&amp;gt;&amp;lt;/see&amp;gt; object that contains the event data.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;        &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; OnLoad(EventArgs e)&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;            &lt;span class="rem"&gt;// code removed for brevity&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;h3&gt;CustomDefaultPageFeatureReceiver.cs&lt;/h3&gt;
&lt;p&gt;All of the magic happens when the Feature is activated &lt;strong&gt;&lt;em&gt;&lt;span style="text-decoration:underline;"&gt;AND&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt; when the Feature is deactivated. You may be wondering why the deactivation code is required.&amp;nbsp; Consider a hosted environment where the need to remove customization &lt;em&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;WITHOUT&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt; breaking SharePoint.&amp;nbsp; Depending on how your activation and deactivation code is written, it is possible to render the home page of your site inaccessible (I know since in the process of building this it happened to me).&amp;nbsp; This is very undesirable, so it is always a good idea to anticipate what may need to happen when you deactivate a Feature.&amp;nbsp; Some Features may not require any special logic when they are deactivated, but some most certainly do and I believe that this is a case when you should handle that.&lt;/p&gt;
&lt;p&gt;The code for the Feature Receiver will look something like this:&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.IO;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Web.UI.WebControls.WebParts;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Xml;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.SharePoint;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.SharePoint.Utilities;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; Microsoft.SharePoint.WebPartPages;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; CustomDefaultPage&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;{&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; CustomDefaultPageFeatureReceiver : SPFeatureReceiver&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;        &lt;span class="rem"&gt;/// Occurs after a Feature is activated.&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;param name=&amp;quot;properties&amp;quot;&amp;gt;An &amp;lt;see cref=&amp;quot;T:Microsoft.SharePoint.SPFeatureReceiverProperties&amp;quot;&amp;gt;&amp;lt;/see&amp;gt; object that represents the properties of the event.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; FeatureActivated(SPFeatureReceiverProperties properties)&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (properties != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;            {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;                &lt;span class="rem"&gt;// get a reference to the web&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;                SPWeb web = properties.Feature.Parent &lt;span class="kwrd"&gt;as&lt;/span&gt; SPWeb;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;                &lt;span class="rem"&gt;// back up the original home page&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;                SPFile defaultPage = web.Files[&lt;span class="str"&gt;&amp;quot;default.aspx&amp;quot;&lt;/span&gt;];&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;                defaultPage.MoveTo(&lt;span class="str"&gt;&amp;quot;default-old.aspx&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;                &lt;span class="rem"&gt;// add components to the new custom default page here, if necessary&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;                &lt;span class="rem"&gt;// move the new default page to default.aspx&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;                SPFile newDefaultPage = web.Files[&lt;span class="str"&gt;&amp;quot;CustomDefault.aspx&amp;quot;&lt;/span&gt;];&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;                newDefaultPage.MoveTo(&lt;span class="str"&gt;&amp;quot;default.aspx&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;                &lt;span class="rem"&gt;// update navigation, if necessary, here&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;            }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;        &lt;span class="rem"&gt;/// Occurs when a Feature is deactivated.&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;param name=&amp;quot;properties&amp;quot;&amp;gt;An &amp;lt;see cref=&amp;quot;T:Microsoft.SharePoint.SPFeatureReceiverProperties&amp;quot;&amp;gt;&amp;lt;/see&amp;gt; object that represents the properties of the event.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; FeatureDeactivating(SPFeatureReceiverProperties properties)&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  45:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (properties != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  46:  &lt;/span&gt;            {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  47:  &lt;/span&gt;                &lt;span class="rem"&gt;// get a reference to the web&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  48:  &lt;/span&gt;                SPWeb web = properties.Feature.Parent &lt;span class="kwrd"&gt;as&lt;/span&gt; SPWeb;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  49:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  50:  &lt;/span&gt;                &lt;span class="rem"&gt;// delete the default page&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  51:  &lt;/span&gt;                SPFile defaultPage = web.Files[&lt;span class="str"&gt;&amp;quot;default.aspx&amp;quot;&lt;/span&gt;];&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  52:  &lt;/span&gt;                defaultPage.DeleteAllPersonalizationsAllUsers();&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  53:  &lt;/span&gt;                defaultPage.Delete();&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  54:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  55:  &lt;/span&gt;                &lt;span class="rem"&gt;// restore the back up&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  56:  &lt;/span&gt;                SPFile originalDefaultPage = web.Files[&lt;span class="str"&gt;&amp;quot;default-old.aspx&amp;quot;&lt;/span&gt;];&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  57:  &lt;/span&gt;                originalDefaultPage.MoveTo(&lt;span class="str"&gt;&amp;quot;default.aspx&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  58:  &lt;/span&gt;            }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  59:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  60:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  61:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  62:  &lt;/span&gt;        &lt;span class="rem"&gt;/// Occurs after a Feature is installed.&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  63:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  64:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;param name=&amp;quot;properties&amp;quot;&amp;gt;An &amp;lt;see cref=&amp;quot;T:Microsoft.SharePoint.SPFeatureReceiverProperties&amp;quot;&amp;gt;&amp;lt;/see&amp;gt; object that represents the properties of the event.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  65:  &lt;/span&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; FeatureInstalled(SPFeatureReceiverProperties properties)&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  66:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  67:  &lt;/span&gt;            &lt;span class="rem"&gt;//throw new Exception(&amp;quot;The method or operation is not implemented.&amp;quot;);&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  68:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  69:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  70:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  71:  &lt;/span&gt;        &lt;span class="rem"&gt;/// Occurs when a Feature is uninstalled.&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  72:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  73:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;param name=&amp;quot;properties&amp;quot;&amp;gt;An &amp;lt;see cref=&amp;quot;T:Microsoft.SharePoint.SPFeatureReceiverProperties&amp;quot;&amp;gt;&amp;lt;/see&amp;gt; object that represents the properties of the event.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  74:  &lt;/span&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; FeatureUninstalling(SPFeatureReceiverProperties properties)&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  75:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  76:  &lt;/span&gt;            &lt;span class="rem"&gt;//throw new Exception(&amp;quot;The method or operation is not implemented.&amp;quot;);&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  77:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  78:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  79:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  80:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;I played around a lot with the MoveTo() and CopyTo() methods and this is the combination that worked 100% of the time.&amp;nbsp; I have found CopyTo() to be a little unpredictable but your mileage may vary.&amp;nbsp; The key takeaway here is to always anticipate your Features deactivation needs, especially in a hosted environment.&amp;nbsp; All hosting companies have an Service Level Agreement (SLA) to adhere to and if they determine that your customization is causing a problem, I would venture to bet that there is language in that agreement that allows them to deactivate you customizations to honor that agreement and if that were to happen, I would want my users experience to not be interrupted, at least not to the degree that an unavailable home page might produce, wouldn&amp;#39;t you?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://wssguy.com/aggbug.aspx?PostID=8" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Attis?a=SVwMZk_Feks:2rty-ENq7YA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Attis?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Attis/~4/SVwMZk_Feks" height="1" width="1"/&gt;</description><category domain="http://wssguy.com/blogs/dan/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Branding/default.aspx">Branding</category><feedburner:origLink>http://wssguy.com/blogs/dan/archive/2008/10/29/how-to-change-the-default-page-of-a-sharepoint-site-using-a-feature.aspx</feedburner:origLink></item><item><title>NYC SharePoint User Group</title><link>http://feedproxy.google.com/~r/Attis/~3/XDHKOvqO8o4/nyc-sharepoint-user-group.aspx</link><pubDate>Mon, 27 Oct 2008 21:14:56 GMT</pubDate><guid isPermaLink="false">b0bcabdc-df46-463f-8d7a-8dcc073b4635:6</guid><dc:creator>J. Dan Attis</dc:creator><slash:comments>0</slash:comments><wfw:comment>http://wssguy.com/blogs/dan/commentapi.aspx?PostID=6</wfw:comment><comments>http://wssguy.com/blogs/dan/archive/2008/10/27/nyc-sharepoint-user-group.aspx#comments</comments><description>&lt;p&gt;I thought I would let the world know, particular those of you in the NYC metropolitan area that on Wednesday, November 5th, I will be participating in the New York City SharePoint User Group meeting.&amp;nbsp; I will be participating on a development panel of sorts answering questions on you guessed it, SharePoint development, my all time favorite topic.&amp;nbsp; Some other awesome SharePoint folks will be attending as well.&amp;nbsp; Allan Schweighardt from Microsoft, Piotr Prussak from Revlon, Jason Medero and Bob Fox from B&amp;amp;R Business Solutions, and Paul Galvin from EMC Corporation.&lt;/p&gt; &lt;p&gt;Here is a short abstract taken from the site (&lt;a href="http://www.sharepointusergroup.org/NewYork/default.aspx" target="_blank"&gt;NYC SharePoint User Group&lt;/a&gt;):&lt;/p&gt; &lt;p&gt;&lt;em&gt;The discussions will be divided up into two areas IT Pro and Development.&amp;nbsp; Both areas will be comprised of a great group of expert panelists answering all type of questions ranging from architecture, workflow, infrastructure, custom development and many other great topics.&amp;nbsp; The members on the panel will consist of seasoned experts along with multiple SharePoint MVP’s!&amp;nbsp; So bring your best questions and discussion topics to next month’s meeting and lets jump into the trenches of SharePoint Products and Technologies!&lt;/em&gt; &lt;p&gt;It should be a great event and I hope to see you there!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://wssguy.com/aggbug.aspx?PostID=6" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Attis?a=XDHKOvqO8o4:JNaGXcLLaW0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Attis?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Attis/~4/XDHKOvqO8o4" height="1" width="1"/&gt;</description><category domain="http://wssguy.com/blogs/dan/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Community/default.aspx">Community</category><category domain="http://wssguy.com/blogs/dan/archive/tags/User+Group/default.aspx">User Group</category><feedburner:origLink>http://wssguy.com/blogs/dan/archive/2008/10/27/nyc-sharepoint-user-group.aspx</feedburner:origLink></item><item><title>Back with a Vengeance!</title><link>http://feedproxy.google.com/~r/Attis/~3/nVcUJ9oY-Vk/back-with-a-vengeance.aspx</link><pubDate>Mon, 27 Oct 2008 18:37:21 GMT</pubDate><guid isPermaLink="false">b0bcabdc-df46-463f-8d7a-8dcc073b4635:5</guid><dc:creator>J. Dan Attis</dc:creator><slash:comments>1</slash:comments><wfw:comment>http://wssguy.com/blogs/dan/commentapi.aspx?PostID=5</wfw:comment><comments>http://wssguy.com/blogs/dan/archive/2008/10/27/back-with-a-vengeance.aspx#comments</comments><description>&lt;p&gt;Where has Dan been?&lt;/p&gt; &lt;p&gt;That is a great question and one that has a pretty simple answer.&amp;nbsp; I have been SWAMPED at work.&amp;nbsp; I have been working on my largest SharePoint implementation to date.&amp;nbsp; Essentially I have been architecting and building a corporate communications intranet portal for a very large enterprise customer over the last few months, roughly 75K users.&amp;nbsp; We are in the tail end of the project now and time, although still very precious, is a little less scarce.&amp;nbsp; I hope to ramp up my blogging prowess over the next few weeks and pump the cloud full of more information about SharePoint and my personal experiences with it over the last few months.&amp;nbsp; I have had many challenges and discovered a ton of interesting and useful nuggets along the way.&lt;/p&gt; &lt;p&gt;Not only is this an awesomely cool SharePoint implementation using Microsoft Office SharePoint Server 2007, but it is also built using the Web Content Management (WCM) features along with a whole lot of customizations (my favorite).&amp;nbsp; A lot of &amp;quot;social&amp;quot;, interactive customizations were made to the site that allowed users to do things like rate and comment on articles and the like, features not available out of the box.&amp;nbsp; Did I mention that the portal is also fully branded?&lt;/p&gt; &lt;p&gt;This project is also one of the first projects hosted on the Microsoft SharePoint Online platform.&amp;nbsp; Working directly with the team at Microsoft has been challenging, educational and fun to say the least.&amp;nbsp; I truly believe it will be the platform of choice for enterprise customers wanting to offload the hosting and support burden that often comes with large scale SharePoint implementations.&amp;nbsp; Check out this &lt;a href="http://www.informationweek.com/news/services/saas/showArticle.jhtml?articleID=209100729" target="_blank"&gt;article&lt;/a&gt; for more information!&lt;/p&gt; &lt;p&gt;Please update your feeds to point here as I am moving from my previous home.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://wssguy.com/aggbug.aspx?PostID=5" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Attis?a=nVcUJ9oY-Vk:WVx7PEzcBAU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Attis?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Attis/~4/nVcUJ9oY-Vk" height="1" width="1"/&gt;</description><category domain="http://wssguy.com/blogs/dan/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Branding/default.aspx">Branding</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Hosting/default.aspx">Hosting</category><category domain="http://wssguy.com/blogs/dan/archive/tags/Web+Content+Management/default.aspx">Web Content Management</category><feedburner:origLink>http://wssguy.com/blogs/dan/archive/2008/10/27/back-with-a-vengeance.aspx</feedburner:origLink></item></channel></rss>
