Disabling Backwards Compatibility Mode results in Corruption

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 schedules when opened in MS Project 2010.

The following message is displayed:

clip_image002

An unexpected problem occurred while opening the file.

The file may be damaged. Try using a backup copy.

 

Cause:

After much investigation it seems that the enterprise custom fields configured as “Workflow Controlled” 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.

For Google and those into debugging WinProj, the internal error is:

The error occurs because the following error is returned when NonCoreProjectData is read.

The queried PID is Bad_PID, and the call winproj!TBkndPropCntr::GetAccessInfoPid cannot get Access information.

 

Solution:

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.

Firstly when you disable BCM (by unchecking Enable Project 2007 Compatibility Mode in Server Settings – Additional Server Settings) the following SQL query can be used to identify any projects that may fail:

select distinct PROJ.PROJ_NAME from MSP_PROJECTS as PROJ

inner join MSP_PROJ_CUSTOM_FIELD_VALUES as PROJCF

on PROJ.PROJ_UID = PROJCF.PROJ_UID

inner join MSP_CUSTOM_FIELDS CF

on CF.MD_PROP_ID = PROJCF.MD_PROP_ID

where MD_PROP_IS_WORKFLOW_CONTROLLED = 1

order by PROJ.PROJ_NAME

 

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:

  1. Backup your 4 x Project Server and 1 x SharePoint databases!
  2. Copy Workflow Stage configuration from Server Settings – Workflow Stages. Copy Grid data to Excel, the columns required most are; Stage Name,  Required Custom Fields and Read Only Custom Fields. (You’ll need this info later!)
  3. Copy Enterprise Custom Field configuration from Server Settings – Enterprise Custom Fields. Copy Grid to Excel. (Again this is for later reference)
  4. Open each Workflow Controlled custom field from Server Settings and uncheck “Workflow Controlled” then save, this removes every field from every workflow stage configuration.
    1. Note: For each field this will REMOVE the Read Only and Required configuration from each workflow stage where this field is used! (Make sure you have your backup from step #1!)
  5. If required Force Check in all checked out projects, check queue to ensure all jobs complete before continuing.
  6. Restart MS Project before continuing!
  7. 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!)
  8. From Server Setting – Additional Server Settings – Uncheck "Enable Project 2007 Compatibility Mode"
  9. 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)
  10. Now Reconfigure the required custom fields and  read-only custom fields for ALL workflow stages. (Using the information backed up in step #2)
  11. Restart MS Project before continuing!
  12. Re-test affected projects.

 

The process effectively removes the “corruption” caused by the Workflow Controlled 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!

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! :)

 

Hope that helps someone else out there. Update 2/05: Minor re-ordering of the steps above based on some feedback.

Service Pack 1 Announced for Project and SharePoint 2010

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 task status and timesheets are supported on FireFox, Safari, and Chrome.

Finally some support (albeit limited) for non-IE browsers!

Read more about SP1, here (Official Project Blog) and here (Office Sustained Engineering Blog).

Update 16/07:

Here’s a screenshot using Chrome:

 

Project 2010 Ignite

Just finished up at the Microsoft Project 2010 Ignite conference in Sydney and wanted to share some of the great things I learnt over the week. The sessions were very good over all I must say and it was good to meet many of the familiar names in both the .AU EPM field but also the Redmond guys who came down.

I’ll post here all my notes taken, basically covering significant items that I learnt and some questions asked and / or answered. Note though that this list is in way a complete list of content covered as basically all the hundreds of things that I have previously learnt over the past few months beta testing are not mentioned in these notes! Also the order is as it was discussed so mostly relates to the agenda, but of course some questions or items discussed were of course off topic.

Day 1

Points of Interest:

  • Release date for General Availability of Office 2010 scheduled for June!
  • Project Server 2010 requires SharePoint 2010 Enterprise version as a minimum.
  • 2007 PWA CAL will upgrade to a full PWA 2010 AND SharePoint Enterprise 2010 CAL if on Software Assurance.
  • Portfolio Server CAL’s upgrade to full Project Server 2010 CAL’s with SA.
  • Full pricing is to be released very soon, and is apparently very similar to the current pricing.
  • Project Pro 2010 is not backwards compatible, ie it cannot connect to PS2007.
  • Synch to SharePoint lists requires only Project Pro (not Standard) 2010 and SharePoint Foundation 2010 (WSS4)
  • Synch to SharePoint task function is fully disabled when connected to a Project Server (interesting).
  • PWA requires Internet Explorer 7 as a minimum, and does not support Tier 2 (other modern) browsers unlike SharePoint
  • Team Foundation Server 2010 for Application Lifecycle Management supported out of the box with a connector, however so far only a client based sync connector is released, the server to server connector will be released soon. Also no support for any previous versions.
  • Project Web App views published data, e.g. Project Centre, but editing a project opens the working or draft copy. (Something to watch out for)
  • MPP format has changed again with PPRO2010 and is not backwards compatible unless the option is specifically selected on save.

Questions asked or answered:

  • Office version required for PS2010 is mainly revolving around Excel Services 2010 which requires Excel 2007/2010 for editing. However no Office version is required for just viewing reports, etc. (Not sure what Word requirements there are for editing / saving, assume the same as 2007)
  • Migration / import from other data sources such as Primavera is not considered. (Not really surprising)

New Buzzwords:

  • Demand Management (my favourite new topic!)
  • Top Down Portfolio Management (included in PS now with PPS)
  • Project Lifecycle Management – preferred to Demand Management as is more accurate to describe the workflow features.

Day 2

Points of Interest:

  • Project Workspaces are now created at the very outset of any workflow or new project, before the first publish. This has the effect in particular if you change workflow mid process and that results in a workspace change then manual extra effort would be required.
  • The SDK will include a tool to visualise workflow through a webpart (like in Portfolio Server)
  • The SDK will also include a tool to pull workspace data (artefacts) into a PDP (Project Details Page).
  • UMT plans to release a few products to supplement the features omitted from Portfolio Server 2010 such as a Project Financial Management and Application Management add-on’s.
  • Timesheets include a new function ‘Send Status’ which performs a status update (submit task updates) of selected or all timesheet lines, without requiring a full timesheet submit.
  • New Timesheet option in settings to require Status Manager approval prior to Timesheet manager approval of a timesheet. (This should address most of the rejection scenario issues in Tied-Mode)
  • Surrogate Timesheets have been completely replaced by the new Delegate functionality.
  • OLAP cubes no longer require the DSO (and thus backwards compatibility components), they are now built using AMO.
  • Project file properties (File->Properties) now selectively stored in the RDB, such as keywords, etc. This would be particularly useful for search.
  • No more OWC (hurrah).
  • Report viewer users do not need direct security permissions on database, this is handled by the Secure Store which uses the appropriate service account. This does not apply to editing of reports.

Things to read:

  • Power Pivot! (Awesome name!)
  • Eigen Vector (which is the formula behind the Portfolio optimiser percentages)

Day 3

Points of Interest:

  • Must check out the BI content on the Project Programmability blog.
  • Visio Services is great for dynamic data driven charts and diagrams, however it does not accept parameters (like Excel Services) which may limit some uses (such as in a project workspace template).
  • Hosted option “Project Online” to be announced soon, which will comprise of a slightly cut down EPM solution for entry level clients.
  • Still not possible to set a baseline using PSI.
  • Delegation feature is basically equivalent to giving someone your password.
  • However delegation is only valid in PWA or with Project web parts, and not in SharePoint including workspaces, or in Project Pro.
  • AD synchronisation and WSS permissions sync have been ‘greatly improved’ to prevent dead-locks, etc.
  • New option for Project Managers via PWA is the ‘project permissions’ option which allows project level security permissions to be assigned by the project owner, negating the need for the use of delegates for project access. (Love it, more user self service!)
  • Project Pro no longer provides the password prompt option, however as it uses Claims based authentication it relies on IE settings and so if IE prompts for password then so does Project Pro.
  • Now need to always think of Project Server as having 5 databases, as the SharePoint content database stores so much important data such as BI, workflow, PDP’s etc.
  • Bulk Update option in Server Settings provides WSSRelinker tool functionality.
  • Playbooks upgrade for 2010 to be released near release date.
  • Playbooks has been fixed to not rely on GUID’s and instead use names to prevent migration issues.
  • A new tool is to be released to migrate PDP’s and workflow like Playbooks.
  • WSS_Logging database is a new SharePoint 2010 feature and provides fully documented performance / issue logging for the farm.
  • The SharePoint Developer Dashboard feature provides very detailed page stats once enabled, detailing things like load times per web parts, SQL stored procedures called, etc.
  • SQL database mirroring is now also supported in 2010.
  • Manually scheduled tasks still have the old duration, start and finish stored as “Scheduled Start, etc”.
  • RDB stores the scheduled start / finish etc as the normal date field, and stores the new manual values separately, and also contains a task field indicating if the task is auto / manual.

