I spent some time this week creating workflows in SharePoint Designer. I have done SharePoint workflows in Visual Studio before, but this was my first time using Designer. I was surprised at how powerful it is, and yet also confused at several points as to how the UI worked.
One particular thing I wanted to do was collect some information from the user at various points in my workflow. There is an imaginatively named Collect Data from a User workflow action to do just this. It gives me a wizard where I can define the data items I want to collect.
I love how SharePoint automagically generates a form for me at run-time for the user to enter that data. What I didn’t understand though was where the collected data was stored. The built-in help was hopeless, so it took me a while to figure out that it is saved into a list item. [That’ll teach me to actually read what the wizard forms say, as it was right there on the first page of the wizard all along!]
The next thing to figure out is how to access the data collected from the user. To do that you use this Workflow Lookup dialog.
Being of small brain, the layout and labeling of this form confused me event more. That is, until I figured out I can think of this as how I would write a SQL SELECT statement. In this example for instance you can read the dialog as SELECT Authorisation FROM Tasks WHERE Tasks.ID = PurchaseOrderAuthorisationTaskID. Once I learned I could ‘read’ the dialog box in this way I was up and running. I really think we could do better with the UI here. I know I am from a dev background, and I don’t want this dialog replaced with a text editor where I can write SQL-like queries, but I do think that if I struggle with the usage then the ‘business users’ SharePoint Designer is supposedly aimed at will struggle more than me.