Ramblings from an IT manager and long time developer.


Project 2013 and Project Server 2013 Training Links

Training Links


2013 training for IT pros and developers

General Link:

Development Links

Administration Links:


Videos from Books 24×7


Project Server Conference 2014

Channel 9 link:

Interesting Development related
videos (I have not validated any of them yet)

White Papeters

General Information



Project Server and Synchronizing Users to Project Sites

Original post found here

This blog post looks at some slight behavior differences between Project Server 2010 and Project Server 2013 regarding user synchronization to project sites.  One key part of this change should be taken into account when migrating – as there is one 2010 setting that no longer has UI to change it – and if it is disabled before migration it cannot be turned on again in 2013.  I’ll get into details of that setting and a workaround later, but first I will set the scene for how the settings and behavior have evolved. 

In Project Server 2010 we had a checkbox in Server Settings, Project Site Provisioning Settings for Project Site Permissions – labeled “Check to automatically synchronize Project Web App users with Project Sites when they are created, when project managers publish projects, and when user permissions change in Project Server. When the check box is cleared, Project Server users are never synchronized with Project Sites.”:


In my example it is unchecked – this is reflected in the published database in the MSP_WEB_ADMIN table in the WADMIN_AUTO_ADD_USER_TO_SUBWEB column – which has 0 when unchecked and 1 when checked.


If I create a new project and add some resources and then publish – I see just the following jobs in the queue and I don’t see any permissions set for the resources in my plan.

Project Save from Project Professional  
Start Workflow Success
Project Publish Notifications
Project Publish Success
Reporting (Project Publish)
Project Site Create
Reporting (Project Sync)
Reporting (Enterprise Project Type and Workflow Information Sync)

If I go to Server Settings, Project Sites and select the project, then click Synchronize in the header:


then I see a couple of queue jobs executed:

Project Site Membership Synchronization
Reporting (Project Sync)

However, I still do not see my expected users added to my site.  Only when I check the checkbox in the first screenshot, and then click Synchronize on the Project Sites page do I see my users get added.  So this checkbox controls the addition of users to my subweb.

