Monday, November 22, 2010

Creating a PSI Extension for Project Server 2010

This post refers to the Project 2010 SDK Sep 2010 Update.

01-Creating-a-PSI-Extension-for-Project-Server-2010-SDK

This updates contains to sample PSI Extensions.  The 'Hello World' and the 'ListProjects' examples. Missing from the accompaning documentation is the following:

1) You need to include the System.Web reference not only in the 'using' statement but in the list of referenced external libraries.

03-Creating-a-PSI-Extension-for-Project-Server-2010-Reference

2) There is a bug in the GetServiceUri function of the Hello  World PSI extension.  A variable is declared with the name requestUri but referenced as requestUrl (with an L at the end) inside the function.  

02-Creating-a-PSI-Extension-for-Project-Server-2010-Bug

Following the rest of the instructions in the examples was easy including the deployment instructions. However when I tested the web service I got this generic catch all error: 'Security settings for this service require Windows Authentication but it is not enabled for the IIS application that hosts this service':

04-Creating-a-PSI-Extension-for-Project-Server-2010-Authentication-Error

After verifying that my development server had indeed Windows Authentication enabled

05-Creating-a-PSI-Extension-for-Project-Server-2010-Windows-Authentication

I then deployed the PSI extension in the Information Worker VHD provided by Microsoft to eliminate the possibility of having mis-configured my development machine, but there I got the same error condition.

After a few hours of research, I learned that while the deployment of Project Server was done using NTLM provider and the web.config was specified as NTLM in the SDK documentation.  I had to change the Providers configuration setting in the web server to include 'Negotiate'.

06-Creating-a-PSI-Extension-for-Project-Server-2010-Negotiate

With the addition of this Provider setting, an iisreset and an IE clear cache I was able to access the PSI extensions without additional problems.

07-Creating-a-PSI-Extension-for-Project-Server-2010-Web-Service


For additional
SharePoint or Project Server
related articles please visit my website at:
www.gustavogarcia.net



Monday, November 15, 2010

Building a single server Project Server 2010 with SQL Server for use as a development environment. Part 5

Create a PWA site

SharePoint Server 2010 uses a round-robin algorithm to determine the distribution of site collections across content databases. In order to deploy the PWA site to a specific content database, you must lock down any existing content databases in the farm. The process does not affect user access; it only affects the distribution of new site collections.

To lock down your content databases, follow these steps.

To lock down a content database

  1. In the SharePoint Central Administration Web site, in the Application Management section, click Manage content databases.
  2. In the Current Number of Site Collections column, note the number of site collections for the WSS_Content database (this should be 1).         01_project_server2010_number_of_site_collections
  3. In the Database Name column, click the link for the WSS_Content database.

  4. In the Database Capacity Settings section:

    1. In the Maximum number of sites that can be created in this database box, type the existing number of site collections for this database (as noted in the Current Number of Site Collections column, earlier in this procedure).02_project_server2010_lock_down_content_db

    2. In the Number of sites before a Warning event is generated box, type a lower number than the value that is used for Maximum number of sites that can be created in this database.

  5. Click OK.

To create a content database

  1. In SharePoint Central Administration, in the Application Management section, click Manage content databases.
  2. Click Add a content database.

  3. In the Database Name section, type PWA_Content.    
  4. Click OK.         03_project_server2010_pwa_content_db
Once the content database has been created and configured, the next step is to create the PWA site itself.

To create a PWA site

  1. In the SharePoint Central Administration Web site, in the Application Management section, click Manage service applications.
  2. On the Manage Service Applications page, click the Project Server Service Application.
  3. On the Manage Project Web App Sites page, click Create Project Web App Site.
  4. Keep the default values, and then click OK.       05_project_server2010_create_pwa
Project Server 2010 starts the PWA site creation process. This may take some time. When the site creation process is complete, the status shown on the PWA site list is Provisioned.
06_project_server2010_pwa_provisioning
Once the PWA site is provisioned, you can access it using the URL http://dev2010/pwa.

11_project_server2010_access_pwa

