Managing Approval Groups with InfoPath in an FBA Environment

I have an expense approval process that I need to implement using InfoPath in a forms based authentication (FBA) environment using forms services (web based InfoPath).

There are two approval groups and the process works like this:

  • User fills out an expense report and submits it for approval.
  • That triggers an email to first level approver group.
  • First level approver reviews and approves or denies the report.
  • If first level person approves it, system notifies second level approver.

On the InfoPath side of things, I have different sections that hide/appear based on whether the user is a member of one of those approval groups.

In an FBA environment the username() function always returns blank, sadly.  What I’ve done is set up a a custom list called “Approval Groups”.

I don’t add any additional columns to the list.

When the form opens up, it has a rule like this:

image

The “set a field’s value” is here:

image

This is basically saying: Query the approval group custom list and filter that query by looking for any row where Title’s value = “NORDIC”.

If that returns any value, then the current user is a member of that group.  I know it contains that value because the string length is greater than zero.

Close the loop by securing the individual items in the Approval Group list.  At run-time, if the current user doesn’t have appropriate security access to that item then the query won’t return it, string-length will be zero and now you know the current user is not part of that group.  You can use that fact as needed in the form.

This is a super brief write-up.  I’m pressed for time or I’d provide more detail.

I don’t know how relevant it is that I’m in an FBA environment.  This would probably work well in a non-FBA environment but I can imagine cases where this would be useful.

</end>

Subscribe to my blog.

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

Technorati Tags: ,

One thought on “Managing Approval Groups with InfoPath in an FBA Environment

  1. Juan Morató Moscardó

    Hi Paul,
    I have a similar problem and I will be very glad if you can explain how you created the "Approval Control" data connection in an FBA environment, because as far as I know InfoPath does not support creation of data connections to lists in sites using FBA authentication.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *