locked
Sample Proposal Approvers RRS feed

  • Question

  • Hi All,

    I'm having a bit of trouble working out the link between the sample code provided and how it relates to the "Portfolio Managers" as the approval group.  I can see there is a "ReadProjectSecurityGroupMembers" activity and the group it appears to request is the "TeamLeadsGroupUid".  Can someone please explain how the two are linked?

    My organisation would like me to change the approval group based on the department of the person creating the proposal.  I can identify the person and look up their department in AD but not quite sure how to proceed.  The plan was to create corresponding groups in PS but I don't know how to assign these groups to a Uid?

    Any assistance appreciated.

    Cheers,

    Wednesday, May 26, 2010 6:54 AM

Answers

  • "ReadProjectSecurityGroupMembers" takes in the project server group UID as a parameter(which you'd find in the URL ../AddModifyGroup.aspx?groupUid=..., or you can use an association page where you'd read it from, instead of hard-coding in the workflow). In the sample code, we intended to use Team Leads as the group we read resources from, but then we decided to use Portfolio Managers instead. That's why, in this statement "public static readonly Guid TeamLeadsGroupUid = Library.PSSecurityGroup.PortfolioManagers;", TeamLeadsGroupUid remained as a variable that we used to hold the GUID we are interested in(in our case, we are using the out-of the-box Portfolio Managers group which you can find in the Project.Server.Library.dll).

    In the scenario you've described, there are 2 options:

    1. Simple - Create only one Project Server group and add all approvers to it. Then, ask the project creator to fill in the project department and only have one approval process (based on project department).

    2. More complicated - Create multiple Project Server groups, one for each department. In the workflow, create a custom activity that would read the project owner and its department(as it's not coming from the AD), then, based on the department, you'd send different groupUIDs into the approval process.

    Hope this helps.

    • Proposed as answer by Bia - MSFT Wednesday, May 26, 2010 4:02 PM
    • Marked as answer by craigmay Wednesday, May 26, 2010 11:18 PM
    Wednesday, May 26, 2010 4:02 PM

All replies

  • "ReadProjectSecurityGroupMembers" takes in the project server group UID as a parameter(which you'd find in the URL ../AddModifyGroup.aspx?groupUid=..., or you can use an association page where you'd read it from, instead of hard-coding in the workflow). In the sample code, we intended to use Team Leads as the group we read resources from, but then we decided to use Portfolio Managers instead. That's why, in this statement "public static readonly Guid TeamLeadsGroupUid = Library.PSSecurityGroup.PortfolioManagers;", TeamLeadsGroupUid remained as a variable that we used to hold the GUID we are interested in(in our case, we are using the out-of the-box Portfolio Managers group which you can find in the Project.Server.Library.dll).

    In the scenario you've described, there are 2 options:

    1. Simple - Create only one Project Server group and add all approvers to it. Then, ask the project creator to fill in the project department and only have one approval process (based on project department).

    2. More complicated - Create multiple Project Server groups, one for each department. In the workflow, create a custom activity that would read the project owner and its department(as it's not coming from the AD), then, based on the department, you'd send different groupUIDs into the approval process.

    Hope this helps.

    • Proposed as answer by Bia - MSFT Wednesday, May 26, 2010 4:02 PM
    • Marked as answer by craigmay Wednesday, May 26, 2010 11:18 PM
    Wednesday, May 26, 2010 4:02 PM
  • Bia, IN the first scenario with the out of the box sample does the department method work with the portfolio group or does it simply use all members of the group?

    1. Simple - Create only one Project Server group and add all approvers to it. Then, ask the project creator to fill in the project department and only have one approval process (based on project department).

    Thanks!

    Wednesday, February 9, 2011 2:26 PM
  • Sample Proposal does departmental filtering for approval process. As long as you set the Project Department field, all users in te Portfolio Managers group corresponding to that department will be used in the approval process.
    Posting is provided "AS IS" with no warranties, and confers no rights.
    Project Server TechCenter | Project Developer Center | Project Server Help | Project Product Page
    SharePoint - Design and Customization
    Tuesday, March 22, 2011 6:30 AM