Hello,
I have been demonstrating the power of SharePoint 2007 and the ability to create user friendly forms using InfoPath 2007 for a client here in NYC. Most of the areas within the institution have been extremely excited with my presentation. However, I encountered one area that asked "Can users submit these forms anonymously?” At that point, I tried to go through the steps of activating anonymous access in central administration and in IIS which worked. Upon clicking the submit button I received a "Critical Error has occurred while processing this form" error. Similar to that of the user in the post linked below:
http://www.eggheadcafe.com/software/aspnet/27756887/enabling-anonymous-users.aspx
I later spent hours reviewing the logic of the setanon.aspx and failed attempts to remove the lines of code that trigger the "gray-out" of the add, edit and delete boxes it became apparent that SharePoint is dynamically determining whether or not to allow this particular functionality. I used the steps below to get this functionality implemented.
Steps to allow anonymous access for users to submit InfoPath web-enabled forms:
1) Login to Central Administration on your SharePoint 2007 installation
2) Select Application Management
3) Select authentication providers
4) Select the zone that you would like to activate anonymous access
5) Select the checkbox under the anonymous access to enable it and click "Save"
For detailed information on the above steps you may view the link below which goes to Bil Simser's blog:
http://weblogs.asp.net/bsimser/archive/2006/09/25/Enabling-anonymous-access-in-SharePoint-2007.aspx
Steps to allow anonymous access for users to submit InfoPath web-enabled forms: (Continued)…..
*Assuming that you have already created your test form and a corresponding Form library in SharePoint 2007 the steps below will allow you to complete this process.
6) Browse to the document library which is hosting or will host your InfoPath form submissions
7) Click the settings, action menu
Click "Form Library Settings"
9) Under the "Permissions and Management" section, select "Permissions for this form library"
10) Click the Settings, action menu once again…
11) Select the "Anonymous Access" link – This will only be visible if you have performed the steps listed in part1.
12) By default in a form library the "Add Items, Edit Items & Delete Items" options will be "grayed out" and the "View Items" option will be preselected.
Now onto the interesting part……
13) Take a look at the URL of this page you will notice that after the setanon.aspx page there is a query "obj=%listidhere….." followed by "DOCLIB" ![]()
14) If you change this last part of the URL from "DOCLIB" to "LIST", you will notice that you now have all of the option that you've been missing.
Note: By changing the URL query in your browser using the steps in step 14 you are not damaging your library in any way. You are just telling SharePoint to present you with the anonymous access settings available for a list. You can change the setting back to the default by deselecting the "Add, Edit & Delete" options using step 14 as a guide.
I understand that the MS Product team intended to help secure the product by restricting anonymous users from having edit access to libraries but one good use case for Forms Services / Form Server would be the ability of an organization to collect data from outside sources and manipulate the inputs via workflow or preset triggers.
Some people may take this a step further and say that users may be able to view form submissions which have not been created by them because all anonymous users are authenticated using the same account as far as SharePoint is concerned. One solution that I used for this was to use enable “Audience targeting”. I created a SharePoint site group for the individuals who will be reviewing the forms and targeting my submissions using a hidden field in my InfoPath form that would basically hide the form data from a anonymous user.
I am interested in hearing any feedback from the community on this post. I have searched online and have not been able to find any solution based documentation on this topic. So i figured it may be helpful to post what was very helpful for me and allowed me to have a happy client. ![]()
Hope this helps someone out there!