Friday, February 22, 2013

Project Server - People picker

When user customizes Project Detail Pages in Project Server, he can add many Custom Fields to one page. He can choose from six types of Custom Fields: Cost, Date, Duration, Flag, Number, Text. That is good, but it isn't enough. Where is "People picker" field type?


If you open Project Detail Page called Project Information, you can see default field for Owner. It is a people picker field:




Well, if this field type exists on default Project Server Pages, how come it can not be added to customized page?

I actually don't know the answer to that question, but it is a fact that you can not add this field type to your page.

But, there is another solution. People picker for Project Server exists in another form. In some of my previous posts, I mentioned Solution Starters package from Microsoft (when I talked about Dynamic Workflow).

In this package, you can find solution for people picker field, it is called PDPCustomization.

If you want to use people picker field in your forms, first you need to download Solution Starters package from this link:
http://archive.msdn.microsoft.com/P2010SolutionStarter

EDIT (8.6.2014.)
Microsoft has retired link for downloading this solution, so for downloading Solution Starters go to these links depending on the version of Project Server you are using:
Project Server 2010:
https://drive.google.com/file/d/0Bz62Vp3ZwGCrRDBCdjNrYUNYWmM/edit?usp=sharing
Project Server 2013:
http://www.fluentpro.com/solutionstarters2013.html 

Look for PDPCustomization.zip file in that package, extract it and deploy solution to your Project Server.

After the solution is deployed, to add a people picker to the page, web part of deployed solution must be added to the page. Web Part is called AutoComplete Web Part and it is located in PDP Customization folder:







Position this new AutoComplete Web Part under the existing Web Part on the page.
Click on Edit Web Part on the Web Part menu. Menu with properties of that Web Part will open. In that menu, you can choose the group from which users will be fetched and field name in which the name of this user will be saved (this field is Custom Field of type "Text").



After the changes have been saved, your custom field will now read users from Administrators group.




29 comments:

  1. Hi Mario,

    I am looking for this solution but I see that the PDP customization link has been retired. Will you be able to share the zip file?

    ReplyDelete
    Replies
    1. Hello VG,

      I can't believe that they did that. You can try this link:
      https://drive.google.com/file/d/0Bz62Vp3ZwGCrRDBCdjNrYUNYWmM/edit?usp=sharing

      Delete
    2. Thanks Mario, I am able to download and deploy the package. However i don't see any custom fields to selects and it shows as "There are no single line text custom fields on the page". I do have single line text fields but this is not recognizing.

      Delete
    3. Did you try to position this "Autocomplete PDP" web part under the web part in which you want to see user names.
      1. Add web part that contains text custom fields.
      2. Add "Autocomplete PDP" web part and drag it below the web part from step 1.
      Then, you should be able to select fields

      Delete
    4. Thanks Mario, I tried this and it is still not working.

      Delete
    5. I am actually using Project server 2013. Do you think if there is anything different I have to do

      Delete
    6. Yes, this solution is for 2010 version. My bad, I should have mentioned that. If you are using 2013, you need to download different newer solution and try with that:
      http://www.fluentpro.com/solutionstarters2013.html

      I will edit the post also. Let me know if it works.

      Delete
    7. OK but I don't see a similar project in that download. Can you help me which one I need to select for people picker.

      Delete
    8. You are right, it isn't there. The only thing to do now is to build new project in visual studio and copy code from 2010 version and try to make it work. Sorry, I didn't know that this project is missing.

      Delete
  2. Did this solution works with Project Online versión?

    ReplyDelete
    Replies
    1. I am not sure, but I think that you can not deploy it since it is a "Farm solution". You can create new project in Visual Studio (sandbox project) and copy this code to this new project and then try to deploy to your Project Online.

      Delete
  3. Thank you for this very helpful blog entry!!!! I was struggling with how to pick project sponsor and business owner!!! Why did MS remove the solution starter for PS? These are some very useful tools and examples! Thanks again!

    ReplyDelete
  4. Hello Mario, One additional question: My AD administrator did not like the AD group that I selected for people picker and set me up another. So I created an additional Group in Project Server for the AD sync. However, when I go back to the PDP and try to edit the people picker web part the new group is not showing in the drop down list! I have tried deleting the People Picker web part and reinserting and also adding a new Project Fields web part and a new people picker web part yet I still do not see the new Group in the drop down list. There must be some simple step that I am missing?

    ReplyDelete
    Replies
    1. Sorry JLewis1960, I really don't know how to help you with this. In code, this is the line in which you get all groups:
      groups1 = (new SecurityGroupsService()).GetSecurityGroups()

      Now, it looks like somehow your new group isn't visible by this service. My guess would be that you need to restart some Project Server timer jobs (I don't know which one). Try aking on Microsoft msdn forum, I am sure they will help you

      Delete
    2. Hi Mario,

      The answer as it was provided to me was that the SharePoint farm on which my instance was hosted had somehow become corrupted. The fix: move my PWA instance to another SP farm and everything worked as it should! Thanks for your help.

      Delete
  5. Hello Mario, I tried pasting on Visual studio 2013 to deploy to project server 2013. But it wasn't successful. Can you provide any inputs please?

    ReplyDelete
    Replies
    1. Hello mani. I haven't tried this solution on PS2013 yet, so I don't think that I can help you. What error exactly are you getting? Try asking on Microsoft forum for help, maybe someone tried this solution on PS2013.

      Delete
  6. Hi Mario ,
    I have tried to dolwnload the solution from https://drive.google.com/file/d/0Bz62Vp3ZwGCrRDBCdjNrYUNYWmM/edit?usp=sharing
    but i am unable to download the same.
    Can you please provide the solution

    ReplyDelete
    Replies
    1. Try this:
      https://www.dropbox.com/s/8uhjpyitxbq6zho/Source%282%29.zip?dl=0

      Delete
  7. Where in Fluent Pro Solution Starters for 2013 is the PDP Customization solution?

    ReplyDelete
    Replies
    1. I haven't worked with the 2013 version, so I can't help you. Try contacting Fluent Pro team who has migrated solution for Project 2013.

      Delete
  8. Hello Friends.

    I have a doubt, i already uploaded the PDPCustomization Solution, when i add the AutoComplete Web Part to the PDP it shows up good but when i edit the web part on the SELECT CUSTOM FIELD it only shows up 2 custom fields, i already created new ones and already deployed the solution various times but it doesn't seem to work ( show the custom field i created).

    Is there anything i should do to fix this? i don't see what i am doing wrong.

    ReplyDelete
  9. Hi Francisco,
    it's been a long time since I worked with this People Picker solution, so I am not sure that I can help you. I just have two questions for you:
    1. Have you added all your custom fields to the web part? If you have, try splitting them in two web parts or more.
    2. Have you put Autocomplete web part UNDER the web part in which are custom fields?

    ReplyDelete
  10. Hi Mario! thank you very much, i wasn't putting the Autocomplete web part under the one that has the Custom fields.

    I just have another question... there is a basic group in which i have all the PWA Users, approximately 2000 users, the autocomplete webpart is working and the text custom field i created is showing some users but , it is showing only a fraction of them, does this web part has a limit of users that can be showed on the custom field?, also, is there a similar web part for PWA 2013?.

    Thank you very much!

    ReplyDelete
    Replies
    1. I wouldn't know about the limit of users since I never had groups with so many users. It is possible that there is such limitation, you can check that in the source code.
      I haven't tried similar web part for PWA2013, if it exists, it could be found here:
      http://www.fluentpro.com/solutionstarters2013.html

      Delete
  11. Does anyone know if this works with Project Server 2010?

    ReplyDelete