project 2010 solution starters

28
Project 2010 Solution Starters This document is “one page per Solution Starter” overview for the Project 2010 Solution Starters. For more information, please refer to Solution Starter Home http://code.msdn.microsoft.com/P2010SolutionStarter. In case you have questions or experiencing issues AFTER you have reviewed all related information on http://code.msdn.microsoft.com/P2010SolutionStarter - including WEBCASTS, please post them to the following discussion http://code.msdn.microsoft.com/P2010SolutionStarter/Thread/List.aspx. Thanks & Enjoy! Contents Bulk Edit Tool .................................................................................................................................................... 2 Summary ....................................................................................................................................................... 2 User Experience ............................................................................................................................................ 2 Solution Parts ................................................................................................................................................ 5 Bulk Import Tool ............................................................................................................................................... 5 Summary ....................................................................................................................................................... 5 Description .................................................................................................................................................... 5 User Experience ............................................................................................................................................ 6 Solution Parts ................................................................................................................................................ 8 Demand Management Export Tool ................................................................................................................... 9 Summary ....................................................................................................................................................... 9 Deployment ................................................................................................................................................ 10 Technical Highlights .................................................................................................................................... 11 Demand Management Import Tool ................................................................................................................ 11 Summary ..................................................................................................................................................... 11 Deployment ................................................................................................................................................ 11 Technical Highlights .................................................................................................................................... 11 EPT Association Tool ....................................................................................................................................... 12 Summary ..................................................................................................................................................... 12 Deployment ................................................................................................................................................ 12 Technical Highlights .................................................................................................................................... 12 Dynamic Workflow.......................................................................................................................................... 13 Summary ..................................................................................................................................................... 13 Options........................................................................................................................................................ 13 Solution Parts .............................................................................................................................................. 17

Upload: poiscribd

Post on 06-Mar-2015

512 views

Category:

Documents


9 download

TRANSCRIPT

Project 2010 Solution Starters This document is “one page per Solution Starter” overview for the Project 2010 Solution Starters.

For more information, please refer to Solution Starter Home

http://code.msdn.microsoft.com/P2010SolutionStarter.

In case you have questions or experiencing issues AFTER you have reviewed all related information on

http://code.msdn.microsoft.com/P2010SolutionStarter - including WEBCASTS, please post them to the

following discussion http://code.msdn.microsoft.com/P2010SolutionStarter/Thread/List.aspx.

Thanks & Enjoy!

Contents Bulk Edit Tool .................................................................................................................................................... 2

Summary ....................................................................................................................................................... 2

User Experience ............................................................................................................................................ 2

Solution Parts ................................................................................................................................................ 5

Bulk Import Tool ............................................................................................................................................... 5

Summary ....................................................................................................................................................... 5

Description .................................................................................................................................................... 5

User Experience ............................................................................................................................................ 6

Solution Parts ................................................................................................................................................ 8

Demand Management Export Tool ................................................................................................................... 9

Summary ....................................................................................................................................................... 9

Deployment ................................................................................................................................................ 10

Technical Highlights .................................................................................................................................... 11

Demand Management Import Tool ................................................................................................................ 11

Summary ..................................................................................................................................................... 11

Deployment ................................................................................................................................................ 11

Technical Highlights .................................................................................................................................... 11

EPT Association Tool ....................................................................................................................................... 12

Summary ..................................................................................................................................................... 12

Deployment ................................................................................................................................................ 12

Technical Highlights .................................................................................................................................... 12

Dynamic Workflow.......................................................................................................................................... 13

Summary ..................................................................................................................................................... 13

Options........................................................................................................................................................ 13

Solution Parts .............................................................................................................................................. 17

Workflow Visualization Web Part ................................................................................................................... 19

Summary ..................................................................................................................................................... 19

Options........................................................................................................................................................ 19

Solution Parts .............................................................................................................................................. 21

Workspace Project Custom Field Web Part .................................................................................................... 21

Summary ..................................................................................................................................................... 21

