I knew that by using WSS 3.0 to host the SharePoint Community Champions team site, I would run into scenarios that would challenge some of the design assumptions that went into the development of the out-of-the-box webparts in SharePoint. In particular, I have not been able to configure the Survey webpart or any of the List type webparts (e.g. Contacts) to support the scenario where I want the anonymous site visitor to fill out something and submit it without being able to see anyone else’s submissions. This scenario is essential for any Internet facing community site that wants to encourage visitors to register for membership. I was hoping that I could utilize either the Survey webpart or the Contacts webpart as my site’s registration module, but I’ve had to resort to instructing visitors to simply send me an e-mail as their membership request. Hence, I would love to see a custom Registration webpart developed by someone in the community. J
Why would I reveal these findings when I’m trying to convince customers to deploy WSS 3.0 and MOSS 2007 for their Internet facing community sites? Because I’d rather that they hear it directly from me than someone else. I will be open and candid about SharePoint’s out-of-the-box limitations as much as I will be promoting SharePoint’s advantages. I believe that this is the only way to earn the trust and respect of the community and of the growing number of customers, who have followed my advice on seriously evaluating SharePoint as an integrated solution platform for online communities.
[Updated 10/14: After doing more tweaking of webpart config settings and getting some guidance from a couple of SharePoint Program Managers, I was able to get Survey webpart to support my scenario! No need for a solution like Nick’s FBA Registration webpart. Here’s how to get the Survey webpart working to support the submission of site membership requests by anonymous users.
1. Create an instance of the Survey webpart. You can leave the default settings, but I chose to not display the (link to the) Membership Request survey on the Quick Launch bar because I didn’t want curious visitors to click on it.Then click the [Next] button, configure the desired questions, and click the [Finish] button to complete the creation of the survey.
2. On the survey’s Settings page, click on the “Permissions for this survey” link. On the Permissions page, click on Actions | Edit Permissions. When prompted to confirm that “you are about to create unique permissions for this list”, click on the [OK] button. (By default, instances of webparts inherit permissions from the site.) Once the page refreshes, click on Settings | Anonymous Access.Ensure that only the “Add Items” and “View Items” options are selected. Then click on the [OK] button.
3. Click on the “Settings” link in the breadcrumb navbar to get back to the survey’s Settings page. Then click on the “Advanced settings” link.Ensure that the “Only their own” option under “Read access” and the “Only their own” option under “Write access” are selected. Also select the “No” option under “Allow items from this survey to appear in search results”. Then click on the [OK] button.
At this point, you’re done! This survey webpart will allow an anonymous user to complete and submit a questionnaire but not be able to see the response or anyone else’s response, which is exactly what I want. However, the solution is not perfect. For instance, the Overview page, which contains the number of responses submitted, is viewable by the anonymous user, and I don’t think the page should be.
When the anonymous user clicks on “Respond to this Survey” menu command, the NewForm page will be displayed with the following URL as the address: http://sharepointchamps.officeisp.net/Lists/Membership%20Request/NewForm.aspx?Source=http%3A%2F%2Fsharepointchamps%2Eofficeisp%2Enet%2FLists%2FMembership%2520Request%2Foverview%2Easpx. What’s interesting about this URL is two-fold:
· The first part of the URL (http://sharepointchamps.officeisp.net/Lists/Membership%20Request/NewForm.aspx) can be given to an anonymous user, so the NewForm page can be opened from a different page or webpart than the Overview page. I chose to include the link in the Announcement item on my site.
· The second part of the URL (Source=http%3A%2F%2Fsharepointchamps%2Eofficeisp%2Enet%2FLists%2FMembership%2520Request%2Foverview%2Easpx) specifies the return page that will be displayed after the survey has been submitted. I chose to create a custom “Thank You” page to display to the user upon submitting the survey. So, my final URL looks like this: http://sharepointchamps.officeisp.net/Lists/Membership%20Request/NewForm.aspx?Source=http%3A%2F%2Fsharepointchamps%2Eofficeisp%2Enet%2FSite%20Files/Membership%20Request%20-%20Thank%20You.aspx.
What’s also interesting (and most likely a bug) is that I had to do Step #2 ahead of Step #3 in the procedure above because when I go back to the webpart’s Settings | Anonymous Access page, I can no longer see or change any of the options. If I go back to "Advanced settings" in Step #3 and selected the “All responses” option under “Read access”, the Anonymous Access Settings page would then show the previously selected options and let me change them. Weird.
Lastly, for an instance of the Contacts webpart or the Custom List webpart, which would be a viable alternative to the Survey webpart for a Membership Request questionnaire, the trick of setting the Source= parameter in the URL to display a different return page than the default AllItems page is essential because the AllItems page will not allow anonymous access when the webpart is configured with the same options described in the procedure above.