Once the PWA site has been provisioned, verify that it was created in the PWA_Content database. Use the Get-SPSite Windows PowerShell command, passing the new content database as a parameter:

To verify the PWA site location

  1. On the Start menu, click All Programs.
  2. Click Microsoft SharePoint 2010 Products.
  3. Click SharePoint 2010 Management Shell.
  4. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and then press ENTER:

    Get-SPSite -ContentDatabase <ContentDatabaseName>

    The command should return the URL for your PWA site and no other URLs.
07_project_server2010_verify_content_db

Once the PWA site is in the PWA_Content database, you must lock down the database to prevent SharePoint Server 2010 from adding additional site collections to the database. This is performed by configuring the maximum number of sites for the content database to one.


To lock down the content database
  1. In SharePoint Central Administration, in the Application Management section, click Manage content databases.     08_project_server2010_lockdown_pwa
  2. In the Database Name column, click the link for the PWA_Content database.
  3. In the Database Capacity Settings section:

    1. In the Number of sites before a Warning event is generated box, type 0.

    2. In the Maximum number of sites that can be created in this database box, type 1.09_project_server2010_lockdown_parameters
  4. Click OK.
Once you have locked down your PWA content database, you can return the WSS_Content database to its original values for Maximum number of sites that can be created in this database (15000) and Number of sites before a Warning event is generated (9000).

You can now access the new PWA site.

Configuring server settings

Each time that you create a PWA site, there are two additional configuration steps that you must take before you start to use Project Server 2010:
  • Create time reporting periods
  • Set the workflow proxy user account
Configuring time reporting periods is required for Team Member use of Time Tracking and Task Statusing within Project Server 2010. Use the following procedure to create time reporting periods.

To create time reporting periods

  1. On the Project Web App site, click Server Settings.
  2. In the Time and Task Management section, click Time Reporting Periods.                                                                                                  12_project_server2010_time_reporting_periods              

  3. On the Time Reporting Periods page:
13_project_server2010_configure_time_reporting_periods
    1. Click the calendar button next to Date the first period starts and select a start date for the first time reporting period.

    2. Click Create Bulk.

    3. Click Save.
The final step before you start to use the Project Web App site is to set the workflow proxy user account. By default, this account is set to the account that you used to create the PWA site. Although you can keep the default, we recommend that you use an account that was created for that purpose. In this case, we will use the sdred\DevWFProxy account. Note that you must change the account before you start any workflows or else in-progress workflows will break.

There are two steps that you must follow to set up the workflow proxy account:
  • Create a Project Server 2010 user account for the sdred\DevWFProxy account
  • Configure the sdred\DevWFProxy account as the workflow proxy user
Perform the following procedure to create a Project Server 2010 for the sdred\DevWFProxy account.

To create a user

  1. In Project Web App, click Server Settings.
  2. In the Security section, click Manage Users.                                                                                                                                                      

  3. On the Manage Users page, click New User.                                                                                                                                                        16_project_server2010_add_new_user

  4. On the New User page:

    1. Clear the User can be assigned as a resource check box.
    2. In the Display Name box, type Workflow Proxy User.

    3. In the User Authentication section, type sdred\DevWFProxy in the User logon account box.                                                                      17_project_server2010_new_user_category

    4. Select the Prevent Active Directory synchronization for this user check box.
    5. In the Security Categories area, select My Organization in Available Categories, and then click Add.  
    6. Under Permissions for My Organization, select Allow for the following permissions:
      • Open Project
      • Save Project to Project Server
      • View Enterprise Resource Data                                                                                                                                                     18_project_server2010_new_user_global_permission
    7. Under Global Permissions, select Allow for the following permissions:
      • Log On
      • Manage Users and Groups
      • Manage Workflow and Project Detail Pages                                                                                                                                    19_project_server2010_new_user_created
  5. Click Save.
Once the user account is created, you can set the workflow proxy user account. Perform the following procedure to configure the workflow proxy user account.

