Project Server 2010: Installing Project Server to an existing SharePoint Server farm

I know that unless you load all the bits before running the Configuration Wizard then you will always add Project Server to an existing SharePoint Server farm – but in this blog I am specifically talking about adding Project Server to a farm that has been up and running for a while – and potentially has Service Packs and Cumulative updates loaded. The best way to do this is to create a slipstream installation – and there are plenty of resources out there that explain this process – but basically you extract your various updates and put them in the Updates folder under your install source and these will get applied as the installation proceeds.  However, in researching this topic I learned that this isn’t the only way so thought it was worth sharing.  You can load the original release version of Project Server (RTM – release to manufacture) even if your farm is at the SP1 level plus cumulative updates.  In reality I only tested to August CU, and I am sure there will come a point where this will not be practical (SP2 would block an RTM install) – but for now it certainly works and would be supported.  That said – it would be good practice to bring the farm up to a level where all the components were at the same release level.  For information on the release level of each component you can go to Central Administration, Upgrade and Migration and Check Product and Patch Installation Status.  I have a ton of language packs loaded so I won’t give you a full screen shot(s) but the foot of mine looks like this: So you can see the version installed for each component (usually matching the RTM or last Service Pack, as in this case) as well as the Cumulative Updates (June superseded by August) along with useful links to the KB articles.  In my case I do have Project already loaded and updated to August CU. At the top of the page there is also a link to the latest updates – Click here for the latest information on available updates for SharePoint 2010 Products   Going to that page also has the link for Project updates – which is Updates for Project Server 2010 .  You will also see on this screenshot that the Galician/Galego language pack is still at the original release version of 14.0.4763.1028.  This language pack (and Basque) does not yet have the language pack service pack released – but it is still possible to update to SP1 for the farm without having to update all the language packs. That was just an aside on versions and where to find them – but the main point is that you can load RTM Project Server to a farm and use Project Server.  It will get loaded at the original release version even if you had already loaded the rollup Service Pack (SP) and/or Cumulative Updates (CU) that included Project Server – the Project files will not have been applied.  Once you are ready to load the SP/CU you will need to re-load it and run the configuration wizard.  You will not get any warnings or errors even though you feel are re-installing something you already applied – it correctly recognizes that there is new stuff to update.  The only slight exception are the language pack service packs – which you do not need to reload – and Project Server will benefit from any language packs (and language pack service packs) loaded before it was installed – so no need to re-install those either. Another good thing to check is the database status – once you have run the config wizard all should be good – but if you forget then you will see messages Database is too old and upgrade is required as mentioned in my previous blog posting – Project Server 2010- Can I delay running the SharePoint Configuration Wizard- .

Project Server: SharePoint Installation issues when using FIPS

