View Khurram Jamshed's profile on linkedin

Sunday, July 24, 2011

Using Content Type to Hide Default Issue/Risk columns from Input Form

In my previous blog, Create/Manage Issue/Risk list centrally, i talked about How to create and manage Issue list centrally and how it helps the administrator to save lot of unwanted work. In this post i will explain another one of the great advantage you could achieve if you use content type to manage the lists. One of the frequently recieved clients request is: How to hide/remove default Issue/Risks columns from the Project site? Now you might wondering that what is so difficult about this :) but this is a tricky part, because removing/changing the default Issue/Risk list columns can cause you lot of trouble. But the good news is that you can do this without any issues if you are using content type, below are the steps for you:

1. Create Issue list content type, please follow my previous blog to create the content type.
2. Once created, go back to the list settings, and click on content type:

3. Here you will see all the default and custom columns we have added in the content type earlier, click on the one you want to hide from the form, in my case i will click on the "category" column:

4. And there you can set it to Hidden from the column settings:

And if you can now go and add new item to the Issue list, you will notice that category column appears no more on the form to bother the users. 

This is to update that there is an exception to the above process, i.e. hiding any of the default fields of Issues/Risks list available on project site. That even hiding of some fields can result in queue error, to be precise its the Links column available on these sites. Hiding this column cause queue error similar to the deletion of columns, so you need to leave this column as is in order to avoid queue errors.

Thanks to Dan Stopher, of EPM Partners, for finding this culprit :) Please see his blog for more details about the exception.

Monday, July 18, 2011

Create/Manage Issue/Risk List Centrally using Content Type - Part 1

This is sort of a refresher blog, posted originally sometime back by fellow consultant and Project MVP Andrew Lavinsky and which you can find it here. In this blog i will define the Content type and its uses in two parts, that is how to manage the Project site metadata centrally. And how to hide the default not required columns from the Issue/Risk forms without breaking the sync, since you might already aware that the out of the box fields of Risk/Issue list cannot be removed/changed else you will end up with a mess.

So in this first part, i will define how to create/manage centrally Issue and Risk list metadata using Content types. And this procedure is applicable to both versions, i.e. Project Server 2007 and Project Server 2010.

You can define Content types to organize, manage, and handle content in a consistent way across a site collection within a Sharepoint farm. So basically you can create a content type for Issue or Risk list, and can control the list metadata from a central interface, any changes i will do can be trickle down to the existing or the newly created Project Sites. Changes in the Issue/Risk list could be quite often and this can save the life of poor system administrator as the administrator don't have to do the changes in every project site, he can manage the changes from the central location. 

Next i will create list content type for Project Site Issues list, and will walk you through the steps to define and manage the content type. Please be aware that in a similar fashion, content type can be created for Risk, project documents etc. etc. 

1. Create content type on the top level site in site collection, i.e. PWA. Go to Site Settings, Under the section galleries click Site Content Type:

2. Select create button:

3. Name the content type as Project Issue, select the type as List content type and i prefer to categorize the content types in their relevant group to make it easier to find later:

4. This will redirect you to the configuration page, from here you can create all the required data:

5. I will create Issue Number field for demonstration purposes only:

The content type for Issue list is created, ideally i should incorporate this content type to the Project site template but for the demonstration purposes i will just add this to one of my existing project site.

6. Open the Project Site, click on Issues lists and select list settings:

7. From there, select Advanced Settings:

8. Set the list to allow the Management of Content Type:

 9. After the changes are applied, you will be back to the settings page where you can see that Project Issue content type is already deployed:

10. From here, add new content type:

11. Once done, you can now set the newly added content type as the default one to be used. You can also keep more than one Issue tracking list based on different methodology from here:

12. You can now add all the list columns to this new content type. Go to the list settings, and click on the new Project Issue content type:

13. Select from the available columns box and add them all:

That's it, we are all done and set to use our centrally created content type Project Issue list. To verify this, create new Issue by clicking on Add new item:

And you must see on the form the column i have created, it automatically picks up any column you create in future and saves you the hassle of adding new column while browsing to the every project site. 

In my next post i will show the steps to achieve one of the most received request from the clients, that is to hide some of the default columns from the form. You might already aware that we cannot simply delete/modify the default Issue/Risk columns in order to remove them from the form, as it will break the synchronization. But the good news is that you can hide those not required default columns from the form without deleting them, yes you heard it rite without delete :). And that you can only do if you use the content type. 

Any comments/appreciation is widely welcome as usual.

Thursday, July 14, 2011

Project Server 2010 - Resource Picker on PDP

Recently I came across a customer request that: How to select a resource from Project server  group by the Project Manager, or have resource picker web-part,  in the Project Detail Page (PDP)? I stumble upon this query and thought I should write a detail blog because the answer is that there is no OOB way of achieving this. - surprised!

Now you might can see this as one of the very common request, where the user has to mention the Project stakeholder or Project sponsor details on project detail page for reporting purposes. Your first guess might be to use the project owner web part for such purpose, but soon you will realize that its one of the default system behaviour and you cannot utilize owner field for anything else but to define the owner of the project. Moreover the irony is that there is no resource picker webpart available for such requirement as well. So how to collect Project Sponsor information? One way, or the easiest way, could be to create a enterprise custom project text field for the PDP and capture the information in plain text format. But this doesn't sound very attractive, isn't it? 

So in this blog I will show you the usage of Project Server solution starter called Autocomplete web part,  that kind of meet this requirement. 

1. Download the latest version of Solution starter from here.
2. UnZip the PDPCustomizaton folder
3. Go to the Deployment folder and edit the deploy.bat file and set the URL with your PWA URL.
Although the Readme document file comprises of steps to deploy the webpart is already there, but for the sake of putting everything in one place i am mentioning the deployment steps also.

4. Run command prompt as an administrator and execute Deploy.bat.

5. Once successfully deployed and activated you can then go to the server settings, create enterprise project custom field single line text called "Project Sponosor'", and click project detail pages section of PWA.

6. Click on the name of new project Project detail page to edit

7. Click Add web part, and select PDP Customization -> Autocomplete web part and click Add button.

8. Edit web part setting by clicking Edit Web Part. Select the enterprise project custom field of PDP you want to appear as resource picker and select the group from where you want to select the resource for that custom field.

9. When done apply the changes to the project detail page and stop editing. Now open the page and you will see the Project Sponsor field with the picker icon next to it. Click on the icon will allow you to select from the group's resources as Project Sponsor.

At run time the web-part changes the behavior of project custom field to appear just like a resource picker would, and allowing the user to select the resource from the group that will then save in the project custom text field.

This is one easy way of achieving the desired requirement, however the option of developing a custom web-part to achieve this is always available. Hope to see some comments if this helps you by any means.