Adding Print capabilities to Project Detail Pages

A user in the Project Server forums asked a question this week about whether it was possible to add printing capability to the Project Detail Pages in order to allow the ‘forms’ to be printed out as there is no print button available on the ribbon.

Capture1

Out of the box, the printing capability in the Project Web Application is limited to the grids, including the schedule grids that are visible in a schedule PDP and uses a custom page to render the information as can be seen below.

Project Schedule PDP Grid Print

After a little experimenting with the Internet Explorer printing, it seems that PDP’s can be printed quite well directly from the browser, so I thought I would try and pull together a ribbon feature that enables PDP printing.

The feature consists of XML button definition and a little piece of JavaScript to determine if the button will be enabled or not. This is important so that the button can be disabled when the user is on the schedule page that has it’s own grid based printing function like the picture above. For the purposes of this feature, I have gone the quick route and do the check based on the name of the page, in this case if the page is called schedule.aspx the button will be disabled. You may need to modify this check if your schedule based PDP(s) have a different name.

Schedule PDP - Custom Print button disabled

The element.xml looks like this:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
	<CustomAction Id="Ribbon.Tabs.PDP.Home.Print"
				  Location="CommandUI.Ribbon">
		<CommandUIExtension>
			<CommandUIDefinitions>
				<CommandUIDefinition Location="Ribbon.Tabs.PDP.Home.Groups._children">
					<Group Id="Ribbon.Tabs.PDP.Home.Print"
						   Sequence="60"
						   Description="Print Custom Group"
						   Title="Share"
						   Command="EnableCustomGroup"
						   Template="Ribbon.Templates.Flexible2">
						<Controls Id="Ribbon.Tabs.PDP.Home.Print.Controls">
							<Button Id="Ribbon.Tabs.PDP.Home.Print.PrintPDP"
									Sequence="40"
									Command="PrintPDP"
									Alt="Print"
									Image16by16="/_layouts/$Resources:core,Language;/images/ps16x16.png"
									Image16by16Top="-96"
									Image16by16Left="-160"
									Image32by32="/_layouts/$Resources:core,Language;/images/ps32x32.png"
									Image32by32Top="-288"
									Image32by32Left="-128"
									LabelText="Print"
									TemplateAlias="o1"
							        ToolTipTitle="Print"
									ToolTipDescription="Print the contents of the PDP"/>
						</Controls>
					</Group>
				</CommandUIDefinition>
				<CommandUIDefinition Location="Ribbon.Tabs.PDP.Home.Scaling._children">
					<MaxSize
						Id="Ribbon.Tabs.PDP.Home.Scaling.Print"
						Sequence="140"
						GroupId="Ribbon.Tabs.PDP.Home.Print"
						Size="LargeLarge"/>
				</CommandUIDefinition>
			</CommandUIDefinitions>
			<CommandUIHandlers>
				<CommandUIHandler Command="EnableCustomGroup"
								  CommandAction="javascript:return true;" />
				<CommandUIHandler Command="PrintPDP"
								  CommandAction="javascript:window.print();"
								  EnabledScript="javascript:
								  function disablePrintForSchedule() {
									var sPath = window.location.pathname;
									var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
									if (sPage.toLowerCase() == 'schedule.aspx')
									{
										return false;
									}
									else
									{
										return true;
									}
								   }
									disablePrintForSchedule();"
/>
			</CommandUIHandlers>
		</CommandUIExtension>
	</CustomAction>
</Elements>

The process of building the feature is exactly the same as outlined in https://epmsource.com/2011/12/13/hiding-disabling-ribbon-items-in-project-server-part-ii/ but substitute the above code into the Element.xml file and change the feature name accordingly.

Once the feature is deployed and activated a Print button should available on the PDP ribbon that when clicked will invoke the Internet Explorer print dialog.

PDP Print Button

From my preliminary testing, the output is pretty good, as can be seen from this ‘Print to XPS’ below:

XPS Printer Output

I have uploaded the full source to Skydrive which can be downloaded from the link below.

Project PDP Print Page

Happy PDP printing Smile

Advertisements

Backwards Compatibility Mode–Project Server 2007 Fresh Databases available from Microsoft Download Center

Back in March I wrote about how you could enable backwards compatibility mode on a fresh Project Server 2010 install. I noticed this morning that Microsoft have released a set of clean Project Server 2007 databases for the specific purpose of creating a fresh Project Server 2010 instance in backwards compatibility mode. From the download page…

