Extranet Forms in SharePoint!

Sam Calderon

Wouldn’t it be cool if… you could allow prospective customers, employees, partners, etc. access to an InfoPath form on SharePoint to request an estimate, apply for a job or otherwise communicate with your company using an open InfoPath web form? Further, wouldn’t it be cool if that form would then be dispatched to a users’ device (coming in a following post)? Wouldn’t it be cool if that form (call it an estimate) could then be turned into another form (call this second one a Statement of Work – yet a third post in our series)? You can do it, it’s just this easy:


First, it needs to be secure and have the ability to track submissions. Second, you need to have the ability to track who is submitting the form, without giving everyone their own, private access to your own SharePoint site. Let’s begin.


Managing countless guests simply to have them fill out and submit a form to SharePoint can be a major hassle. I will show you step by step how to solve this complicated problem. Let’s assume that you already built a form, such as a Request for Estimate (or something similar) in InfoPath (2010 or 2013) and that it is a browser enabled form. You also have a SharePoint account (even SharePoint Online through Office365) that allows you to open an InfoPath form in a browser.

Create a Subsite on SharePoint

First of all, you need to create a sub-site that will host the InfoPath web browser form. This can be accomplished by navigating to the Site Contents of the top level site, scroll to the bottom, and click “new subsite”. I named mine “RFQ”.


Prepare Your InfoPath Form

Before continuing, we need to be sure that your InfoPath form has been configured properly. Open the form in InfoPath. Go to File > Advanced form options > Compatibility. In the Form type dropdown, “Web Browser Form (InfoPath 2010)” should be selected.


We must also be sure that the external user (in this case, our Client or Prospect) is required to submit information that identifies who they are. I have included a “My Name” field and a “My Email” field to capture and create an identity that can later be used in SharePoint.


Create a Form Library on the Top Level Site

Your InfoPath form is now ready to be published. Go to File > Publish > Publish form to a SharePoint Library. Follow the steps and create the library on your top level site of SharePoint. Be sure to promote all fields necessary to store and use the data on SharePoint.


Add the InfoPath Web Part to Subsite

In the Page tab go to Library Settings. Scroll down to the Content Type section and click Web Part Page, then Advanced Settings. Under Document Template choose the option for Enter the URL of an existing document template: then enter the location of the form template on the top level site. Example: /sites/(site name)/(form library)/forms/template.xsn


Click OK.


Go back to the Page tab, and click Edit. The editor opens and new tabs are available. Go to the Insert tab, click Web Part, then Forms from the Categories section. Click InfoPath Form Web Part from the Parts section, then click Add. Open the tool pane to edit the web part. Select your InfoPath Form Library from the List or Library dropdown. Click Apply, this will enable additional options. Scroll back up to Submit Behavior and choose “Open a new form”. Customize other options as you see fit. Click Apply and OK to close tool pane. Go back to the Page tab and Save your work.


Create Custom Permission Level

Go to top level site on SharePoint > Site Settings > Site Permissions > Permission Levels. Click Add a Permission Level. Name it “Generic Add Items”. Make the following selections in List Permissions: Add Items, View Items, Open Items, and View Versions. Click Submit.


Create Guest Email

This will be the generic email that the customer can use to login to Office 365 for access to the subsite and form submission. I created a Hotmail email called FormsOnFire@hotmail.com. Make the password simple enough for a customer to use.


Customize Permissions

Go to the Form Library that you created by publishing the form. Click on the Library tab > Library Settings > Permissions for this form library. In the Permissions tab, choose Stop Inheriting Permissions.

Note: This will copy permissions from the top level site but now will be independent. If you make permission changes on the top level site, it will no longer apply to this library.

In the same Permissions tab, choose Grant Permissions. Enter the guest email address that you previously created. The name of the guest email will now appear on the list as a User. Check the box located just left of the name and click Edit User Permissions in the Permissions tab. Clear all selections and choose Generic Add Items and Read. Click OK.


Next, go to the Subsite that you created to host the form. Click the Page tab, then Library Settings > Permissions for this document library. In the Permissions tab, choose Stop Inheriting Permissions. You should see three default groups: Members, Owners, and Visitors preceded by the name of the library. Click on the Visitors group. Click New, then Add Users. Enter the Guest Email that was created earlier, Click Share.


We have now essentially “tricked” SharePoint into allowing access to a library without giving an external user access to the top level site.

Important: Sign out of all Microsoft Online accounts before continuing. I would also recommend using a different browser.

Sign in to the guest account and look for the invitation. Click the link provided, sign in, and you will see the form ready to be filled out.


Conclusion

You are now able to fill out and submit the form as an external user. Simply send a customer the web address of the subsite along with the guest email credentials. They simply click the link, login, fill out and submit the form!


Wanna Try It? Just navigate to the following URL and try out our form: https://onfire.sharepoint.com/sites/pro/request/


Login using this generic username/password: FormsOnFire@hotmail.com/Welcome123


By Sam Calderon | June 5th, 2014 | Office365


Share by: