Sorry, should have read through that more closely - I didn't intend to suggest a code solution. I thought in IP 2007 / ShP 2007 we could create a data connection to the UserProfile service and just use that for user info - not sure why that blog suggests using code to get the values.
Looks like someone covers that in the comments on that post tho-
Let's take it one step further and make it a no-code solution! How? Throw out steps 3 and 4. Instead:
3) Create a new data connection to retrieve information from the specified web service (http://<yourServerName>/_vti_bin/UserProfileService.asmx?WSDL), and select the "GetUserProfileByName" web method.
4) Use an XPath query on your secondary data source to populate the fields you want. For instance, use a formula to set the default value for an "email address" field. You'll be selecting the "dataFields/.../Value" field. The trick is to ensure you select the correct PropertyData node, as it is a repeating field - you'll have to edit the XPath to do so. Assuming your secondary data source is called "GetUserProfileByName", the XPath query required to get the current user's email address looks as follows:
xdXDocument:GetDOM("GetUserProfileByName")/dfs:myFields/dfs:dataFields/s0:GetUserProfileByNameResponse/s0:GetUserProfileByNameResult/s0:PropertyData[s0:Name = "WorkEmail"]/s0:Values/s0:ValueData/s0:Value
Works beautifully, and without needing to bust out any code!