<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" 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/"><channel><title>sharepointers</title><link>http://blogs.msdn.com/skelley/default.aspx</link><description>microsoft sharepoint: wss and moss tips and tricks</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>office 2007 files in sharepoint v2 (the lurking danger and how to avoid it)</title><link>http://blogs.msdn.com/skelley/archive/2008/02/06/metadata-with-office-2007-files-in-sharepoint-v2.aspx</link><pubDate>Thu, 07 Feb 2008 02:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7500563</guid><dc:creator>skelley</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/skelley/comments/7500563.aspx</comments><wfw:commentRss>http://blogs.msdn.com/skelley/commentrss.aspx?PostID=7500563</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;first off, if you're using office 2007 file inside sharepoint v2 you &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;&lt;STRONG&gt;need&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; to read this post. there are some very important things you need to be aware of.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;as some background, office 2007 introduced a new xml based file format for office documents. the&amp;nbsp; new .doc&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;x&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;, .xls&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;x&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; and .ppt&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;x&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; files are actually all zip files containing several xml files which makeup the document and its styling. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;want to see for yourself?&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;try renaming one of those new files types with a .zip extension and you'll be able to look inside the file or extract it and examine all the xml documents. you'll see something like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/MetadatawithOffice2007FilesinSharePointV_AB88/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/MetadatawithOffice2007FilesinSharePointV_AB88/image_2.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=184 alt=image src="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/MetadatawithOffice2007FilesinSharePointV_AB88/image_thumb.png" width=498 border=0 mce_src="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/MetadatawithOffice2007FilesinSharePointV_AB88/image_thumb.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;getting back to sharepoint, microsoft released a &lt;A href="http://support.microsoft.com/kb/936909"&gt;&lt;SPAN style="COLOR: blue; mso-bidi-font-size: 11.0pt"&gt;kb article 939909&lt;/SPAN&gt;&lt;/A&gt; with details around the support for office 2007 documents in sharepoint v2... but essentially it says they aren't supported. if you're using them, you need to be aware of the potential issue described in this post.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;sharepoint automatically stays in sync with office files and the metadata stored inside of them. when a change happens in either sharepoint or the file itself, a synchronization between the sources will occur. there are two terms used to describe this action:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;demotion&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; - term used to describe the act of sharepoint writing metadata into a document &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;promotion&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; - term used to describe the act of a document writing metadata into sharepoint&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;you can &lt;A class="" href="http://msdn2.microsoft.com/en-us/library/aa979617.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/aa979617.aspx"&gt;learn a bit&lt;/A&gt; more about this whole promtion / demotion thing on &lt;A class="" href="http://msdn2.microsoft.com/en-us/library/aa979617.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/aa979617.aspx"&gt;msdn&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;there is a metadata issue&amp;nbsp;with this that affects&amp;nbsp;both windows sharepoint services v2 and sharepoint portal server 2003. since sharepoint v2 is not aware of the office 2007 file format, it does not demote sharepoint metadata into the files, as it does with previous office formats. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;so why does this matter to me?&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 4"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;scenario time:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;let's say you have a sharepoint v2 document library with some required custom metadata fields, say&amp;nbsp; "customer" and "business unit". when a new office 2007 document is created and saved back to sharepoint, a dialog will prompt the user to enter any required fields. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;when entered, metadata will be saved back to sharepoint and displayed correctly in the library but the metadata is not demoted into the document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;so what's the implications of that?&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;well when sharepoint and a file are out of sync it can cause unexpected results and loss of metadata. a prime scenario for this is upgrading to sharepoint v3... metadata can and will be lost in that scenario. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;the dangerous part is that metadata will have appeared to have been upgraded successfully, and will appear in sharepoint document libraries... however as soon as a document is modified in any way (as simple as edit &amp;gt; ok) metadata will be reset to defaults, effectively losing all values. that's why if you aren't aware of this issue, it can be quite a confusing and potentially quite bad.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 4"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;safely upgrading from sharepoint v2 to sharepoint v3 with office 2007 files&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;if you have office 2007 files in sharepoint v2, you will need to upgrade from v2 &amp;gt; v3 in a certain order and run a tool after the upgrade to fix the metadata relationships with their files. &lt;BR&gt;&lt;BR&gt;the upgrade process will be:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL type=1&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;run prescan on your v2 database(s) and fix any issues identified. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;disable any sybari / forefront scanning . &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;attach your v2 database(s) to your v3 farm, upgrading them. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;after upgrading, run the &lt;A href="http://blogs.msdn.com/skelley/attachment/7500563.ashx"&gt;&lt;SPAN style="COLOR: blue; mso-bidi-font-size: 11.0pt"&gt;metadata_refresher tool&lt;/SPAN&gt;&lt;/A&gt; below to sync any office 2007 documents with their metadata. &lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;note:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; modifying documents and/or their metadata in any way before running the refresh tool will cause metadata loss. the metadata will be reset to default values, so ensure this tool (or something like it) is run immediately after upgrades to v3 have completed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-outline-level: 4"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;metadata refresher tool&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;the source code &lt;A href="http://blogs.msdn.com/skelley/attachment/7500563.ashx"&gt;&lt;SPAN style="COLOR: blue; mso-bidi-font-size: 11.0pt"&gt;attached to this post&lt;/SPAN&gt;&lt;/A&gt; contains an application which can correct the metadata sync issue. two things to note:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL type=1&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo3; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;only the most recent version of files will be corrected. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo3; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;any documents which are linked copies will be skipped to avoid breaking the relationship but these can be located in "scan mode". &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;see the readme.txt file for details on usage.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;disclaimer: &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;while this code has been tested and proven to work, anyone considering its use should test and validate in their own test environments before attempting to use on any type of production server/data. the code is provided as is, with no warranty of any kind and confers no rights.&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7500563" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/skelley/attachment/7500563.ashx" length="1606809" type="application/x-zip-compressed" /></item><item><title>codeplex + copytimer = sptoolbox</title><link>http://blogs.msdn.com/skelley/archive/2007/11/13/codeplex-copytimer-sptoolbox.aspx</link><pubDate>Wed, 14 Nov 2007 01:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6185720</guid><dc:creator>skelley</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/skelley/comments/6185720.aspx</comments><wfw:commentRss>http://blogs.msdn.com/skelley/commentrss.aspx?PostID=6185720</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;it's been a while since my last post... i've been busy working on some creating a sharepoint metrics repository for our &lt;A href="http://www.microsoft.com/online/bpi/default.mspx"&gt;&lt;FONT color=#0000ff&gt;hosted sharepoint customers&lt;/FONT&gt;&lt;/A&gt;. i'll talk about that a bit more in a future post. ;)&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;today i'd like to announce the release of an internal tool for measuring sharepoint performance called &lt;A href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=sptoolbox&amp;amp;ReleaseId=8366"&gt;&lt;FONT color=#0000ff&gt;copytimer&lt;/FONT&gt;&lt;/A&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=sptoolbox&amp;amp;ReleaseId=8366" mce_href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=sptoolbox&amp;amp;ReleaseId=8366"&gt;&lt;FONT color=#0000ff&gt;copytimer&lt;/FONT&gt;&lt;/A&gt; will be one of many releases tracked in a new site for sharepoint tools and utilities at:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A title=http://www.codeplex.com/sptoolbox href="http://www.codeplex.com/sptoolbox" mce_href="http://www.codeplex.com/sptoolbox"&gt;http://www.codeplex.com/sptoolbox&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;this codeplex site will contain various tools for sharepoint developed by my team (msit / sharepoint online services group), the sharepoint product group, as well as sharepoint rangers and mvps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;the first item added to the toolbox is called &lt;A href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=sptoolbox&amp;amp;ReleaseId=8366"&gt;&lt;FONT color=#0000ff&gt;copytimer&lt;/FONT&gt;&lt;/A&gt;. this is a standalone application which measures sharepoint performance by timing the downloads/uploads of files to a sharepoint site. it then records how long the operations took along with a bunch of information about the client system like latency, ethernet adapter, ip address, etc...&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;the best part about the tool is it can be run from any windows client which has access to the sharepoint site being tested, as it uses the webdav protocol for file transfers... nothing is object model. special thanks to sean livingston for creating the original version and working out many of the tricky details for uploading to sharepoint thru webdav.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;internally at microsoft, we've used copytimer for future planning and architecture design as well as monitoring and measuring the overall performance of our sharepoint environment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;you can download the latest release of copytimer here:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A title=https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=sptoolbox&amp;amp;ReleaseId=8366 href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=sptoolbox&amp;amp;ReleaseId=8366" mce_href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=sptoolbox&amp;amp;ReleaseId=8366"&gt;&lt;FONT color=#0000ff&gt;https://www.codeplex.com/release/projectreleases.aspx?projectname=sptoolbox&amp;amp;releaseid=8366&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;here are a few screen shots, because what good is an app without screenshots ;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/cmd_2.png" mce_href="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/cmd_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=412 alt=cmd src="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/cmd_thumb.png" width=675 border=0 mce_src="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/cmd_thumb.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/results_2.png" mce_href="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/results_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=133 alt=results src="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/results_thumb.png" width=644 border=0 mce_src="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/results_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;and here's some examples of what you can do with data from copytimer in excel:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/results_excel_2.png" mce_href="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/results_excel_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=183 alt=results_excel src="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/results_excel_thumb.png" width=354 border=0 mce_src="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/results_excel_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/results_excel2_2.png" mce_href="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/results_excel2_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=282 alt=results_excel2 src="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/results_excel2_thumb.png" width=404 border=0 mce_src="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/CopyTimerCodePlexSPToolbox_CB78/results_excel2_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6185720" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/skelley/archive/tags/performance/default.aspx">performance</category><category domain="http://blogs.msdn.com/skelley/archive/tags/copytimer/default.aspx">copytimer</category><category domain="http://blogs.msdn.com/skelley/archive/tags/metrics/default.aspx">metrics</category><category domain="http://blogs.msdn.com/skelley/archive/tags/codeplex/default.aspx">codeplex</category></item><item><title>sending email to sharepoint</title><link>http://blogs.msdn.com/skelley/archive/2007/08/22/sending-email-to-sharepoint.aspx</link><pubDate>Wed, 22 Aug 2007 11:33:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4507018</guid><dc:creator>skelley</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/skelley/comments/4507018.aspx</comments><wfw:commentRss>http://blogs.msdn.com/skelley/commentrss.aspx?PostID=4507018</wfw:commentRss><description>&lt;p&gt;sharepoint v3 has the new&amp;nbsp;feature of sending email to sharepoint lists. &lt;/p&gt; &lt;p&gt;cool right?&lt;/p&gt; &lt;p&gt;there is even&amp;nbsp;a built in sharepoint&amp;nbsp;list template called "discussion boards" which is ideal for incoming emails, and acts as a threading tool for grouping messages together.&lt;/p&gt; &lt;p&gt;&amp;lt;soon i'll insert an image of a discussion board list&amp;gt;&lt;/p&gt; &lt;p&gt;this is handy for a lot of reasons but one potential usage of emailing to sharepoint could be&amp;nbsp;archival storage of team discussion groups or Discussion Groups / Security Groups (DGs / SGs). &lt;/p&gt; &lt;p&gt;to setup DG archiving to sharepoint, here is a quick overview of what you'll have to do:&amp;nbsp;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;install windows smtp server component in the control panel on your sharepoint web front ends&amp;nbsp;(not installed by default)  &lt;li&gt;next, enable incoming email in sharepoint central admin &amp;gt; operations &amp;gt; incoming email settings  &lt;ul&gt; &lt;li&gt;configure settings as per your environment &lt;/li&gt;&lt;/ul&gt; &lt;li&gt;create&amp;nbsp;the sharepoint&amp;nbsp;list for incoming email  &lt;ul&gt; &lt;li&gt;when creating the list be sure to check the "allow incoming email" box&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;get the list's email address. it'll be something like &lt;a href="mailto:listname@sharepointfarm.yourcompany.com"&gt;listname@sharepointfarm.yourcompany.com&lt;/a&gt;  &lt;li&gt;create a new AD contact object  &lt;ul&gt; &lt;li&gt;set the SMTP address of the contact object to the above email address&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;add this contact object to the DG / SG as a member&amp;nbsp;and all future emails will be distributed to sharepoint as well&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;pretty sweet right? this can all be automated as well with some not too complex&amp;nbsp;code.&lt;/p&gt; &lt;p&gt;now before you start going email crazy there's&amp;nbsp;a couple of concerns to consider first.&lt;/p&gt; &lt;p&gt;lists in sharepoint are supposed to remain under 2,000 items (being returned to the view). you'll need to consider that you'll likely hit this limitation quickly, as some email DGs can get more 2,000 mail items in only a few days (or less). &lt;/p&gt; &lt;p&gt;ok fine.. i'll admit it...&lt;/p&gt; &lt;p&gt;in sharepoint technically &lt;em&gt;you can have&lt;/em&gt; more than 2,000 items in a list...&amp;nbsp;you could even&amp;nbsp;have millions.&amp;nbsp;&lt;/p&gt; &lt;p&gt;the key is that you need&amp;nbsp;to ensure that the view you are using for displaying the list, is not returning any more than 2,000 items. &lt;/p&gt; &lt;p&gt;as an example, setup the default view of a list to filter&amp;nbsp;for the last 7 days or something which you know will always have a result set of under 2,000 items. the rest of the items can be found by searching, which is likely what people will do anyway. whose gonna browse a list of thousands of items? &lt;/p&gt; &lt;p&gt;so that is one consideration. ensuring there are default views which limit the items displayed&amp;nbsp;for all email enabled lists.&lt;/p&gt; &lt;p&gt;another issue is storage. most companies have lots of DGs and if all of a sudden they're going to sharepoint you'll&amp;nbsp;run out of storage&amp;nbsp;the first day!&lt;/p&gt; &lt;p&gt;that's why you'd need&amp;nbsp;to figure out a rollout plan. slowly scale up and watch how much space is needed. &lt;/p&gt; &lt;p&gt;of course, this should all be tested in a lab first too, to get some ballpark estimates of how much space is required for 1 email message, how many messages sent on average per day to this DG, etc...&lt;/p&gt; &lt;p&gt;hey sean, what about legal ramifications? &lt;/p&gt; &lt;p&gt;many companies are starting to adopt (or have already) some type of retention period setting for old emails. lawyers don't want any extra documents around that could be used against the company as soon as they become inadmissible in court. i think emails minimum&amp;nbsp;retention period are 1 year (unless its business critical)&amp;nbsp;but i'm not a lawyer, and that depends on your organization.&lt;/p&gt; &lt;p&gt;the bottom line is, you're gonna want to consult your companies'&amp;nbsp;lawyers and find out what their policy is. sharepoint allows you to set policies on sites&amp;nbsp;to expire content after a certain period of time so that is pretty much exactly what you'll need. &lt;/p&gt; &lt;p&gt;now you could do this for every site collection programmatically, but what if&amp;nbsp;admins of the site just go in there and turn of the policy? &lt;/p&gt; &lt;p&gt;so are you going to run this policy setting application nightly on a timer to always ensure all sites have the correct settings?&lt;/p&gt; &lt;p&gt;another whole issue to deal with.&lt;/p&gt; &lt;p&gt;there are plenty of things to think about, but sending email to sharepoint is a really cool feature and i imagine this will only gain popularity in the future.&lt;/p&gt; &lt;p&gt;in a future post&amp;nbsp;(and my team's upcoming book &lt;strong&gt;MOSS for Architects and Engineers&lt;/strong&gt;) i'll cover some more in depth / best practice configuration settings for exchange and sharepoint to get incoming email to sharepoint working.&lt;/p&gt; &lt;p&gt;-sean&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4507018" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/skelley/archive/tags/email/default.aspx">email</category></item><item><title>stsadm import / export missing content</title><link>http://blogs.msdn.com/skelley/archive/2007/07/12/stsadm-import-export-missing-content.aspx</link><pubDate>Thu, 12 Jul 2007 21:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3840299</guid><dc:creator>skelley</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/skelley/comments/3840299.aspx</comments><wfw:commentRss>http://blogs.msdn.com/skelley/commentrss.aspx?PostID=3840299</wfw:commentRss><description>&lt;p&gt;in sharepoint v3, the tool&amp;nbsp;stsadm has an operation for importing and exporting sites and/or webs. it is the replacement for smigrate from v2.&lt;/p&gt; &lt;p&gt;so say you want to move a web to a different site collection, you would need to use this tool.&lt;/p&gt; &lt;p&gt;&lt;strike&gt;unfortunately there seems to be a bug in the import / export operations. &lt;/strike&gt;&lt;/p&gt; &lt;p&gt;&lt;strike&gt;it's a rather nasty bug too that will move most of your content but not everything, making it extremely difficult to detect.&lt;/strike&gt;&lt;/p&gt; &lt;p&gt;&lt;strike&gt;for example you might have a document library with 20 files but only 5 of them get moved, all without any obvious notices in the log files.&lt;/strike&gt;&lt;/p&gt; &lt;p&gt;&lt;strike&gt;the only way you would even know that it was not a complete import is if you knew the contents you were expecting to show up.&lt;/strike&gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;&lt;/p&gt; &lt;p&gt;when exporting content you should use the following switches:&lt;/p&gt; &lt;p&gt;&lt;b&gt;stsadm -o export -url &amp;lt;url&amp;gt; -filename &amp;lt;filename&amp;gt; -includeusersecurity -versions 4&lt;/b&gt;&lt;/p&gt; &lt;p&gt;when importing that content you should try using:&lt;/p&gt; &lt;p&gt;&lt;b&gt;stsadm -o import -url &amp;lt;url&amp;gt; -filename &amp;lt;filename&amp;gt; -includeusersecurity&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;this has worked for me and my export / imports have&amp;nbsp;been much more successful then without those switches, but you should still try to&amp;nbsp;verify this for yourself as well.&lt;/p&gt; &lt;p&gt;if you're simply move a site collection to a different location you can use stsadm backup / restore which seems to be a little bit more reliable at this point.&lt;/p&gt; &lt;p&gt;&lt;strike&gt;a bug has been filed for this problem&amp;nbsp;and&amp;nbsp;the wheels are in motion to help fix this thing &lt;/strike&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;UPDATE: &lt;/b&gt;apparently this is not a bug and is by design. if there are documents which are not a published major version or draft copies, they will not be backed up unless you use the -versions 4 switch. it's likely that in almost all cases you will want to use this switch to ensure all content is migrated.&lt;br&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3840299" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/skelley/archive/tags/stsadm/default.aspx">stsadm</category><category domain="http://blogs.msdn.com/skelley/archive/tags/export/default.aspx">export</category><category domain="http://blogs.msdn.com/skelley/archive/tags/import/default.aspx">import</category></item><item><title>enabling external rss feeds</title><link>http://blogs.msdn.com/skelley/archive/2007/06/27/enabling-external-rss-feeds.aspx</link><pubDate>Wed, 27 Jun 2007 21:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3568125</guid><dc:creator>skelley</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/skelley/comments/3568125.aspx</comments><wfw:commentRss>http://blogs.msdn.com/skelley/commentrss.aspx?PostID=3568125</wfw:commentRss><description>&lt;P&gt;sharepoint v3 has the nice ability to display rss feeds via web parts... but there is a potential problem&lt;/P&gt;
&lt;P&gt;most rss feeds people care about are external, meaning outside the company's intranet.&lt;/P&gt;
&lt;P&gt;in order to allow your sharepoint server external access you may have to add a proxy for iis so it can reach the outside internet.&lt;/P&gt;
&lt;P&gt;to do this you must edit the web.config file for the appropriate virtual server.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;warning&lt;/STRONG&gt;: make a backup of your web.config before modifying&lt;/P&gt;
&lt;P&gt;add this line toward the bottom of your web.config, but before the closing &amp;lt;/configuration&amp;gt;. also you should probably do a CTRL+F and look for the word proxy in your web.config... you want to make sure if you already have settings in there that they don't conflict.&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Consolas&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;system.net&amp;gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Consolas&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;defaultProxy&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Consolas&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;proxy usesystemdefault="false" proxyaddress="&lt;A href="http://yourproxyhere/" mce_href="http://yourproxyhere/"&gt;http://yourproxyhere&lt;/A&gt;" bypassonlocal="true" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Consolas&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/defaultProxy&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Consolas&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/system.net&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;this should not require a restart of iis.... iis will pickup on the change automatically. try that apache. ;)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3568125" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/skelley/archive/tags/rss/default.aspx">rss</category><category domain="http://blogs.msdn.com/skelley/archive/tags/external/default.aspx">external</category><category domain="http://blogs.msdn.com/skelley/archive/tags/feeds/default.aspx">feeds</category></item><item><title>sharepoint terminology defined</title><link>http://blogs.msdn.com/skelley/archive/2007/06/24/sharepoint-terminology-defined.aspx</link><pubDate>Sun, 24 Jun 2007 23:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3511757</guid><dc:creator>skelley</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/skelley/comments/3511757.aspx</comments><wfw:commentRss>http://blogs.msdn.com/skelley/commentrss.aspx?PostID=3511757</wfw:commentRss><description>&lt;P&gt;in sharepoint there are a lot of terms that may be confusing to new sharepoint admins, or even to existing ones. &lt;/P&gt;
&lt;P&gt;since a lot of the words have other meanings than what sharepoint uses them for, it can be a bit tricky. i know when i was starting out with sharepoint i was very confused for a while because of the ambiguity of the words&lt;/P&gt;
&lt;P&gt;so let's take it from the top:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;wss&amp;nbsp;/ windows sharepoint services&lt;/STRONG&gt; - &amp;nbsp;this is a free product from microsoft (comes with windows server). it gives you all the basic functionality of sharepoint including document libraries, lists, even things like email integration.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;moss&amp;nbsp;/ microsoft office sharepoint server&lt;/STRONG&gt; -&amp;nbsp;this is an add-on to wss which gives some very cool additional features. some examples are excel services, infopath forms server,&amp;nbsp;ecm&amp;nbsp;(enterprise content management)&amp;nbsp;and moss enterprise search. this is not free. &lt;/P&gt;
&lt;P&gt;also you can't just install moss... moss is built on top of wss, so wss is a prerequisite. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;web application / web app&lt;/STRONG&gt;&amp;nbsp;- also known as a virtual server (in sharepoint v2) and an web site / application pool (in iis), web apps allow for&amp;nbsp;logical separation of sharepoint content. each web app runs under a different process on the iis web&amp;nbsp;server.&lt;/P&gt;
&lt;P&gt;two examples of different web apps&amp;nbsp;are the central administrator site which runs on an arbitrary port&amp;nbsp;number&amp;nbsp;and then standard sharepoint sites which typically run on port 80. they both run under separate processes in iis.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;site collection&lt;/STRONG&gt; &lt;STRONG&gt;/ top level site / parent site / spsite&lt;/STRONG&gt;&amp;nbsp;- a site collection is a web site that can contain sub-sites (aka webs), which all share the same owner and administrators of the &lt;STRONG&gt;top level site collection&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;a site collection controls global settings that sub-sites underneath it inherit. settings can include permissions, storage quotas, and themes, etc...&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;webs / sub-sites / spweb&lt;/STRONG&gt;&amp;nbsp;- these are web sites that live underneath a site collection. these are almost the same thing as a site collection but the difference is the global settings that are applied from the site collection. &lt;/P&gt;
&lt;P&gt;webs can have their own independent settings separate from its parent site collection, but it makes it a bit easier to manage for the owner of the site, that's the idea here.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;lists&lt;/STRONG&gt; - a list is a generic term used to define the different places to store content in a sharepoint site. some built in lists are document libraries (upload and share word docs), picture libraries (upload pics), and custom lists where you define what you want to store. &lt;/P&gt;
&lt;P&gt;scenario time!&lt;/P&gt;
&lt;P&gt;ok lets discuss one potential way to set up a sharepoint site.&lt;/P&gt;
&lt;P&gt;imagine a organization of 60 people, and then 3 sub-teams of 20 people each. &lt;/P&gt;
&lt;P&gt;a potential structure of the team's sharepoint site is a &lt;STRONG&gt;site collection&lt;/STRONG&gt; that contains information for all 60 people (ie vacation calendars for the whole team). &lt;/P&gt;
&lt;P&gt;then each of the 3 teams could have their own &lt;STRONG&gt;webs&lt;/STRONG&gt;, for the smaller teams, which contain all the documents relative to each team. &lt;/P&gt;
&lt;P&gt;the url structure could look like:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://sharepoint/sites/orgsite/" mce_href="http://sharepoint/sites/orgsite/"&gt;http://sharepoint/sites/orgsite/&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://sharepoint/sites/thetol" mce_href="http://sharepoint/sites/thetol"&gt;&lt;A href="http://sharepoint/sites/orgsite/team1site/" mce_href="http://sharepoint/sites/orgsite/team1site/"&gt;http://sharepoint/sites/orgsite/team1site/&lt;/A&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://sharepoint/sites/thetol" mce_href="http://sharepoint/sites/thetol"&gt;&lt;A href="http://sharepoint/sites/orgsite/team2site/" mce_href="http://sharepoint/sites/orgsite/team2site/"&gt;http://sharepoint/sites/orgsite/team2site/&lt;/A&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://sharepoint/sites/orgsite/team3site/" mce_href="http://sharepoint/sites/orgsite/team3site/"&gt;http://sharepoint/sites/orgsite/team3site/&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;in this example &lt;STRONG&gt;orgsite&lt;/STRONG&gt; is the site collection and &lt;STRONG&gt;team1site&lt;/STRONG&gt;, &lt;STRONG&gt;team2site&lt;/STRONG&gt;, &lt;STRONG&gt;team3site&lt;/STRONG&gt; are the webs.&lt;/P&gt;
&lt;P&gt;a picture is worth a thousand words so in my next post i will include some diagrams to better show the relationships.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3511757" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/skelley/archive/tags/definitions/default.aspx">definitions</category><category domain="http://blogs.msdn.com/skelley/archive/tags/terminology/default.aspx">terminology</category><category domain="http://blogs.msdn.com/skelley/archive/tags/terms/default.aspx">terms</category></item><item><title>sharepoint alerts: how to repair them after a web app move</title><link>http://blogs.msdn.com/skelley/archive/2007/06/18/alerts.aspx</link><pubDate>Mon, 18 Jun 2007 23:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3390563</guid><dc:creator>skelley</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/skelley/comments/3390563.aspx</comments><wfw:commentRss>http://blogs.msdn.com/skelley/commentrss.aspx?PostID=3390563</wfw:commentRss><description>&lt;p&gt;this past weekend we&amp;nbsp;had a sharepoint&amp;nbsp;farm where we needed to detach the databases and reattach them to a different web application. &lt;/p&gt; &lt;p&gt;this can break a lot of things, &lt;a href="http://blogs.msdn.com/mikewat" mce_href="http://blogs.msdn.com/mikewat"&gt;dr watson&lt;/a&gt; has a &lt;a href="http://blogs.msdn.com/mikewat/archive/2007/06/18/moving-databases-between-web-apps.aspx" mce_href="http://blogs.msdn.com/mikewat/archive/2007/06/18/moving-databases-between-web-apps.aspx"&gt;good list of some of them&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;i'm going to focus on alerts and how to fix them (yep they break)&lt;/p&gt; &lt;p&gt;first of all there is a nice chunk of sample code to help fix this but its incomplete:&lt;/p&gt; &lt;p&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;936759" title="http://support.microsoft.com/default.aspx?scid=kb;en-us;936759" mce_href="http://support.microsoft.com/default.aspx?scid=kb;en-us;936759"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;936759&lt;/a&gt;&lt;/p&gt; &lt;p&gt;here's the piece of code we care about:&lt;/p&gt; &lt;table unselectable="on" bgcolor="white" border="1" cellpadding="10" width="576"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td color="black" width="574"&gt;&lt;pre class="code"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;try&lt;/font&gt;&lt;br&gt;&lt;/span&gt;&lt;font color="#000000"&gt;{&lt;br&gt;    alert.Update();&lt;br&gt;    &lt;/font&gt;&lt;font color="#000000"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//Change the Alert frequency back to the initial state.&lt;br&gt;&lt;/span&gt;    alert.AlertFrequency = afPrevious;&lt;br&gt;    alert.Update();&lt;br&gt;}&lt;br&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;catch&lt;/span&gt; (&lt;span style="color: rgb(43, 145, 175);"&gt;Exception&lt;/span&gt; ex)&lt;br&gt;{&lt;br&gt;    &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163, 21, 21);"&gt;" -&amp;gt; Error changing Alert. {0}"&lt;/span&gt;, ex.Message);&lt;br&gt;} &lt;span style="color: rgb(0, 128, 0);"&gt;// inner try&lt;/span&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;basically all they're doing is changing a value in the alert, updating it, and then putting the value back to what it was.&lt;/p&gt;
&lt;p&gt;what this essentially does is update a hard coded value called &lt;b&gt;siteurl&lt;/b&gt; in the alerts table.&lt;/p&gt;
&lt;p&gt;this works, kinda&lt;/p&gt;
&lt;p&gt;the alerts will be sent out but the contents of the alerts will be referencing old links&lt;/p&gt;
&lt;p&gt;that's bad news. &lt;img src="http://spaces.live.com/rte/emoticons/heart_broken.gif" alt="heart_broken" mce_src="http://spaces.live.com/rte/emoticons/heart_broken.gif" align="absbottom"&gt;&lt;/p&gt;
&lt;p&gt;so how do we fix it? &lt;/p&gt;
&lt;p&gt;well lets start with the content&amp;nbsp;database tables that deal with alerts:&lt;/p&gt;
&lt;table unselectable="on" color="black" bgcolor="white" border="0" cellspacing="4" width="469"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="162"&gt;&lt;font color="#000000"&gt;&lt;b&gt;immedsubscriptions&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="293"&gt;&lt;font color="#000000"&gt;contains immediate alerts&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="163"&gt;&lt;font color="#000000"&gt;&lt;b&gt;schedsubscriptions&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td valign="top" width="293"&gt;&lt;font color="#000000"&gt;contains all other alerts (daily, weekly, etc)&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;ok so lets have a look there&lt;/p&gt;
&lt;table unselectable="on" color="black" bgcolor="white" border="0" cellpadding="4" cellspacing="4" width="292"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="282"&gt;&lt;font color="#000000"&gt;select&amp;nbsp;top 20 * from immedsubscriptions&lt;br&gt;select top 20 * from schedsubscriptions&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;hmmm the column called properties seems to have some hard coded urls...&lt;/p&gt;
&lt;p&gt;(click to enlarge)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/alerts_C365/selectprops_2.png" mce_href="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/alerts_C365/selectprops_2.png" atomicselection="true"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/alerts_C365/selectprops_thumb_2.png" style="border-width: 0px;" alt="selectprops" mce_src="http://blogs.msdn.com/blogfiles/skelley/WindowsLiveWriter/alerts_C365/selectprops_thumb_2.png" border="0" height="233" width="601"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;pretty strange since there is another field in that table called &lt;b&gt;siteurl &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;(fyi&amp;nbsp;updating the &lt;b&gt;siteurl&lt;/b&gt; in these tables is what the microsoft supplied&amp;nbsp;sample code fixes)... &lt;/p&gt;
&lt;p&gt;so&amp;nbsp;why not just use that &lt;b&gt;siteurl&lt;/b&gt;&amp;nbsp;as the url&amp;nbsp;in &lt;b&gt;properties&lt;/b&gt; instead of hard coding it?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;no clue but they probably had a good reason. &lt;img src="http://spaces.live.com/rte/emoticons/fingerscrossed.gif" alt="fingerscrossed" mce_src="http://spaces.live.com/rte/emoticons/fingerscrossed.gif"&gt;&lt;/p&gt;
&lt;p&gt;anyways now we have to see whats in that bag... the property bag.&lt;/p&gt;
&lt;table unselectable="on" bgcolor="white" border="1" cellpadding="10" width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;pre class="code"&gt;&lt;font color="#000000"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; oldurl = "&lt;span style="color: rgb(163, 21, 21);"&gt;http://myoldwebapp&lt;/span&gt;"; &lt;br&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; newurl = "&lt;span style="color: rgb(163, 21, 21);"&gt;http://mynewwebapp&lt;/span&gt;";&lt;/font&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;pre class="code"&gt;&lt;font color="#000000"&gt;SPPropertyBag spprop = alert.Properties;&lt;br&gt;&lt;br&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (spprop[&lt;span style="color: rgb(163, 21, 21);"&gt;"siteurl"&lt;/span&gt;] != &lt;span style="color: rgb(0, 0, 255);"&gt;null&lt;/span&gt;)  &lt;/font&gt;&lt;font color="#000000"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//fix hard coded properties&lt;br&gt;&lt;/span&gt;{&lt;br&gt;    &lt;/font&gt;&lt;font color="#000000"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//Console.WriteLine("pre alert site url: " + spprop["siteurl"].ToString());&lt;br&gt;&lt;/span&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;(spprop[&lt;span style="color: rgb(163, 21, 21);"&gt;"siteurl"&lt;/span&gt;].Contains(oldurl))  &lt;/font&gt;&lt;font color="#000000"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//found old link reference/&lt;br&gt;&lt;/span&gt;    {&lt;br&gt;        spprop[&lt;span style="color: rgb(163, 21, 21);"&gt;"siteurl"&lt;/span&gt;] = spprop[&lt;span style="color: rgb(163, 21, 21);"&gt;"siteurl"&lt;/span&gt;].Replace(oldurl, newurl);&lt;br&gt;        &lt;/font&gt;&lt;font color="#000000"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//Console.WriteLine("post alert site url: " + spprop["siteurl"].ToString());&lt;br&gt;&lt;/span&gt;        &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163, 21, 21);"&gt;"Updated siteurl in properties"&lt;/span&gt;);&lt;br&gt;        countsiteurlprop++;&lt;br&gt;        spprop.Update();&lt;br&gt;    }&lt;br&gt;}&lt;br&gt;&lt;br&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (spprop[&lt;span style="color: rgb(163, 21, 21);"&gt;"mobileurl"&lt;/span&gt;] != &lt;span style="color: rgb(0, 0, 255);"&gt;null&lt;/span&gt;)&lt;br&gt;{&lt;br&gt;    &lt;/font&gt;&lt;font color="#000000"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//Console.WriteLine("alert mobile url: " + spprop["mobileurl"].ToString());&lt;br&gt;&lt;br&gt;&lt;/span&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (spprop[&lt;span style="color: rgb(163, 21, 21);"&gt;"mobileurl"&lt;/span&gt;].Contains(oldurl))  &lt;/font&gt;&lt;font color="#000000"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//found old link reference/&lt;br&gt;&lt;/span&gt;    {&lt;br&gt;        spprop[&lt;span style="color: rgb(163, 21, 21);"&gt;"mobileurl"&lt;/span&gt;] = spprop[&lt;span style="color: rgb(163, 21, 21);"&gt;"mobileurl"&lt;/span&gt;].Replace(oldurl, newurl);&lt;br&gt;        &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163, 21, 21);"&gt;"Updated mobileurl in properties"&lt;/span&gt;);&lt;br&gt;        countmobileurlprop++;&lt;br&gt;        spprop.Update();&lt;br&gt;    }&lt;br&gt;}&lt;/font&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;how did i know to look there? (i'm sleeping with the property bag lady)&lt;/p&gt;
&lt;p&gt;just kidding, it took a bit of tinkering considering that the &lt;b&gt;properties&lt;/b&gt; field&amp;nbsp;is not directly writable from an alerts object:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;SPAlert Properties&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/microsoft.sharepoint.spalert.properties.aspx" mce_href="http://msdn2.microsoft.com/microsoft.sharepoint.spalert.properties.aspx"&gt;Properties&lt;/a&gt;&amp;nbsp;Gets the properties of the alert. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.spalert_properties.aspx" title="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.spalert_properties.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.spalert_properties.aspx"&gt;http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.spalert_properties.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;if you want to set the alert, you must use the property bag. 
&lt;/p&gt;&lt;p&gt;this concludes how to fix alerts after a webapp move. i hope you like.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3390563" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/skelley/archive/tags/fix/default.aspx">fix</category><category domain="http://blogs.msdn.com/skelley/archive/tags/alerts/default.aspx">alerts</category><category domain="http://blogs.msdn.com/skelley/archive/tags/repair/default.aspx">repair</category></item><item><title>welcome</title><link>http://blogs.msdn.com/skelley/archive/2007/06/18/welcome.aspx</link><pubDate>Mon, 18 Jun 2007 22:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3389349</guid><dc:creator>skelley</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/skelley/comments/3389349.aspx</comments><wfw:commentRss>http://blogs.msdn.com/skelley/commentrss.aspx?PostID=3389349</wfw:commentRss><description>&lt;P&gt;the reason why i started this blog is because i found myself following this trend:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;start with&amp;nbsp;a question about sharepoint&lt;/LI&gt;
&lt;LI&gt;search internet / blogs / etc... (you know the drill)&lt;/LI&gt;
&lt;LI&gt;dont find anything helpful,&amp;nbsp;so conduct research&lt;/LI&gt;
&lt;LI&gt;figure it out but then the information is lost if its not written down and shared&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;the point is people usually follow this same order of finding answers, so why not add information to step 2?&lt;/P&gt;
&lt;P&gt;steps 3-4 take quite a bit of time so its great when you can skip those.&lt;/P&gt;
&lt;P&gt;plus its great when you find a really helpful blog somewhere. &lt;/P&gt;
&lt;P&gt;btw a couple of things:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;i'm not a big fan of into capital letters so dont expect to see a lot of those&lt;/LI&gt;
&lt;LI&gt;i &lt;EM&gt;am&lt;/EM&gt; a big fan of bulleted lists&lt;/LI&gt;
&lt;LI&gt;blogs are so serious. i'm not planning to follow suit.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;ok thats it for the welcome post. enjoy.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3389349" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/skelley/archive/tags/welcome/default.aspx">welcome</category></item></channel></rss>