Most days I learn something new, and yesterday was no exception.  I was working with one of our Senior Consultants, Rob Bowers, on an installation problem.  The SharePoint Configuration Wizard was failing during the initial configuration of the farm on step 3.  The error that came up was: Configuration Failed.  One or more configuration settings failed.  Completed configuration settings will not be rolled back.  Resolve the problem and run this configuration wizard again.  The following contains detailed information about the failure: Failed to create the configuration database. An exception of type System.InvalidOperationException was thrown.  Additional exception information:  This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms. In the PSCDiagnostics log created during the execution of the wizard the same errors could be seen – the first was: Task configdb has failed with an unknown exception , followed by Exception: System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.    at System.Security.Cryptography.SHA256Managed..ctor()    at Microsoft.SharePoint.UserCode.SPSolutionValidatorCollection.ComputeHash()    at Microsoft.SharePoint.Administration.SPUserCodeService.UpdateValidatorsHash()    at Microsoft.SharePoint.Administration.SPPersistedChildCollection`1.Add(T newObj, Boolean ensure)… A quick search (Bing of course) found that FIPS was referring to the Federal Information Processing Standard (FIPS) 140-2, Security Requirements for Cryptographic Modules .  An article on TechNet http://technet.microsoft.com/en-us/library/cc263215.aspx has a security note that mentions some potential issues with workflows – but not the failure in the configuration wizard.  Another great link from Mahesh Srinivasan at http://collaborationsharepoint.blogspot.com/2010/10/this-implementation-is-not-part-of.html helped move things in the right direction.  Even with FIPS not enabled through group policy settings there can still be registry keys set that are enabling some of the features.  In Rob’s case, like Mahesh, he found that the two keys were set to 1 – enabled, and a third key was set to 0 – disabled.  The keys were: HKLMSYSTEMControlSet001ControlLSAFipsAlgorithm HKLMSYSTEMControlSet002ControlLSAFipsAlgorithm HKLMSYSTEMCurrentControlSetControlLSAFipsAlgorithm Until each of these was set to 0 the error above blocked running of the configuration wizard.  Remember, any time you are changing registry keys you should take back-ups.  Obviously this change is something you should to talk to your platform security team about too – as if you are changing these values you may need to get an exception to your company’s hardening policy for your SharePoint servers. FIBS 104-2 is intended to ensure that only only validated cryptographic modules are used in software when securing data.  SharePoint uses cryptographic modules, for example MD5,  that are not validated – but it is in fact not using them to secure data but to create hash values that are used as unique identifiers.  It is this action that FIPS is blocking that causes the failure in the configuration wizard. For more information on FIPS 104-2 see http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf , and for general FIPS information see http://csrc.nist.gov/publications/PubsFIPS.html .

Budgeting with Inactive Tasks

A very common problem people have when building their schedules is they have more work to do than they have budget for. We hit this problem all the time on the Project team when we are doing feature work (we just have so many good ideas for features thanks to all of your feedback). In the past when building budgets, we’d create multiple plans or even, aak, use Excel. Thanks to Inactive Tasks in Project 2010 Professional, we can now easily do this in Project. Before I get into the details, let me give you a little background. When we are doing budgeting, we don’t look at dates, we just look at how many dev hours are required for a feature and then work to get the rollup number to match our budget. So our initial schedules will often look like this: We’ll schedule all the tasks, once we’ve decided which features and tasks we’re going to do for the coding milestone. Yes, the feature and task names were changed to protect the innocent. Step 1 – Turn on the Project Summary Task. This allows you to see the rollups for your project. You can do this by going to the Format tab and checking Show Project Summary Task. Step 2 – Insert the Work field since this is really what I care about. After doing this, I can see it would take 1,793 hours to complete all of these features. Unfortunately I don’t have that much time. I only have 1,370 hours so I need to do some cutting. Step 3 – Working with my co-workers, I determine the priority of each feature. We track this in a text custom field, Feature Priority. I’ve collapsed the view to Outline Level 1 since right now we only care about features. Step 4 – Inactivate the lowest priority features by clicking Inactivate on the Task Tab – Schedule group. Before:   After: Notice how Work is now reduced to 1,385hrs. The original values are preserved for the inactivated tasks, they just don’t affect the rollups anymore. Step 5 – more cutting since I’m still over my budget of 1,370hrs by 15 hours. I could ask for an exception but I want to see if anything else stands out at this point. I’m going to expand the Medium priority features to get more details. Under feature 2, I see some pri 2 UI work that we could ship without so I’ll cut that. And we are now 1 hour under our budget – yay. At this point, our next steps would be to get the correct devs assigned to the tasks and the work scheduled out. Now clearly I simplified this from the real world experience to make the example fit the blog article but I hope this article shows that you can easily use Project when you are trying to hit an hour or cost budget. If your project is more date driven, you can still use inactive tasks, you’ll just have to adjust your predecessors along the way. From experience the hard part is not using Project, it is getting everyone to agree on the priorities of the various features and agreeing to the cuts. Click here for more info on Inactive Tasks.

The Mystery Behind SharePoint 2010 Patching

I came across this great posting from Jie Li while looking around Stefan Goßner’s blog at http://blogs.technet.com/b/stefan_gossner/ and thought it would make interesting reading for the Project audience too.  One word of caution first – Jie Li mentions the well known SharePoint practice of detaching content databases while applying patches so that you can upgrade them at your leisure later – once you have re-attached them.  Project Server databases (Archive, Draft, Published and Reporting) ARE NOT content databases – please do no detach these while patching or you will get into an inconsistent state that may cause you (and then me and my support colleagues) big problems… On to the article – http://blogs.msdn.com/b/opal/archive/2011/06/30/the-mystery-behind-sharepoint-2010-patching.aspx . Enjoy!

New and Updated Content for Summer 2011

  Here’s a list of content that the team has been hard at work on delivering this summer: Published the week of July 11, 2011 Updated article Deploy cumulative updates (Project Server 2010) Updated with information about the June 2011 Cumulative Update. Published the week of June 27, 2011 New articles for Project Server 2010 SP1 Deploy Service Pack 1 for Project Server 2010 Describes how to deploy Microsoft Project Server 2010 with Service Pack 1 (SP1). This article provides an overview of key enhancements, deployment instructions, considerations, known issues, and links to related resources. Updated for Project Server 2010 SP1 Hardware and software requirements (Project Server 2010) , Plan browser support (Project Server 2010) , and Project Server 2010 with SharePoint Server 2010 architecture (overview) Updated to include information about additional supported Web browsers for Microsoft Project Web App Team Member pages in Project Server 2010 with SP1. New articles Database maintenance plans for Project Server 2010 Describes database maintenance recommendations for Project Server 2010. Updated articles Install and configure Project Server 2010 and Plan for deployment (Project Server 2010) Updated to specify that Project Server 2010 is not compatible with multi-tenant environments. Run Migration Script 7 to compare Project Server 2003 and Project Server 2007 data validation snapshots Updated to include information about the script’s possibly reporting a false mismatch of task identifiers between Microsoft Office Project Server 2003 and Microsoft Office Project Server 2007 tasks. Published the week of June 13, 2011 New articles Plan hardware architecture in Project Server 2010 Discusses the recommended hardware configurations for various Project Server 2010 dataset sizes. Upgrade from a trial version of Project Server 2010 Describes how to upgrade your Project Server 2010 trial version to the fully licensed version. Published the week of June 6, 2011 New resource center Enterprise Project Management (EPM) Content Pivot Viewer Use the pivot viewer to browse a complete collection of articles, white papers, training videos, and models for EPM in Project Server 2010. Pivot on content by lifecycle, solution area, or content type.

Project Server 2010: How to best manage large numbers of resources

This posting follows on from the one yesterday concerning how Project Server makes use of SharePoint permissions and features – but concentrates on some potential issues you can run into if you have a very large user base and also have projects that have very large teams.  We are also authoring a TechNet article explaining this in more depth – I will add a link once it is published.  This isn’t going in to the usage of the RBS or the other internal feature – but concentrates more on the technical issues of large user populations.  If you fit in this category then read on… As mentioned in the previous post Project Server 2010 uses the normal SharePoint permissions infrastructure to set access control both to the Project Web App (PWA) site and also any Project sites that are created for the individual project plans held in Project Server.  At the PWA site level the users are added to certain groups depending on their permissions levels within Project Server, so you will generally see SharePoint groups for Project Managers, Readers, Team members, Web Administrators and finally Workflow and Project Detail Pages Administrators.  Each of these groups will show the individual PWA users as appropriate.  This is a change from 2007 where individuals were added to the PWA site with specific permission levels.  You may have seen issues in 2007 if you had large numbers of users as whenever changes were needed in the member permissions the users would be removed and then added back – so some users would get “Access Denied” until they were added back after a change.  We had some workarounds for this scenario involving turning off the user synchronization.  In 2010 we made a couple of changes to avoid this problem – firstly the change to using groups at the PWA site level, and secondly we now remove then add back each individual as opposed to removing everyone and then adding back everyone.  So getting an Access Denied in the same scenario in 2010 is very unlikely. At the Project site level however we do not use the group approach and manage the users on an individual basis.  In most scenarios this is not an issue as the number of resources assigned to a project, and hence added to a site, is generally low compared to the total number of users in the system.  However there could be some scenarios where customers wish to have many or all of their users accessing many or all of their project sites.  This could either be achieved by adding many users to a project – or by giving the “View Project Site” permission at the team member level in a category that included many or all projects.  Either way this would then add very many individual users with permissions to the project sites.  And why is this a problem?  If the numbers of users is large then it is possible for the recommended software boundaries and limits of SharePoint Server to be exceeded – and this can lead to performance issues.  Each user added individually to a site would be considered a security scope – and the recommended maximum number of unique security scopes per list is 1,000 (SharePoint Server 2010 capacity management – Software boundaries and limits – http://technet.microsoft.com/en-us/library/cc262787.aspx ).  So each list and library in the site would be inheriting from the parent site permissions – and would exceed this limit if more than 1,000 user had access to the site (as they are individually added). In our experience the performance issues would then relate to any change in the site membership caused by changes in the categories or groups – or following such actions as adding a user or inactivating a user.  For example this last action of inactivating a user will actually remove that user from all sites they have access to – and the reason the limit is imposed is that when it is exceeded the process of removing a user can become very slow – particularly if this same user is also being removed from very many sites each of which is also way over the limit.  In extreme cases with multiple user inactivations it is possible that the server will become unresponsive and unable to authenticate users. I will include some of the error messages you might see, and the corresponding ULS entries at the end of this posting so that this aids finding this potential cause. If you are following along (and I’m sure some of my readers are way ahead of me…) you will realize there is a Catch-22 here.  Your server could become unresponsive whenever you need to manage users because you have too many users with permissions on the sites.  So remove some users… which will then make the server unresponsive…  How to escape from this loop?  There are some quick ways to get this resolved – but before rushing in to that it is better to review what it is you are really trying to achieve.  If the desire is that most people can access most projects then managing the permissions outside of Project Server using groups and inheritance from PWA is the way to go.  If however the fact that many users had access to many sites was really a mistake then you need to correct that issue – and either remove the “View Project Sites” from the offending category or reduce the number of resources assigned to the plans – but first of course you need to stop the synchronization of users to the sites otherwise any action may make your server very slow.  As mentioned in the previous post this can be achieved by us of the UserSyncSettings method – and just repeating that here to save you having to open that post up: The setting can be changed using the PSI and the Admin Web Service and the UserSyncSettings method. The enumeration of values that can be set are detailed at http://msdn.microsoft.com/en-us/library/websvcadmin.usersyncsettings_di_pj14mref.aspx , and the method described at http://msdn.microsoft.com/en-us/library/gg229480.aspx . Turning off the Project Site sync is achieved by the enumeration DisablePWS.   Member name Description Enabled Value=1. Enable all synchronizations. DisablePWA Value=2. Disable synchronization with Project Web App. DisablePWS Value=4. Disable synchronization with project sites for the user. DisableEmailSync Value=8. Disable email synchronization. DisableAll Value=16. Disable all synchronizations. This relates to settings in the MSP_WEB_ADMIN table of the Published database in the WADMIN_USER_SYNC_SETTING column. So for example a query such as: Update [ProjectServer_Published].[dbo].[msp_web_admin] set [WADMIN_USER_SYNC_SETTING] =4 would do the same as using the method to set the enumeration: int syncSettings = (int)SvcAdmin.UserSyncSettings.DisablePWS; We’d certainly prefer you to not touch the DB correctly – but I’m guessing that many of you would find it much easier to execute a SQL query to update the value than to write the code necessary to do the same (I certainly would!). Once that is turned off then you can safely do user management without causing further performance problems – but of course it would still be possible to trigger the same issues if you tried removing the users directly from the project site, using the out of the box SharePoint functionality. One way to remove the users very quickly without triggering the individual deletion that causes the problem is to inherit permissions from the parent.  This can be done via the UI on the Site Actions, Site Permissions page of the individual sites: This will lose any custom permissions.  If your end goal is to give most users access to most sites then this may be how you want to keep things long term – so before taking this action you would probably want to be sure that the PWA site has the right permissions for all the users who need access – as that will be where this site will start inheriting from once you click the button.  Obviously if you have thousands of sites (and you probably have if this is causing you problems) then PowerShell can automate the change for you. Run the following PowerShell command in the SharePoint 2010 Management Shell $site = Get-SPSite “ ” Foreach ($web in $site.AllWebs) {
        $web.Update()         $web.ResetRoleInheritance()         $web.Update()         } $site.Dispose() This (or the UI method) would also need to be run for any new sites created to avoid the problem coming back – but if you had ‘corrected’ your categories and team memberships then all would be ok going forward. If you do decide that leaving everything inheriting is right for most projects then you may also want to have certain projects that are more ‘secret’ and for these you will need to continue to manage the permissions and user on an individual level.  One thought I had was to set a property on these ‘special’ sites via PowerShell and then you could use this property to filter out in a modified version of the above PowerShell command and ensure you didn’t reset the role inheritance accidentally.  I should also point out that if you use the Synchronize option on the Project Sites page then this would re-break the inheritance – so should be avoided. As a guide we have seen the issue with a customer with around 3000 users where they are nearly all added to each of their 1500 sites.  And as promised, here are the error messages and ULS entries.  Different users may see different symptoms – but the user who initiates the issue, perhaps by inactivating a couple of resources, will see the ‘Save’ button on the page apparently stick on the ‘clicked’ position and eventually get a “An unexpected error has occurred.” message.  The correlation ID will be found in the ULS logs and will have several rows all relating to a SQL deadlock and the Critical level one will look like: 08/10/2011 12:17:02.85    w3wp.exe (0x2178)    0x314C    SharePoint Foundation    Database    5586    Critical    Unknown SQL Exception 1205 occurred. Additional error information from SQL Server is included below.  Transaction (Process ID 80) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.    886d9cdd-5c0c-4f3a-8f89-f4e8c92acde3 Another High level one that gives more information on the query causing the issue will be something like: 08/10/2011 12:17:06.97    w3wp.exe (0x2178)    0x314C    SharePoint Foundation    Database    tzkv    High    SqlCommand: ‘SET NOCOUNT ON; DECLARE @DN nvarchar(256),@LN nvarchar(128),@@DocUIVersion int,@@S uniqueidentifier,@@Level tinyint; DECLARE @ItemId int; DECLARE @@iRet int; DECLARE @ExtraItemSize int; SET @@Level = 1; SET @@S=@wssp0;  EXEC @@iRet = proc_SecRemoveUserFromSite @@S, @wssp1, @wssp2  SELECT @ItemId = @wssp3  IF @@iRet 0 BEGIN  GOTO DONE; END  ;BEGIN TRAN IF NOT EXISTS( SELECT tp_ID FROM UserData WHERE tp_ListId = ’06C8C9BB-B10B-4042-8859-9F9985E73E76’ AND tp_ID = @ItemId  AND tp_Level = 1 AND tp_RowOrdinal =0) BEGIN  SELECT @ExtraItemSize = 0  EXEC @@iRet = proc_AddListItem @SiteId…. I have shortened it considerably – but the key piece is the proc_SecRemoveUserFromSite.  Finally the ‘Unexpected’ one: 08/10/2011 12:17:06.97    w3wp.exe (0x2178)    0x314C    SharePoint Foundation    Runtime    tkau    Unexpected    System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x80131904    at Microsoft.SharePoint.Library.SPRequestInternalClass.UpdateMembers(String bstrUrl, UInt32 dwObjectType, String bstrObjId, Guid& pguidScopeId, Int32 lGroupID, Int32 lGroupOwnerId, Object& pvarArrayAdd, Object& pvarArrayAddIds, Object& pvarArrayLoginsRemove, Object& pvarArrayIdsRemove, Boolean bRemoveFromCurrentScopeOnly, Boolean bSendEmail)     at Microsoft.SharePoint.Library.SPRequest.UpdateMembers(String bstrUrl, UInt32 dwObjectType, String bstrObjId, Guid& pguidScopeId, Int32 lGroupID, Int32 lGroupOwnerId, Object& pvarArrayAdd, Object& pvarArrayAddIds, Object& pvarArrayLoginsRemove, Object& pvarArrayIdsRemove, Boolean bRemoveFromCurrentScopeOnly, Boolean bSendEmail)    886d9cdd-5c0c-4f3a-8f89-f4e8c92acde3 Once the sever is in the condition – which could last 15-30 minutes, then other users will get timeouts on their pages and the ULS logs may show the following: 08/10/2011 12:20:22.30    w3wp.exe (0x1228)    0x1454    SharePoint Foundation    Monitoring    b4ly    High    Leaving Monitored Scope (ExecuteStoredProcedureDataReader — MSP_AUTH_GETUSERBYNAME). Execution Time=120002.728838442    2be0491a-a64b-4237-8cfc-40342a374d49 08/10/2011 12:20:22.30    w3wp.exe (0x1228)    0x1454    Project Server    General    8ym5    Monitorable    PWA:http:// /PWA, ServiceApp:Project Web App Service Application, User:, PSI: SqlException occurred in DAL:  0 0 -2     System.Data.SqlClient.SqlError: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.         at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)     at … I should also point out that use of the Project Site Provisioning Settings page option to not automatically synchronize users may avoid you getting in to this situation – but you still need some process to control access – and if most sites are unrestricted then the inheritance option from PWA may be worth a try.  Just as a reminder – the option on the Project Site Provisioning Settings page looks like this: and un-checking will stop the automatic addition of Project Server users to sites (but will not remove ones who are already there). Hopefully the workarounds given will assist in avoiding these types of issues if you really need to have very large numbers of users accessing each of a large number of project sites. As promised – once we have a TechNet article out in the wild I will link to it.

Project Server 2010: SP1 and June CU Questions and Answers

Firstly I should announce that the ‘refreshed’ version of the June 2011 Cumulative Updates are now live on the support site.  If you downloaded an earlier version then please get the latest – same URLs, but you will see a revised date (for example on the Project Server 2010 server package that also includes SharePoint Foundation and SharePoint Server http://support.microsoft.com/kb/2536600 you will now see “ Article ID: 2536600 – Last Review: July 11, 2011 – Revision: 4.0 ” and the Note: This is build 14.0.6106.5002 of the cumulative update package.  The fixes over and above the original CU are the first two of the “Known Issues” posted on the KB article itself: Known issue 1 If you install an earlier build of this hotfix package on a SharePoint server that has .NET 4.0 installed, you cannot synchronize user profiles from AD and LDAP into the SharePoint User Profile Service application database. The user profile synchronization export process fails. Additionally, the System.PlatformNotSupportedException exception shows in Event Viewer. Note This issue is fixed in build 14.0.6106.5002 of this hotfix package Known issue 2 After you install an earlier build of this hotfix package, the following services may fail at either runtime or the provision process if you run these services by using a user account other than the farm administrator account: Session State Service Secure Store Service Business Data Connectivity (BDC) Service Note This issue is fixed in build 14.0.6106.5002 of this hotfix package. and the third is one mentioned by Adrian in our Project Server 2010 Service Pack 1 and June Cumulative Update webcast https://msevents.microsoft.com/CUI/EventDetail.aspx?culture=en-US&EventID=1032487727&CountryCode=US regarding Fix 30793 – When saving a timesheet (also creating), custom field values for *other* timesheets are deleted. We had a number of questions came up during the session and we thought it would be useful to summarize them here, for those who did not attend the webcast or those who didn’t get a chance to look at the Q&A section as we were going along.  Thanks to all who asked such great questions! Question: Do we need to load the SharePoint Foundation SP1/June CU? Answer:   It is included in some of the roll up packages, so you may not need to explicitly install it.  However, if you are just going to load the Project Server 201 June Cumulative Update package (KB 2536586) and you have not installed previous CUs then you will need the SharePoint CU (or SP) or you will get the jsgrid issue reported when we shipped the August 2010 CU – http://blogs.msdn.com/b/brismith/archive/2010/09/17/project-server-2010-applied-august-cu-and-having-problems-with-jsgrid.aspx – the view failed to load, and Exception occurred in method Microsoft.Office.Project.Server.BusinessLayer.Project.ProjectGetProjectDetailsForGridJson.  If you are unsure if it is in a package then scroll down to the complete file list.  SharePoint Foundation stuff will be the files like sts-x-none.msp, and ones starting with wss. Question: Any requirements for Office 2010 app’s? Answer:  It isn’t necessary to also upgrade the client applications but it’s certainly a great idea to update both Project and Office to SP1. Question:   What’s the minimum CU, both client and server, that we need to be on before applying SP1? Answer:   No minimum CU is required. You can go directly from the initial release to SP1 if desired. Question:   Did the fixed work task type get fixed for entry in PWA? Answer:    Yes! Additionally, effort driven tasks are supported. Question:   Does SP1 contain the June CU or do I need to install them both? Answer:   SP1 does not contain the June CU, although the June CU does contain much of what is in the Service Pack.  It is advisable to load both. Question:   Install June CU then SP1 or vise versa? Answer:   Technically, it doesn’t matter. It is usual to install SP1 first and then June CU (and the configuration wizard can just be run once – after both are loaded, assuming you are doing it right away). Question:   Is hotfix 2534413 included in the June CU? Answer:   That hotfix was the Project 2010 April 2011 Cumulative Update, and is included in the KB 2536590 hotfix – the Project 2010 June 2011 Cumulative Update. Question:   Is there a list of bugs/fixes available for the 2nd June CU that will be coming out in a week or so? Answer:   There is – and I also mention what is fixed above. Question:    In June 2011 KB http://support.microsoft.com/kb/2536590 the 5th items says when you apply updates using PWA, your updates are lost. We had that issue in PS 2007 fixed it with Feb 2011 CU. After migration to 2010 we are getting it in PS 2010. The June 2011 restricts the issue from happening further. But is there a way to restore lost hours? Answer:   Best to contact support for assistance with this type of issue – and as it relates to a bug there will be no charge. The support engineer will be able to help identify if and how hours can be re-applied. Question:   Where can I find the links for the June CU? Answer:   We will get the latest link up on the Project Administration blog shortly,  or search http://support.microsoft.com . Question:  W e run this on a VM, with the server set to dynamic memory, it simply takes as much memory as it could, is that normal, and is there a wayconfig setting to limit this? Answer:   You can set an upper limit for Dynamic memory (certainly for HyperV) – if nothing else is using it then why would you want to limit? If you have conflicting apps then you can also set priority of memory usage. Question:   I missed the reasoning behind the statement that we should reconsider our settings for “manually scheduled tasks can be published to team members” Answer:   At release you could not record time-phased data against manually scheduled tasks so this was one reason you might have wanted to check that option. You may still want to restrict publishing if you are using manually scheduled tasks more for longer term planning. Question:   I have a resource who can not see his tasks in PWA. PWA displays loading and then “Cannot communicate with the server. Verify your connection and try again.”. Has this problem been resolved? Only one resource has this problem. Answer:  I don’t know off the top of my head – sounds data related if one resource is affected – or might be some customization of their view. Ping me via my Blog contact and I can give some pointers. Question:   Does the auto publish also close the projects it publishes? Answer:   It will submit a request to publish after auto approval so this will be queued and will actually when the job gets to the top of the queue, assuming the plan is checked in (or checked out in the same session doing the approval/publish).   The publish itself does not check the project out. Question:   Earlier it was mentioned re: multi-browser support, that Safari was supported not on PCs but only on PowerBooks. Did you guys mean any/all Apple native hardware? Or is that PowerBook, specifically? For instance, supported on iPads? Answer:   Although our testing was on desktop and laptop Apple hardware we are not aware of any issues on other Apple platforms such as the iPad and have heard anecdotal references to it working. Question:   Can you provide the URL’s for the links to the excel workbooks that contain the list of fixes? Answer:   http://download.microsoft.com/download/5/1/2/512CC712-4070-4CFF-BC4A-B3AFF0E21A1E/Microsoft%20Office%202010%20Service%20Pack%201%20Changes.xlsx http://download.microsoft.com/download/B/0/D/B0D1540B-6CF6-4674-9C8E-7A45FD91C163/Microsoft%20SharePoint%202010%20and%20Office%20servers%20Service%20Pack%201%20Changes.xlsx   Question:   If we upgrade both SharePoint Foundation and Project to SP1, is there a sequence to follow? Answer:   Recommendation is SharePoint Foundation first – but either way will work, and you only need to run PSCONFIG after loading both. Question:   When synching a Project 2010 file with a SharePoint 2010 task list, does SP1 now support multiple resources for e
ach schedule task? Answer:   That hasn’t changed. Question:   Regarding the new AutoPublish checkbox, would like to make sure I completely get it. The functionality looks great, no need for code or for publishing after the rule is run, correct? If so, that is great! Can I also take advantage of this functionality to create a generic / general rule that matches all updates on all projects, check the box, and have myself a completely automated task accept-update-publish function? I ask because customers have asked to program this before and we’ve had to use PSI previously. Would this scheme work to do it OOTB now? Answer:   Yes  – that is the intention of this feature. My top pick for SP1. Question:   Please could you let me know on what is the largest project schedule (task activities) uploaded and managed within the server environment as we are implementing Project Server 2010 within the mining environment here in South Africa as in 2007 it was a bit of a challenge? Answer:   Our suggested maximum is around 400,000 tasks – but there are many other factors that would need to be taken into account. Question:  When synching a Project 2010 schedule to a SharePoint 2010 Task List, does the Gantt chart now support summary tasks (similar to MS Project)? Answer:   This has not changed with SP1 and summary tasks are still represented as folders containing the sub-tasks within the SharePoint Task list. Question:   Does the project server 2010 SP1 contain the SP 2010 SP1? Answer:   There is just one SP covering Office Servers which includes Project Server 2010 SP1. Question:   Are budget resources supported in templates launched by EPT’s in PWA? Answer:   No, these are not supported for projects created from templates directly on the server, when not using the Project Professional client. Question: Is there any way for users to add tasks that are synced from project server (into the outlook tasks) into their calendar as well? Many of my clients liked this feature in the past, and find the task only one less friendly to use. Answer:   There haven’t been any changes in SP1 to expand the Exchange/Project server integration and how those tasks appear in Outlook. Question:   Hi, could you advise on any improvements with archiving of projects, simplification primarily. Answer:   There are no changes to project archiving. Question:   Project to SharePoint synch – does it support dependencies other than FS? Answer: (Not answered on the webcast, but the answer is…) SharePoint only supports Finish-to-Start predecessors without constraints or lag times. Question:   Is there a limit to how many approvals/publishes can be done at a time? Answer:   Not aware of a limit – but the questioner apparently had seen approvals fail is ~500 tasks updates.  We would need a support case if anyone wants to dig deeper on this issue – no known issue were found in our databases. Question:   How soon before the SP1 demo VM of Project server 2010 will be available? Answer:   We will pass the feedback on to the marketing team letting them know that the SP1 demo VM is needed.  But a great place to practice loading the updates!

New Content – Database Maintenance Plans for Project Server 2010

We recently published a new article set to our Microsoft Project Server 2010 TechNet Library:  ” Database Maintenance Plans for Project Server 2010 “.  A Project Server 2010 farm environment includes not only the databases required for Project Server, but also databases required for SharePoint Server 2010.   Ensuring that these databases are maintained properly is key to smooth performance in your Project Server 2010 environment.  This article set contains information and guidelines for maintaining the databases that host Microsoft Project Server 2010. It describes and provides examples of the database maintenance tasks that we recommend when you are using Project Server 2010.   This document provides detailed examples for Microsoft SQL Server 2008 R2. External references for how to perform the same database maintenance tasks with Microsoft SQL Server 2008 are also included. The goal of this article set is to provide you the information to create a database maintenance plan that best fits your environment.  This article set includes the following articles: Overview of Project Server 2010 databases Creating maintenance plans for Project Server 2010 databases Defragmenting indexes for Project Server 2010 databases Shrinking databases in Project Server 2010 Monitoring maintenance plans for Project Server 2010 For more information about maintaining the databases that are required for SharePoint Server 2010, read Database maintenance for SharePoint Server 2010 .  You should read this as well before you implement any database maintenance tasks or modify your Project Server 2010 or Microsoft SharePoint Server 2010 databases.

We Won an Award

I was in San Francisco recently to receive an award on behalf of the Project team from the Project Management Institute College Of Scheduling (PMICOS), the award presentation was happening in the context of the PMICOS Conference taking place this week. It’s great that Microsoft Project got recognized as having “significantly contributed to the project management scheduling profession” among a crowd who until recently was more inclined to lean towards traditional players such as Primavera, Artemis, Planview and the likes. In fact, Microsoft was the only PPM software vendor to be recognized this year, the other nominees being practitioners of the profession. It was also great to see Microsoft receive the highest rating possible in the recently released Gartner Project and Portfolio Applications MarketScope . On behalf of the Project Team, we are very grateful for the recognition, just another small indication of the impact Project and its millions of users have in the project management industry and the continued growth and momentum we’ve seen in recent years. Here’s a picture of the actual award. Ludo.

Update of Project 2010 SDK–Online and Download

The Project 2010 SDK download and the MSDN online release are both updated. The updates have the same URLs as previous releases: SDK Online : http://msdn.microsoft.com/en-us/library/ms512767(office.14).aspx SDK Download : http://www.microsoft.com/downloads/details.aspx?FamilyID=46007f25-b44e-4aa6-80ff-9c0e75835ad9&displaylang=en When you install the download, it adds links in the Start menu, under Microsoft SDKsProject 2010 SDK . Project Developer Center : http://msdn.microsoft.com/project New conceptual / how-to topic: How to: Use the QueueSystem Service (Rewrite of the Project 2007 SDK article, including a new code example.) · Topic updates for MSDN online , since the last update on March 7, 2011: 20 conceptual and how-to topics have updates. Most changes are relatively minor; the Change History table at the bottom of each topic shows significant changes. Assn Element ChangeList Elements ChangeList Schema Reference Developing Project Server Workflows How to: Create a Project Server Event Handler and Log an Event How to: Create a Proxy Assembly for WCF Services (SP1 note) How to: Modify the Ribbon in PWA Introduction to the ChangeList Schema and Statusing ChangeXML Introduction to the SetAssignmentWorkData Schema Prerequisites for ASMX-Based Code Samples (SP1 note) Prerequisites for WCF-Based Code Samples (SP1 note) Project 2010 SDK Documentation (overview of the Project 2010 SDK) Project Server 2010 Programming Tasks Project Server Error Codes SetAssignmentWorkData Elements SetAssignmentWorkData Schema Reference Supported Project Fields and Field Information for Statusing ChangeXML (updated the valid change types for the Actual Overtime Work and Remaining Overtime Work fields) Tables of VBA Object Model Changes Walkthrough: Developing PSI Applications Using WCF What’s New for Developers in Project 2010 (programmability changes for SP1) 600 managed code types (classes that include new descriptions for one or more properties, methods, and events) are updated. There are new code samples for the following PSI methods: QueueDeleteProjects ReadResource UpdateStatus ReadProjectStatus SubmitStatusForResource ReadStatusForResource ReadEventHandlerAssociationsForEvent UpdateEventHandlerAssociations CreateEventHandlerAssociations New / updated items in the Project 2010 SDK download , which was last updated March 7: Project2010SDK.chm is an HTML Help file that includes the same updated content that is online. In the managed code reference section, 99.8% of the types and members now have descriptions (26,530 out of a total 26,576 topics). That is up from 77.7% at RTM. WINPROJ.DEV.hxs remains unchanged from the March update of VBA Help. There are instructions for replacing the local VBA Help file that was shipped with the Project RTM release. IntelliSense files are updated for the PSI proxy assembly and the Project Server assemblies, to show descriptions of classes and members while programming in Visual Studio. The type and member descriptions have the same updates as in the HTML Help file (and in MSDN online). The Microsoft.Office.Project.Server.Library.dll assembly is updated for distribution with third-party solutions for SP1. Event handler solution: TestProjectEventHandlers . Test application for the Queue System : UsingQueueSystem shows an example of when to wait for the queue, and when you don’t need to wait. ProjTool has a minor update, so the functionality of the Project Details dialog matches the description in Using the ProjTool Test Application . New PSI code samples include complete WCF-based solutions for the following events: ProjectEventReceiver: OnCreating, OnCreated, OnSaved . Other new solutions show the use of the following PSI methods: QueueDeleteProjects , CreateEventHandlerAssociations , UpdateEventHandlerAssociations , ReadEventHandlerAssociationsForEvent , using the ReadResources and ReadResource methods to get the RBS custom field, creating a changeXml parameter for a different resource with the UpdateStatus method, and using SubmitStatusForResource and ReadStatusForResource .