Paul Galvin's (old) SharePoint space [SharePoint

Just another WordPress.com site

InfoPath Form Sevices, Forms Based Authentication (FBA) and Unique File Names

I’ve been working on some InfoPath forms this week in MOSS in an FBA environment and learned, when I went to deploy the forms to a production environment with an FBA zone that the username() function function does not work.  I was using it to generate unique file names.

Well, that function doesn’t work in an FBA environment (at least, not out of the box).  And, upon reflection, using username in the way I had planned wouldn’t have guaranteed a unique file name in any event.

My solution was to use the now() function and a rule that fires on loading of the form.  I assign the file name to data element when it’s blank:

The advantage of this approach is that the file name is set only once.  (I don’t show it in the screen shot, but put a condition on the rule to only fire when “myFilename” is blank).  I used to set the file name at the data source level.  Typically, I would do something (bad) like this:

The problem with that is that if user A opens the form on Monday and the user B changes it on Tuesday, you’ll end up with two different forms since two different users saved it with different user names.

So, as annoying as FBA can be in general and with InfoPath in particular, it made me re-think a small but really important technical detail and approach that I wouldn’t have done otherwise!

</end>

Subscribe to my blog.

Follow me on Twitter at http://www.twitter.com/pagalvin

Technorati Tags:

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: