Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Instant Team Foundation Server 2012 and Project Server 2010 Integration How-to
Instant Team Foundation Server 2012 and Project Server 2010 Integration How-to

Instant Team Foundation Server 2012 and Project Server 2010 Integration How-to: Successfully perform and understand how to integrate your Team Foundation Server 2012 and Project Server 2010

eBook
€8.99 €16.99
Paperback
€20.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Table of content icon View table of contents Preview book icon Preview Book

Instant Team Foundation Server 2012 and Project Server 2010 Integration How-to

Chapter 1. Instant Team Foundation Server 2012 and Project Server 2010 Integration How-to

Welcome to Instant Team Foundation Server 2012 and Project Server 2010 Integration How-to. Here we will cover the initial setup of the powerful integration capabilities that exist between Team Foundation Server and Project Server. It should be noted that the content of the book is based on pre-release software and believed to be accurate at the time of publication.

Planning for a successful integration (Must know)


We will examine what's needed to ensure that your integration is successful. We'll cover the prerequisites and the planning needed to begin, the scenarios for test or production environments, and the different types of synchronization that are possible.

Getting ready

Using Team Foundation Server Extensions for the Project Server, project managers can make the Project Server access real-time project status and resource availability of teams who work in Team Foundation Server. Following the successful configuration of the two server products, the synchronization engine maintains the scheduling of data and resource usage in the mapped Project Server enterprise project plan and Team Foundation Server team project.

How to do it...

There are a few pieces of information we need to collect and a few configuration tasks that we need to make sure have been completed properly.

Here is an installation and configuration requirement checklist to make sure that we are ready to begin:

Installation and configuration requirement checklist

 

Sever names for each server involved: Project Server 2010 and Team Foundation Server 2012.

Service account names and login information: You'll want this information to be handy throughout the tasks in this book. See the Active Directory – Highly recommended for production installations section at the end of this chapter.

Visual Studio 2012 must be installed on the same machine that will be used to configure the integration of the two server products, and on any machine you will use to configure the integration. This does not need to be on one of the server machines.

Project Server 2010 must be updated to SP1. This product's installation and initial configuration will need to be verified operationally (not covered in this book).

Project Professional 2010, or Project Professional 2007 SP2 with the KB980209 hotfix (http://support.microsoft.com/kb/980209), or Project Professional 2007 with SP3 must be installed on your administration machine.

The SharePoint web application for the instance of Project Web Access or PWA (Project Web App) must be set to Classic Mode Authentication. You will not be able to register it if the authentication is set to Claims Based Authentication.

Visual Studio Team Foundation Server 2012 will need to be installed on each application-tier server that hosts Team Foundation Server and that will participate in synchronizing data with Project Server. This product's installation and initial configuration will need to be verified operationally (not covered in this book).

Team Foundation Server Extensions for Project Server will be needed later on during the installation. For now, just locate the Team Foundation Server 2012 DVD.

Now that the common pre-configuration items are out of the way, we can move on with the planning.

How it works...

At the core of this integration are the work items in Team Foundation Server, which synchronize with the Tasks in Microsoft Project plans in Project Server. Using this integration, project managers and software development teams can use whichever tools work best for them, and share information transparently.

The integration and all products involved in it are scalable from installations of a few users to several thousands. You can easily scale this integration out by using multiple Project Web Access servers mapped to a multi-server, that is, TFS deployment. We'll cover the specifics of the integration in a later section, but this is a good spot for an overview diagram.

There's more...

We have a few final points to keep in mind, and some valuable tips to make your installations go smoothly. This will not be a complicated integration if we follow the given advice.

A time saver for your test installations

We all know it can take a serious amount of time to build your own testing and demonstration virtual machines. This is especially tough when you are just going to use it for a test installation or a pitch to technical management. Although the following VM link provided by Microsoft is one revision older than the one discussed here, it is much quicker to upgrade this one than to do a fresh installation. For more information, see the following page on the Microsoft website:

http://go.microsoft.com/fwlink/?LinkID=196413

You weren't planning a test environment? Now would also be a good time to plan a test system in your deployment schedule. It will not only help you to have an environment to test out configuration changes but will also be a good safety measure to ensure all your mapping is correct before you deploy to a production environment.

Active Directory – Highly recommended for production installations

Active Directory is technically not required; however, it is highly recommended that you deploy Active Directory in your network. It will help with synchronization of the user accounts, groups, and services within Team Foundation Server and Project Server. Otherwise you'll be doing this manually between the two environments. If you haven't deployed Active Directory yet, but are planning to deploy it, now would be a good time to begin that.

SharePoint Authentication mode

We mentioned this in the previous checklist, but it bears repeating here. The authentication that is assigned to the SharePoint web application for the instance of PWA must be set to Classic Mode Authentication. You will not be able to register the instance of PWA if the authentication is set to Claims Based Authentication.

Backup

A server-based product cannot be mentioned completely without a discussion of backup. Do not begin any production installation or upgrade of any product mentioned here without involving a prior backup of all systems. Special attention should be paid to the backup of the Team Foundation Server system. If done improperly, the backup will put your TFS installation into an unusable state after a restore operation, and the worst part will be you won't know this until you start using it again. Please review Microsoft's current recommendation about using marked transactions in your backup strategy with the help of the Understanding Backing Up Team Foundation Server document, which is is available at: http://msdn.microsoft.com/en-us/library/ms253151.aspx

Installing integration (Must know)


We'll be installing the Team Foundation Server Extensions for Project Server in this section.

Getting ready

In the previous recipe, we prepared the information that we needed to ensure a successful integration. Now we'll build off that as we install and configure the integration. Please take a moment to review the checklist before we begin. Our first decision point is whether or not this will be a test or production instance. While the installation process is the same in either case, the configuration has some variations to consider.

Installation overview

How to do it...

The steps to install Team Foundation Server Extensions for Project Server are fairly simple. The server steps are as follows:

  1. Insert the Team Foundation Server 2012 DVD / ISO in the drive, navigate to the Project Server Extensions folder, and launch the tfs_projectServerExtensions.exe file to begin.

  2. In the license terms' dialog box, accept the license terms, and then select continue.

  3. When the next screen appears, select Install Now.

  4. On the last screen, select Close. You are now done with the installation.

An indication that you didn't remove the old Team Foundation Server 2010 Integration prior to attempting to upgrade to the 2012 edition will appear on the screen. You'll need to remove it with the Programs and Features dialog box in the Control Panel console to continue, as shown in the following screenshot:

A successful installation will be indicated with the following dialog box:

Success!

Installing the client side is just as simple; following are the steps:

  1. Remove Visual Studio 2010 from the client machine.

  2. Locate the Visual Studio 2012 installation media and install Visual Studio 2012 on the client machine, following the instructions as prompted.

As discussed in the previous recipe, there are a number of prerequisites and client software that need to be installed. On each machine that will be used by a project manager to synchronize data between enterprise project plans and team projects, you will need to install both Visual Studio 2012 and Microsoft Visual Studio Team Explorer. In reality, the only reason you need Visual Studio is the add-in list. However, as far as this book is concerned, the only way to get the Visual Studio 2012 add-in list is to install a copy of Visual Studio 2012.

There's more...

Although we have covered most of the key parts already, there are a few other things you might want to consider. We'll cover those in the following sections.

Extension versions must match

A common scenario now is upgrading the Team Foundation Server versions to Team Foundation Server 2012. If this is your situation, you should uninstall the extensions from the Project Server and then install the latest version of the Team Foundation Server Extensions for the Project Server on all the servers where it was previously installed. The general order of operations in this case would be:

  1. Uninstall Team Foundation Server 2010 and any extensions. Don't worry, all the configuration data is stored in TFS's database, which the upgrade process will detect.

  2. Install/upgrade to Team Foundation Sever 2012 as per the installation guide.

  3. Install/upgrade the Team Foundation Server Extensions as described in the previous recipe.

64-bit machines now required

Visual Studio Team Foundation Server 2012 now requires a 64-bit machine, as do the Team Foundation Server Extensions for the Project Server.

No remapping needed

Some good news for upgraders; you will not need to unregister any previously mapped components prior to upgrading.

No additional Client Access License (CAL) needed

More good news; although you need to install Visual Studio 2012 to get the add-in list for Microsoft Project Professional, Microsoft tells us that we will not need a CAL to interface with the integration itself.

Note for upgraders from TFS2010

It has been reported that the installation procedure for Team Foundation Server 2012 may switch the service account from a specified domain account to a network service. If this occurs, you will need to switch it back to the account you noted in earlier sections while preparing for the installation. Alternatively, you can reset the project server permissions based on this new account. This can be done using the TFS administration console.

Configuration of initial permissions (Must know)


We'll cover the initial permission configuration required and the steps to get you through configuring these for Team Foundation Server Extensions and Project Server in this recipe. These are not all the permissions required for setting up the complete system, but just the ones required to begin configuration. It is possible that in a large enterprise installation, you will need to separate the requests to get them set by several individuals. This should help with facilitating that.

Getting ready

In the previous recipe, we installed the integration. Now we'll build off of that as we configure the integration. Please take a moment to review the work we've done previously before we begin.

Also, it might be handy at this point to review the summary for steps that we will be following in this recipe and in other recipes:

Entire configuration workflow

To initially configure the permissions required, you will need to assign administrative permissions of Team Foundation Server and an instance of Project Web App (PWA) to a user who will be responsible for the configuration of these products. You will use the Team Foundation Server Administration Console page for most of the Team Foundation Server permissions, and the Project Security dialog box or Manage Users / Manage Groups web pages for PWA. Please note that these are the minimum configurations you'll need to perform for permissions; your installation may need more, depending on your specific site requirements.

How to do it...

We'll lay the steps out in the following section by subject to make it easy to follow and refer back to later. Firstly, we will be setting the initial permissions. You should perform the following modifications in the given order:

  1. Adding a user to the Team Foundation Administrators group:

    Account(s): This is the account(s) that will be used to configure the integration of the Team Foundation Server. If this is the same user who installed Team Foundation Server, then this task would already be done during that product's installation and configuration.

    1. Open the Team Foundation Server Administration Console page from the Start menu of the Team Foundation Server.

    2. Navigate to the Group Membership dialog (Team Foundation Server Administration Console | Application Tier | Group Membership) to add this account to the Team Foundation Administrators group.

    Note

    This user will be using the command-line tool TFSAdmin; this will be installed by Visual Studio 2012 during its installation.

  2. Setting the Administer Project Server integration permission to Allow the account:

    Account(s): These are the accounts of the project managers or other users who will manage the mapping of enterprise projects.

    1. Open the Team Foundation Server Administration Console page from the Start menu of the Team Foundation Server.

    2. Navigate to the Team Foundation Server Administration Console | Team Project Collections | Administer Security dialog box to add the account to set the Administer Project Server permission to allow the user or group.

    Note

    This is a Project Collection level permission.

  3. Granting the Manage Security global permission to each instance of PWA that you will register with Team Foundation Server:

    Account(s): This is the account(s) of the user who will configure the integration of Team Foundation Server and Project Server or the one who registers the instances of PWA with the Team Foundation Server service account for Team Foundation Server.

    1. Open the PWA Site in Internet Explorer at http://tfspsdemo/PWA/default.aspx.

    2. Navigate to Project Web App | Edit User | Selected User | Global Permissions Section | Manage Security.

    Note

    Every service account for Project Server and SharePoint Products must be granted interactive logon permissions for the computer on which the service is running. This is not a usual permission for services, so it bears special mentioning. You will need to repeat this on every PWA instance.

  4. Granting Full Control permissions to invoke the Project Server Service Application:

    Account(s): This is the service account for Team Foundation Server.

    We will use SharePoint Central Administration using the following steps:

    1. Run the SharePoint Central Administration page from the Start menu.

    2. In the Application Management section, click on the Manage Service Applications option (many service applications will be listed here normally).

    3. From the Manage Service Applications page, select the row for the Project Server Service Application by clicking within the row but not right on the name of the application; that is, don't double click on it. If you do, no big deal, you just need to go back to the previous step and try it again.

    The ribbon should then become available.

    1. In the ribbon you should see a Permissions icon; click on the Permissions icon now.

    2. Within the Connection Permissions for Project Server Service Application dialog box, enter the name of the service account you will be using for this service, and then click on Add. You can go back and change this later if you need to.

    3. In the middle pane, ensure that the name of the service account that you just added is still highlighted; if not, please highlight it now.

    4. From the bottom pane, select the Full Control checkbox then click on OK.

    SharePoint central administration, Service Application permissions

  5. Granting SQL Server database permissions:

    Account(s): This is the service account for the web application pool for Project Server 2010 (you can find this by opening Application Pools in IIS Manager | Connections).

    Note

    Since the following commands can take some time, there is also a handy PowerShell script you can use, which is at the end of the Summary section.

    We will grant permissions to PWA databases of the service account for the web application pool for Project Server 2010.

    To enable data synchronization, you need to grant permissions to the service account for the web application pool to update two SQL Server databases for each instance of PWA for Project Server 2010.

    To grant permissions to a database for an instance of PWA:

    1. Log on to the data-tier server for Project Server.

    2. Select SQL Server Management Studio from Start | All Programs | Microsoft SQL Server 2008.

    3. The Connect to Server dialog box will now open.

    4. In the Server type list, select Database Engine.

    5. In Server name, type the name of the server that hosts the databases for Project Server, and then select Connect. (If SQL Server is installed on a cluster, type the name of the cluster, not the computer's name. If you have specified a named instance, type the server and instance name in the following format: DatabaseServer\InstanceName. If you have Project Server and SQL Server installed on the same machine, the localhost name that this dialog box defaults to will work fine.) The Microsoft SQL Server Management Studio page opens.

    6. Expand the Databases option, open the shortcut menu for the database for the instance of PWA (for example, PWA_Reporting), and then select Properties.

    7. Under the Select a page list, select Permissions.

    8. Add the service account of the web application pool for Project Server, and grant the required permissions. For example, the following permissions for the reporting database are required: Alter any Schema, Create Table, Delete, Execute, Insert, Select, and Update.

    9. On the publishing database (PWA_Published), grant the Select permission.

    10. Repeat steps 7 through 10 for each instance of PWA that will participate in data synchronization with Team Foundation Server.

    Database Properties, Permissions dialog box

  6. Adding account(s) to the Team Members group of PWA:

    Account(s): These are the Team Foundation Server team members who will submit the status updates to the Project Server from a client of Team Foundation.

    1. Open the PWA site.

    2. In the PWA SharePoint site, add team members to the Team Members group for the PWA, or you must grant them the following minimum set of project permissions, namely Open Project and View Project Site.

  7. Granting permissions to contribute to the team project in Team Foundation Server:

    Account(s): These are the users of Project Professional who will publish plans to Team Foundation.

    1. Open the Team Foundation Server Administration Console from the Start Menu.

    2. In Team Foundation Server Administration Console, grant the View Project-level information permissions in Team Foundation, or assign them as members of the Reader group for the team project.

There's more...

Although we've covered most of the key parts already, there are a few other things you might want to consider. We'll cover those in the following section.

If some of the steps given here are not detailed enough for you, do not worry. We cover many of the same ones in the recipe, Permissions and Security.

Initial integration configuration (Should know)


These are the minimal steps you'll need to perform in order to complete the initial configuration of Team Foundation Server and Project Server. You may need more steps depending on specific site requirements. Please complete them in the order listed for predictable results.

Getting ready

In order to run the TfsAdmin command-line tool indicated in some of these steps, you will need to run it in an elevated command prompt (right-click on the command prompt in the Start menu and select Run as administrator).

How to do it...

We'll lay the steps out here by subject to make it easy to follow and refer back to later.

Integration

You'll also need to change the directory to C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE, or add it to your path. Open the Command Prompt console from the Start menu. Using the following steps you can perform integration:

  1. Register an instance of PWA. Each instance must be registered.

    Tool used: TfsAdmin

    1. Open the Command Prompt console from the Start menu.

    2. Run the following command:

      TfsAdmin ProjectServer /RegisterPWA /pwa:<pwaUrl> /tfs:<tfsUrl>
      

      Replace the <> brackets with the URL, as shown in the following code:

      TfsAdmin ProjectServer /RegisterPWA /pwa:http://tfspsdemo/PWA /tfs:http://tfspsdemo:8080/tfs/
  2. Map the PWA instance with a team project collection.

    Tool used: TfsAdmin

    1. Open the command prompt from the Start menu.

    2. Run the following command (without the <> brackets):

      TfsAdmin ProjectServer /MapPWAtoCollection /pwa:<pwaUrl> /collection:<tpcUrl>

      Replace the <> brackets with the URL, as shown in the following code:

      TfsAdmin ProjectServer /MapPWAToCollection /pwa:http://tfspsdemo/PWA /collection:http://tfspsdemo:8080/tfs/DefaultCollection

    Note

    Map each instance of PWA that supports an enterprise project plan.

  3. Upload default field mappings.

    Tool used: TfsAdmin

    1. Open the command prompt from the Start menu.

    2. Run the following command (without the <> brackets):

      TfsAdmin ProjectServer /UploadFieldMappings /collection:<tpcUrl> /useDefaultFieldMappings

      Replace the <> brackets with the URL, as shown in the following code:

      TfsAdmin ProjectServer /UploadFieldMappings /collection:http://tfspsdemo:8080/tfs/DefaultCollection /useDefaultFieldMappings

    Note

    We must define the field mappings for each project collection that we have mapped to an instance of PWA. You can use the default field mappings to begin with and customize if you need to (many organizations use this right out of the box).

  4. Associate an enterprise project plan with a team project.

    Tool used: TfsAdmin

    1. Open Command Prompt from the Start menu.

    2. Run the following command (without the <> brackets):

      TfsAdmin ProjectServer /MapPlanToTeamProject /collection:tpcUrl /enterpriseproject:<ProjectServerPlanName> /teamproject:<TfsProjectName> /workitemtypes:<ListOfTypes>

      Replace the <> brackets with the URL, as shown in the following code:

      TfsAdmin ProjectServer /MapPlanToTeamProject /collection:http://tfspsdemo:8080/tfs/DefaultCollection/ enterpriseproject:MyEnterpriseProject /teamproject:MyTfsTeamProject /workitemtypes:"User Story,Task"

    Note

    Do not include a space after the comma for the workitemtypes parameter. If you mapped a plan while it was open, re-open it to register the changes. Look for the Publish to Team Project and Work Item Type columns to indicate that the mapping has been completed.

    The /nofixedwork flag is optional. Use this only if you want the Project Server tasks that are mapped to the work items in Team Foundation Server to not be assigned to the Fixed Work task type.

  5. Add team members to the enterprise resource pool.

    Tool used: Project Web App

    On each task that is published to the team project, you need to assign a valid member of the team project as a resource. You also need to identify any team member who submits work items that are synchronized with Project Server. To identify valid contributors, you must add team members from the enterprise resource pool to the resources for the enterprise project plan.

    Note

    Please refer to the detailed instructions at the location Add Team Foundation members to the Team Members group in the recipe Managing Project Server. Also, please refer to details on this function at http://office.microsoft.com/en-us/project-help/add-resources-to-the-enterprise-resource-pool-HA010377760.aspx.

  6. Verify the synchronization.

    The last step in setting up the initial integration is to verify the synchronization. Please refer to Verifying Synchronization in the recipe Managing Project Server.

Permissions and security (Must know)


In this chapter we'll examine the various permissions, service accounts needed, and various roles involved in this integration. We'll also cover the steps you'll need to perform to set each of these. Please keep in mind that depending on your unique environment, and reuse of existing accounts and groups, some of these permissions may have already been granted.

Getting ready

To begin with, we need to make sure we are set up for success. Let's look at this from a server-by-server view:

  • Team Foundation Server: In order to perform any of the operations in this chapter, you will need to belong to the Team Foundation Administrators group (alternately, you could also assign the view instance-level information and edit instance-level information to allow). You'll also need to have access to the Team Foundation Server Administration Console page (alternately, you could also use the Group Membership dialog box in Team Explorer, but the Team Foundation Administration Console page is much easier to work with for this), as shown in the following screenshot:

    Team Foundation Sever Administration Console

  • Project Server: In Project Server, you'll need the Manage users and groups global permission for an instance of Project Web Access or PWA. To set these, you'll need access to the Project Server through PWA.

    Project Web App

  • SQL Server: To grant Project Server 2010 permissions for the reporting database, you need to be a member of the Administrators Security group for the SQL Server databases for Project Server.

  • SharePoint: In SharePoint, you must belong to the Farm Administrators group, the administrators group for the web application that supports Project Server, or the SharePoint Administration group. The exact group membership that you will use will depend on the specifics of your deployment.

Required permissions matrix for integration with Project Server 2010 and detailed instructions on how to set these are explained in the following reference table:

Team Foundation Permissions to be set:

Need to Set For:

Team Foundation permissions

Accounts of users who configure the integration by running the TfsAdmin and ProjectServer commands but who do not register or unregister instances of PWA.

Grant the Administer Project Server integration permission to these users.

Accounts that will need both Team Foundation and Project Server permissions set:

Need to Set For:

Team Foundation permissions

Project Server 2010 permissions

Users who configure the integration by running the TfsAdmin, ProjectServer, and RegisterPWA/UnRegisterPWA commands.

Add these users to the Team Foundation Administrators group.

Add these users to the Administrators group for each instance of PWA that you will register with TFS.

Accounts of users who configure the integration by running TfsAdmin and ProjectServer commands but who do not register or unregister instances of PWA.

Grant the Administer Project Server integration permission to these users.

N/A.

User accounts assigned as resources in the project plan or to the "Assigned To field for a work" item.

Add the accounts of team members to the contributor group for the team project.

Add team members to the Team Members group for PWA or grant them the Open Project and View Project Site permissions in project. You must also add these accounts to the enterprise project pool and to the resource pool for the project plan.

Accounts of users of Project Professional.

Grant view project-level information or assign them as members of the project Reader group.

Add these accounts to the Project Manager group on Project Server.

Accounts that will need just Project Server permissions:

Need to Set For:

Project Server 2010 permissions

The service account for Team Foundation Server.

Set the following Global and Category permissions to the service account for Team Foundation Server:

The Global permissions for the following users are:

  • Admin: Manage Enterprise Custom Fields, Manage Server Events, Manage Site Services, and Manage Users and Groups

  • General: Log On, New Task Assignment, and Reassign Task

  • Project: Build Team on New Project

  • Views: View Approvals, View Project Center, View Resource Center, and View Task Center

The Category permissions for the following users are:

  • Project: Open Project and View Project Site

  • Resource: View Enterprise Resource Data

Grant Full Control permissions to start the Project Server Service Application.

The service account for the Project Server web application pool.

Grant the service account for the Project Server web application pool. The following are the SQL Server permissions for the PWA reporting database:

  • Alter any Schema

  • Create Table

  • Delete

  • Execute

  • Insert

  • Select

  • Update

For the PWA Publish database, grant the Select permission.

The Service account for the Project Server event handler.

Full Control permissions to the Project Server Service Application.

How to do it...

We'll lay the steps out here by subject to make it easy to follow and refer back to later.

  • Granting Team Foundation Administrative permissions:

    In order to configure the integration of Team Foundation Server and Project Server, you must have permissions to administer Team Foundation Server or at least a team project collection. For both configuration and synchronization, you must also grant permission to administer Project Server integration to the user who will configure the integration of the two server products. Following are the steps to show how to grant these permissions:

    1. Launch the Team Foundation Server Administration Console page.

      Team Foundation Server Administration Console, Administer Security

      Expand the server node (Application Tier), click on Team Project Collections, click on a collection, and then click on the Administer Security option.

    2. In the Global Security window, click on [Collection]\Project Collection Service Accounts.

    3. Under the Permissions section for the Administer Project Server integration, select the Allow checkbox.

    4. Click on the Close option to close the Global Security window.

  • Granting Project Server permissions:

    You need to grant the following minimal Project Server permissions:

    1. Add the account of the user who will register an instance of PWA to Team Foundation Server to the administrators group.

    2. Either add the service account for Team Foundation Server to the administrators group, or grant that account the minimum set of Global and Category permissions as described in the previous reference table.

    3. Add the accounts of any Team Foundation members who will submit status updates to Project Server to the Team Members group.

  • Adding an account to Project Server and assigning it to the administrators group for Project Server 2010:

    1. From the PWA home page, in the Quick Launch area (from the side menu, on the left-hand side, scroll all the way down) select Server Settings.

    2. From the Server Settings page, select Manage Users.

    3. From the Manage Users page, select New User. This will begin the creation of a new user account. You will return here as needed for adding additional administrators.

    4. On the New User page, enter at least the required fields. Some things to keep in mind as you are doing this are:

      • Uncheck the checkbox for User can be assigned as a resource if the account is a service account. This would be left as default for normal users, but not for an administrator.

      • In the User Authentication field, enter the account name of the user or the service account you want to use.

      • Uncheck the checkbox for Resource can be leveled if the account is an administrator or a service account. This would be left as default for normal users, but not for an administrator as noted previously.

      • Lastly, you'll need to add the account to the Administrators group; from Security Groups, select Administrators in the list and then click on Add.

    5. Click on Save.

    Project Web App, New User

  • Granting the minimum Global permissions to the service account for Team Foundation Server:

    1. From the PWA page, in the Quick Launch area click on the Server Settings option.

    2. From the Server Settings page, click on Manage Users.

    3. From the Manage Users page, click on New User.

    4. From the New User page, type the required information in each field. Note the following:

      • Clear the checkbox for User can be assigned as a resource because the account is a service account.

      • For user authentication, type the account name of the service account.

      • To assign Global permissions, select the Allow checkbox for each permission that you want to set, as specified earlier in this topic.

    5. Click on Save.

  • Granting Category permissions to the service account:

    1. From the home page for PWA, in the Quick Launch area click on the Server Settings option.

    2. From the Server Settings page, click on the Manage Categories option.

    3. From the Manage Categories page, click on the New Category option.

    4. From the Add or Edit Category page, type a name for the service account category. For example, type Servicing Account.

    5. Under the Available Users list, click on the name of the service account for Team Foundation Server, and then click on Add.

    6. Under the Projects list, click on the All current and future projects in Project Server database option.

    7. Click on Save.

  • Adding Team Foundation members to the Team Members group:

    1. From the home page for PWA, in the Quick Launch area click on the Server Settings option.

    2. From the Server Settings page, in the Security section click on the Manage Groups options.

    3. From the Manage Groups page, click on the Team Members option.

    4. From the Add or Edit Group page, hold down the Shift key, click on the users whom you want to add from the Available Users list, and then click on Add.

    5. Under Categories, verify or add My Tasks from Available Categories to Selected Categories.

  • Adding the Service Account for Team Foundation Server to the Project Server Service Application for Project Server 2010:

    In order to enable status update processing by the synchronization engine for integration with Project Server 2010, you must add the service account for Team Foundation Server to the Project Server Service Application. Alternatively, you could use Windows PowerShell (not covered here).

    Following are the steps to add the Service Account using SharePoint Central Administration:

    1. Launch the SharePoint Central Administration page for Project Server.

    2. Under Application Management, choose the Manage service applications option.

    3. From the Manage Service Applications page, highlight the Project Server Service Application row by clicking within the row but not on the name of the application.The ribbon will now be available.

    4. In the ribbon, select the Permissions option.

    5. In the Connection Permissions for Project Server Service Application dialog box, type the name of the service account and then select Add.

    6. In the middle pane, make sure that the name of the newly added service account is highlighted.

    7. In the bottom pane, select the Full Control checkbox and then select OK.

    Manage Service Applications dialog box for step 3

  • Granting permissions to PWA databases of the service account for the web application pool for Project Server 2010:

    To enable data synchronization, you need to grant permissions to the service account for the web application pool to update two SQL Server databases for each instance of PWA for Project Server 2010.

    Following are the steps to grant permissions to a database for an instance of PWA:

    1. Log on to the data-tier server for Project Server.

    2. Select SQL Server Management Studio in Start | All Programs | Microsoft SQL Server 2008.

    3. The Connect to Server dialog box will now open.

    4. In the Server type list, select Database Engine.

    5. In the Server name field, type the name of the server that hosts the databases for Project Server, and then select Connect. (If SQL Server is installed on a cluster, type the name of the cluster, not the computer name. If you have specified a named instance, type the server and instance name in the following format: DatabaseServer\InstanceName. If you have Project Server and SQL Server installed on the same machine, the localhost name that this dialog box defaults to will work fine.)

    6. The SQL Server Management Studio page opens.

    7. Expand the Databases option, open the shortcut menu of the database for the instance of PWA (for example, PWA_Reporting), and then select Properties.

    8. Under Select a page, select Permissions.

    9. Add the service account of the web application pool for Project Server and grant the required permissions. For example, Alter any Schema, Create Table, Delete, Execute, Insert, Select, and Update are the permissions required for the reporting database.

    10. On the Publishing database (PWA_Published), grant the Select permission.

    11. Repeat steps 7 through 10 for each instance of PWA that will participate in data synchronization with Team Foundation Server.

    Database Properties, Permissions dialog box for step 8

There's more...

Although we've covered most of the key parts already, there are a few other things you might want to consider. We'll cover those in the following section.

Logon permission for services

You must grant the permission to log on to the computer on which the service is running, to all service accounts for Project Server and SharePoint products.

Service account permissions

The service account for Team Foundation Server also runs the Team Foundation Background Job Agent Service. All TfsAdmin commands are run in this service account's context, except for the /RegisterPWA and /UnregisterPWA options, which are run under the executing user. The Team Foundation Background Job Agent Service manages data synchronization processes. This service account requires permissions to access each instance of PWA that has been mapped, and permissions to call Project Server integration services.

Managing Project Server integration (Should know)


The recipe will detail the commands used to manage the Project Server integration using the TFSAdmin Project Server's command-line tool. Various topics will include verifying synchronization, common command parameters, team project association management, managing the association of enterprise project plans to team projects, work item types, and how to support custom field mapping. There is no particular order of these commands in this section once you pass the verifying synchronization stage. Please use it as a reference when needed.

Getting ready

To begin with, you'll want to start up PWA and the Team Foundation Server Administration console. By now you should be very familiar with these tools that you've been using in the previous sections.

How to do it...

We'll lay the steps out here by subject to make it easy to follow and refer back to later.

  • Verifying synchronization:

    First let's complete the work we performed in the recipe Initial Integration Configuration by verifying if the synchronization between Project Server and Team Foundation Server is working. At the simplest level, if your tasks are synchronizing properly between the enterprise project in Project Server and the team project in Team Foundation Server, then we can assume that the synchronization (at least some of it) is working.

    At a deeper level, we can check the synchronization messages on the server. To perform this, we can use the TFSAdmin command-line tool that we should be familiar with by now. Also, in order to run the TfsAdmin command-line tool indicated in these steps, you will need to run it in an elevated command prompt (right-click on the Command Prompt console in the Start menu and select Run as administrator). You'll also need to change the directory to C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE, or add it to your path. Display the most recent errors that were logged for a team project collection by using the /GetSyncMessages option of the TFSAdmin ProjectServer command-line tool. The syntax of the command is as follows:

    TfsAdmin ProjectServer /GetSyncMessages /collection:tpcUrl

    As an example, in our demo system we would use:

    TfsAdmin ProjectServer /GetSyncMessages /collection:http://tfspsdemo:8080/tfs/DefaultCollection

    If errors are indicated, you will need to follow up and resolve them on a case-by-case basis. Not all errors indicate a failure to synchronize and may be informational. The ultimate test is whether or not mapped work items are actually being synchronized between the two systems.

  • Managing team project association:

    Management of the association of the team project and enterprise project is done with the TfsAdmin ProjectServer command-line tool that we've been using throughout the recipes. To synchronize the data between an enterprise project plan and a team project, a project plan must be mapped to a team project. Multiple enterprise project plans can also be mapped to the same TFS team project. Before trying this, please be sure that you have registered and mapped the instance of PWA that is associated with the enterprise project to a team project collection as covered in prior sections. After this is complete, we can map and unmap plans to team projects as required (as we did in a previous recipe). To begin with, let's open a command prompt and change the directory to C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE. From here, we are going to use the URLs and PWAs and team project names that are part of our demo server for clarity's sake.

    TFS URL: http://tfspsdemo:8080/tfs

    Collection URL: http://tfspsdemo:8080/tfs/DefaultCollection

    Also, replace tpcUrl with the URL of the team project collection, EnterpriseProjectName with the name of the enterprise project plan, and TeamProjectName with the name of the team project.

  • Listing PWA instances that are registered:

    First let's list the instances of PWA that are already registered. This will give us an idea where to start if this is an existing installation:

    1. Open Command Prompt from the Start menu.

    2. In the command prompt you've opened, type the following:

      TfsAdmin ProjectServer /GetRegisteredPWA /tfs:http://tfspsdemo:8080/tfs

    Your results should be similar to the following:

    GetRegisteredPWA output

  • Listing the project collections that are mapped to a PWA instance:

    Next we'll want to see what collections have been mapped for data synchronization. Keep in mind that you can associate an enterprise project plan only with a team project (in TFS) that is on a collection that has already been mapped to an instance of PWA that contains that particular enterprise project plan.

    Following are the steps to list the project collections:

    1. Open Command Prompt from the Start menu.

    2. In the command prompt you've opened, type:

      TfsAdmin ProjectServer /GetMappedCollections /tfs:http://tfspsdemo:8080/tfs

    Your results should be similar to the following screenshot:

    GetMappedCollections output

  • Associating a Project Sever enterprise project plan with a Team Foundation Server team project:

    In order to synchronize a team project with an enterprise project plan, we'll need to associate them by mapping them. We'll be using the TfsAdmin ProjectServer command-line tool again. We've already used this command in the previous sections, so it may look familiar.

    The following diagram shows the mapping an Enterprise Project to a Team Project workflow:

    Mapping an Enterprise Project to a Team Project workflow

    Following are the steps to map them:

    1. Open Command Prompt from the Start menu.

    2. In the command prompt you've opened, type:

      TfsAdmin ProjectServer /MapPlanToTeamProject /collection:tpcUrl /enterpriseProject:EnterpriseProjectName /teamProject:TeamProjectName /workItemTypes:ListOfWorkItemTypes /nofixedwork /projectFieldForWorkItemType:ProjectFieldName
  • Deleting the association between an enterprise project plan and a team project:

    Occasionally, you may want to remove the association you've set up. Before you can do this, you'll need to delete any tasks that are linked to work items in the mapped team project. Although the /Force option can override this, it is not recommended unless you are sure that there are no work items currently mapped.

    Following are the steps for unmapping:

    1. Open Command Prompt from the Start menu.

    2. In the command prompt you've opened, type:

      TfsAdmin ProjectServer /UnmapPlanFromTeamProject/collection:tpcUrl /enterpriseProject:EnterpriseProjectName /teamProject:TeamProjectName

    If successful, you should get an output message similar to the following:

    Unmapping enterprise project EnterpriseProjectName from team project TeamProjectName.

    Enterprise project EnterpriseProjectName was successfully unmapped from team project TeamProjectName.

Sources of Additional Information


In this section, we'll provide good sources of additional information for further learning and a few more parting reminder tips and where to look for more information.

Service account change during upgrade

It has been reported that the installation procedure for Team Foundation Server 2012 may switch the service account from a specified domain account to a network service. If this occurs, you will need to switch it back to the account you noted in earlier recipes while preparing for the installation. Alternatively, you could reset the project server permissions based on this new account. This can be done using the TFS administration console.

A handy SQL permissions script

To make the initial security setup less of a chore (provided you have PowerShell installed on your servers), the following script will help. It grants all local administrators SQL admin permissions. Many thanks to the Visual Studio ALM team that provided the following script:

function Add-SysAdmin
{
    param (
         [System.String] $localSqlInstance = 'SqlExpress',
         [System.String] $loginName = "Builtin\Administrators"
    )
    try
    {
    Write-Host ( "Sql Instance: {0}" -f $localSqlInstance )
    Write-Host ( "Login name  : {0}" -f $loginName )
       if ($localSqlInstance -eq '.' -or $localSqlInstance -eq 'MSSQLSERVER')
    {
      # Default instance
      $localSqlInstance = 'MSSQLSERVER'
      $serviceName = 'MSSQLSERVER'
      $dataSource = '.'
    }
    else
    {
      $serviceName = 'MSSQL$' + $localSqlInstance
      $dataSource = 'localhost\' + $localSqlInstance
    }
    $sqlServerService = Get-Service | where {$_.Name -eq $serviceName }
    if ($sqlServerService -eq $null)
    {
      Write-Error ("Cannot find a service with the name: '{0}'. Verify that you specified correct local SQL Server instance." -f $serviceName)
      return
    }
    # Stop the service if it is running
    if ($sqlServerService.Status.ToString() -ne "Stopped")
    {
      Write-Host 'Stopping SQL Server'
      $sqlServerService.Stop()
      $sqlServerService.WaitForStatus("Stopped")
    }
    Write-Host 'Starting SQL Server in the admin mode'
    # Start service in admin mode
    $sqlServerService.Start(@("-s", $serviceName, "-m", "-T", "7806"))
    $sqlServerService.WaitForStatus("Running")
    $connectionStringBuilder = New-Object -TypeName System.Data.SqlClient.SqlConnectionStringBuilder
    $connectionStringBuilder.psbase.DataSource = $dataSource
    $connectionStringBuilder.psbase.IntegratedSecurity = $true
    $sqlConnection = New-Object -TypeName System.Data.SqlClient.SqlConnection $connectionStringBuilder.psbase.ConnectionString
    Start-Sleep -Seconds 5
    Write-Host 'Connecting to the SQL Server'
    $sqlConnection.Open()
    Write-Host 'Connected to the SQL Server'
    Write-Host ('Adding {0} to the sysadmin server role'  -f $loginName)
    $sqlCommand = $sqlConnection.CreateCommand()
    $sqlCommand.CommandText = "sp_addsrvrolemember"
    $sqlCommand.CommandType = "StoredProcedure"
    $loginParam = $sqlCommand.Parameters.Add("@loginame", $loginName)
    $roleParam = $sqlCommand.Parameters.Add("@rolename", 'sysadmin')
    $temp = $sqlCommand.ExecuteNonQuery()
    Write-Host ('{0} has been added to the sysadmin server role successfully'  -f $loginName)
    # Stop the service if it is running
    Write-Host 'Stopping SQL Server'
    $sqlServerService.Stop()
    $sqlServerService.WaitForStatus("Stopped")
    Write-Host 'Starting SQL Server in the non-admin mode'
    $sqlServerService.Start()
    $sqlServerService.WaitForStatus("Running")
    }
    catch 
    {
    Write-Error $_
    }
}

Where to look for more information

Following are a number of good sources of information you can check for items that are not covered here or if you need to go further in depth on them:

Left arrow icon Right arrow icon

Key benefits

  • Learn something new in an Instant! A short, fast, focused guide delivering immediate results.
  • Learn to plan and successfully implement your Team Foundation Server and Project Server integration
  • Easily install or upgrade your Team Foundation Server extensions for Project Server
  • Understand and implement permissions to ensure security
  • Easily perform fundamental management of integration

Description

Developers and project managers managing large software development projects often find themselves at odds during the course of a project. This usually ends with the developers feeling they are wasting time sending status updates, and the project managers feeling that they aren't getting all the information they need to satisfy stakeholders. It doesn't have to be that way! Instant Team Foundation Server 2012 and Project Server 2010 Integration How-to, is a practical format that walks you through what you need to know to get two of Microsoft's most popular products for managing team productivity integrated. We boil down the complex parts to deliver just what you need to know to get started today.The book takes you through the planning, setup, and configuration of Team Foundation Server Extensions for Project Server. Step-by-step instructions are provided with enough detail to get you started without burdening you with a ton of background information. Learn the basics of how to manage the integration as well as a few helpful tips on establishing a test environment, and the basics of how to integrate these server-based technologies. You will learn everything you need to know to get started with planning, installing, and managing the integration.

Who is this book for?

This book is for users who want to integrate TFS 2012 and Project Server 2010. Readers are expected to know some basic Windows Server commands and account management, and have administrative access to the servers being configured.

What you will learn

  • Plan a successful hassle free integration
  • Perform step-by-step integration tasks
  • Initiate the integration right the first time with the correct permissions
  • Set up your environment quickly without it taking days
  • Evade integration hang ups that frequently catch the uninformed
  • Learn basic management of the integration
  • Determine if the integration is working properly
  • Become competent at commanding critical syntax and examples
Estimated delivery fee Deliver to Denmark

Premium delivery 7 - 10 business days

€17.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Feb 22, 2013
Length: 54 pages
Edition : 1st
Language : English
ISBN-13 : 9781849688543
Vendor :
Microsoft

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to Denmark

Premium delivery 7 - 10 business days

€17.95
(Includes tracking information)

Product Details

Publication date : Feb 22, 2013
Length: 54 pages
Edition : 1st
Language : English
ISBN-13 : 9781849688543
Vendor :
Microsoft

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total €17.98 €56.98 €39.00 saved
SQL Server 2012 with PowerShell V3 Cookbook
€48.99
Instant Team Foundation Server 2012 and Project Server 2010 Integration How-to
€20.99
Total €17.98€56.98 €39.00 saved Stars icon
Banner background image

Table of Contents

1 Chapters
Instant Team Foundation Server 2012 and Project Server 2010 Integration How-to Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Full star icon 5
(3 Ratings)
5 star 100%
4 star 0%
3 star 0%
2 star 0%
1 star 0%
Tarun Arora Apr 21, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Last week I was tasked with setting up Integration between Team Foundation Server 2012 and Project Server 2010. Being new to project server I started searching around for guidance online, I came across the book `Instant Team Foundation Server 2012 and Project Server 2010 Integration How-to' by Gary P. Gauvin. The book has 60 pages of guidance you can instantly apply to plan, set up, and configure Team Foundation Server Extensions for Project Server. Step-by-step instructions are also provided with enough detail to get you started without burdening you with a ton of background information. It doesn't just end there, the book also talks about best practices for managing the integration once its set up.Though MSDN has useful guidance on project server integration, but the book summarises the License & CAL specifications, Authentication Modes, Permission Management and management SQL scripts all in one place apart from the installation and set up steps making it easy for you to get to when required. I would strongly recommend this book to anyone looking for guidance on setting up and managing Team Foundation 2012 integration with Project Server 2010 without getting overloaded with too much information. In case you are interested, `Instant Team Foundation Server 2012 and Project Server 2010 Integration How-to' is a good value for money, available on PACKT and Amazon for purchase.Happy Reading :-]Cheers,Tarun
Amazon Verified review Amazon
Terje Sandstrom Apr 21, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book is a very thorough and concise guidance to setting up the integration between TFS and Project server. This integration has always been cumbersome and somewhat hard to get quite right, but this book makes this task that much easier.The form of this book makes it very suitable for both anyone who are doing this the first time, making sure you don't miss any crucial step on your way. For those doing this again, it can also be used as a check list, to keep track of the different things you need to do.I liked the form; it is very concise, with a minimum of extraneous chatter.
Amazon Verified review Amazon
Ben Howard Apr 03, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I've read this bookit and it explains exactly what you need to set up and configure in order to get the two solutions (TFS and Project Server) to talk to each other, and it includes a whole section on getting the security right, and all the powershell commands required in order to associate a Project Server plan with a TFS project.I you are planning to deploy TFS/PS integration, then I would recommend this as a good technical starting point.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela