locked
Collect Data From User - Multiple Users? RRS feed

  • Question

  • I am building a workflow in SPD for IP2007.

    To help my workflow be somewhat dynamic and reduce some of the logic steps, I have tried to use varibles to store approvers for various approval steps.

    The approvers are stored in a Sharepoint list with a department identification code.

    When the workflow kicks off, the department code submitted on the form is used to lookup the approvers from the sharepoint list.

    These approvers are stored in a varible.

    When my collect data from user kicks off, I use the user varible as my "user".

    This works fine until I add multiple users to the sharepoint list.

    While the varible is correct in that it will show and store the multiple approvers in the format: xx\appover1; xxx\approver2; xxx\approver3, etc...

    When the Collect Data from User kicks off, the users are not stored (unless there is only one on the sharepoint list).

    Now I know I can use sharepoint groups, but this would require me to build hundreds of groups when I could have just six sharepoint lists.

    Anyone know how to make it work like this or is it impossible?

     

    Taking the second approach of "groups"...

    Can I use an Active Directory group instead of a Sharepoint Group?

    • Edited by Cory Booth Friday, February 25, 2011 4:37 PM spelling
    Friday, February 25, 2011 4:35 PM

Answers

  • Hey Corey,

    You will have to design it differently.  Essentially, use SPD WF to createlist item action to create a task, and then use Send an E-mail action to send an alert about the task to all the users.  In the send an e-mail action use the Build Dynamic String action to create a WF variable that holds the e-mail address.  Finally, in the Send an E-mail actions To address lookup the workflow e-mail address variable.

    I hope that helps!

    Tom


    Tom Molskow - SharePoint Architect - Microsoft Community Contributor 2011 Award - Linked-In - SharePoint Gypsy
    • Marked as answer by Peng Lei Tuesday, March 8, 2011 7:26 AM
    Friday, February 25, 2011 9:58 PM
  • 5. Send an email with a link to the Task List to my multiple approver email accounts...

    1. How can I change the "Link" column in the Task List to match up with the associated item?  I do not seem that column as a selectable choice when trying to update or set a list item field.

    2.  If I ignore the link item issue, will this cause an y complications later on?

    Hey Corey,

    I'm having a problem understanding your question, is the "Link" field a hyperlink field?  If so you should be able to find it as a lookup.

    Thanks!

    Tom


    Tom Molskow - SharePoint Architect - Microsoft Community Contributor 2011 Award - Linked-In - SharePoint Gypsy
    • Marked as answer by Peng Lei Tuesday, March 8, 2011 7:26 AM
    Thursday, March 3, 2011 2:15 PM

All replies

  • Hey Corey,

    You will have to design it differently.  Essentially, use SPD WF to createlist item action to create a task, and then use Send an E-mail action to send an alert about the task to all the users.  In the send an e-mail action use the Build Dynamic String action to create a WF variable that holds the e-mail address.  Finally, in the Send an E-mail actions To address lookup the workflow e-mail address variable.

    I hope that helps!

    Tom


    Tom Molskow - SharePoint Architect - Microsoft Community Contributor 2011 Award - Linked-In - SharePoint Gypsy
    • Marked as answer by Peng Lei Tuesday, March 8, 2011 7:26 AM
    Friday, February 25, 2011 9:58 PM
  • Tom...

     

    Thank you for your reply.  I believe this is similar to what I am doing now... 

    I follow the send an email to "Workflow Data" and then use a variable which holds an email address.
    In the above design, this works as expected - execpt when multiple email addresses are stored in that variable.

    Let me be a bit more specific.  I have several departments which all have the same four levels of approval.  To make it easy for the departments to manage their approval authorities (and to ease my development of the workflow) I had the idea to create a Sharepoint List for each approval level.

    Initial
    Budget
    Supply
    Warehouse

    Inside those lists I have two columns, first column has the department and the second has the approvers.

    HR || some1@hr.com; someone2@hr.com
    IT || some1@it.com; some2@it.com

    When a request is submitted, I will grab the department code of the submitter off the request in a variable.

    So as the workflow steps through the steps, I was asking the Dynamic String builder to read the approver (or multi-people picker column) for that step and also filter the lookup by the department variable.  Then do the "Collect Data from User" action and assign the action to the resulting variable.

    While the variable does contain the proper emails, it will not assign anything when more than one email exists.

    So I have since built sharepoint groups for every step

    HR_Intial, HR_Budget, HR_Supply,HR_Warehouse, IT_Initial,IT_Budget, etc....  And remapped the approval routines to the sharepoint groups rather than the looked up email accounts from the people picker column.  (You can see how tedious this has become)....

    So this all centers around the "Collect Data from User" step.  Can you clarify how your routine specified above collects data from the users?  I didn't see that mentioned.

     

    Thanks!

     

    • Edited by Cory Booth Monday, February 28, 2011 1:18 PM spelling
    Monday, February 28, 2011 1:17 PM
  • To clarify my request for more information....

    I see the Create a List Item action - do I create that item in my current workflow task list or build a new one?

    This step: Send an E-mail action to send an alert about the task to all the users.

    What do you mean by "all the users"? 
    All the users of the list or the site? 
    How would that be filtered down to specific approvers?

    I think I can follow the rest - except again, I don't see a collect data from user and even though a dynamic string can store multiple emails....  When you use that same dynamic string to assign a collect data from user, the "Assigned To" column is blank - thus stopping the workflow.

    I am definitely open to ideas and new approaches, so I am interested how your thoughts translate to a solution...

     

    Thanks!

    Monday, February 28, 2011 1:33 PM
  • Ah... Tom, I think I have this figured out.

    1. Create a "Collect Data from User" action in order to assemble the required fields and aspx pages.

    2. Delete the "Collect Data from User" action.

    3. Change the email notification in Advanced options.

    4. Add an action to "Create List Item" in the workflow task list so I can get a new Item ID.

    5. Send an email with a link to the Task List to my multiple approver email accounts.

    6. Update the appropriate areas of the Task List.

    This seems to work - except I have a few questions...

    1.  How can I change the "Link" column in the Task List to match up with the associated item?  I do not seem that column as a selectable choice when trying to update or set a list item field.

    2.  If I ignore the link item issue, will this cause an y complications later on?

    Thanks!

    Monday, February 28, 2011 6:10 PM
  • 5. Send an email with a link to the Task List to my multiple approver email accounts...

    1. How can I change the "Link" column in the Task List to match up with the associated item?  I do not seem that column as a selectable choice when trying to update or set a list item field.

    2.  If I ignore the link item issue, will this cause an y complications later on?

    Hey Corey,

    I'm having a problem understanding your question, is the "Link" field a hyperlink field?  If so you should be able to find it as a lookup.

    Thanks!

    Tom


    Tom Molskow - SharePoint Architect - Microsoft Community Contributor 2011 Award - Linked-In - SharePoint Gypsy
    • Marked as answer by Peng Lei Tuesday, March 8, 2011 7:26 AM
    Thursday, March 3, 2011 2:15 PM