Backwards Compatibility Mode (BCM) is a feature in Project Server 2010 that assists in the upgrade of your Enterprise Project Management environment. While BCM is turned on, Project Server 2010 accepts connections Microsoft Office Project Professional 2007 with Service Pack 2 (SP2) as well as Microsoft Project Professional 2010. To use BCM with a new instance of Project Web App requires deploying PWA with a set of empty Project Server 2007 databases. This set of empty Project Server 2007 databases includes the four Project Server databases – Draft, Published, Archive, and Reporting. These are supported for production use.

In my original post I showed the steps required to create the four empty databases from an existing Project Server 2007 instance, now with this download, you simply need to extract and restore the databases onto your SQL Server, update the permissions as outlined here, and continue on as per step 3 to provision the BCM instance of PWA.

How to ‘Select All’ in the Resource Center

Today I was doing some work in my Project Server 2010 demo image around resources and their associated availability. One thing that kept on getting me was I couldn’t find an obvious way of selecting all of my Enterprise Resources other than clicking on each of the checkboxes individually.

Resource center - All Resources

Well after what felt like ten minutes of clicking around, I found how to do a ‘Select All’ on the Resources. To do so, click on the header for the select column and a menu will be displayed giving you the option to configure the columns as well as ‘Select All’ or ‘Clear All’.

Select All in Resource Center

SharePoint 2010 and Managing Projects – A match made in heaven

This morning, I presented with William Cornwill a session at the Australian SharePoint Conference entitled ‘SharePoint 2010 and Managing Projects – A Match made in heaven’. The idea behind the session was to give people an idea of how SharePoint 2010 can be leveraged to assist in managing your next project using some of the out of box features.

The slide deck is available here for your viewing pleasure :)

As a companion to the presentation, I will be publishing a series of posts in the coming weeks outlining some of the great new features of SharePoint 2010 that could be leveraged in your next project including:

  • Document Sets;
  • Workflow;
  • Managed Metadata;
  • Wiki Improvements;
  • Visio Services and;
  • Graph web part

and possibly a few other features if time allows :) Stay tuned.

Cost Benefit and Risk Evaluation Demo Source Code available

Since the Project 2010 demonstration image was first released in beta form there have been a few questions in the forums and around the office about how the Cost Benefit and Risk Evaluation Project Detail Pages (PDPs) were implemented. Both of these PDP’s give a glimpse of how the PDP infrastructure can be leveraged to collect information about a project using the most appropriate mechanism. In the case of the the Cost Benefit PDP, an custom Excel based web part is used to collect financial information which is stored in the document library of the relevant project site.

Cost and Benefit

The Risk Evaluation form uses an InfoPath form to collect risk information and then creates a relative risk weighting which is stored in a central Forms library as well as a total risk value being calculated and written to a project custom field.

Risk Evaluation

Today Microsoft released the Project 2010 Solution Starters, a number of open source additions for Project Server, including some excellent web parts, bulk import and export tools, a report wizard and most importantly the source for the Risk Evaluation and Cost Benefit features, showing exactly how these work.

Source Code

To get the code, navigate over to the Solution Starter page and choose to download the source.zip file.

Stay tuned for more posts on the Solution Starters in the coming weeks. There are some fantastic additions in there.

Reminder : Next MPUG Melbourne Meeting on 27th April 2010

Just a reminder, it’s not too late to register..Melbourne: Are You Ready for Project 2010?

The Melbourne chapter of MPUG will be holding it’s next bi-monthly session on the 27th April 2010 at the Microsoft offices in Freshwater Place. This month there will be two presentations:

Martin Vaughan, a Director and Senior PMO Consultant with Core Consulting Group will present the first half of this session covering Project, Program and Portfolio resource management. Starting with the basics of the schedule model, this presentation will consider potential and practical tips relating to modelling resource needs on individual projects through to full EPM environments. Implications relating to scheduling standards, cost reporting, time sheeting and overall utilisation will be considered.

Alex Burton, a senior EPM consultant with OBS, will then provide a product tour highlighting Project 2010’s approach to Resource Planning and Management and its influences on project portfolio selection.

Location:             Microsoft Melbourne, Level 5, 4 Freshwater Place, Southbank VIC 3006.

Date:                     Tuesday 27th April 2010.

Time:                    5pm registration for 5:30pm session start. 7pm finish.

Registration:      Click here to register and get more information