Deployment ................................................................................................................................................ 22

Technical Highlights .................................................................................................................................... 22

Project Workspace List Viewer ....................................................................................................................... 22

Summary ..................................................................................................................................................... 22

Deployment ................................................................................................................................................ 23

Technical Highlights .................................................................................................................................... 23

Infopath Form Viewer Web Part ..................................................................................................................... 23

Summary ..................................................................................................................................................... 23

Deployment ................................................................................................................................................ 24

Technical Highlights .................................................................................................................................... 24

Report Builder Tool ......................................................................................................................................... 25

Summary ..................................................................................................................................................... 25

Deployment ................................................................................................................................................ 25

Technical Highlights .................................................................................................................................... 25

Excel Project Cost Capture .............................................................................................................................. 26

Summary ..................................................................................................................................................... 26

User Experience .......................................................................................................................................... 26

Solution Parts .............................................................................................................................................. 28

Bulk Edit Tool

Summary Changing custom fields or other project fields for a single project is easy using Project Professional or PWA. Changing the same fields on multiple projects, however, can be a challenge. Using either Project Professional or PWA, each project must be edited individually, making “bulk editing” a tedious and time consuming task. The Bulk Edit Tool solution starter provides a solution for this problem. The solution is accessible via the PWA ribbon in Project Center.

User Experience

Bulk Edit Tool Ribbon Button

The solution is accessible via the PWA ribbon in Project Center. A custom button on the ribbon redirects to a custom page with a pop-up window showed up.

Bulk Import Tool Options

The pop-up window provides several options. In the first step (“Select Field”) it’s possible to select a set

project native and custom fields to edit.

The second step allows filtering the projects to be edited. All the projects will be selected if no filter is

defined. A filter may contain rules for custom fields as well as for native fields.

Each filter rule can use one of the operators:

equals

do not equal

is less than

is less than or equal to

is greater than

is greater than or equal to

begins with

contains

does not contain

The rules can be connected with help of either “AND” or “OR” operator.

The main page shows a list of selected projects and selected project fields. The list is implemented via the

new JSGrid control.

The main page also provides a custom ribbon tab with a few action buttons:

1. Select Fields/Filters. Shows up the pop-up window to update the set of project fields and filters.

2. Edit Selected. Switches the list of projects to “edit” mode. The button is disabled if no project is

selected.

3. Save. Starts the update operations for selected projects in “edit” mode.

4. Cancel. Cancels the update operations in “edit” mode.

5. Refresh. Refreshes the list of projects to apply any updates to projects or project fields.

6. My Queued Jobs. Opens a new browser window with queued update jobs.

The screenshot below shows the projects grid in “edit” mode:

The “Save” action collects the custom field data from the projects list and create “update” jobs in Project

Server queue. The timing of the update operations can vary and depends on the amount and statuses of

other queue jobs and could take longer than expected as the queue is involved into process.

Solution Parts

Solution content

The source code of solution can be found in BulkEditTool folder.

It has the following content:

1. BulkEditTool.sln solution (VS 2010).

2. Deployment folder contains .bat files for copying and deploying SharePoint solution.

Installation notes

1. Set SiteUrl in Deployment/DeployPowerShell.cmd

2. Run Command Prompt as administrator

3. Run Deployment/DeployPowerShell.cmd

4. Add application pool account to PWA Administrators group

Bulk Import Tool

Summary Many enterprise customers use the collaborative strength and flexibility of SharePoint lists to store project proposal information. At some point, a subset of those proposals will be initiated as projects and need to be setup as projects in Project Server. Currently, there is no automated process out-of-the-box and must either be done manually or automated using custom code. The Bulk Import solution starter provides a solution for this problem.

Description

The Bulk Import Tool creates or updates the projects in Project Server based on the data that is pulled

from a SharePoint list. Each project custom field is filled from the list’s column according to the mapping

rules. The SharePoint list (and the view) and the mapping rules can be set in Bulk Import Tool options.

The screenshot below shows an example of a SharePoint list:

