<?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>Project Server Blog</title>
	<atom:link href="http://nearbaseline.com.au/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://nearbaseline.com.au/blog</link>
	<description>Project Server in the wild</description>
	<lastBuildDate>Thu, 10 May 2012 11:21:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Recovering from Project Server corruption</title>
		<link>http://nearbaseline.com.au/blog/2012/05/recovering-from-project-server-corruption/</link>
		<comments>http://nearbaseline.com.au/blog/2012/05/recovering-from-project-server-corruption/#comments</comments>
		<pubDate>Thu, 10 May 2012 11:10:25 +0000</pubDate>
		<dc:creator>Martin Laukkanen</dc:creator>
				<category><![CDATA[Project 2010]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[corruption]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[projtool]]></category>
		<category><![CDATA[unexpected]]></category>

		<guid isPermaLink="false">http://nearbaseline.com.au/blog/?p=421</guid>
		<description><![CDATA[A customer of mine recently had to recover from a worst case corruption scenario; one in which reverting to a backup was not an option. In short a hardware change resulted in progressive database corruption that was not picked up for over two weeks(!), leaving few options but to attempt to recover the corruption in-place. [...]]]></description>
			<content:encoded><![CDATA[<p>A customer of mine recently had to recover from a <em>worst case</em> corruption scenario; one in which reverting to a backup was not an option. In short a hardware change resulted in progressive database corruption that was not picked up for over two weeks(!), leaving few options but to attempt to recover the corruption in-place. </p>
<p>Firstly though we had to fix the SQL databases, for that the following command was needed;</p>
<blockquote><p>alter database ProjectServer_Published SET SINGLE_USER WITH ROLLBACK IMMEDIATE</p>
<p>DBCC CHECKDB(&#8216;ProjectServer_Published&#8217;, <strong>REPAIR_ALLOW_DATA_LOSS</strong>)</p>
<p>alter database ProjectServer_Published SET MULTI_USER;</p>
</blockquote>
<p>Yes that parameter does say “Allow Data Loss”, once you run this there is no going back, the databases are now free of consistency errors and other corruptions but in order to reach that state the DBCC command probably had to delete data!</p>
<p>So what now?</p>
<p>Well (<em>fortunately for once!!)</em> Project Server and Project Professional both are no stranger to application level corruption (<em>*cough* 2007 *cough*</em>), so despite DBCC repairing 7000+ consistency errors in the published database alone we are not without options.</p>
<p>So let’s look at some of the errors we had to deal with, firstly the MS Project client side errors and how we dealt with them.</p>
<p>&#160;</p>
<h2><strong><u>MS Project Errors</u></strong></h2>
<p>&#160;</p>
<h4>Error 1. There is a circular relationship in task …</h4>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image_thumb.png" width="644" height="147" /></a></p>
<p>This one was surprising, but a sign that most likely the last save attempt for this particular schedule wrote corruption to some of the tasks. </p>
<p>To correct this you need to identify the task and correct or delete the predecessors, in my experience the circular reference is pretty obvious so fixing it is quick, however if that’s not possible then I’ve previously found this procedure helpful: <a title="http://www.domorethanmanage.com/articles/2008/05/29/Resolvingcircularreferenc.html" href="http://www.domorethanmanage.com/articles/2008/05/29/Resolvingcircularreferenc.html">http://www.domorethanmanage.com/articles/2008/05/29/Resolvingcircularreferenc.html</a></p>
<p>&#160;</p>
<h4>Error 2. Save Error’s 9000(0&#215;2328) and 26005(0&#215;6595) </h4>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/clip_image001.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/clip_image001_thumb.png" width="381" height="244" /></a></p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/clip_image0026.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002[6]" border="0" alt="clip_image002[6]" src="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/clip_image0026_thumb.jpg" width="381" height="239" /></a></p>
<p>I’ve put these two together as the solution is the same, in fact this procedure also applies to the Publish errors that you may get also see.</p>
<p>If you see the above, the first thing to try is an administrative restore, however if that fails there is one last resort;</p>
<p><em><strong>The “XML Round Trip” method:</strong></em></p>
<p>1. Open the project in MS Project.</p>
<p>2. File, Save As, Save As File.</p>
<p>3. When prompted select to save with “All Enterprise Custom Fields”.</p>
<p>4. In the file dialog select the Save as type: <strong>XML</strong></p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image1.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image_thumb1.png" width="240" height="116" /></a></p>
<p>5. Save the file to your local computer.</p>
<p>6. Once saved, close the project (don’t forget to check in!) and reopen the saved XML file, when prompted choose to import ‘As a new project’.</p>
<p>7. Once opened, select Save As and save the project to the project server using the exact same project name.</p>
<p>8. When prompted say yes to overwrite the existing project (you did check it in right?)</p>
<p>9. Publish and your done.</p>
<p>Note; This process will overwrite any previously saved data for that project, the impacts of this are as follows;</p>
<ul>
<li>In-progress timesheets will be affected, remember that internally all tasks and assignments are recreated, so existing OPEN timesheet periods will be updated. This may result in un-submitted timesheets <u>losing actual work</u>, or worse in progress timesheets <u>failing to submit</u>. </li>
<li>Reports or custom add-in’s <u>relying on GUID’s</u> will likely have issues.</li>
</ul>
<p>&#160;</p>
<h4>Error 3: Unexpected problem occurred while opening the file</h4>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image_thumb2.png" width="315" height="128" /></a></p>
<p>If you see this, then hopefully one of the following works, if not you might be out of luck!</p>
<ul>
<li>Open the project from the local project cache.</li>
<li>Open the PUBLISHED version of the project by selecting the appropriate Store from the open dialog.</li>
</ul>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image3.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image_thumb3.png" width="388" height="36" /></a></p>
<ul>
<li>Restore the project from administrative backup.</li>
</ul>
<p>&#160;</p>
<h2><strong><u>PWA Errors</u></strong></h2>
<p>Next, a number of errors in PWA can show up as a result of corruption, it’s worth mentioning that pretty much all of the data in PWA comes solely from the Published database. This is good to know because typically 99% of them can be fixed by simply re-publishing!</p>
<p>That’s all good when dealing with a single project, however when your dealing with multiple project corruption, or simply more commonly when a view fails and you don’t know *what* project caused it this method of bulk-publishing will come in handy:</p>
<p>&#160;</p>
<h4></h4>
<h3>Bulk Publishing Projects using ProjTool</h3>
<p>Firstly get yourself ProjTool 2010: <a href="http://blogs.msdn.com/b/project_programmability/archive/2010/11/03/projtool-for-project-server-2010.aspx">http://blogs.msdn.com/b/project_programmability/archive/2010/11/03/projtool-for-project-server-2010.aspx</a></p>
<p>This tool is extremely powerful (IE destructive!) and should be used with caution, but just completing these steps you don’t need to get too deep into the tool so your not risking too much:</p>
<p>1. Open ProjTool, enter project server URL and select Windows for Authentication.</p>
<p>2. Select the projects to republish (multi-select by holding shift).</p>
<p>3. Click Publish from the Toolbar, when prompted select YES for a FULL Publish.</p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image4.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image_thumb4.png" width="644" height="371" /></a></p>
<p>From experience selecting over a couple of hundred projects will cause this to fail, but I have often used this to queue up 80+ projects for a republish.</p>
<p>Note however that almost ALWAYS ProjTool will report a problem in the queue, that’s because it only waits for a fixed time period for the queue jobs to complete and that never seems to be enough.</p>
<p>&#160;</p>
<h3>PWA View Errors</h3>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image5.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image_thumb5.png" width="511" height="155" /></a></p>
<p><em>(The view failed to load. Press OK to reload…)</em></p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image6.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image_thumb6.png" width="226" height="61" /></a></p>
<p><em>(An unknown error has occurred.)</em></p>
<p>These types of errors are likely caused by one of the following:</p>
<ol>
<li>Corruption in the project data being viewed</li>
<li>Basic corruption in the view configuration.</li>
</ol>
<p>For #1 this can be a custom field value that is filtered where one project has an invalid (null?) value for the field in question, so often just removing any filters configured on the view will fix this.</p>
<p>If you identify the filter in question then see the tips above about republishing (or possibly re-saving AND re-publishing) some or all projects to correct the data.</p>
<p>For #2 there are few options other than to recreate the view, copying the current view sometimes helps but not reliably.</p>
<p>&#160;</p>
<h3>Project Workspace Permissions Issues</h3>
<p>I’m not going to cover how to restore document or general SharePoint data corruption in this blog, but in terms of Project Server usage you’ll most likely have issues relating to to the project permissions synchronisation, for this see the following link: <a href="http://nearbaseline.com.au/blog/2011/02/resetting-lost-permissions-in-project-server-2010/">http://nearbaseline.com.au/blog/2011/02/resetting-lost-permissions-in-project-server-2010/</a></p>
<p>&#160;</p>
<h3>Other Issues</h3>
<p>Duplication of Custom Field values in PDPs:</p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image7.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://nearbaseline.com.au/blog/wp-content/uploads/2012/05/image_thumb7.png" width="582" height="57" /></a></p>
<p>This one turned out to be just an odd co-incidence in timing see the following recent Microsoft kb article if you see this issue;</p>
<p><a title="http://support.microsoft.com/kb/2598251" href="http://support.microsoft.com/kb/2598251">http://support.microsoft.com/kb/2598251</a></p>
<p>&#160;</p>
<h3>Finally Reporting Database Refresh</h3>
<p>Once all the above has been corrected you may still see some errors in Reporting jobs in the queue;</p>
<blockquote><p>ReportingProjectChangeMessageFailed (24006) &#8211; The INSERT statement conflicted with the FOREIGN KEY constraint</p>
</blockquote>
<p>There are a few options available for this problem, two are well described here: <a href="http://www.epmpartners.com.au/blog/insert-statement-conflicted-with-the-foreign-key-constraint/">http://www.epmpartners.com.au/blog/insert-statement-conflicted-with-the-foreign-key-constraint/</a></p>
<p>I’d suggest the RDB Refresh (Option 2 in the blog linked), this will take some time (hours typically), and any failures will result in projects NOT being listed in the reporting database <u>at all</u>. This is because the job removes and resynchronises the projects, so typically after running this job I usually use ProjTool to do a bulk publish (see above).</p>
<p></p>
<h3>Final Words</h3>
<p>The moral of this story is simple: Make sure your SQL DBA regularly uses DBCC CHECKDB (<a href="http://www.sql-server-pro.com/dbcc-checkdb.html">http://www.sql-server-pro.com/dbcc-checkdb.html</a>) to ensure you don’t get into this sort of mess!</p>
<div class="buttons-wrap clearfix">
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Facebook Button -->
<a href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2012%2F05%2Frecovering-from-project-server-corruption%2F" target="_blank">Share on Facebook</a>
<!-- End WP Socializer Plugin - Facebook Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Retweet Button -->
<a href="http://twitter.com/?status=RT @ Recovering from Project Server corruption http://nearbaseline.com.au/blog/?p=421" target="_blank">Retweet this</a>
<!-- End WP Socializer Plugin - Retweet Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - LinkedIn Button -->
<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2012%2F05%2Frecovering-from-project-server-corruption%2F&amp;title=Recovering+from+Project+Server+corruption" target="_blank">Submit this to </a>
<!-- End WP Socializer Plugin - LinkedIn Button -->
</span>
	<span class="margin15 floatleft"></span>
</div>]]></content:encoded>
			<wfw:commentRss>http://nearbaseline.com.au/blog/2012/05/recovering-from-project-server-corruption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disabling Backwards Compatibility Mode results in Corruption</title>
		<link>http://nearbaseline.com.au/blog/2011/12/disabling-backwards-compatibility-mode-results-in-corruption/</link>
		<comments>http://nearbaseline.com.au/blog/2011/12/disabling-backwards-compatibility-mode-results-in-corruption/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 07:28:56 +0000</pubDate>
		<dc:creator>Martin Laukkanen</dc:creator>
				<category><![CDATA[Project 2010]]></category>
		<category><![CDATA[Project Pro 2010]]></category>
		<category><![CDATA[BCM]]></category>
		<category><![CDATA[problem]]></category>

		<guid isPermaLink="false">http://nearbaseline.com.au/blog/2011/12/disabling-backwards-compatibility-mode-results-in-corruption/</guid>
		<description><![CDATA[This issue has recently affected more than one of my customers, so I thought after a few months working with Microsoft support it is definitely worth sharing; Problem: When attempting to disable BCM mode from Server Settings in a migrated Project Server 2010 environment, unchecking the BCM mode option leads to corruption in multiple project [...]]]></description>
			<content:encoded><![CDATA[<p>This issue has recently affected more than one of my customers, so I thought after a few months working with Microsoft support it is definitely worth sharing;</p>
<p><strong>Problem:</strong></p>
<p>When attempting to disable BCM mode from Server Settings in a migrated Project Server 2010 environment, unchecking the BCM mode option leads to corruption in multiple project schedules when opened in MS Project 2010. </p>
<p>The following message is displayed:</p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2011/12/clip_image002.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://nearbaseline.com.au/blog/wp-content/uploads/2011/12/clip_image002_thumb.jpg" width="307" height="125" /></a></p>
<blockquote><p><i>An unexpected problem occurred while opening the file.</i></p>
<p><i>The file may be damaged. Try using a backup copy.</i></p>
</blockquote>
<p>&#160;</p>
<p><strong>Cause:</strong></p>
<p>After much investigation it seems that the enterprise custom fields configured as <em>“Workflow Controlled” </em>are at fault here, it seems that when disabling BCM mode some (not necessarily all!) projects which have values set in custom fields that are workflow controlled will become corrupt according to MS Project 2010. No service patch or cumulative update (as yet: Dec/2011) helps, but clearly something in the configuration of those fields gets messed up when BCM is switched off.</p>
<p>For Google and those into debugging WinProj, the internal error is:</p>
<blockquote><p>The error occurs because the following error is returned when NonCoreProjectData is read.</p>
<p>The queried PID is Bad_PID, and the call winproj!TBkndPropCntr::GetAccessInfoPid cannot get Access information.</p>
</blockquote>
<p>&#160;</p>
<p><strong>Solution:</strong></p>
<p>Fortunately there is one, although a hotfix might come in the future, for my customer(s) working with MS we were able to find a procedure to fix the corruption.</p>
<p>Firstly when you <strong>disable </strong>BCM (by unchecking <em>Enable Project 2007 Compatibility Mode</em> in Server Settings – Additional Server Settings) the following SQL query can be used to identify any projects that may fail:</p>
<blockquote><p>select distinct PROJ.PROJ_NAME from MSP_PROJECTS as PROJ</p>
<p>inner join MSP_PROJ_CUSTOM_FIELD_VALUES as PROJCF</p>
<p>on PROJ.PROJ_UID = PROJCF.PROJ_UID</p>
<p>inner join MSP_CUSTOM_FIELDS CF</p>
<p>on CF.MD_PROP_ID = PROJCF.MD_PROP_ID</p>
<p>where MD_PROP_IS_WORKFLOW_CONTROLLED = 1</p>
<p>order by PROJ.PROJ_NAME</p>
</blockquote>
<p>&#160;</p>
<p>In my recent case it was just about every project! But regardless of how many the following steps will correct the issue for those identified projects:</p>
<ol>
<li>Backup your 4 x Project Server and 1 x SharePoint databases! </li>
<li>Copy Workflow Stage configuration from Server Settings &#8211; Workflow Stages. Copy Grid data to Excel, the columns required most are; Stage Name,&#160; Required Custom Fields and Read Only Custom Fields. (You’ll need this info later!) </li>
<li>Copy Enterprise Custom Field configuration from Server Settings &#8211; Enterprise Custom Fields. Copy Grid to Excel. (Again this is for later reference) </li>
<li>Open each Workflow Controlled custom field from Server Settings and uncheck “Workflow Controlled” then save, this removes every field from every workflow stage configuration.
<ol>
<li>Note: For each field this will <strong>REMOVE</strong> the Read Only and Required configuration from each workflow stage where this field is used! (Make sure you have your backup from step #1!) </li>
</ol>
</li>
<li>If required Force Check in all checked out projects, check queue to ensure all jobs complete before continuing. </li>
<li>Restart MS Project before continuing!</li>
<li>Open each affected project, save and publish them. (Note a full publish from MS Project is required – nope bulk publish using ProjTool doesn’t help!) </li>
<li>From Server Setting &#8211; Additional Server Settings &#8211; Uncheck &quot;Enable Project 2007 Compatibility Mode&quot; </li>
<li>Now to correct the custom field and workflow configuration, re-open each custom field previously changed and recheck the “Workflow Controlled” setting. (Using the information backed up in step #3) </li>
<li>Now Reconfigure the required custom fields and&#160; read-only custom fields for ALL workflow stages. (Using the information backed up in step #2) </li>
<li>Restart MS Project before continuing!</li>
<li>Re-test affected projects. </li>
</ol>
<p>&#160;</p>
<p>The process effectively removes the “corruption” caused by the <em>Workflow Controlled</em> attribute in those projects, and fortunately if you are stuck after unchecking the BCM box without a backup using these steps (minus step 6) still should work!</p>
<p>I hope if you have this issue that you are seeing it only in Dev, as there is no better test of a DR procedure than unchecking that one little check box! <img src='http://nearbaseline.com.au/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&#160;</p>
<p> Hope that helps someone else out there.   <em>Update 2/05: Minor re-ordering of the steps above based on some feedback.</em></p>
<div class="buttons-wrap clearfix">
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Facebook Button -->
<a href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F12%2Fdisabling-backwards-compatibility-mode-results-in-corruption%2F" target="_blank">Share on Facebook</a>
<!-- End WP Socializer Plugin - Facebook Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Retweet Button -->
<a href="http://twitter.com/?status=RT @ Disabling Backwards Compatibility Mode results in Corruption http://nearbaseline.com.au/blog/?p=397" target="_blank">Retweet this</a>
<!-- End WP Socializer Plugin - Retweet Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - LinkedIn Button -->
<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F12%2Fdisabling-backwards-compatibility-mode-results-in-corruption%2F&amp;title=Disabling+Backwards+Compatibility+Mode+results+in+Corruption" target="_blank">Submit this to </a>
<!-- End WP Socializer Plugin - LinkedIn Button -->
</span>
	<span class="margin15 floatleft"></span>
</div>]]></content:encoded>
			<wfw:commentRss>http://nearbaseline.com.au/blog/2011/12/disabling-backwards-compatibility-mode-results-in-corruption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enterprise Project Type Icons Available</title>
		<link>http://nearbaseline.com.au/blog/2011/11/enterprise-project-type-icons-available/</link>
		<comments>http://nearbaseline.com.au/blog/2011/11/enterprise-project-type-icons-available/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 08:57:22 +0000</pubDate>
		<dc:creator>Martin Laukkanen</dc:creator>
				<category><![CDATA[Project 2010]]></category>
		<category><![CDATA[How to]]></category>

		<guid isPermaLink="false">http://nearbaseline.com.au/blog/2011/11/enterprise-project-type-icons-available/</guid>
		<description><![CDATA[One thing I always have to search for when creating a new EPT is the appropriate icon to use. I have previously found and used some of the out-of-the-box icons that can be found in any default Project Server 2010 installation and thought that I might share them here. There is in fact a long [...]]]></description>
			<content:encoded><![CDATA[<p>One thing I always have to search for when creating a new EPT is the appropriate icon to use. I have previously found and used some of the out-of-the-box icons that can be found in any default Project Server 2010 installation and thought that I might share them here.</p>
<p>There is in fact a long list which I have included below (forgive me copyright gods in MS!), to use one of these icons, just update the image URL under <strong>Server Settings –&gt; Enterprise Project Types</strong>, for example to update the default <em>Sample Proposal </em>with any of the icons below, simply modify the image URL under:</p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2011/11/eptconf.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="eptconf" border="0" alt="eptconf" src="http://nearbaseline.com.au/blog/wp-content/uploads/2011/11/eptconf_thumb.png" width="609" height="150" /></a></p>
<p>For a Master Project icon (taken from the image below), replace the URL above with the following:</p>
<blockquote><p>/_layouts/inc/pwa/images/CenterMasterProject.png</p>
</blockquote>
<p>&#160;</p>
<p>Full list of icons (16&#215;16 size only):</p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2011/11/Image1.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Image1" border="0" alt="Image1" src="http://nearbaseline.com.au/blog/wp-content/uploads/2011/11/Image1_thumb.png" width="624" height="996" /></a></p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2011/11/Image2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Image2" border="0" alt="Image2" src="http://nearbaseline.com.au/blog/wp-content/uploads/2011/11/Image2_thumb.png" width="622" height="973" /></a></p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2011/11/Image3.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Image3" border="0" alt="Image3" src="http://nearbaseline.com.au/blog/wp-content/uploads/2011/11/Image3_thumb.png" width="618" height="195" /></a></p>
<p>&#160;</p>
<p>Enjoy!</p>
<div class="buttons-wrap clearfix">
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Facebook Button -->
<a href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F11%2Fenterprise-project-type-icons-available%2F" target="_blank">Share on Facebook</a>
<!-- End WP Socializer Plugin - Facebook Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Retweet Button -->
<a href="http://twitter.com/?status=RT @ Enterprise Project Type Icons Available http://nearbaseline.com.au/blog/?p=393" target="_blank">Retweet this</a>
<!-- End WP Socializer Plugin - Retweet Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - LinkedIn Button -->
<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F11%2Fenterprise-project-type-icons-available%2F&amp;title=Enterprise+Project+Type+Icons+Available" target="_blank">Submit this to </a>
<!-- End WP Socializer Plugin - LinkedIn Button -->
</span>
	<span class="margin15 floatleft"></span>
</div>]]></content:encoded>
			<wfw:commentRss>http://nearbaseline.com.au/blog/2011/11/enterprise-project-type-icons-available/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Error: Failed to get language information for Project Server</title>
		<link>http://nearbaseline.com.au/blog/2011/09/error-failed-to-get-language-information-for-project-server/</link>
		<comments>http://nearbaseline.com.au/blog/2011/09/error-failed-to-get-language-information-for-project-server/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 02:08:53 +0000</pubDate>
		<dc:creator>Martin Laukkanen</dc:creator>
				<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Project 2010]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://nearbaseline.com.au/blog/2011/09/error-failed-to-get-language-information-for-project-server/</guid>
		<description><![CDATA[I hate log noise, errors like the following: Log Name: Application Source: Microsoft-SharePoint Products-Project Server Date: 23/09/2011 11:16:05 AM Event ID: 2077 Task Category: General Level: Error Keywords: User: NT AUTHORITY\IUSR Computer: server.domain.local Description: Failed to get language information for Project Server (https://server/PWA) &#160; Apparently this is an error that can be ignored, hence my [...]]]></description>
			<content:encoded><![CDATA[<p>I hate log noise, errors like the following:</p>
<blockquote><p>Log Name: Application</p>
<p>Source: Microsoft-SharePoint Products-Project Server</p>
<p>Date: 23/09/2011 11:16:05 AM</p>
<p>Event ID: 2077</p>
<p>Task Category: General</p>
<p>Level: Error</p>
<p>Keywords:</p>
<p>User: NT AUTHORITY\IUSR</p>
<p>Computer: server.domain.local</p>
<p>Description:</p>
<p>Failed to get language information for Project Server (<a href="https://server/PWA">https://server/PWA</a>)</p>
</blockquote>
<p>&#160;</p>
<p>Apparently this is an error that can be ignored, hence my term “log noise”, however if you are managing large farms having hundreds or even thousands of these occur each night across a number of servers is clearly a big problem.</p>
<p>So I set out to resolve this one, and the cause turned out to be rather simple.</p>
<p>The errors occur nightly during the same window as the Full Search Crawl, so it’s not hard to find the culprit, a bit of searching in the ULS logs correlates the above with some or all of the following errors:</p>
<blockquote><p>09/23/2011 11:16:05.26&#160;&#160;&#160; w3wp.exe (0x194C)&#160;&#160;&#160; 0x2A74&#160;&#160;&#160; Project Server&#160;&#160;&#160; General&#160;&#160;&#160; auvt&#160;&#160;&#160; Exception&#160;&#160;&#160; System.Web.Services.Protocols.SoapException: ProjectServerError(s) LastError=GeneralSecurityAccessDenied Instructions: Pass this into PSClientError constructore to access all error information&#160;&#160;&#160;&#160; at Microsoft.Office.Project.Server.WebServiceProxy.Admin.ListInstalledLanguages() at Microsoft.Office.Project.PWA.PJLanguageInfo.EnsureLanguageInfo</p>
</blockquote>
<p>&#160;</p>
<p><strong><u>Cause</u></strong></p>
<p>The cause is simply that the Search <strong>Default Content Access Account </strong>does not have permissions in PWA. Typically said accounts would be granted a Web Application “Full Read” policy in order to index content, however although this allows the account to index all the content without issue it does result in these errors still being thrown up by the PSI.</p>
<p>In that sense this can be safely ignored, however if like me you need to get rid of these the solution is simple; just setup the search account in PWA. In my case on a default test PWA instance granting Team Member rights resolved 14 out of 16 of these, so some level higher than that is required to fully resolve this. </p>
<div class="buttons-wrap clearfix">
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Facebook Button -->
<a href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F09%2Ferror-failed-to-get-language-information-for-project-server%2F" target="_blank">Share on Facebook</a>
<!-- End WP Socializer Plugin - Facebook Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Retweet Button -->
<a href="http://twitter.com/?status=RT @ Error: Failed to get language information for Project Server http://nearbaseline.com.au/blog/?p=383" target="_blank">Retweet this</a>
<!-- End WP Socializer Plugin - Retweet Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - LinkedIn Button -->
<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F09%2Ferror-failed-to-get-language-information-for-project-server%2F&amp;title=Error%3A+Failed+to+get+language+information+for+Project+Server" target="_blank">Submit this to </a>
<!-- End WP Socializer Plugin - LinkedIn Button -->
</span>
	<span class="margin15 floatleft"></span>
</div>]]></content:encoded>
			<wfw:commentRss>http://nearbaseline.com.au/blog/2011/09/error-failed-to-get-language-information-for-project-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cube Building Errors after SP1 Installation</title>
		<link>http://nearbaseline.com.au/blog/2011/09/cube-building-errors-after-sp1-installation/</link>
		<comments>http://nearbaseline.com.au/blog/2011/09/cube-building-errors-after-sp1-installation/#comments</comments>
		<pubDate>Sat, 03 Sep 2011 04:17:29 +0000</pubDate>
		<dc:creator>Martin Laukkanen</dc:creator>
				<category><![CDATA[Project 2010]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Cube]]></category>
		<category><![CDATA[OLAP]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[SP1]]></category>

		<guid isPermaLink="false">http://nearbaseline.com.au/blog/2011/09/cube-building-errors-after-sp1-installation/</guid>
		<description><![CDATA[A customer of mine had this one after completing the upgrade to SP1 recently, basically all cube building would fail with the following error: Your CBSRequest job failed. Its current state is FailedNotBlocking. It was 0% complete. It entered the queue at 09/02/2011 11:00:26. [snip…] The errors returned from the queue are as follows: Error [...]]]></description>
			<content:encoded><![CDATA[<p>A customer of mine had this one after completing the upgrade to SP1 recently, basically all cube building would fail with the following error:</p>
<blockquote><p>Your CBSRequest job failed. Its current state is FailedNotBlocking. It was 0% complete. It entered the queue at 09/02/2011 11:00:26.</p>
<p>[<em>snip…</em>]</p>
<p>The errors returned from the queue are as follows:</p>
<p>Error ID: 17007</p>
<p>Error ID: 26000</p>
<p>[<em>snip…</em>]</p>
<p>&lt;class name=&quot;CBS message processor failed&quot;&gt;</p>
<p>&lt;error id=&quot;17007&quot; name=&quot;CBSOlapDatabaseSetupFailure&quot; uid=&quot;7d14c29d-a133-492b-baea-2e7c0bec444b&quot; QueueMessageBody=&quot;Setting UID=00007829-4392-48b3-b533-5a5a4797e3c9 ASServerName=server ASDBName=FullCube1 ASExtraNetAddress= RangeChoice=0 PastNum=1 PastUnit=0 NextNum=1 NextUnit=0 FromDate=01/04/2010 00:00:00 ToDate=12/31/2011 00:00:00 HighPriority=True&quot; Error=&quot;Error Setting Olap Database &#8216;FullCube1&#8242; roles: Error: <strong>This method can only convert identity claims, and only when a logical conversion exists</strong>.&amp;#xD;&amp;#xA;Parameter name: <strong>encodedClaim</strong>&quot; /&gt;</p>
</blockquote>
<p>This customer is using Claims-NTLM (ie AD users via Claims) for logins and that seems to be the cause of this issue. The give away is clearly in the error: “<em>This method can only convert identity claims</em>”.</p>
<p><strong>Solution</strong></p>
<p>Fortunately the solution turned out to be rather simple, it seems that SP1 does some additional checking when setting up the Cube Roles, as a result when users in the Project Server have issues then this error is caused.</p>
<p>A little more info can be seen in the ULS log:</p>
<blockquote><p>09/02/2011 12:00:33.18&#160; Microsoft.Office.Project.Server (0x17B0) 0x1A04&#160; SharePoint Foundation&#160;&#160; Claims Authentication d01p Medium&#160; ConvertWindowsClaimToWindowsPrincipalName() encountered error: Some or all identity references could not be translated.</p>
</blockquote>
<p>As it turns out a number of users in PWA have left the company and in this case as no AD-sync is used some of the accounts had been deleted from Active Directory but not updated in PWA server settings.</p>
<p>It seems also that accounts set as “inactive” also caused this error if they were in a group with the Global “View OLAP Cubes” permission.</p>
<p>The fix was to remove those user accounts from the PWA groups ‘Project Managers’, ‘Portfolio Managers’ and ‘Executives’ (and any others with the above permission).</p>
<p>&#160;</p>
<p>Finally I just tested this in a non-Claims lab, and the problem doesn’t occur, in fact the cube log identifies and lists the invalid account then continues processing, so technically I would call this one a code defect.</p>
<p>&#160;</p>
<p>Hope that helps someone else out there!</p>
<div class="buttons-wrap clearfix">
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Facebook Button -->
<a href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F09%2Fcube-building-errors-after-sp1-installation%2F" target="_blank">Share on Facebook</a>
<!-- End WP Socializer Plugin - Facebook Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Retweet Button -->
<a href="http://twitter.com/?status=RT @ Cube Building Errors after SP1 Installation http://nearbaseline.com.au/blog/?p=380" target="_blank">Retweet this</a>
<!-- End WP Socializer Plugin - Retweet Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - LinkedIn Button -->
<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F09%2Fcube-building-errors-after-sp1-installation%2F&amp;title=Cube+Building+Errors+after+SP1+Installation" target="_blank">Submit this to </a>
<!-- End WP Socializer Plugin - LinkedIn Button -->
</span>
	<span class="margin15 floatleft"></span>
</div>]]></content:encoded>
			<wfw:commentRss>http://nearbaseline.com.au/blog/2011/09/cube-building-errors-after-sp1-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exchange Sync Issues with large Active Directory</title>
		<link>http://nearbaseline.com.au/blog/2011/07/exchange-sync-issues-with-large-active-directory/</link>
		<comments>http://nearbaseline.com.au/blog/2011/07/exchange-sync-issues-with-large-active-directory/#comments</comments>
		<pubDate>Sat, 16 Jul 2011 08:27:46 +0000</pubDate>
		<dc:creator>Martin Laukkanen</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[Project 2010]]></category>

		<guid isPermaLink="false">http://nearbaseline.com.au/blog/?p=378</guid>
		<description><![CDATA[Recently I worked with a large customer getting to the bottom of some issues experienced with Exchange Sync in Project Server 2010, specifically the issues originated due to the large multi-forest nature of the Active Directory environment in which the Project Server was deployed. &#160; Symptoms Exchange Sync for resources not working, little is logged [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I worked with a large customer getting to the bottom of some issues experienced with Exchange Sync in Project Server 2010, specifically the issues originated due to the large multi-forest nature of the Active Directory environment in which the Project Server was deployed.</p>
<p>&#160;</p>
<p><strong><u>Symptoms</u></strong></p>
<p>Exchange Sync for resources not working, little is logged in the ULS without verbose logging other than the following:</p>
<blockquote><p>06/30/2011 12:25:49.04&#160;&#160;&#160;&#160;&#160;&#160;&#160; Microsoft.Office.Project.Server (0x0E3C)&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0x08C4&#160;&#160;&#160;&#160;&#160;&#160;&#160; Project Server&#160;&#160;&#160;&#160;&#160;&#160;&#160; Queue&#160;&#160;&#160;&#160;&#160;&#160;&#160; 954k&#160;&#160; Medium&#160; PWA:http://pwa.something/PWA, ServiceApp:Project Service Application, User DOMAIN\ServiceAcc, PSI: [QUEUE] Retry: 1 ExchangeSyncTasks Microsoft.Office.Project.Server.BusinessLayer.QueueMsg.ExchangeSyncTasks&#160; </p>
</blockquote>
<p>To get to the bottom of what was happening Verbose logging on Project Server Exchange Tasks was required which showed far more detail which I will summaries here:</p>
<blockquote><p>06/30/2011 12:25:48.00&#160;&#160;&#160;&#160;&#160;&#160;&#160; Microsoft.Office.Project.Server (0x0E3C)&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0x16D4&#160;&#160;&#160;&#160;&#160;&#160;&#160; Project Server&#160;&#160;&#160;&#160;&#160;&#160;&#160; Exchange Sync&#160;&#160;&#160; fux2&#160;&#160;&#160;&#160; Verbose&#160;&#160;&#160;&#160;&#160;&#160;&#160; -! Info: System.Net.WebException: Unable to connect to the remote server &#8212;&gt; System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond xxx.xxx.xxx.xxx:443 at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) at … …</p>
<p>06/30/2011 12:25:48.00&#160;&#160;&#160;&#160;&#160;&#160;&#160; Microsoft.Office.Project.Server (0x0E3C)&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0x16D4&#160;&#160;&#160;&#160;&#160;&#160;&#160; Project Server&#160;&#160;&#160;&#160;&#160;&#160;&#160; Exchange Sync&#160;&#160; fux2&#160; Verbose&#160;&#160;&#160;&#160;&#160;&#160;&#160; =? Trying to Autodiscover using email at &#8216;<a href="https://autodiscover.companydomain.com/autodiscover/autodiscover.xml">https://autodiscover.companydomain.com/autodiscover/autodiscover.xml</a>&#8216;&#160; </p>
<p>06/30/2011 12:25:48.04&#160;&#160;&#160;&#160;&#160;&#160;&#160; Microsoft.Office.Project.Server (0x0E3C)&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0x16D4&#160;&#160;&#160;&#160;&#160;&#160;&#160; Project Server&#160;&#160;&#160;&#160;&#160;&#160;&#160; Exchange Sync&#160;&#160; fux2&#160; Verbose&#160;&#160;&#160;&#160;&#160;&#160;&#160; -! Info: System.Net.WebException: The remote name could not be resolved: &#8216;autodiscover.companydomain.com&#8217; at System.Net.HttpWebRequest.GetRequestStream … …</p>
<p>06/30/2011 12:25:48.04&#160;&#160;&#160;&#160;&#160;&#160;&#160; Microsoft.Office.Project.Server (0x0E3C)&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0x16D4&#160;&#160;&#160;&#160;&#160;&#160;&#160; Project Server&#160;&#160;&#160;&#160;&#160;&#160;&#160; Exchange Sync&#160;&#160; 1zpd&#160; Verbose&#160;&#160;&#160;&#160;&#160;&#160;&#160; Error is: ExchangeSyncEWSUrlFailed. Details: Attributes: a6a779c4-a930-461f-a738-a3c78e8e826a . Standard Information: PSI Entry Point: Project User: DOMAIN\username Correlation Id: a1e43a95-1a78-44a0-be1b-e8b3aa267074 PWA Site URL: <a href="http://pwa.something/PWA">http://pwa.something/PWA</a> SSP Name: Project Service Application PSError: ExchangeSyncEWSUrlFailed (40509) </p>
<p>06/30/2011 12:25:48.04&#160;&#160;&#160;&#160;&#160;&#160;&#160; Microsoft.Office.Project.Server (0x0E3C)&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0x16D4&#160;&#160;&#160;&#160;&#160;&#160;&#160; Project Server&#160;&#160;&#160;&#160;&#160;&#160;&#160; Exchange Sync&#160; 9fbi&#160; Verbose&#160;&#160;&#160;&#160;&#160;&#160;&#160; Error is: ExchangeSyncGeneralProcessingFailure. Details: Attributes: a6a779c4-a930-461f-a738-a3c78e8e826a Microsoft.Office.Project.Server.BusinessLayer.Queue.      <br />ExchangeSyncEmailAddressInvalidException: Could not find Exchange server for resource a6a779c4-a930-461f-a738-a3c78e8e826a at Microsoft.Office.Project.Server.BusinessLayer.Queue.       <br />ProcessExchangeSyncMessage.ExecuteSync … …</p>
<p>06/30/2011 12:25:49.04&#160;&#160;&#160;&#160;&#160;&#160;&#160; Microsoft.Office.Project.Server (0x0E3C)&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0x0DD0&#160;&#160;&#160;&#160;&#160;&#160;&#160; Project Server&#160;&#160;&#160;&#160;&#160;&#160;&#160; Exchange Sync&#160; fux2&#160; Verbose&#160;&#160;&#160;&#160;&#160;&#160;&#160; ?? Starting SCP lookup for domainName=&#8217;companydomain.com&#8217;, root path=&#8221;&#160;&#160;&#160; </p>
</blockquote>
<p><em>[cut out multiple variations of the above as Autodiscover tries in vain to find the account]</em></p>
<p>If you’ve read through that, you can see that Project Server is attempting to use the Exchange Autodiscover service to locate the users Exchange details, as per the Autodiscover protocol which very very basically is something like this:</p>
<ol>
<li>Look for an Autodiscover service on the host <a href="https://autodiscover.companyemaildomain.com/autodiscover/autodiscover.xml">https://autodiscover.companyemaildomain.com/autodiscover/autodiscover.xml</a> (then look on the same host without the autodiscover bit) </li>
<li>If not found try an SCP (Service Connection Point) lookup in Active Directory to find the resources </li>
</ol>
<p>This can fail in a multi-forest Active Directory environment if your Exchange Client Access Servers (CAS) are located in a different forest. As was the case with my customer.</p>
<p>&#160;</p>
<p><strong><u>Solution</u></strong></p>
<p>This is actually a well understood problem in Exchange circles, and the full solution is well documented:</p>
<p><strong>How to Configure the Autodiscover Service for Multiple Forests</strong></p>
<ul>
<li><a title="http://technet.microsoft.com/en-us/library/aa996849(EXCHG.80).aspx" href="http://technet.microsoft.com/en-us/library/aa996849(EXCHG.80).aspx">http://technet.microsoft.com/en-us/library/aa996849(EXCHG.80).aspx</a> </li>
</ul>
<p>However if like in my case you don’t have the time to get a significant change such as the above completed then an alternative is needed.</p>
<p>&#160;</p>
<p><strong><u>Workaround</u></strong></p>
<p>Looking at the above autodiscover procedure an easy “workaround” (I call this one a ‘hack’) is clear;</p>
<ul>
<li>Add an entry to the HOSTS file on all Project Server application servers pointing to <em>autodiscover.companyemaildomain.com </em>which points to the actual autodiscover service running on the Exchange CAS. </li>
</ul>
<p>However now you’ll see something like this in your Verbose ULS:</p>
<blockquote><p>06/30/2011 12:40:04.17&#160;&#160;&#160;&#160;&#160;&#160;&#160; Microsoft.Office.Project.Server (0x0E3C)&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0&#215;1930&#160;&#160;&#160;&#160;&#160;&#160;&#160; Project Server&#160;&#160;&#160;&#160;&#160;&#160;&#160; Exchange Sync&#160;&#160;&#160;&#160;&#160;&#160;&#160; fux2&#160;&#160;&#160;&#160;&#160;&#160;&#160; Verbose&#160;&#160;&#160;&#160;&#160;&#160;&#160; -! Info: System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. &#8212;&gt; System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.</p>
</blockquote>
<p>This is because your Exchange CAS has something like <a href="https://myservername.companydomain.local">https://myservername.companydomain.local</a> as the Subject CN in its SSL certificate which would be expected, so what you need to do add a <em>Subject Alternative Name </em>to your certificate, see the following article on doing this:</p>
<p><strong>Configure SSL Certificates to Use Multiple Client Access Server Host Names</strong></p>
<ul>
<li><a title="http://technet.microsoft.com/en-us/library/aa995942.aspx" href="http://technet.microsoft.com/en-us/library/aa995942.aspx">http://technet.microsoft.com/en-us/library/aa995942.aspx</a> </li>
</ul>
<p>Now you’re almost there, just one last thing! In order for the Exchange and Project Server to both authenticate these cross-forest users you need to make some changes on the service account on both forests by configuring the msExchMasterAccountSid property on the Exchange forest. See the following similar technet forum solution to achieve this:</p>
<p><strong>EWS returns error &quot;Failed to get valid Active Directory information for the calling account&quot;</strong></p>
<ul>
<li><a title="http://social.technet.microsoft.com/Forums/en-AU/exchangesvrdevelopment/thread/559567a9-dec9-4b1c-bd00-deaece102bdc" href="http://social.technet.microsoft.com/Forums/en-AU/exchangesvrdevelopment/thread/559567a9-dec9-4b1c-bd00-deaece102bdc=">http://social.technet.microsoft.com/Forums/en-AU/exchangesvrdevelopment/thread/559567a9-dec9-4b1c-bd00-deaece102bdc=</a> </li>
</ul>
<p>&#160;</p>
<p>Done.</p>
<p> Hope that helps someone else out there!</p>
<div class="buttons-wrap clearfix">
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Facebook Button -->
<a href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F07%2Fexchange-sync-issues-with-large-active-directory%2F" target="_blank">Share on Facebook</a>
<!-- End WP Socializer Plugin - Facebook Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Retweet Button -->
<a href="http://twitter.com/?status=RT @ Exchange Sync Issues with large Active Directory http://nearbaseline.com.au/blog/?p=378" target="_blank">Retweet this</a>
<!-- End WP Socializer Plugin - Retweet Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - LinkedIn Button -->
<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F07%2Fexchange-sync-issues-with-large-active-directory%2F&amp;title=Exchange+Sync+Issues+with+large+Active+Directory" target="_blank">Submit this to </a>
<!-- End WP Socializer Plugin - LinkedIn Button -->
</span>
	<span class="margin15 floatleft"></span>
</div>]]></content:encoded>
			<wfw:commentRss>http://nearbaseline.com.au/blog/2011/07/exchange-sync-issues-with-large-active-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manually removing a missing feature after Config Wizard error after SP1 install</title>
		<link>http://nearbaseline.com.au/blog/2011/07/manually-removing-a-missing-feature-after-config-wizard-error-after-sp1-install/</link>
		<comments>http://nearbaseline.com.au/blog/2011/07/manually-removing-a-missing-feature-after-config-wizard-error-after-sp1-install/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 07:50:30 +0000</pubDate>
		<dc:creator>Martin Laukkanen</dc:creator>
				<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://nearbaseline.com.au/blog/2011/07/manually-removing-a-missing-feature-after-config-wizard-error-after-sp1-install/</guid>
		<description><![CDATA[Had some time today to upgrade my lab to SP1, and thought it worth a quick post here about my experience. For many people SP1 will be the first update applied to Project Server and SharePoint 2010, so with up to a year or more of production use it’s very possible that some features / [...]]]></description>
			<content:encoded><![CDATA[<p>Had some time today to upgrade my lab to SP1, and thought it worth a quick post here about my experience. </p>
<p>For many people SP1 will be the first update applied to Project Server and SharePoint 2010, so with up to a year or more of production use it’s very possible that some features / solutions have been installed and removed which might cause some problems for the SP1 install. </p>
<p>In my case on my development lab this was most certainly the case with literally dozens of (often half developed) solutions in various states of deployment! </p>
<p>So in this case you may have the configuration Wizard fail after SP1 setup with a message like this:</p>
<blockquote><p>Upgrade Timer job is exiting due to exception: Microsoft.SharePoint.Upgrade.SPUpgradeException: Upgrade completed with errors.&#160; Review the upgrade log file located in C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS\Upgrade-20110701-160359-545.log.&#160; The number of errors and warnings is listed at the end of the upgrade log file.</p>
</blockquote>
<p>Digging into the log mentioned reveals something like:</p>
<blockquote><p>[ERROR] [7/1/2011 4:17:20 PM]: The feature with Id d67567a3-4946-412f-9428-1ca6061a5189 is referenced in the database [WSS_Content], but is not installed on the current farm. The missing feature may cause upgrade to fail.</p>
</blockquote>
<p>(A very helpful and surprisingly accurate message)</p>
<p>The problem as you can see is a missing feature, however using the standard PowerShell get-SPFeature commands don’t reveal anything. This is due to the solution already being uninstalled (or perhaps never installed in the case of a migrated database). Fortunately there is a solution:</p>
<ul>
<li>Phil Childs at get-spscripts.com &#8211;      <br /><a title="http://get-spscripts.com/2011/06/removing-features-from-content-database.html" href="http://get-spscripts.com/2011/06/removing-features-from-content-database.html">http://get-spscripts.com/2011/06/removing-features-from-content-database.html</a></li>
</ul>
<p>Thanks Phil, using the provided scripts I was quickly able to identify and remove the offending feature. Once done a rerun of the PSCONFIG wizard (in my case using the command line “PSCONFIG –cmd upgrade –inplace b2b”) completes without errors.</p>
<p>&#160;</p>
<p> Hope that helps someone else out there.</p>
<div class="buttons-wrap clearfix">
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Facebook Button -->
<a href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F07%2Fmanually-removing-a-missing-feature-after-config-wizard-error-after-sp1-install%2F" target="_blank">Share on Facebook</a>
<!-- End WP Socializer Plugin - Facebook Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Retweet Button -->
<a href="http://twitter.com/?status=RT @ Manually removing a missing feature after Config Wizard error after SP1 install http://nearbaseline.com.au/blog/?p=358" target="_blank">Retweet this</a>
<!-- End WP Socializer Plugin - Retweet Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - LinkedIn Button -->
<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F07%2Fmanually-removing-a-missing-feature-after-config-wizard-error-after-sp1-install%2F&amp;title=Manually+removing+a+missing+feature+after+Config+Wizard+error+after+SP1+install" target="_blank">Submit this to </a>
<!-- End WP Socializer Plugin - LinkedIn Button -->
</span>
	<span class="margin15 floatleft"></span>
</div>]]></content:encoded>
			<wfw:commentRss>http://nearbaseline.com.au/blog/2011/07/manually-removing-a-missing-feature-after-config-wizard-error-after-sp1-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extending Project Server 2010 for Extranet Users</title>
		<link>http://nearbaseline.com.au/blog/2011/06/extending-project-server-2010-for-extranet-users/</link>
		<comments>http://nearbaseline.com.au/blog/2011/06/extending-project-server-2010-for-extranet-users/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 12:12:28 +0000</pubDate>
		<dc:creator>Martin Laukkanen</dc:creator>
				<category><![CDATA[Project 2010]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Claims]]></category>
		<category><![CDATA[Extranet]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[problem]]></category>

		<guid isPermaLink="false">http://nearbaseline.com.au/blog/?p=351</guid>
		<description><![CDATA[A common requirement for many SharePoint and Project Server deployments is to have an external facing interface using an alternate Forms based authentication method, the most common is using an ASP.NET SQL provider which since the 2007 version is the one of the simplest options. With 2010 however and Claims authentication this requires that you [...]]]></description>
			<content:encoded><![CDATA[<p>A common requirement for many SharePoint and Project Server deployments is to have an external facing interface using an alternate Forms based authentication method, the most common is using an ASP.NET SQL provider which since the 2007 version is the one of the simplest options. With 2010 however and Claims authentication this requires that you convert your existing Windows authenticated Web Applications to Claims based NTLM authentication, this process is well documented online for SharePoint 2010, however I have recently found that with Project Server 2010 a number of problems can be encountered.</p>
<p>Here is a typical error with the Project Details webpart after conversion:</p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2011/06/image.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://nearbaseline.com.au/blog/wp-content/uploads/2011/06/image_thumb.png" width="636" height="484" /></a></p>
<p align="right"><em>[Hi Google: (An unknown error has occurred)]</em></p>
<p>In this blog I’m not going to cover the whole process of setting up Extranet access, I’ll leave it to you to read some of the other excellent blogs on the topic linked below. What I will cover is how to do the not-so-well documented parts.</p>
<p>&#160;</p>
<p><strong><u>To Start With: Procedure to Setup Extranet Access</u></strong></p>
<p>The general procedure for extending a Project Server application for extranet users is something like this:</p>
<ol>
<li>Provision a ASP.NET SQL membership Provider.</li>
<li>Extend the Web Application to add an Extranet zone. </li>
<li>Configure the Claims membership providers in the web.config files. </li>
</ol>
<p>References for these steps:</p>
<ol>
<li>MMohanty: <a href="http://blogs.technet.com/b/mahesm/archive/2010/04/07/configure-forms-based-authentication-fba-with-sharepoint-2010.aspx">http://blogs.technet.com/b/mahesm/archive/2010/04/07/configure-forms-based-authentication-fba-with-sharepoint-2010.aspx</a> </li>
<li>Geoff Varosky: <a href="http://gvaro.wordpress.com/2011/03/28/planning-and-configuring-extranets-in-sharepoint-2010part-1/">http://gvaro.wordpress.com/2011/03/28/planning-and-configuring-extranets-in-sharepoint-2010part-1/</a></li>
<li>Geoff Varosky: <a href="http://gvaro.wordpress.com/2011/04/01/planning-and-configuring-extranets-in-sharepoint-2010part-2/">http://gvaro.wordpress.com/2011/04/01/planning-and-configuring-extranets-in-sharepoint-2010part-2/</a></li>
</ol>
<p>If you have followed those steps discussed in the links, then when you will likely have found that you are seeing all sorts of security issues after changing your Classic Web App to Claims.</p>
<p>In short the error above originates from the procedure used to migrate the application to Claims:</p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2011/06/image1.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://nearbaseline.com.au/blog/wp-content/uploads/2011/06/image_thumb1.png" width="644" height="97" /></a></p>
<p align="right"><em>(WARNING: Don’t use the above commands!)</em></p>
<p>Unfortunately this does not fully migrate the SharePoint application and from my experience will lead to errors such as the first one above. </p>
<p>&#160;</p>
<p><strong><u>Migrating the Web Application to Claims Without Issues</u></strong></p>
<p>Fortunately Microsoft has a well documented procedure: <a title="http://technet.microsoft.com/en-us/library/gg251985.aspx" href="http://technet.microsoft.com/en-us/library/gg251985.aspx">http://technet.microsoft.com/en-us/library/gg251985.aspx</a></p>
<blockquote><pre>$WebAppName = &quot;http:// <em>yourWebAppUrl</em>&quot;
$account = &quot;<em>yourDomain</em>\<em>yourUser</em>&quot;
$wa = get-SPWebApplication $WebAppName

Set-SPwebApplication $wa -AuthenticationProvider `</pre>
<pre>  (New-SPAuthenticationProvider) -Zone Default</pre>
</blockquote>
<p><em>Note: that the above commands migrate ALL Web Applications sharing that URL, it is not possible to only migrate your Extended application! </em></p>
<p>That command will migrate the web application fully and prepare it for Claims authentication, and don’t forget the TechNet article discusses the need to update your <em>portalsuperreaderaccount </em>and <em>portalsuperuseraccount </em>accounts if they have been set, which can be done easily using the following commands:</p>
<blockquote>
<p>$wa.Properties[&quot;portalsuperuseraccount&quot;] = &quot;i:0#.w|domain\apppool&quot;</p>
<p>$wa.Properties[&quot;portalsuperreaderaccount&quot;] = &quot;i:0#.w|domain\apppool&quot;</p>
<p>$wa.Update()</p>
</blockquote>
<p>&#160;</p>
<p><strong><u>Migrating Users to Re-enable Login</u></strong></p>
<p>Once your Web App is in Claims mode then you will still need to migrate your AD users, this part is not so well documented.</p>
<p>Essentially you need to use the PowerShell command <em>Move-SPUser</em> to move all of your existing <strong>“DOMAIN\username”</strong> users to the new Claims-NTLM identity <strong>“i0#.w|domain\username”.</strong></p>
<p>Before you can do this you need to ensure that your admin user has permissions to access this site, this can be done from Central Admin by updating the Web Application Policy:</p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2011/06/image2.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://nearbaseline.com.au/blog/wp-content/uploads/2011/06/image_thumb2.png" width="537" height="334" /></a></p>
<p align="right">&#160;</p>
<p>Add or re-add your user account (DOMAIN\adminuser) with Full Control to the web application in question, before proceeding with the following steps. <em>(Note: the above Policy should now show your Admin user with the User Name like so; “i:0#.w|domain\adminuser”)</em></p>
<p>Next, here is the command to migrate a single user:</p>
<blockquote>
<p>Get-SPUser -web <a href="http://server/pwa">http://server/pwa</a> -identity &quot;DOMAIN\user&quot; | Move-SPUser -NewAlias &quot;i:0#.w|domain\user&quot; –IgnoreSID</p>
</blockquote>
<p>The command will actually give the following error:</p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2011/06/image3.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://nearbaseline.com.au/blog/wp-content/uploads/2011/06/image_thumb3.png" width="644" height="75" /></a></p>
<p>However if you then use Get-SPUser you will note that the account has actually been migrated.</p>
<p>So for my purposes I wrote the following script which will migrate all users without the claims prefix “i:0#.w|” (Yep ignore those errors!):</p>
<blockquote>
<p>$UsersToMigrate = Get-SPUser -web <a href="http://server/pwa">http://server/pwa</a> | `</p>
<p>&#160; where {$_.UserLogin –like &#8216;DOMAIN\*&#8217; } </p>
<p>&#160;</p>
<p>ForEach ($user in $UsersToMigrate) </p>
<p>{ </p>
<p>&#160; Get-SPUser -web <a href="http://server/pwa">http://server/pwa</a> -identity $user | Move-SPUser `</p>
<p>&#160;&#160;&#160; -NewAlias (&quot;i:0#.w|&quot;+$user.UserLogin.toLower()) -IgnoreSID </p>
<p>}</p>
</blockquote>
<p>After running the above, users should now be able to login to your migrated Web Application with any AD user! </p>
<p>If you see other errors running either that script or the above command by itself, make certain that you can do the following without errors:</p>
<blockquote>
<p><font style="background-color: #ffffff"></font>Get-SPUser –web <a href="http://server/pwa">http://server/pwa</a></p>
</blockquote>
<p>If not check your web policy again as above.</p>
<p>&#160;</p>
<p><strong><u>Finally Adding Your Claims Users to PWA</u></strong></p>
<p>Now we have a fully migrated Claims-NTLM Web Application in addition to a newly created Extranet Claims Web Application which is attempting to use a Forms membership provider (<em>SQL-MembershipProvider</em> if you following the steps linked above).</p>
<p>The next steps are again well documented in the links above, configure your <em>web.config </em>files and then setup your SQL users.</p>
<p>The final problem you may face when attempting to add your new forms users to PWA, assuming (if using SQL that your ASPNETDB database permissions are correctly set) then adding the users to SharePoint will be easy using <em>Site Actions &#8211; Site Permissions – Grant Permission</em>, however what you will may see when attempting to add to Users to PWA is an error like the following:</p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2011/06/image7.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://nearbaseline.com.au/blog/wp-content/uploads/2011/06/image_thumb7.png" width="644" height="444" /></a></p>
<p align="right"><em>(Error Message: The NT account specified is invalid. …)</em></p>
<p>This is because the user has not yet been added to the SharePoint site collection which fortunately is easy enough to fix, just add the user to SharePoint from Site Permissions first!</p>
<p>From Site Actions –&gt; Site Permissions:</p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2011/06/image5.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://nearbaseline.com.au/blog/wp-content/uploads/2011/06/image_thumb5.png" width="320" height="237" /></a></p>
<p><a href="http://nearbaseline.com.au/blog/wp-content/uploads/2011/06/image6.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://nearbaseline.com.au/blog/wp-content/uploads/2011/06/image_thumb6.png" width="644" height="307" /></a></p>
<p>As long as SharePoint can find the user (make sure to use the full username!) then once you hit Ok the user identity will be added to the Site Collection, and then you will be able to add the user to PWA!</p>
<p>FYI if like me you like doing things in bulk here’s the PowerShell command to do the above:</p>
<blockquote>
<p>New-SPUser -UserAlias &quot;i:0#.f|SQLMembershipProvider|JaneDoe&quot; -Web <a href="http://server/pwa">http://server/pwa</a> -DisplayName &quot;Jane Doe&quot; -Email <a href="mailto:jane@blah.com">jane@blah.com</a></p>
</blockquote>
<p>&#160;</p>
<p>All done, enjoy your forms membership provider!</p>
<div class="buttons-wrap clearfix">
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Facebook Button -->
<a href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F06%2Fextending-project-server-2010-for-extranet-users%2F" target="_blank">Share on Facebook</a>
<!-- End WP Socializer Plugin - Facebook Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Retweet Button -->
<a href="http://twitter.com/?status=RT @ Extending Project Server 2010 for Extranet Users http://nearbaseline.com.au/blog/?p=351" target="_blank">Retweet this</a>
<!-- End WP Socializer Plugin - Retweet Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - LinkedIn Button -->
<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F06%2Fextending-project-server-2010-for-extranet-users%2F&amp;title=Extending+Project+Server+2010+for+Extranet+Users" target="_blank">Submit this to </a>
<!-- End WP Socializer Plugin - LinkedIn Button -->
</span>
	<span class="margin15 floatleft"></span>
</div>]]></content:encoded>
			<wfw:commentRss>http://nearbaseline.com.au/blog/2011/06/extending-project-server-2010-for-extranet-users/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Auto-publish of Task Status Updates in SP1</title>
		<link>http://nearbaseline.com.au/blog/2011/06/auto-publish-of-task-status-updates-in-sp1/</link>
		<comments>http://nearbaseline.com.au/blog/2011/06/auto-publish-of-task-status-updates-in-sp1/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 10:47:03 +0000</pubDate>
		<dc:creator>Martin Laukkanen</dc:creator>
				<category><![CDATA[Project 2010]]></category>
		<category><![CDATA[Hotfix]]></category>
		<category><![CDATA[Timesheet]]></category>

		<guid isPermaLink="false">http://nearbaseline.com.au/blog/2011/06/auto-publish-of-task-status-updates-in-sp1/</guid>
		<description><![CDATA[While investigating a solution for a customer who has a pretty common problem I came across another new feature to be included in Project Server 2010 Service Pack 1. The problem comes about from the requirement to regularly publish project schedules to ensure that reporting data is kept up to date, this is particularly important [...]]]></description>
			<content:encoded><![CDATA[<p>While investigating a solution for a customer who has a pretty common problem I came across another new feature to be included in Project Server 2010 Service Pack 1.</p>
<p>The problem comes about from the requirement to regularly publish project schedules to ensure that reporting data is kept up to date, this is particularly important when using Project Server timesheets which effectively demands that every active project be published at least once per period.</p>
<p>Normally this is okay, but when managing small projects some PM’s may have dozens or more active projects resulting in a significant administrative burden.</p>
<p>What’s new in SP1?</p>
<p>It seems that one of the unannounced new features is the inclusion of an option to “Automatically Publish” Task Updates approved by a rule, apparently the Status Approvals rule configuration will include this to make many of our lives easier!</p>
<p>I look forward to seeing it, and will update this post post release.</p>
<p><strong>Update:</strong></p>
<p>Looks like a few others a confirming this, see Christophe’s blog for some screenshots:</p>
<ul>
<li><a href="http://www.projectserverhelp.com/Lists/Posts/Post.aspx?ID=164" target="_blank">One Small Check Box, One Giant Leap for Project Server</a> – Gary Chefetz</li>
<li><a href="http://blogs.msdn.com/b/chrisfie/archive/2011/06/06/automatically-publish-updates-thanks-to-project-server-2010-sp1.aspx" target="_blank">Automatically Publish Updates thanks to Project Server 2010 SP1</a> – Christophe Fiessinger</li>
</ul>
<div class="buttons-wrap clearfix">
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Facebook Button -->
<a href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F06%2Fauto-publish-of-task-status-updates-in-sp1%2F" target="_blank">Share on Facebook</a>
<!-- End WP Socializer Plugin - Facebook Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Retweet Button -->
<a href="http://twitter.com/?status=RT @ Auto-publish of Task Status Updates in SP1 http://nearbaseline.com.au/blog/?p=336" target="_blank">Retweet this</a>
<!-- End WP Socializer Plugin - Retweet Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - LinkedIn Button -->
<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F06%2Fauto-publish-of-task-status-updates-in-sp1%2F&amp;title=Auto-publish+of+Task+Status+Updates+in+SP1" target="_blank">Submit this to </a>
<!-- End WP Socializer Plugin - LinkedIn Button -->
</span>
	<span class="margin15 floatleft"></span>
</div>]]></content:encoded>
			<wfw:commentRss>http://nearbaseline.com.au/blog/2011/06/auto-publish-of-task-status-updates-in-sp1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Service Pack 1 Announced for Project and SharePoint 2010</title>
		<link>http://nearbaseline.com.au/blog/2011/05/service-pack-1-announced-for-project-and-sharepoint-2010-3/</link>
		<comments>http://nearbaseline.com.au/blog/2011/05/service-pack-1-announced-for-project-and-sharepoint-2010-3/#comments</comments>
		<pubDate>Tue, 17 May 2011 11:59:40 +0000</pubDate>
		<dc:creator>Martin Laukkanen</dc:creator>
				<category><![CDATA[Project 2010]]></category>
		<category><![CDATA[Project Pro 2010]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Hotfix]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://nearbaseline.com.au/blog/2011/05/service-pack-1-announced-for-project-and-sharepoint-2010/</guid>
		<description><![CDATA[The end of June is the date announced for the release of SP1 for Project, Project Server and SharePoint 2010, one new feature (or ‘fix’) that is very exciting is: Multi-Browser Support for time entry in Project Web App – Post on 5/17 With SP1, Project Web App pages needed by team members to submit [...]]]></description>
			<content:encoded><![CDATA[<p>The end of June is the date announced for the release of SP1 for Project, Project Server and SharePoint 2010, one new feature (or ‘fix’) that is very exciting is:</p>
<ul>
<li>Multi-Browser Support for time entry in Project Web App – Post on 5/17
<ul>
<li>With SP1, Project Web App pages needed by team members to submit task status and timesheets are supported on FireFox, Safari, and Chrome.</li>
</ul>
</li>
</ul>
<p>Finally some support (albeit limited) for non-IE browsers!</p>
<p>Read more about SP1, <a href="http://blogs.msdn.com/b/project/archive/2011/05/16/project-2010-sp1.aspx" target="_blank">here (Official Project Blog)</a> and <a href="http://blogs.technet.com/b/office_sustained_engineering/archive/2011/05/16/announcing-service-pack-1-for-office-2010-and-sharepoint-2010.aspx" target="_blank">here (Office Sustained Engineering Blog)</a>.</p>
<p>Update 16/07:</p>
<p>Here’s a screenshot using Chrome:</p>
<p><a rel="attachment wp-att-375" href="http://nearbaseline.com.au/blog/2011/05/service-pack-1-announced-for-project-and-sharepoint-2010-3/image1chrom-2/"><img class="alignnone size-full wp-image-375" title="image1chrom" src="http://nearbaseline.com.au/blog/wp-content/uploads/2011/05/image1chrom.png" alt="" width="579" height="480" /></a></p>
<p>&nbsp;</p>
<div class="buttons-wrap clearfix">
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Facebook Button -->
<a href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F05%2Fservice-pack-1-announced-for-project-and-sharepoint-2010-3%2F" target="_blank">Share on Facebook</a>
<!-- End WP Socializer Plugin - Facebook Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - Retweet Button -->
<a href="http://twitter.com/?status=RT @ Service Pack 1 Announced for Project and SharePoint 2010 http://nearbaseline.com.au/blog/?p=335" target="_blank">Retweet this</a>
<!-- End WP Socializer Plugin - Retweet Button -->
</span>
	<span class="margin15 floatleft">
<!-- Start WP Socializer Plugin - LinkedIn Button -->
<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnearbaseline.com.au%2Fblog%2F2011%2F05%2Fservice-pack-1-announced-for-project-and-sharepoint-2010-3%2F&amp;title=Service+Pack+1+Announced+for+Project+and+SharePoint+2010" target="_blank">Submit this to </a>
<!-- End WP Socializer Plugin - LinkedIn Button -->
</span>
	<span class="margin15 floatleft"></span>
</div>]]></content:encoded>
			<wfw:commentRss>http://nearbaseline.com.au/blog/2011/05/service-pack-1-announced-for-project-and-sharepoint-2010-3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

