A blog by Pilothouse Consulting
InfoPath
InfoPath and SharePoint 2010: Part 3
Oct 27th
Click here for the first post in this series, and visit us for SharePoint 2010 Training.
One thing you may notice between List and Library forms is that there are different controls available, and that Library forms have a superset of the controls available to List forms. The image below has the extra controls available in a Library form highlighted in blue.
Let’s start from the bottom and work our way up to explain why these are missing.
Containers
Everything missing here has to do with some sort of repeating element. Repeating elements don’t make any sense in a List form, as you can’t have some subset of your list columns have extra data in them. That’s just not how a list works. If you have columns that allow multiple selections, then you can certainly populate them individually with multiple-selection people pickers or check boxes.
But let’s say we want to have a list where we pick multiple people and multiple cars and remember who drives which car based on that information. It’s true that we wouldn’t be able to do this, but we couldn’t do it in a single SharePoint list anyhow. There is no cross-column relationship possible there, so even if we made sure to pick the same number of people as cars, we still wouldn’t know which car belonged to whom.
Note that if you create a list form that allows you to manage multiple list items with the same form, repeating containers are used by that form to handle that replication.
Objects
The only thing extra in this section is the file attachment control. In a library form you can have multiple attachments. You can do the same thing in a list form with the Attachment field, but only one of them is allowed. You can use it to upload multiple attachments, but you can’t have them in more than one section of the List form. In a library, you could have several different attachment controls in various locations.
Input
The first piece missing from the List forms is the option button. This is not to be confused with a radio button and is instead more like a checkbox. While it is possible to re-cast a drop down list box as an option button after the control has been added to the form, it won’t behave like you would expect. Don’t do this. Feel free to experiment, but it won’t behave in any way that you’ll want.
Next we’ll talk about the absent external data column. In a Form Library this allows you to choose from a Business Connectivity Services entity. In a list form, it’s not available. If you go ahead and add an External Data column to the list and reopen the form, the controls available for the columns populated by it will be merely lines of text with no actual link back to the entity. People could put in whatever text they want. I’m sure many of you can think of workarounds for this involving population of options from web services and so on, and those are legitimate solutions, but there is no direct mechanism to mimic that behavior.
Lastly, the bulleted, numbered, and plain lists are missing. Experiment by trying to convert a list box on the List form into one of them, and you’ll find that the behavior is not what you would expect. The basic premise is that that sort of entity does not really exist in a SharePoint List, and with no available analogue the controls have been removed.
Signing
You cannot digitally sign a list form. You can’t do it for a library form either, but you can instead sign sections of it. Putting everything into one section and signing that would be functionally equivalent to signing the entire form.
Conclusion
The general theme, aside from the external data issue, is that you’re missing controls because SharePoint Lists do not store all of the data types available in InfoPath forms. Just as Form Library forms are a subset of what is available in standard InfoPath forms, the List forms are a further subset of that.
Until next time, feel free to contact us for any of your SharePoint 2010 Training needs.
InfoPath and SharePoint 2010: Part 2
Oct 15th
Click here for the first post in this series, and visit us for SharePoint 2010 Training.
The first question you will need to answer before creating your form is whether it will be stored in a list or library. This question is sometimes hard to answer, so we’ll do it by analyzing some extreme cases. Your situation will likely fall somewhere in the middle, so it will be up to you to decide where your case lies on that spectrum.
For our first scenario let’s pretend that we’re working for the IRS. Someone in charge made a deal with Microsoft and our taxes will now be done by saving them in SharePoint lists. For some reason we want to put tax software companies out of business. Our architects already handled the hardware issues that would come from a hundred million people storing their taxes in SharePoint, so we don’t have to worry about that aspect of it at all. All we need to do is decide if we want to use a form library, or just a standard list form.
You may have guessed that we’ll be using a form library, but why? What reasoning drove us to make that decision?
First off, this is an enormously complicated form. Had we chosen a list form, each piece of information would be stored as column data. We’d need thousands of columns to handle every scenario, and many of those requisite columns wouldn’t be used by the majority of people filling it out. We’d be hiding most columns in every single view, and would need to have customized conditional view forms for individual items.
This alone would steer us toward a form library where we get the views for free and only extract the columns that we care about for list views, but what about alternate means of submission? With a form library, we could e-mail enable the list to allow people to fill out their taxes and e-mail them directly to the library. To do the same thing with a list would require custom code on both the form side as well as the “make a new list item” side.
This hints at another reason this scenario dictates that we use a form library: custom code. When you’re filling out your taxes, there are a lot of little things that your tax software is doing for you. It’s checking rate schedules behind the scenes to determine how much you owe. It’s determining if you’re trying to deduct health care expenses that don’t meet the minimum required amounts for deductibility. While some of these examples could be handled with basic validation in a list form, some of the information could be coming from other data sources that aren’t easily reachable from InfoPath.
We could go on for a while with even more analysis pointing to a form library for this extreme case – we didn’t even mention digital signatures, but let’s leave it at that. To boil it down to something more easily remembered and catchy:
Use a library if you’re collecting a lot of data, want alternate submission methods, or need to have custom code running in the background.
Let’s look at another scenario: We want to let people request vacation time through a web form.
What information are we collecting? The employee name, which could just be a lookup to the user information list.We want to know what days they would like to have off, so a start and end date for their vacation. We want to know their department, but we get that from their User Profile information. Maybe we want to know how much vacation time they have accrued? For our example, this is stored in another system and we’ll be looking that up manually when it comes time for approval, as there are currently no software hooks to grab that information via.
So we need three pieces of information: a name and two dates. After we get this information, we might want to have a Gantt view of it to see whose vacations are overlapping. Maybe this only matters by department (so we don’t leave a skeleton crew at an important time), so we pull that column in from the user lookup and have filtered views for each.
Why are we doing an InfoPath form at all? We want the information to be formatted in a nonstandard way, with the two dates next to each other instead of above and below. We also want to ensure that the dates selected are in the future and that the last day is after the first day.
Since the form is fairly basic and we’re using all (or most) of the columns in our list views, we’re doing a custom list form.
Despite what we’ve just outlined, there may be cases where you need to pick the “wrong” sort of form for other reasons, some of which will be outlined in part 3 of this series where we explore the different controls available in the two types of InfoPath SharePoint forms.
In the mean time, feel free to contact us for any of your SharePoint 2010 Training needs.
InfoPath and SharePoint 2010: Part 1
Oct 12th
At Pilothouse, we do a lot of SharePoint Training, but in the course of a week long class there isn’t as much time to cover some of the topics as in-depth as we would like.
This is the first of a series of posts that will discuss many aspects of custom form creation with InfoPath. Here we’re giving a brief introduction to the what and some of the why behind these customizations, and in the next parts we will be digging a bit deeper to learn more about what you can and cannot do with this tool.
As with most things in SharePoint, some seemingly difficult things will become trivial, and some seemingly trivial things will become difficult or impractical. I don’t say impossible because when you know as much as some of us do about the product you can come up with custom-coded solutions to many of those impossible cases, but impractical is a fair term to throw around.
New in SharePoint 2010 is the ability to customize list forms with InfoPath Form Designer 2010. In SharePoint 2007 it was only possible to collect data from these forms with a form library (if you know how to get InfoPath form data into normal lists in SharePoint 2007 without custom code feel free to post your tricks – there are a few ways).
One of many issues with a form library is that it is not an actual list, but a document library. One implication is that you cannot set the item level permissions for the entire list to “view only your own items.” For surveys or other data collection tasks that would prefer individual data to not be shared with others, this was problematic. Yes, you could write a custom event receiver to change permissions on new items that have been added, but at the point where you want to start allowing modifications you have to think a little harder about what the receivers are doing and theoretically have more than one working in concert.
The first parts of this series will be addressing the following questions:
- When to use a list form vs a form library
- Differences in available controls between the two types of InfoPath forms
- Having different custom Edit, New, and View forms for the same list
SharePoint Integration Looks Promising on Windows Phone 7
Jun 25th
Windows Phone 7 will have some interesting integration with SharePoint. The demo below focuses on Word. I would be curious to see exactly how InfoPath integration works because it is going be a killer app for business use. Instead of writing custom apps, business users will be able to create forms linked to SharePoint and collect data via mobile devices (probably offline too).
I am not sure that Windows Phone 7 will take off on the consumer side right away (too much competition), but for business, it’s going to make a case.
They just need to get rid of white and blue text on the black background. Google has proved that black text on white background works better.