User Experience

Bulk Import Tool Ribbon Button

The solution is accessible via the PWA ribbon in Project Center. A custom button is added to the ribbon, along with a custom dialog box that allows the SharePoint list, view and columns to be mapped to the project fields.

Bulk Import Tool Options

The custom button at the Ribbon launches the Bulk Import Tool pop-up window. There are a few options

available:

7. Site URL. Site URL of SharePoint containing list to be imported as projects in Project Server.

Default value is http://. “Validate” button allows checking if the entered URL is valid.

8. List. A list which is a source of data for the projects to be created/updated.

9. View. The list’s view.

10. Column mapping. This section displays a grid with the list’s columns on the left side and project

fields on the right. Represents the mapping.

11. Create Using EPT. An EPT for the new projects.

12. Publish Projects. A flag that indicates that the projects will be published after creating/updating.

Default value is “Yes”.

13. Update Existing Projects. A flag that indicates that existing projects will be updated.

14. Save list configuration info. A flag that indicates that the tool’s current configuration will be saved

to specified location.

The “Start Import” button launches the process. The screenshot below shows the Bulk Import Tool

processing status:

There are a number of operations defined for each SharePoint list item: Create Project, Update Project,

Publish Project, etc. All the project operations are processed asynchronously via AJAX requests. Each

operation has its current processing status that is displayed in the grid.

The “Retry all failed” button allows re-launching of all operations for all the failed projects.

Solution Parts

Solution content

The source code of solution can be found in BulkImportTool folder.

It has the following content:

3. BulkImportTool.sln solution (VS 2010).

4. Deployment folder contains .bat files for copying and deploying SharePoint solution.

Installation notes

5. Set SiteUrl in Deployment/DeployPowerShell.cmd

6. Run Command Prompt as administrator

7. Run Deployment/DeployPowerShell.cmd

8. Add application pool account to PWA Administrators group

In case of custom SharePoint list go to http://server_name/pwa_name/_layouts/viewlsts.aspx, create

a list and fill it with items.

Demand Management Export Tool

Summary

Enterprise Project Types (EPT) and related entities are an integral part of the demand management

functionality in Project 2010. EPTs are the high level entity that is associated with projects. Every EPT

may be related to 1 or more phases and 1 or more stages for each phase. They also are related to 1 or

more Project Detail Pages (PDP) and the associated custom fields, lookup tables and web parts. Moving

these entities to another Project 2010 instance manually would be very tedious and time consuming.

The DM Export Tool provides an administrator an easy way to export any number of EPTs and the

associated entities. The exported entities may then be imported with the Demand Management Import

Tool.

Deployment

The DM Export Tool is implemented as a WinForm application and may be deployed using the provided

msi installer.

Technical Highlights

− WinForms development

− Project Server Interface (PSI) development

− Sharepoint development

Demand Management Import Tool

Summary

The DM Import Tool is used in conjunction with the DM Export Tool. The DM Import Tool reads the

exported entity data from the DM Export Tool and installs those entities on a new Project Server

instance as a feature that can be easily retracted.

Deployment

The DM Import Tool is not really deployed itself but uses scripts to dynamically build a Sharepoint

feature from the exported data and install the exported data as a feature. When the installed feature is

activated, the exported entities are added to the target Project Server instance. The entities may also be

retracted by simply deactivating the feature.

Technical Highlights

− Sharepoint Feature Receiver development

− Sharepoint development

− Project Server Interface (PSI) development

EPT Association Tool

Summary

The EPT Association Tool solution starter displays the relationships between Enterprise Project Types

(EPTs), phases, stages, Project Detail Pages (PDPs), web parts and project custom fields. For non-

workflow controlled EPTs, the tool queries the EPT data using the PSI to display the related PDPs, web

parts and custom fields. For workflow controlled EPTs, the phase, stage and other related entities are

entered manually and stored in Sharepoint lists for reference. The tool also can display the GUIDs for

stages and custom fields which is particularly useful for developers writing workflows in Visual Studio.