To set the workflow proxy user account

  1. In PWA, click Server Settings.
  2. On the Server Settings page, under Workflow and Project Detail Pages, click Project Workflow Settings.
  3. On the Project Workflow Settings page, in the Workflow Proxy User account box, type sdred\DevWFProxy, and then click Save
20_project_server2010_set_workflow_user_account


For additional 
SharePoint or Project Server 
related articles please visit my website at:


Monday, November 1, 2010

Building a single server Project Server 2010 with SQL Server Part 4

Install Project Server

Before installing project server 2010 create the following domain and local accounts:
Account Domain account Description
SQL Server Administrator SDRED\SQLAdmin Administrator account for SQL Server 2008. Local Administrator on the SQL server.
Farm Administrator SDRED\DevFarmAdmin Farm Administrator for the Project Server 2010 farm. Local Administrator on web server.
Service application account SDRED\DevSVCApp Domain account for running SharePoint Server 2010 service applications.
Workflow proxy account SDRED\DevWFProxy Domain account for running Project Server 2010 workflows.
Reporting data access account SDRED\DevProjDataAccess Domain account that has access to the reporting database for use with Secure Store as part of Project Server 2010 reporting.
Create the following doamain groups. These groups will be used when configuring reporting for Project Server 2010.

Group Domain group Description
Report Authors SDRED\DevProjReportAuthors Active Directory group for report authors.
Report Viewers SDRED\DevProjReportViewers Active Directory group for report viewers.

To install Project Server

  1. On the Project Server 2010 DVD, run default.hta. The Setup menu opens.
    01_project_server2010_autoplay
  2. On the Start page, click Install Project Server. It is not necessary to Install the software prerequisites if SharePoint 2010 was recently installed, since they are the same.02_project_server2010_splash_screen
  3. On the Enter your Product Key page, type your product key, and then click Continue.03_project_server2010_key
  4. On the End User License Agreement page, review the terms of the agreement. To accept the agreement, select the I accept the terms of this agreement check box.
    04_project_server2010_license
  5. Click Continue.
  6. On the Choose a file location page, click Install Now.05_project_server2010_file_location
  7. When the installation is complete, select the Run the SharePoint Products and Technologies Configuration Wizard now check box.06_project_server2010_configuration_wizard
  8. Click Close.
  9. On the Welcome to SharePoint Products page, click Next.07_project_server2010_welcome_screen
  10. On the warning dialog box, click Yes.08_project_server2010_iisreset_warning
  11. On the Completing the SharePoint Products Configuration Wizard page, click Next.
    10_project_server2010_configuring_process
    11_project_server2010_configuration_successful
  12. When the wizard is finished, click Finish.
Once the wizard has finished the browser will launched and display prompting to choose between launching the wizard to configure the farm or cancel to configure at a latter time. Choose cancel so that we can configure using our own selections. 12_project_server2010_configure_farm
Before configuring the Farm we will first need to register our Managed Accounts.

Configure a managed account

Before you can use a domain account within SharePoint Server 2010, you must register it as a managed account. The SDRED\DevSVCApp account will be used to run the various service applications in this Project Server 2010. Perform the following procedure to register the SDRED\DevSVCApp account as a managed account.