Project Server 2010 Beta migration / upgrade overview

After having a couple of days to test the migration procedures to 2010 I wanted to share my experience in this blog entry for everyone to see.  

Overall I would say that the migration process is quite straightforward, certainly compared with what we used to have to do from 2003 – 2007! I’ll start by detailing the options and requirements for migration as at Beta2 of Project 2010:

Upgrade Options

To upgrade to Project Server 2010 from 2007 the following options are available:

1.       In-place upgrade – in which the existing 2007 servers are directly upgraded.

http://technet.microsoft.com/en-us/library/ee662104(office.14).aspx

2.       DB-attach upgrade – whereby you upgrade a backup of the databases only.

http://technet.microsoft.com/en-us/library/ee662500(office.14).aspx

3.       Full database migration from Project Server 2003 –

http://technet.microsoft.com/en-us/library/ee662498(office.14).aspx

Upgrade Requirements

Different circumstances require the use of different option, or options in the case of number 3. However the specific requirements for each can be summarised as:

1.       In-place requirements:

a.       Existing Project Server 2007 must be installed in a 64-bit environment including SQL Server 64bit.

2.       DB-attach requirements:

a.       Extra hardware is required on which to run 2010 separately from the 2007 version.

3.       Project Server 2003 requirements:

a.       This is a two step upgrade – first migrate from 2003 to 2007, then 2007 to 2010 using either method 1 or 2 above.

b.      For this migration a Virtual Migration Environment (VME) is available for use, it contains a fully pre-configured 2007 instance including all required tools in a Hyper-V image format. Using this requires the use of a DB-Attach upgrade for the second step.

Other requirements:

SQL Server version required for the server which will host the 2010 databases is as follows;

  • 64-bit version of SQL Server 2008 SP1 with CU2, or
  • 64-bit SQL Server 2005 SP3 with CU3.

 

Once the upgrade is complete the restored databases will be configured in Backwards Compatibility Mode, which enables the following:

Backwards Compatibility Mode (BCM)

  • Enabled by default after upgrading
  • Enables connection to Project Server 2010 by Project Professional 2007 clients
  • Can be disabled from Server Settings, but then can not be re-enabled

 Note: When enabled the following client features are disabled:

  • Manually scheduled tasks are not available on the server or client.
  • Tasks cannot be set to inactive.
  • Font strikethrough is not available.
  • All departmental custom fields are enforced in Office Project Professional 2007.

 

Upgrade Procedure Summary

In-place upgrade

The in-place upgrade is similar to a typical MOSS service pack installation, once all software version pre-requisites have been met (Oct CU, SQL + CU, etc) then the process is roughly as follows:

1.       Stop WWW service on all front end servers and stop Project Queue service on all application servers

2.       Install SharePoint 2010 binaries on all servers in farm (do not run config wizard yet)

3.       Install Project Server 2010 binaries on all servers in the farm

4.       Run the SharePoint Configuration Wizard on the server hosting Central Administration

5.       Run the SharePoint Configuration Wizard on the remaining servers in the farm

6.       Restart all Queue and WWW services previously stopped

There you have it.