Deployment

The EPT Association Tool is implemented as a Sharepoint feature and is easy to deploy using standard

tools like stsadm.exe or Powershell. The sample code includes samples of both types of deployment

files.

Technical Highlights

− Server Settings admin page customization

− PWA ribbon customization

− Javascript Grid (JSGrid) customization

− Sharepoint development

− Project Server Interface (PSI) development

Dynamic Workflow

Summary The Dynamic Workflow solution starter provides an easy mechanism to build sequential workflows in PWA without using Visual Studio. The tool inserts a custom InfoPath form into the workflow definition process that gathers the custom workflow information. That information is then used to dynamically construct a workflow for the demand management process.

Options

Basic stage options

The workflow can contain any number of non-duplicate stages. A stage can be selected from the drop-

down list. The following screen shows basic stage options:

1. Stage Status Message. When a project enters a stage, the workflow stage status page will display

a section where this custom message will be shown.

2. Force Submit on Stage. By selecting “Yes” (the default value) the workflow will always wait on the

stage, even if there are no required fields in the stage.

3. Wait for Commit. By selecting “Yes” the workflow will wait for the project to be committed within

the Portfolio Analysis tool before it will move forward. Default option is “No”.

4. Approval Required. By selecting “Yes” the workflow will send approval requests for this stage.

The following screen shows Portfolio Analysis tool’s commit action button:

Stage approval options

When an approval stage gets submitted the workflow remains on the stage and sends approval requests

that are defined for the stage.

There are a few options for this feature:

1. Approval Type. Available choices are: “First Response”, “Majority” and “Consensus”. “First

Response” means that the very first response will be used and the workflow would not wait for

any of the other responses. “Majority” means that a majority of the approval responses with be

used as the final decision. “Consensus” – must receive 100% of the same response for the decision

to be final.

2. Approvers. Allows selecting Groups or Users that will receive approval requests for the stage.

3. Filter Approvers by Department. By selecting “Yes” only users that are in the same department as

the project will receive approval requests.

4. Approval Stage Status Message. Stage status when a project is waiting for approval.

5. Send Email Notification. By selecting “Yes” the workflow will send email notifications.

An approval stage creates tasks for the approvers defined in option “Approvers”:

Stage email notifications options

The feature sets up email notifications options for each approval/rejection user action if an approval is

required for a stage.

Email notifications feature options:

1. Send Email to Project Owner.

2. Send Email to a list of specified email addresses.

3. Define approval and rejection email messages.

Emails are sent is HTML format with a subject of the following format: “Project <Project Name> has been

rejected at stage <Stage Name>” and email body with text defined in “Rejection Notification Email Text”.

Email settings are pulled from PWA site’s “Alerts and Reminders” settings, which can be accessed at

http://{server}/{PWA}/_layouts/pwa/Admin/Notification.aspx page:

If this PWA site option is disabled, the settings are pulled from Web Application “Outgoing Email Settings”