To register a managed account

  1. In SharePoint Central Administration, click Security.13_project_server2010_security_tab
  2. Under General Security, click Configure managed accounts.14_project_server2010_managed_accounts
  3. On the Managed Accounts page, click Register Managed Accounts.
  4. On the Register Managed Account page:


  • In the User name box, type SDRED\DEVSVCApp.
  • In the Password box, type the password for the SDRED\DEVSVCApp account.
  • Click OK.

    Configure services and service applications

    The first step is to start the Project Application Service and the PerformancePoint Service on Dev2010. To start the Project Application Service
    1. On the SharePoint Central Administration home page, in the System Settings section, click Manage services on server.
    2. On the Service list, click Start next to Project Application Service.
    3. On the Service list, click Start next to PerformancePoint Service.
    16_project_server2010_farm_services
    Once you have started the Project Application Service and PerformancePoint Service, you must create a service application for each service.

    To create a Project Server service application

    1. On the Central Administration home page, in the Application Management section, click Manage service applications.
    2. On the Manage Service Applications page, on the ribbon, click New, and then click Project Server Service Application.
    3. On the Create Project Web App service application page:17_project_server2010_project_server_app


    • In the Project Web App service application name box, type Project Server Service App.
    • In the Application Pool section, select the Create new application pool option, and in the Application pool name box, type ProjectAppPool.
    • Select the Configurable option, and select the SDRED\DevSVCApp account from the drop-down list.
    • Click OK.

    1. To create a PerformancePoint service application
    • On the Central Administration home page, in the Application Management section, click Manage service applications.
    • On the Manage Service Applications page, on the ribbon, click New, and then click PerformancePoint Service Application.
    • On the New PerformancePoint Service Application page:18_project_server2010_performance_point
    • In the Name box, type PerformancePoint Service Application.
    • Select the Add this service application’s proxy to the farm’s default proxy list check box.
    • In the Application Pool area, select the Create new application pool option, and in the Application pool name box, type PerformancePointAppPool.
    • Select the Configurable option, and select the SDRED\DEVSVCApp account from the drop-down list.
    • Click Create.When the service application has been successfully created, click OK.

    Configure the top-level Web site

    A Web application is required to host the Project Web App web site and the associated project sites. Perform the following procedure to create a Web application.

    To create a Web application

    1. In Central Administration, in the Application Management section, click Manage Web applications.
    2. On the toolbar, click New.
    3. On the Create New Web Application page, keep the default values, and then click OK.19_project_server2010_create_web_app
    4. When the Web application has been created, click OK.
    The next step is to create a top-level Web site and give users read permission to that site.

    To create a top-level Web site

    1. In Central Administration, in the Application Management section, click Create site collections.20_project_server2010_site_collection
    2. Type PWA in the Title box.
    3. In the Primary Site Collection Administrator section, type FarmAdmin.
    4. Click OK.

    To set Read permissions on the top-level Web site

    1. Navigate to the root site (http://dev2010/pwa).
    2. Click Site Actions.
    3. Click Site Permissions.
    21_project_server_2010_top_level_site
    22_project_server_2010_grant_permissions
    In the Users/Groups box, type NT AUTHORITY\Authenticated Users.
    1. Under Give Permission, select Visitors [Read].
    2. Click OK.


    For additional 
    SharePoint or Project Server 
    related articles please visit my website at:

    Adding Project Server to the Information Worker Demo VM

    To add Project Server to the Information Worker Demo VM look for the Microsoft Project 2010 Demonstration and Evaluation Installation Pack in the Microsoft Download Center.

    Before installing the software pack make sure that the DNS entries match the setup for your network.  If you are using the Host Only setting then there is no need to make additional settings. In my case I setup the type of Network to Bridged Only and assigned it a different static IP address.

    The IP that the VM comes with is 192.168.150.1.

    01contoso_ip_settings

    The forward and reverse lookup entries will need to be updated.

    02contoso_dns_entries



    03contoso_dns_gc_entries

    Mount the software package image and double clik on the Run command in the AutoPlay window.

    05run_the-demo_pack

    In the Welcome Screen click the install button.

    06project2010_demo_pack_welcome

    The installer will first extract the installation files.

    07project2010_demo_pack_installer_pack


    In my case I had not updated the DNS entries for the VM and therefore it could not connect to the newly created PWA.

    08project2010_demo_pack_install_progress

    I then  updated the DNS gc entries.

    09project2010_demo_pack_gc_modified

    I updated the forward and reverse lookup zone entires.

    11project2010_demo_pack_reverse_lookup_zones

    I ran the installation wizard once again and with the correct DNS entries the installation did not generate any errors.

    12project2010_demo_pack_install_complete

    After the installation is complete point your browser to project.contoso.com/PWA and the PWA 2010 will display.

    13project2010_demo_pack_pwa_page


    For additional 
    SharePoint or Project Server 
    related articles please visit my website at: