Dynamically set project permissions from workflow RRS feed

  • Question

  • Hello!

    I'm currently developing a custom demand management workflow for Project Server 2010 and it is mandatory to have some way to dynamically set project permissions from the workflow. Initially I wrote a custom activity which can create/update/delete project security categories, it is basically an improved version of the activity I found in the SDK. It is working nice and have the exact effect I wanted to accomplish...but it is only working if I have a few users (2-3) in the system otherwise every time my custom activity runs the server starts to process a huge amount of some "User Synchronization..." processes, it creates a lot of this item in the queue and this makes the whole system unusable (this happens on a server with 12 cores and 32GB of memory, nothing else running beside SharePoint 2010, PS2010 and SQLSrv2008R2). I could not find any information about this "issue", I'm not sure even it's an issue or this is the expected behavior. Anyway I'm interested if there's any solution to have the capability of dynamic project permissions from the workflow without this performace problem or there is no way to accomplish this?

    Thanks for any info on this one...


    Monday, January 17, 2011 5:57 PM

All replies

  • David,

    what sort of Project permission you are trying to set dynamically? Please give some more details, because it seems like you either trying to do something which syntactically is possible but logically not, which is why project server end up with unexpected behavior.

    | Khurram Jamshed | Follow my blog about Enterprise Project Management Solution | |
    Tuesday, January 18, 2011 10:12 AM
  • My activity does the following steps using PSI:


    1. Load or create ProjectCategoriesRow for the current project.
    2. Load or create proper GroupRelationsRow/UserRelationRow for the ProjectCategoriesRow.
    3. Add/remove or ignore GroupPermissionRow/UserPermissionRow for the following security category permissions:
    • PSSecurityCategoryPermission.ViewProjectWorkspace
    • PSSecurityCategoryPermission.ViewProjectDetailsInProjectCenter
    • PSSecurityCategoryPermission.ViewProjectSummaryInProjectCenter
    • PSSecurityCategoryPermission.PublishProject
    • PSSecurityCategoryPermission.SaveProject
    • PSSecurityCategoryPermission.EditProjectProperties
    • PSSecurityCategoryPermission.OpenProject

    If there's anything wrong with this method please let me know.

    Thanks for your help!


    Tuesday, January 18, 2011 11:19 AM