(http://{server}:{port}/_admin/globalemailconfig.aspx):

If the email settings cannot be determined from both places then the Email Notifications management

option is disabled from UI:

In order to submit workflow changes having Email Notifications option enabled the form must meet a few

validation rules:

1. At least one of the following options must be enabled: “Send Email to Project Owner” or “Send

Email to Specified Addresses”, otherwise a tip is shown: “Cannot perform the requested action as

at least one e-mail recipient option should be selected”.

2. The field “Recipients” is enabled only if the option “Send Email to Specified Addresses” is enabled.

3. If the field “Recipients” is enabled then it becomes required and its value should match the

pattern specified in the field’s description, otherwise a tip is shown “Please enter one or more

addresses in a form ‘[email protected]’, separated by a comma or semicolon”.

4. The Field “Approval Email Message” is required. If the field is blank a tip is shown “Please provide

an approval email message text”.

5. The Field “Rejection Email Message” is required. If the field is blank a tip is shown “Please provide

a rejection email message text”.

Solution Parts

Solution content

The source code of solution can be found in Src folder. It has the following content:

5. DMDynamicWorkflow.sln solution (VS 2010) projects:

1. DMDynamicWorkflow Sequence Workflow project;

2. Tests unit tests project.

6. InfoPath form source of InfoPath form and code-behind project for it (VSTO) for workflow

association details page;

7. DeploymentFiles folder contains .bat files for copying and deploying SharePoint solution.

Tests coverage

Implemented unit tests cover:

1. Approval logic (7 use cases);

2. Workflow Association Data XML parsing (11 use cases);

3. Building project sequence for workflow (5 use cases).

Installation notes

1. Set SiteUrl in Deployment/DeployPowerShell.cmd

2. Run Command Prompt as administrator

3. Run Deployment/DeployPowerShell.cmd

4. Go to http://server_name/pwa_name/_layouts/WrkSetng.aspx

4.1. click "Add a workflow link" link,

4.2. create workflow association based on “DM DynamicWorkflow” template and press "Next";

4.3. configure all required stages to be added to workflow and click "Submit"

5. Go to http://server_name/pwa_name/_layouts/pwa/Admin/EnterpriseProjectTypes.aspx page and

create project type by selecting newly created workflow association;

6. Go to http://server_name/pwa_name/projects.aspx and create project of newly created EPT;

Customization notes

1. To provide any changes in workflow template it is necessary to execute the following:

1.1. open DmDynamicWorkflow.sln;

1.2. make necessary changes;

1.3. click “Deploy” context menu item of DMDynamicWorkflow project;

1.4. run DeploymentFiles\RestartServices.bat.

2. To provide any changes to InfoPath form it is necessary to execute the following:

2.2 open InfoPath\AssociationForm.xsn file InfoPath designer;

2.3 ensure it uses proper path for code-behind project (InfoPath\AssociationForm\

AssociationForm.csproj);

2.4 make necessary changes;

2.5 publish form using “Network Location” option and specifying proper output

path(InfoPath\Publish folder should be used); local access should be empty;

2.6 run DeploymentFiles\CopyInfoPathForm.bat;

open DmDynamicWorkflow.sln and publish solution using “Deploy” context menu item of DMDynamicWorkflow project.

Workflow Visualization Web Part

Summary The Workflow Visualization web part displays a graphical view of a workflow using predefined images. It can be added to any project page.

Options

Document Library

All the images for the workflow are pulled from a document library.

The document library must have a column for storing stage UIDs so the web part can apply a separate

image for a particular stage.

The screenshot below shows a document library for the web part:

Web part options

The Workflow Visualization web part provides a set of options:

1. Document Library Name. The name of a document library for storing the images for stages and

“arrows”.

2. Image for the arrow. Image file from the document library that represents the “arrow”

between the stages.

3. Stage column for Stage UID. A column name of the document library to store a UID of the

stage.

4. Arrow Image Width, Stage Image Width and Stage Image Padding. A set of parameters for the

workflow images.

5. Rich Highlighting. The option provides an advanced view of the images, i.e., non-current

workflow stages are displayed grayed-out.

The screenshot below shows the workflow view if the “Rich Highlighting” option is not set:

Solution Parts

Solution content

The source code of solution can be found in WorkflowVisualization folder.

It has the following content:

1. WorkflowVisualization.sln solution (VS 2010).

2. Deployment folder contains .bat files for copying and deploying SharePoint solution.

Installation notes

1. Set SiteUrl in Deployment/DeployPowerShell.cmd

2. Run Command Prompt as administrator

3. Run Deployment/DeployPowerShell.cmd

4. Add application pool account to PWA Administrators group

5. Go to http://server_name/pwa_name/_layouts/viewlsts.aspx

6. Create a document library with a custom column “Stage UID”.

7. Upload images to the document library for the arrow and for each stage specifying the stage ID in

“Stage UID” column.

8. Add “Workflow Visualization” web part to a PDP.

9. Modify settings of the web part: enter the document library name, select arrow image and a

column for stage UIDs.

10. Go to http://server_name/pwa_name/projects.aspx, create project of workflow EPT and proceed to

a PDP with the web part.

Customization notes

To provide any changes to Workflow Visualization web part:

1. Proceed to the PDP with Workflow Visualization web part. 2. Click “Edit web part”, modify the properties and click “Apply”.

Workspace Project Custom Field Web Part

Summary

The Workspace Project Custom Field web part displays a list of selected project fields and custom

fields. It can be added to the project workspace.

Deployment

The Workspace Project Custom Field web part is implemented as a Sharepoint feature and is easy to

deploy using standard tools like stsadm.exe or Powershell. The sample code includes samples of both

types of deployment files.

Technical Highlights

− Web Part development

− Project Server Interface (PSI) development

Project Workspace List Viewer

Summary

The Project Workspace List Viewer web part displays Sharepoint list items from any workspace list.

Deployment

The Project Workspace List Viewer web part is implemented as a Sharepoint feature and is easy to

deploy using standard tools like stsadm.exe or Powershell. The sample code includes samples of both

types of deployment files.

Technical Highlights

− Web Part development

− Sharepoint development

Infopath Form Viewer Web Part

Summary

The InfoPath Form Viewer web part is used to display and capture survey information for a project. The

resulting InfoPath form is stored in a form library and the totals and averages from the survey are stored

in project custom fields. The survey can be designed and published from InfoPath.

Deployment

The InfoPath Form Viewer web part is implemented as a Sharepoint feature and is easy to deploy using

standard tools like stsadm.exe or Powershell. The sample code includes samples of both types of

deployment files.

Technical Highlights

− Web Part development

− InfoPath design

− Sharepoint development

− Project 2010 development

Report Builder Tool

Summary

The Report Builder Tool makes it easy to build common Project 2010 reports without any programming

or SQL knowledge required. The tool is web based and runs in PWA. The reports are generated in Excel

files and saved to report libraries for future use.

Deployment

The Report Builder Tool is implemented as a Sharepoint feature and is easy to deploy using standard

tools like stsadm.exe or Powershell. The sample code includes samples of both types of deployment

files.

Technical Highlights

− Excel development

− Sharepoint development

− Project Server Reporting Database

Excel Project Cost Capture

Summary The Excel Project Cost Capture tool is a web part that displays project financial data in Excel and provides an easy way to synchronize Excel data and project custom fields.

User Experience The Excel Project Cost Capture tool provides a web part that can be added to any PDP. The web part displays an Excel sheet with ribbon tabs and menus:

If Microsoft Office Web Apps product is installed the Excel sheet is editable from the browser page. By default, if the product is not installed, the sheet is accessible only in read-only mode. By saving the PDP the Excel web part updates project custom fields with the data from the Excel sheet cells.

Any project custom field can be bound to a separate sheet cell. In order to edit the bindings the Excel sheet should be opened in a standalone Microsoft Excel application. This could be achieved by clicking “Open in Excel” button at the ribbon. In order to create a binding a cell’s name should be assigned to a project custom field name. This could be done by selecting “Define Name” menu item on the cell’s right-click:

However, there are few restrictions to the cell’s name:

1. The name should not begin with a letter or an underscore. 2. The name should not contain a space or other invalid characters. 3. The name should not conflict with an Excel built-in name or the name of another object in the

workbook. If a project custom field name to be bound contains any of restricted characters, they all should be replaced by underscore (‘_’) in the cell’s name.

Solution Parts

Solution content

The source code of solution can be found in Excel Project Cost Capture folder.

It has the following content:

1. WebPart.CostBenefit.sln solution (VS 2010).

2. Deployment folder contains .bat files for copying and deploying SharePoint solution.

Installation notes

1. Set SiteUrl in Deployment/DeployPowerShell.cmd

2. Run Command Prompt as administrator

3. Run Deployment/DeployPowerShell.cmd

4. Add application pool account to PWA Administrators group 5. Make sure Microsoft Office Web Apps product is installed.