<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WebDevStudios.com &#187; SharePoint</title>
	<atom:link href="http://webdevstudios.com/topics/microsoft/sharepoint/feed/" rel="self" type="application/rss+xml" />
	<link>http://webdevstudios.com</link>
	<description>Open Source Website Development and Design</description>
	<lastBuildDate>Wed, 28 Jul 2010 18:25:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>MOSS: Enable versioning from C#</title>
		<link>http://webdevstudios.com/blog/moss-enable-versioning-from-c/</link>
		<comments>http://webdevstudios.com/blog/moss-enable-versioning-from-c/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 17:59:39 +0000</pubDate>
		<dc:creator>Michael Coleman</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://webdevstudios.com/?p=2243</guid>
		<description><![CDATA[ Add a web reference to the Lists.asmx web service.  Call it whatever you want, I used &#8220;PDLists&#8221;.  The following code will access a document library or list, and enable versioning.  Simple, but effective. I use this code in a command line application, saves a lot of time from not logging into a site, finding the [...]]]></description>
			<content:encoded><![CDATA[<p> Add a web reference to the Lists.asmx web service.  Call it whatever you want, I used &#8220;PDLists&#8221;.  The following code will access a document library or list, and enable versioning.  Simple, but effective.</p>
<p>I use this code in a command line application, saves a lot of time from not logging into a site, finding the list or library, opening settings, opening versioning properties, and then enabling.</p>
<blockquote><p>public static void EnableVersioning(string URL, string ListName)</p>
<p>{</p>
<p>PDLists.Lists EnableVersions = new PDLists.Lists();</p>
<p>EnableVersions.Credentials = CredentialCache.DefaultCredentials;</p>
<p>EnableVersions.Url = URL + &#8220;lists.asmx&#8221;;</p>
<p>XmlNode _response = null;</p>
<p>XmlNode ndList = EnableVersions.GetList(ListName);</p>
<p>XmlNode ndVersion = ndList.Attributes["Version"];</p>
<p>XmlDocument xmlDoc = new System.Xml.XmlDocument();</p>
<p>XmlNode ndProperties = xmlDoc.CreateNode(XmlNodeType.Element, &#8220;List&#8221;, &#8220;&#8221;);</p>
<p>XmlAttribute ndVersionAttrib = (XmlAttribute)xmlDoc.CreateNode(XmlNodeType.Attribute, &#8220;EnableVersioning&#8221;, &#8220;&#8221;);</p>
<p>ndVersionAttrib.Value = &#8220;TRUE&#8221;;</p>
<p>ndProperties.Attributes.Append(ndVersionAttrib);</p>
<p>XmlDocument doc = new System.Xml.XmlDocument();</p>
<p>XmlElement batchElement = doc.CreateElement(&#8220;Batch&#8221;);</p>
<p>XmlNode newItemhome = EnableVersions.GetListCollection();</p>
<p>try</p>
<p>{</p>
<p>_response = EnableVersions.UpdateList(ndList.Attributes["ID"].Value, ndProperties, null, null, null, ndVersion.Value);</p>
<p>}</p>
<p>catch (Exception ex)</p>
<p>{</p>
<p>Console.WriteLine(ex.Message + &#8220;\n &#8221; + ex.StackTrace);</p>
<p>}</p>
<p>Console.WriteLine(&#8220;[versioning enabled]&#8220;);</p>
<p>}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://webdevstudios.com/blog/moss-enable-versioning-from-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MOSS: Excessive Sync errors on Sharepoint 2007 Front End Web Server</title>
		<link>http://webdevstudios.com/blog/moss-excessive-sync-errors-on-sharepoint-2007-front-end-web-server/</link>
		<comments>http://webdevstudios.com/blog/moss-excessive-sync-errors-on-sharepoint-2007-front-end-web-server/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 17:55:22 +0000</pubDate>
		<dc:creator>Michael Coleman</dc:creator>
				<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://webdevstudios.com/?p=2232</guid>
		<description><![CDATA[In several MOSS deployments with multiple front ends, I have noticed many sync issues in the event logs. A runtime exception was detected. Details follow. Message: Cannot insert duplicate key row in object 'dbo.UserMemberships' with unique index 'CX_UserMemberships_RecordId_MemberGroupId_SID'. The statement has been terminated. Techinal Details: System.Data.SqlClient.SqlException: Cannot insert duplicate key row in object 'dbo.UserMemberships' with [...]]]></description>
			<content:encoded><![CDATA[<p>In several MOSS deployments with multiple front ends, I have noticed many sync issues in the event logs.<br />
<code>A runtime exception was detected. Details follow.<br />
Message: Cannot insert duplicate key row in object 'dbo.UserMemberships' with unique index 'CX_UserMemberships_RecordId_MemberGroupId_SID'.<br />
The statement has been terminated.<br />
Techinal Details:<br />
System.Data.SqlClient.SqlException: Cannot insert duplicate key row in object 'dbo.UserMemberships' with unique index 'CX_UserMemberships_RecordId_MemberGroupId_SID'.<br />
The statement has been terminated.<br />
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)<br />
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)<br />
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)<br />
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)<br />
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)<br />
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)<br />
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)<br />
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)<br />
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()<br />
at Microsoft.Office.Server.Data.SqlSession.ExecuteNonQuery(SqlCommand command)<br />
at Microsoft.Office.Server.UserProfiles.WSSSynchSqlSession.SynchExecuteNonQuery(SqlCommand cmd, Boolean throwOnFail)<br />
at Microsoft.Office.Server.UserProfiles.WSSSynchSqlSession.SynchExecuteNonQuery(SqlCommand cmd)<br />
at Microsoft.Office.Server.UserProfiles.SiteSynchronizer.WriteChangeLogConsumed()<br />
at Microsoft.Office.Server.UserProfiles.SiteSynchronizer.Synch()<br />
at Microsoft.Office.Server.Diagnostics.FirstChanceHandler.ExceptionFilter(Boolean fRethrowException, TryBlock tryBlock, FilterBlock filter, CatchBlock catchBlock, FinallyBlock finallyBlock)</code></p>
<div>Why cant anything ever just work with Microsoft?</div>
<div> </div>
<div>It could be do to backing up and restoring databases to different applications.  It causes the GUID for the content DB to be the same, causing a conflict during synchronization.</div>
<div> </div>
<div>To get a list of all the GUIDs with sync issues you can use the following command from one of the front ends:</div>
<p><code>stsadm -o sync -listolddatabases 0</code></p>
<p>You can then use this information to query SQL and see which databases are having issues.  OR, you can use this VBS script to get the information:<br />
<code>Set Args = WScript.Arguments<br />
Connstr = "Driver={SQL Server};Server=SQL2005;Database=Config_DB"<br />
Set Connect = CreateObject("ADODB.Connection")<br />
Connect.Open Connstr<br />
strInput = Args.Item(0)<br />
Set DB = Connect.Execute("SELECT Id, ClassId, Name, Status, Version, Properties FROM Objects WHERE (Id = '" &amp; strInput &amp; "')")<br />
Do Until DB.Eof<br />
WScript.Echo Db("Id")<br />
WScript.Echo Db("ClassId")<br />
WScript.Echo Db("Name")<br />
WScript.Echo Db("Status")<br />
WScript.Echo Db("Version")<br />
'WScript.Echo Db("Properties")<br />
DB.MoveNext<br />
Loop</code></p>
<div>To help get a baseline in our environment, I just ran:</div>
<p><code><br />
stsadm -o sync -deleteolddatabases 0</code></p>
<div>This doesnt remove the databases, it removes the sync error.  I let the servers run over the weekend, then checked again.</div>
<div> </div>
<div>To fix the issue, we detatched the databases in order to issue the a new GUID.</div>
<div> </div>
<div>Detatching the DB will not delete it, just remove it from the farm.</div>
<div> </div>
<div>To detach:</div>
<p><code>stsadm -o preparetomove -contentdb -contentdb : -site<br />
stsadm -o deletecontentdb -url -databaseserver -databasename </code><br />
To reattach:<br /><code>stsadm -o addcontentdb -url <URL> -databasename <DB Name> -databaseserver <SQL Server></code><br />
<br />
I hope that saves someone else some time.</p>
]]></content:encoded>
			<wfw:commentRss>http://webdevstudios.com/blog/moss-excessive-sync-errors-on-sharepoint-2007-front-end-web-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MOSS: Shared Service Provider Search Service Error</title>
		<link>http://webdevstudios.com/blog/moss-shared-service-provider-search-service-error/</link>
		<comments>http://webdevstudios.com/blog/moss-shared-service-provider-search-service-error/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 17:37:05 +0000</pubDate>
		<dc:creator>Michael Coleman</dc:creator>
				<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://webdevstudios.com/?p=2225</guid>
		<description><![CDATA[I recently lost a search and index server (virtual server) due to a virtual host server eating dirt.    I had some issues with getting the services transfered, since I also made the mistake of only have central administration running on the same box that was lost.    After moving the services, and hoping it [...]]]></description>
			<content:encoded><![CDATA[<div>I recently lost a search and index server (virtual server) due to a virtual host server eating dirt. </div>
<div> </div>
<div>I had some issues with getting the services transfered, since I also made the mistake of only have central administration running on the same box that was lost. </div>
<div> </div>
<div>After moving the services, and hoping it worked to no avail, i pulled the hard drives out of the old host machine and moved the VM to another host server.</div>
<div> </div>
<div>Even after restoring, there were still some issues. </div>
<div>When I tried to access the Search properties of the SSP to see what was wrong, I received:<em>An indexer is not assigned to the Shared Services Provider.</em></div>
<p>I fixed the problem by assigning an indexer to the SSP. Not exactly sure how it happened that the indexer was never assigned, but here are the steps:</p>
<p>1. Open Central Administration<br />
2. Go to the Application tab<br />
3. Select “Create or Manage this farm’s shared services”<br />
4. Use drop-down list for the SSP, select Edit Properties<br />
5. Assign an indexer server</p>
]]></content:encoded>
			<wfw:commentRss>http://webdevstudios.com/blog/moss-shared-service-provider-search-service-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MOSS: Installing Adobe PDF Ifilter 6.0 on MOSS 2007 (Now With WSS Support)</title>
		<link>http://webdevstudios.com/blog/moss-installing-adobe-pdf-ifilter-6-0-on-moss-2007-now-with-wss-support/</link>
		<comments>http://webdevstudios.com/blog/moss-installing-adobe-pdf-ifilter-6-0-on-moss-2007-now-with-wss-support/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 17:35:41 +0000</pubDate>
		<dc:creator>Michael Coleman</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[WSS]]></category>

		<guid isPermaLink="false">http://webdevstudios.com/?p=2221</guid>
		<description><![CDATA[Here are the instructions for installing the PDF IFilter 6.0 on a SharePoint 2007 server to allow PDF files to be indexed (full text) by the Search and for the icon to be shown next to PDF documents. Download Adobe PDF IFilter 6.0 from Adobe.  Stop the IIS Admin service: Start -&#62; Run -&#62; services.msc -&#62; IIS [...]]]></description>
			<content:encoded><![CDATA[<p>Here are the instructions for installing the PDF IFilter 6.0 on a SharePoint 2007 server to allow PDF files to be indexed (full text) by the Search and for the icon to be shown next to PDF documents.</p>
<ol>
<li>Download <a href="http://www.adobe.com/support/downloads/detail.jsp?ftpID=2611" target="_blank">Adobe PDF IFilter 6.0</a> from Adobe. </li>
<li>Stop the IIS Admin service: <em>Start</em> -&gt; <em>Run</em> -&gt; <em>services.msc</em> -&gt; <strong><em>IIS Admin Service</em></strong> -&gt; Stop</li>
<li>Run the Adobe PDF IFilter 6.0 Setup program to install the filter on the server.</li>
<li>Copy the ICPDF.GIF file to &#8220;C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Template\Images&#8221;</li>
<li>Edit the file C:\Program Files\Common Files\Microsoft Shared\Web server extensions\60\Template\Xml\DOCICON.XML
<ol>
<li>Add an entry for the .pdf extension.<br />
&lt;Mapping Key=&#8221;pdf&#8221; Value=&#8221;icpdf.gif&#8221;/&gt;</li>
</ol>
</li>
<li>Perform an <strong>iisreset</strong> or recycle the SharePoint Application Pools</li>
<li>Add the .pdf file type to the index list:
<ol>
<li>Go to <em>Central Administration</em>, then to the <em>Shared Services Administration</em> Web of the current SSP, go to <em>Search Settings</em> and next to <em>File Type</em></li>
<li>Add a new file type <em><strong>pdf</strong></em></li>
</ol>
</li>
<li>Perform a <strong>Full Update</strong> on the Search content indexes</li>
</ol>
<p>Note: The ICPDF.GIF file is included in the file.</p>
<div>For WSS:  <a href="http://support.microsoft.com/default.aspx/kb/927675">http://support.microsoft.com/default.aspx/kb/927675</a></div>
]]></content:encoded>
			<wfw:commentRss>http://webdevstudios.com/blog/moss-installing-adobe-pdf-ifilter-6-0-on-moss-2007-now-with-wss-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)

Served from: webdevstudios.com @ 2010-07-29 17:00:02 -->