Monday, May 18, 2015

How to bulk change projects' EPT?

Good morning Community!

Nowadays, it is quite challenging to find new interesting subjects for blogging. We are a small but active Project Server community and the quality of blog posts and articles is really impressive. By the way I'm looking forward to share and read articles to and from the community about the next Project Server version.

One subject I did not find much references about is bulk changing projects' EPT (Enterprise Project Type). Moreover I've been asked this procedure many times on the Technet Forums, consequently I'll write down in this blog this procedure so I can share it more easlily. The procedures below are applicable for Project Server 2010, 2013 and Project Online.

As a preamble, I'll share here an excellent blog post about what is an EPT and how it can be configured written by a fellow new MVP, Jérémy Cottino. Note that EPT is quite a key feature helping structuring Project Server data and governance since Project Server 2010.

So where does the need come from? Typically, the project EPT drives the project governance. It will trigger which PDPs (including custom fields, reports, eventually custom code for business rules) will be associated to the project. Note that an EPT can be easily updated. For example, if you need to add a project custom field to an EPT, there is absolutely no need to create a new EPT adding the custom field and associate all projects from the old EPT to the new one. You can simply add the custom field to the webpart in the PDP and it will be added to all projects associated with the given EPT. Changing a project's EPT is more related to a governance change. In my point of view, a typical use case can be when a project has a scope increase and must go from a EPT with simple rules, few custom fields in few PDP to a more complex EPT providing a wider governance with a larger number of PDPs, custom fields, reports, business rules supported by jquery code...

We'll go through 2 methods.

Project Center: change EPT for a single project
First I'll start by explaining the default method to change a project's EPT from the project center. This method is applicable to a single project and cannot be used for bulk changing EPT. Note also that this method does not allow the administrator updating the project's stages if it is associated with a workflow. First navigate to the Project Center and select a project. The trick here is not to click on the project name but on another column of the project's row, otherwise it will open the project details.
Figure 1: opening the interface for changing a project's EPT from the project center
Once the project selected, you can click on the "change" button in the "Project Type" group of the ribbon. The functionnality requires having the "change workflow" global permission. This will open a simple dialog box showing you the current project type and proposing a drop-down menu with the available project types.
Figure 2: changing the project type
If the project is currently checked out, the operation cannot be performed until the project is checked in and the new project type drop-down menu will be greyed out.
Figure 3: dialog box for a checked out project
This operation will associate the project with a new project type. It is important to understand that it will not create, update, delete any custom field values. Meaning that if the source EPT contains custom fields not in the destination EPT, the values will still remain but the field will not be displayed nor used in any PDP. On the contrary, if the destination EPT contains custom fields not in the source EPT, they will be displayed in the new PDP with no value. 

Server settings: bulk changing EPT for a set of projects
The other way to change EPT is through the server settings. This method is quite interesting since it allows the administrator to perform this operation for a set of projects. The procedure starts by navigating to the "change or restart workflows" menu.
Figure 4: bulk change project type from the server settings
This menu will open a new page where you'll be able to select the source EPT, the projects belonging to this EPT and the destination EPT. Note that if you need to update projects having different types, you'll need to perform the operation several times, one per project types. Since this interface is designed in order to manage the project workflow phases/stages, those information are also integrated in the available project information. Here is the detailed procedure:
  1. select the source project type: this will automatically update the project list with the corresponding projects,
  2. select the projects to be updated,
  3. copy them using the arrow in the target list,
  4. select the destination project type. Eventually you can use this functionnality to restart the projects' workflow.

Figure 5: bulk change project type
Note that finally you can choose (if applicable) in which stage the selected projects will jump in.
Figure 6: skip to a specific workflow stage
Now that the procedure is crystal clear (at least I hope...), let's review some important considerations regarding changing the project type. You are aware that the EPT is like an container for the following items and it is important to understand what consequences updating the project type will have on those items.
  • PDP: changing the EPT will associate the corresponding PDP to the project,
  • Workflow: as we just saw, changing the EPT will also allow you (assuming you do it through the server settings and not the project center) updating the project into a given workflow stage,
  • Project template: a project template is associated to an EPT. Since it is just relevant for the project creation, it seems logical that changing the EPT after the project creation will have to impact on the existing project schedule, meaning that the new EPT's project template will not be applied. I would say "hopefully", since it would be a mess (or even impossible) to merge an existing project with actual data with a new project template.
  • Site template: similarly, a project site template is associated with the EPT. Changing the EPT will not have any consequence on the project site. This is the same principle than for the project template. The site template is only used at the site creation thus changing the template on an existing project will not have any consequence. If you do need to create a new project site based on a new template, you can create separately the new site from the appropriate template, migrate the content (this would be a manual operation) and associate the new site to the project using the "Connected SharePoint Sites" menu.
Hope you enjoy it!!

Share this article :