There are some other settings in 2010 that had no UI, but could be set programmatically (or by editing the database and were documented in the article and the table was the same MSP_WEB_ADMIN, but this time the column is WADMIN_USER_SYNC_SETTING:


As you can see, mine is set to 0, which means all synchronizations are enabled.  If I change this to 2, this still has no effect on the site synchronization as long as the checkbox is checked.  Sync happens both on site creation and also using the Synchronize button.

Now lets jump forward to 2013.  The dialog in my first screenshot has no equivalent in 2013, and in a new installation the database setting for WADMIN_AUTO_ADD_USER_TO_SUBWEB  is defaulted to 1.  The WADMIN_USER_SYNC_SETTING now has some UI – under Server Settings, Project Permission Sync Settings.  I should add that this only appears when you are using Project Server Permissions mode.  The dialog looks like this:  , and if you are interested in the behind the scenes activity in the pub.MSP_WEB_ADMIN table the values for :


If you are interested in the behind the scenes activity in the pub.MSP_WEB_ADMIN table the values for WADMIN_USER_SYNC_SETTING follow the numbers documented at like so:

Enabled                            Value=0.       Enable all synchronizations.

DisablePWA                     Value=1.       Disable synchronization with Project Web App.

DisablePWS                     Value=2.       Disable synchronization with project sites.

DisableEmailSync             Value=3.       Disable email synchronization.

DisableAll                         Value=4.       Disable all synchronizations.

DisableVisbilityProjects    Value=8.       Disable Visibility projects synchronization only.

DisableEverything            Value = 255. Disable everything.

Unchecking Enable Project Site Sync will give me a value of 10 in the database – as it disables project site sync and sync with SharePoint Task List Project (or visibility projects as they are sometimes called).

With these settings, which are equivalent to the ones described in the final 2010 test above  (DB value was 2 rather than 10 as visibility projects didn’t exist),  if I create a new project and publish, and/or if I click Synchronize on the Connected SharePoint Sites page I DO NOT see any synchronize queue jobs and NO users are added to my site.  In 2013 there is no longer a single click option to synchronize sites if I have used the new UI in front of the WADMIN_USER_SYNC_SETTING values to turn off site sync.

The other gotcha, and the piece that got me looking deeper into this topic in the first place is the issue I alluded to in the intro.  What if I am using 2010 and have that box unchecked – then migrate to 2013?  In this case it can leave you confused as to why your users aren’t able to access their sites after you create a project.  The behavior you will see is that on initial publish of a project, assuming you create a site, then even if you have ‘Enable Project Site Sync’ enabled you will still not see your users added – and neither will you see the expected additional ‘Project Web App Synchronized’ groups – you will just see the default members, Owners and Visitors if you go to Site Settings, Site Permissions:


If you click on the Synchronize option you will see things put right – and the new groups will get added and your users added.  So we still take notice of the old DB setting which carried over from migration – but only on the project publish.


This last piece is certainly a bug – not sure at this point how it will be addressed, but we will be updating our upgrade documents to suggest checking that box before migration.  If you have migrated from 2010 (or earlier!) and are not seeing permissions on sites set as expected when you publish a plan then take a look at the database (change ProjectWebApp to the name of your database),


should return a 1.  If it shows a zero then you could run

Update [ProjectWebApp_PPM].[pub].[MSP_WEB_ADMIN]

This will show (1 rows(s) affected) as it resets the value.

We are reviewing this behavior change – so I will update if we do make any changes here.

For Project Online this last piece can never be an issue – as it will always be a 1 – and Project Online now has new defaults for the other Project Permissions Sync Settings – so by default we don’t sync anything.  And like 2013, if you have this sync turned off then Synchronize in Connected SharePoint Sites does nothing.


Project 2013 and Project Server 2013 Technical Training Links

Microsoft Training Links

Project 2013 training for IT pros and developers

General Link:

Development Links

Administration Links:


How to Profile a SharePoint/Project Server 2013 Workflow using dotTrace

Thought I’d put together a small “How to” for Profiling a SharePoint (or Project Server) 2013 workflow   The steps below are using a 10 day trial of dotTrace from jetbrains – that said, the same “idea” can be used by any profiling tool.

  1. First thing to do is download a copy of dotTrace from Jetbrains from their website (  After you install this, you’ll have 10 days to use it without any limitations.
  2. Once it is installed, look for the dotTrace icon  , and start the application up.
  3. One the app is up and running, click on the “Attach to Process” button at the top
  4. Next, Find the process “Microsoft.Workflow.ServiceHost.exe”
  5. At this point you’re “tracing” in enabled.  And you will see a dialog like this
  6. Now you can run your tests that execute the workflow.  One you are done, click the “Get Snapshot” button on the tracing dialog
  7. At which point a snapshot file will open that contains all of the information (summary screen blow)
  8. Click on the “Plain List” icon
  9. At this point you can look through the various calls, the time each call took, etc (sample below)



What-If Analysis with Microsoft Project

What-If Analysis with Microsoft Project 2010


I’ve attended a couple Microsoft Project 2010 events as of late, but of yet, I haven’t seen this functionality getting much play.  On first glance, I think this could be one of the most compelling new features added to Project: the task level Active field.

Usage Scenarios

Scenario #1: The project manager has been requested to calculate the cost and schedule impact of a potential change order.  The change order is developed as a series of extra tasks in the MPP file.  Based on that model, the change request is submitted to the project stakeholders.  They deliberate for several weeks.

During that time, the project schedule is updated repeatedly.  As the project manager cannot very well report on the project with the unapproved change order requests included, the PM will have to remove the tasks and reinsert them later once the change order has been approved.

Fast forward, and now the stakeholders have approved the change request.  Now the PM has to go back to the change order calculations and reinsert them into the updated project schedule, hoping that the calculations of cost and schedule impact haven’t changed significantly.


With the Active field.  I can now add the change order, but render it inactive so that it is not included in status reporting or resource allocation calculations.  Whenever I need to revalidate the change order calculations, I can toggle the Active status to yes and review the schedule.


Scenario #2: I wish to remove tasks from a baselined in-progress schedule.  Generally, deleting tasks is frowned upon as this does not change the rolled up baseline calculations, and you therefore are removing a record of how that original baseline was calculated.  The guidance in 2007 was to zero out the remaining work on the removed tasks and then to prefix the name with something like “DELETED-Task1”.  Needless to say, this has been know to confuse project stakeholders.

Now I can simply render them inactive.  This keeps the original baseline calculations but allows me to track the historical record of how the baseline was developed:


This also allows me to start tracking the cost savings associated with eliminating specific tasks by grouping on inactive tasks with baseline data.

Scenario #3: I wish to develop a schedule with conditional branches.  I insert different branches based on potential information that may be developed at a later date.  As the information is received, I activate or deactivate specific branches.  With some macro coding and a rough Monte Carlo analysis, I could probably expand this to do all sorts of probabilistic analysis on the schedule.

Server Level Support

On the server level, you’ll note a couple of things:

1) Setting a task to inactive automatically toggles Publish to “No.”


2) Options to include inactive tasks in the OLAP Cubes.  I am still getting my head around how this would be used, but I suppose it will be heavily dependent on the organization’s methodologies, much like Proposed vs Committed in previous versions of Project Server.