navigate site menu

Start learning with our library of video tutorials taught by experts. Get started

InfoPath 2010 Essential Training
Richard Downs

InfoPath 2010 Essential Training

with Gini Courter

 


In this course, InfoPath expert Gini Courter shows how to create and publish sophisticated electronic forms using the latest version of Microsoft's form-creation tool. The course introduces the new InfoPath Designer tool and its Ribbon interface and provides in-depth tutorials on designing form templates. The course explains how to create browser forms and publish forms via email, the network, and SharePoint. It also demonstrates advanced aspects of InfoPath, like connecting forms to outside data sources and creating templates from Office documents, databases, or XML files.
Topics include:
  • Creating a template from scratch
  • Understanding and modifying data sources
  • Formatting a template
  • Inserting text controls, data pickers, and check boxes
  • Catching incorrect or missing data
  • Using tables and sections for repeating data
  • Calculating a value with form data
  • Checking spelling and testing a template
  • Creating views
  • Developing data connections to SharePoint lists and XML files
  • Understanding publishing options for InfoPath templates
  • Importing Excel and Word forms

show more

author
Gini Courter
subject
Business, Forms
software
InfoPath 2010, Office 2010, SharePoint 2010
level
Beginner
duration
6h 5m
released
Jun 08, 2011

Share this course

Ready to join? get started


Keep up with news, tips, and latest courses.

submit Course details submit clicked more info

Please wait...

Search the closed captioning text for this course by entering the keyword you’d like to search, or browse the closed captioning text by selecting the chapter name below and choosing the video title you’d like to review.



Introduction
Welcome
00:03Hi! I am Gini Courter, and I'd like to welcome you to InfoPath 2010
00:08Essential Training.
00:09In this course, I will show you how to use Microsoft InfoPath Designer to create
00:13powerful forms that are easy to use.
00:16The templates we build will be strong templates that won't waste users' time
00:20skipping over sections they don't need,
00:22templates that use rules to validate the data our users enter against schemas
00:28that we will create as we build our forms.
00:30InfoPath contains over 30 controls, so we can provide our users with a rich user experience.
00:38Many organizations use InfoPath exclusively with SharePoint, so you will learn
00:42how to publish your form in a SharePoint Library so users can fill it out using a browser.
00:48Whether you are new to InfoPath forms or have some experience but want a more
00:52structured way to think about form development, I am going to provide you with
00:57an in-depth look at how to use Microsoft InfoPath Designer 2010 to create forms
01:03that create business solutions.
01:05Let's get going.
Collapse this transcript
What you can do with InfoPath
00:00If you're new to InfoPath form development, it's helpful to think about what you
00:05can do with InfoPath before you jump in and begin creating forms.
00:09While some of us create forms that we will use, most of us create InfoPath
00:14forms for others to use.
00:16So before I jump in and say, "What can InfoPath do for me?" it's helpful to think,
00:20what can InfoPath do for my users?
00:23Onscreen you're seeing a form that we actually create in this course, so we'll
00:28be creating the Web Post Express Request and a more detailed request form, and
00:33it's just a beautiful form, and this is the user experience of this form.
00:38If they're using the InfoPath Filler, they have the ability to type text and
00:42make sure that they do.
00:43So we're doing some basic validation to choose dates using date pickers, to
00:49choose departments from dropdown lists, to say actually, I want to enter a whole
00:53new section in this form, and insert or delete optional sections.
00:58So it's a good-looking form.
01:00It's a form that works amazingly well, that allows users to enters hyperlinks,
01:06allows them to attach files, a powerful form.
01:09So assuming your users actually want to provide some data to someone else, this
01:13form creates a great mechanism for that.
01:16But when you look at the user community as a whole, there is even more than great
01:21form creation available because they use InfoPath.
01:25We already know that users get the right to fill out a form, but one of the more
01:29amazing things is that they don't now have to print, put it in an envelope for
01:33inter-office mail, and send it around.
01:35They can actually choose to click the Submit button, and based on how you've
01:39developed the form, have it emailed to one or more people, to a distribution
01:44list, or to post box in Microsoft Exchange.
01:48They can submit it to a SharePoint library.
01:51They can submit it to a database that you have provided a connection to, and
01:55there are other methods as well.
01:57And then finally, that user or another group of users will have the ability to
02:02aggregate form data and do some analysis if you've used SharePoint as your form-
02:08publishing location.
02:10So the user community gets to fill out forms and analyze data, something that
02:15they can't easily do in a form created in Excel or in Word.
02:19So what can you do with Microsoft InfoPath as a developer?
02:24Let's go behind the scenes of this form.
02:26Then what we see is the design view of the form that the user was filling out a moment ago.
02:32You get to specify the kind of data that goes into this form, and in doing so,
02:36you are creating an XML schema.
02:39You get to choose controls for users to enter data and add rules that indicate
02:45how the form will behave when users omit data or make particular choices.
02:50You get to format the form, and you get to determine its data connections, how the
02:54form will be submitted and where it will go, what kind of external data is
02:59available to the form.
03:01Finally, not included in this course, but in your development future potentially,
03:05you can actually write some custom code that this form would use.
03:10Before you start developing forms, there are two broad classifications of forms
03:14in InfoPath. You can create forms that will be completed in a browser.
03:19These forms require SharePoint running InfoPath form services, but this is how
03:25many InfoPath forms are used in enterprises right now.
03:29When you create then that browser form hosted by SharePoint Server, it could be a
03:34form that is published and returns data to a SharePoint library.
03:38It could be a more specialized form that is simply the front end or user
03:43interface to a SharePoint list.
03:45You could also embed a Microsoft InfoPath form into a web page in SharePoint.
03:52Those are the kinds of things that you can do. Notice that browser forms though
03:55are SharePoint-centric.
03:57You can also create a form that is going to be filled out by somebody using
04:01the InfoPath Filler client, in 2010, or even in 2007, or InfoPath 2003 for that matter.
04:11The Filler form could be a form that we intend to distribute using email, or
04:17save on a network share and then email to users. Or we could have that Filler
04:23form be a form that is actually completed on a SharePoint site.
04:27You might wonder why we do that. Well, there are more controls that InfoPath can
04:32host than that a browser can host.
04:35So we can create some specialized forms using the Form Filler client that
04:41wouldn't be available in a browser. And if every person in our enterprise has
04:46InfoPath Filler on their computer, they can open those from a SharePoint site
04:50just as easily as they can open them in email.
04:53SharePoint is what gives us the ability to aggregate information that come out
04:57of multiple forms created in InfoPath.
05:00So, Microsoft InfoPath Designer 2010 is a powerful design tool, allowing you to
05:07connect to a wide range of data sources, to design specifically themed form
05:13document, provide different views for different numbers of your user group,
05:19and use a rich array of controls to capture data and to present choices and
05:24options to your users.
05:26Microsoft InfoPath Designer isn't just a tool to create the most amazing
05:31forms you've ever made;
05:33it's a tool to help you create business solutions.
Collapse this transcript
Using the exercise files
00:00If you are a Premium member of the lynda.com Online Training Library, or if you
00:05are watching this tutorial on a DVD-ROM, you have access to the exercise files
00:10used throughout this title.
00:12All of the exercise files are in one folder called Exercise Files, and if you
00:17double-click, you'll notice that there is a folder for each chapter, followed by
00:23two folders, named Materials and Source Files.
00:26When you're working in a chapter, you will open up that chapter's folder and
00:31find there the template files that we're using, or in some cases additional
00:36files, such as an XML file that you'll find here, that are used specifically in that chapter.
00:43There are a couple of logos that we use in forms, and so both of those are in
00:48the Materials folder.
00:50You can use this one when I do or this one if you choose.
00:54You can also choose to use your own logo file if you wish.
00:58The Source Files folder is empty. Later in the course, we will be taking the
01:02source files that are used to create an InfoPath template and unpacking them.
01:07It's a number of files, about a dozen, and the Source Files folder will give you a
01:12place to put those, so that they're not scattered about someplace else.
01:16For any movie, you'll see a banner that will scroll across the screen and tell
01:20you what file I have opened for that movie.
01:23If you want to work along with me, simply go ahead, open that folder, and
01:28open the same file.
01:30If you're a Monthly subscriber or Annual subscriber to lynda.com, you don't have
01:35access to the exercise files, but you can follow along. We build each one of
01:41these forms from scratch,
01:42so it's easy enough for you to begin when I do and create the form, saving
01:47it after each movie.
01:48Let's get started.
Collapse this transcript
1. Introducing InfoPath 2010
Understanding the InfoPath 2010 programs
00:00In Microsoft Office 2010, there are two separate InfoPath programs.
00:05They do two different things. One is the InfoPath Filler; the second is
00:10the InfoPath Designer.
00:12The InfoPath Filler which you see here is used simply to fill in forms.
00:16That's all it does.
00:17It's a ribbon with two tabs and not a lot going on here. But for people who want
00:22to complete InfoPath forms and have a rich client experience, this is a really
00:28great place to do it, so the user can simply type information in.
00:32I know that, for example, that I can't format because there is nothing turned on
00:35that allows me to format.
00:37So I could say that this is an agenda for a finance group meeting. And as I tab,
00:43I will tab through the controls that are here on the form, using familiar
00:46controls like the date picker, rich text boxes where all of my formatting tools
00:52come on, and other types of controls that I use in Microsoft InfoPath.
00:58When I'm done with the form, I can simply click Save.
01:01If it's going to a particular location, for example a SharePoint site or being
01:06returned by email, I can click the Submit button.
01:09This is the limit of what I can do in the InfoPath Filler;
01:12just what it says, fill in a form.
01:15The InfoPath Designer, on the other hand, is used to create forms.
01:20Here is the form that we were just filling out in Design mode where we created it.
01:24We have a lot of tools here at our disposal.
01:27We can look at the fields on the form.
01:29We can insert any item you want, design pages, connect this form to a particular
01:35data source, and change the language-- other things that one might choose to do
01:40as a developer with an InfoPath Form.
01:43So when you go to your Start menu and you choose Microsoft Office, if you have
01:50only the InfoPath Filler then you're pretty much done with this course because
01:54this is a course about the InfoPath Designer, where we will be creating powerful forms.
01:59If you don't yet have the InfoPath Designer, go ahead and make sure it's
02:02installed so that you can join us in design.
Collapse this transcript
Starting InfoPath Designer 2010
00:00We're ready to create a new form template, so let's start InfoPath Designer.
00:05I'm going to click the Start button, go to All Programs, and go to Microsoft
00:12Office, and I'll find the InfoPath Designer here.
00:15I'll also find the Filler here, which you also know about.
00:18I'm going to be using the Designer a lot, so I'm going to actually right-click
00:22and pin this to my Start menu right now. And that means the next time I click
00:27the Start button, it will appear right here.
00:30When you start Microsoft InfoPath Designer, you end up being in the equivalent
00:34of a backstage view.
00:36You can open an existing template.
00:40You can go to your list of recent templates, if you had any, but we're going to
00:44choose a new template.
00:45These are arranged in different sections: Popular, Advanced, InfoPath 2007 Form
00:52Templates, and Template Parts.
00:54The Popular types of form templates start with SharePoint List, then SharePoint
00:59Form Library, E-Mail, Blank Form, and Blank Form InfoPath Filler.
01:04Let's dispense with these first two types right away.
01:08If you have a SharePoint list and people want to add items to it in SharePoint,
01:13then there is a form that SharePoint provides.
01:16Using InfoPath 2010's new functionality, you can create a new form to replace
01:23that form for that SharePoint list.
01:25If I choose SharePoint List, I will immediately be asked what list I want to put
01:30this in. And here I go, where is the location of my SharePoint site? So I have to
01:35be ready to go on that.
01:36If I know that I want to create a template and save it in a SharePoint form
01:42library as the way that I distribute it, I can start by saying, well, let me
01:47start with my existing library.
01:49Again, when I double-click, I'll immediately go into a form, but it knows that it
01:53is going to a SharePoint form library. But I don't need to do this way.
01:58I can actually close this and start another new form.
02:02The same thing is true with email.
02:04I can say, I know I'm willing to distribute this by email, but note that
02:09SharePoint List is a connection to an existing list, whereas SharePoint
02:13Form Library and E-mail are distribution methods for a form that you're going to create.
02:19The two major types of popular form templates are right here;
02:23Blank Form, which you could read in parentheses 'web browser' underneath, or Blank
02:29Form (InfoPath Filler).
02:31If I create a form using the InfoPath Filler then I will again be taken into
02:37an area where I can begin designing the form. And while we haven't talked
02:40about this yet, there is a list of controls that are available that's very
02:45extensive and that includes a few controls--three here and a few more here--
02:51that the web can't support;
02:53therefore, they only show up when you choose InfoPath Form Filler.
02:58It's an entire list of controls, some of which are controls or containers
03:02that hold other controls, like scrolling regions, or ink picture controls for tablet PC users.
03:09Therefore, if I know that I'm going to create a form that is most likely to end
03:14up on the web, I don't want to use any of those controls.
03:18So my most generous, least restrictive way to create a form is by choosing Blank
03:24Form, which then I could have completed in a browser, or with InfoPath Filler, in
03:31which I could distribute by email, by saving it in a network share, or by
03:37posting it in a SharePoint form library.
03:40The only thing here that I can't easily do with a blank form is to choose to
03:45make it the front-end for a SharePoint list.
03:47So I will most often here choose Blank Form.
03:51The Advanced Form Templates allow us to create templates in some different ways.
03:55In the same way that I can say I'd like to create a form that is the front end,
04:00the user experience, for a SharePoint list, I can create a form that's the user
04:05experience for a SQL Server database, or a web service that's been created, for
04:10example, a SOAP web service that connects to any kind of a dataset.
04:15I can also create a Document Information panel, again that will be used as
04:20the way people enter and view information about documents in a SharePoint Document Library.
04:26I can convert--perhaps well, perhaps not so well--an existing form that I have
04:31in Excel or in Word.
04:34In either case, I'm going to get at least the form's structure, the
04:38physicality of the form.
04:40If I want to have places for users to enter data, I might have to rebuild that
04:45part of the form, but I will get a start with the Word or Excel form only.
04:49In the same way that my IT department might have a web service to connect to
04:53SharePoint, they might give me a data connection file to connect to something
04:57like SQL Server, and finally I can use an existing XML file or a schema, which is
05:03a data description for an XML file, to create a new form that I would either use
05:09to view some existing XML or to view and add to it.
05:14I could also develop InfoPath 2007 form templates.
05:18I will give up some functionality in either case, and you might wonder why this is here.
05:23The new controls that have been added to InfoPath 2010 actually require a newer
05:30version of SharePoint as well, SharePoint 2010.
05:33So if you know you are running on, for example, SharePoint MOSS server, Microsoft
05:39Office SharePoint server, you might choose to develop using the blank 2007 form
05:45so that the functionality that you have will match up;
05:48but mostly you can, again, simply choose Blank Form.
05:52The last section here allows us to start with an XML schema, or with nothing,
05:57and create a reusable template part, either for web forms or for the InfoPath Filler.
06:03So if I choose Template Parts, I can create reusable building blocks, reusable
06:08form sections, that I can use in all of my forms or some of my forms, and I'll
06:13be allowed to add those to our control list so I can easily get to them.
06:18So a typical address block, for example, or at the bottom, of a block that shows
06:23how the work has been completed, that 'for office use only' block.
06:27If you have sections like that that appear on multiple forms, go ahead and save
06:31them as template parts.
06:32Regardless of which of these options you choose, you can simply select and then
06:36click Design Form, or double-click, to jump in to Microsoft InfoPath Designer and
06:42begin building your form.
Collapse this transcript
Using the InfoPath Designer interface
00:00Welcome to the Microsoft InfoPath Designer 2010.
00:04This designer is built with the same interface that you see in other Office 2010 applications.
00:10We have our familiar Ribbon here and we have a Task pane that you'll see far
00:14more often here than you do, for example, in Word or in Excel.
00:19So let's take a look at the interface and see what we've got going on here.
00:22First, whenever we choose a document type, we come in and there is a blank form
00:26that may have a little something going on here.
00:29The tabs aren't necessarily arranged in order, and I will tell you that to begin with.
00:34For example, we would often, if not always, want to begin on the Page Design
00:39tab, rather than the Home tab, because this is where we find templates and
00:44themes, that sort of thing.
00:46But aside from the order, what you will find is a really nice set of tools.
00:51For example, here are our text formatting tools.
00:55We have a relatively short style list, but it works.
00:59Then we have controls that we will use as containers in our form to allow our
01:04users to enter data, to enter rich text, to check a check box, to use a dropdown
01:10list, to select an Option button.
01:13Then we have rules that are used to change values in a form, change formatting
01:18in a form, based on the value in a field,
01:20Spelling, Find, Select All, the Editing tools that we're familiar with from Word
01:25or Excel, and then finally, Preview, which lets us see how the form will look when
01:30it is filled out in the InfoPath Filler.
01:33On the Insert tab, you'll find tables.
01:36InfoPath relies on layout tables.
01:39You'll also find the ability to insert objects.
01:42This is how we would insert a picture, some clip art, a hyperlink, a page break,
01:47horizontal line, or a Symbol.
01:50On the Page Design tab, which I mentioned already, we will be able to choose
01:54themes and layout tables, but we will also create views.
01:57A view is one way to look at data, so we might have a view that includes the
02:02information the accounting department needs to process a form.
02:05So we might have two views: one, a view that the user would fill out, and
02:11second, a view that was only seen by the accounting department when they processed the form.
02:17Our fifth tab here is the Data tab, and it's very powerful.
02:20This form is not yet connected to any data source.
02:24InfoPath has no idea what I'll want to do with the data collected in this form.
02:29So I have the ability to go get data from a wide range of places and then to
02:35have the data that the user enters be placed in a SharePoint library, mailed
02:41back to me, saved in another location.
02:44On the Developer tab, you have the ability to load COM add-ins, and to do some
02:50basic code editing. We won't be working with code in this course. And because
02:54I'm in a table, I see the Table Tools > Layout tab, which is very powerful here, as it is in Word.
03:01You'll work with tables here more than you do in most other applications, so
03:05you'll get very familiar with the Table tools.
03:07Finally, if I return here to File, I'm in Microsoft InfoPath's Backstage View,
03:14which lets me see the properties of my template and some statistics about it,
03:18but also allows me to publish my form, to specify how users will return the form
03:24and its data to me, or to someone else, to check the design.
03:29Design Checker here is not about accessibility; Design Checker here checks to
03:34see if this form, as it stands, could be published and opened and completed in a browser.
03:39Then finally, there are some Advanced form options, which we will be studying
03:43later to configure the user experience with this form.
03:47I'm going to return to Home.
03:49Now that we've seen how Microsoft InfoPath Designer's interface works, we're
03:54going to take a look at the steps that we'll use to create a brand-new form
03:59from scratch.
Collapse this transcript
2. The Basics of Template Creation
Creating a template from scratch
00:01Before we jump into the InfoPath Designer, let's take a look at the steps that
00:05we need to follow to create a template in InfoPath.
00:09First we need to connect to a data source.
00:12You'll recall that as soon as we launch the InfoPath Designer, InfoPath started
00:16asking us, what kind of data do you want to use here?
00:20If we want to create a form to put data into a SharePoint list then we
00:25should choose that now.
00:26The same is true if we want to connect to a database, web service, XML or
00:31schema, or a data connection file.
00:34If we don't have a data source, that's fine.
00:36We can create the data source as we create our form.
00:40When we're done, we can publish that to, for example, a SharePoint form library
00:44and store our data in SharePoint.
00:46But if we have a data source, we should choose it upfront.
00:50It's a lot easier than trying to match up to it later.
00:53Once we either have a data source or know that we'll be creating one, we can
00:57then begin to look at the layout of our form.
01:00The tools that we'll use for layout are the familiar table tools that you may
01:03have used to lay out web pages or forms in something like Microsoft Word.
01:09The InfoPath Designer has Page Layout templates, a few of them that we can use
01:14as a head start to be able to do layout.
01:16So as you think about the form, if you have an existing manual form, you already
01:21have a template that might give you a look and feel.
01:24But you might also decide that you want to do something totally different.
01:28There are a number of different choices here.
01:31Here's a title and body, which we've already seen, but then there's also, for
01:34example, titles with headings.
01:36We can drop all kinds of controls into these to make them operate the way
01:40we would like them to.
01:41Layout is a continuing task.
01:43You begin by laying out part of the form, and then you lay out new sections as
01:47you work your way down the form.
01:49We'll then add controls to our form, and we have a fabulous set of controls to choose from.
01:55We have text boxes.
01:57We have combo boxes.
01:59We have a date picker that allows the user to simply choose from a calendar,
02:03rich text boxes which are heavily formatable, check box controls, and option
02:08buttons for singular choices,
02:11a new time and date picker, which allows a user to type a date and a time or
02:16choose a date from a calendar display.
02:18We have multiple-selection list boxes, regular list boxes, bullet list, numbered lists.
02:23I told you it's a rich group of controls.
02:26A person/group picker for a form that's connected to a SharePoint List
02:31that includes users.
02:32Then we have the ability to insert pictures, to calculate values, to insert
02:36hyperlinks and attach files, and finally a simple button that allows a user to
02:41initiate some kind of an action.
02:44All of these will go within layout tables and then within containers, and the
02:49containers are one of the most powerful control sets in InfoPath.
02:53For example, if you were creating a form in Word or Excel for something like
02:58travel expense and you didn't know how many trips an average user would take,
03:03you'd have to go find out, and then someone would say, well, you know sometimes
03:07they'll need 10 rows in there, but I've seen people need 20 or 30.
03:11And there you are, stuck with creating a really big form with 20 or 30 rows
03:15when some users will only use one or two.
03:19In InfoPath, you simply create one row of the table and tell the form that it
03:24can repeat that row.
03:26The same thing is true with sections that repeat, where you can say this group of
03:30controls where a user enters information,
03:32if they want to do it again, let them repeat this entire section.
03:37We also have the ability to have a section that only opens if the user needs it,
03:42so they would click and enter more information.
03:45But it wouldn't appear unless we needed it.
03:48Then two sets of controls, a group and a section, that allow the user to choose
03:54from two different options, or three different options to place in the form.
03:58So the user might start with all of the information that was needed if they were
04:02filling out the form for a business in Michigan.
04:05But since they're a business in California, they simply choose the Choice Group and
04:09choose the appropriate group of controls to place for the information that
04:12they need to enter.
04:14Very flexible, very powerful, and we're going to spend a lot of time in this
04:17course looking at the uses for these incredible controls.
04:22With the controls in place, then we begin to design views.
04:25Views are very simple to understand.
04:28You create a form, and then you create a subset of the form that some subset
04:34of users gets to see.
04:35For example, I might create a form that at the bottom has an area that says
04:40'for office use only'.
04:42But why does the person filling it out even need to see that?
04:45So I can create a user view that's the default view that everybody sees who
04:49completes the form, and then a special office-use view that will only be visible
04:54to the people who want to actually fill out those fields at the bottom that are
04:58usually in gray in a form.
05:00I also have the ability to create a separate print view for each of the views that I make.
05:06So I can have a view that allows users to print all or part of the
05:11information in my form.
05:13Views are very powerful and users can switch between them with a great deal of
05:17ease in the InfoPath Filler.
05:19If I'm going to publish my form in such a way that it would be opened in a
05:23browser, for example in SharePoint or even on a shared network location, I'll
05:29use the Design Checker to make sure that all of the features that I've used are
05:33supported by browsers.
05:35Some of the controls that I showed you earlier can't be rendered in browsers.
05:39You've never seen them on the Internet, and there is a reason for that.
05:42So the Design Checker goes through your form and says, ah, this control, not
05:47going to work, you'll need to replace it.
05:50When we're all done then the final steps are a set of tasks that we'll do to be
05:54able to publish our form template.
05:56We'll need to tell Microsoft InfoPath where the data that's collected in this
06:01form will be put when a user submits it.
06:03We can set where other data in the form comes from.
06:06We can indicate how the form is going to be submitted on a published event.
06:11Then we need to go through a list of choices that we make when we're ready to
06:14publish our form template.
06:16There are a number of details that we have to clean up here, for example,
06:20indicating where data in the form should go when a user clicks Submit,
06:24whether it should be returned by email or posted to a SharePoint site.
06:27We'll also want to determine a particular publishing method;
06:31are we publishing it on a network share in SharePoint? Are we sending this form by email?
06:37So those are the kind of publishing choices that we'll need to make when we're
06:40done with our InfoPath template design.
06:43This is the series of steps that we will go through every single time we
06:46create an InfoPath form.
06:48We'll begin with a data source, put together a layout, add controls, and we'll do
06:53the layout and controls interactively.
06:55One, first layout then controls, then layout and controls as we work our
06:59way through the form.
07:00When the form is mostly finished, we'll design our views, check our design,
07:05and then we'll publish.
07:06You'll get used to this series of steps.
07:08It's really easy once we get going in InfoPath.
Collapse this transcript
Previewing and printing a form
00:01When you're working in the InfoPath Designer, you have a different experience
00:05of the form than your user will have, because you're seeing actual controls,
00:11but not as they'll work when the user is tabbing through them and actually using them.
00:15So a dropdown list doesn't drop down in the Designer. The Date Picker doesn't
00:20open a calendar in the Designer.
00:22In order to see what the user experience looks like, you have two different choices.
00:26One choice will be that as you're working through your template, designing
00:30it, you could open up the InfoPath Filler and open your saved form to see
00:34what it looks like.
00:35But there is a shortcut to this process here in the Designer.
00:38On the Home tab at the far right, we have Preview, and when you click Preview
00:43you see exactly what this form will look like in the InfoPath Filler.
00:47You can try out all the controls.
00:49You can click the date pickers.
00:51You can click on the repeating table, and insert new rows.
00:56You can check and uncheck text boxes.
00:58You can type information and tab from field to field.
01:02So you really see what the user experience will be like in the Form Filler,
01:07checking on each of the controls and seeing how they work.
01:10When you're all done, simply close Preview and you return to the Designer.
01:15So again Preview to view the form. Notice all of my data is gone, except my default data.
01:22The Preview simply opens a session of the Filler, lets me play with it, and then
01:26throws my data away when I close the Preview.
01:30I might also want to print a form to see what it looks like, or Print Preview to
01:34see without wasting paper or killing trees.
01:37I'm going to click File and then choose Print to either print or print preview,
01:42and notice here's my print preview that allows me to see what it will look like.
01:47I have some basic controls to zoom in and out.
01:50I also have a Quick Print button, which will print one copy to my default printer
01:55using its default settings.
01:57If I want to print copies of the form to distribute, for example at a
02:01design meeting where I am discussing the form with the people who I'm creating
02:05it for, I can choose File > Print and set a particular number of copies, because
02:10this will open the Print dialog box so that I can choose a printer, set its
02:14properties, set a number of copies, number of pages, and so on.
02:18You print or print preview as you would expect to as you do in Word or Excel, and
02:23you preview the form from the point of view of the user experience by clicking
02:27the Preview button on the Home tab of the Ribbon.
Collapse this transcript
Saving a template
00:01When you're ready to save your template, you'll click File and choose Save or
00:05Save As, if you saved it before and want to put it somewhere else.
00:09There are several choices, several different ways you can save this template.
00:13The default is based on the choice you made when you decided to create a new template.
00:19So if you had chosen an InfoPath 2007 Filler template, this would be the default here.
00:25Because this form started with an InfoPath 2010 Filler template, that's the
00:31default choice, but you can make another choice here anytime you wish.
00:35If I choose one of the 2007 choices, some of my tool choices will go away the
00:40next time open this in the Designer.
00:42The same thing is true if I choose to save this in 2003, because the earlier
00:47versions of Microsoft InfoPath did not have as many controls available to them.
00:51You'll also notice that in InfoPath 2003 there is only one choice.
00:57There was no Web Browser Form Template.
00:59This will need to be filled out using InfoPath 2003, which had only one
01:04application, used both to design and to fill in forms.
01:08So choose a location, either keep the default or choose a new way to save this,
01:13and click Save to save your template.
Collapse this transcript
3. Creating a Data Source
Understanding data sources
00:01When we switch to the Data tab in InfoPath Designer, it becomes very apparent
00:06that data is important when we're working with this application to create forms.
00:11Every form is based on a description of data that the user will enter.
00:16Here is the description for this form, four simple fields, an IdeaTitle, a
00:21FirstName, a LastName, and a referring PartnerName.
00:25The data in this form will be stored in one location when we're all done.
00:30Let's go take a look at that location for just a moment.
00:33Every time someone fills out this form and saves it or submits it, it's stored
00:38onto the SharePoint site.
00:40So we can see that there is already an existing form that was placed here.
00:45The fields that are going to be saved are the fields that we see here in
00:49the main data source.
00:50But this form also gets data from SharePoint.
00:54Let's take a look at how this dropdown list works.
00:59This dropdown list is a list of partners who have agreed to work on referring
01:04new ideas, and when we click, it pulls up a list with three names on it.
01:08Let's go and see where those three names come from.
01:13Back in SharePoint, in the Partners list you'll see those three people.
01:17The reason that we created the form this way is we want to easily be able
01:21to expand that list.
01:22As more and more partners join this effort, we'll simply add their names here.
01:27Each time in the form that the user opens this dropdown, they'll see the current
01:32list of partners from the SharePoint site.
01:36When we look at the form then, we have data that's incoming here and data that's
01:41stored, including the incoming data back in SharePoint.
01:45This isn't unusual, because Microsoft InfoPath allows us to get external data,
01:51the kind of data we have in this dropdown, from a wide range of sources:
01:55a web service, a SharePoint List like we're currently using, data stored in
02:00another way on a SharePoint server, or from a wide range of other sources, almost
02:05any database and any XML file.
02:08When a user enters data in the form, we can then send that data to someone else
02:13or somewhere else by returning it in an email, by saving it, as in this
02:19demonstration, in a SharePoint library,
02:22by sending it to a web service, so it would ultimately end up in a database,
02:27or sending it to a SharePoint Server Connection, another type of database connection.
02:33So we have many different options for getting external data into our form, like
02:38this dropdown list, and many ways to submit it.
02:42There is one difference.
02:43I might pull data for a complex form from two or three different SharePoint
02:48lists and a web service.
02:50But I will always submit my data, all of the data, at one time, either to email,
02:57to SharePoint, or to another location.
03:00If I want to understand the data sources in any form that I opened in the
03:04Designer, all I need to do is click the Data Connections button and it will show
03:09me each of the connections.
03:11This connection, for example, which is the connection for this dropdown,
03:16retrieves data from a SharePoint site.
03:20This connection submits data in a completed form to a SharePoint library.
03:27Now that we understand the many ways we can obtain external data for a form or
03:32submit user-entered data, we are ready to begin creating our first main, or
03:37primary, data source for use in an InfoPath form.
Collapse this transcript
Automatically creating a data source
00:01You create an InfoPath template because you want to be able to capture data
00:05from users and do something else with it, whether it's place it in a database
00:10or display it on a SharePoint site, use it in some kind of a workflow, or simply
00:15print it and store in a file drawer.
00:17There is some reason we need this data.
00:20InfoPath therefore is designed to make sure that if you create a form, it
00:24will have a data source.
00:26If we'd specified a data source after we chose File > New then that data source
00:32would show here on the right in the Fields list.
00:34We started blank and so there is nothing here, and InfoPath waits to help create
00:40a data source for us.
00:42So, for example, if I decide that I'm going to play some controls, InfoPath is
00:48going to create the data source that goes along with it.
00:51Let me just create a design table for us to drop some controls into, just
00:55because it's a best practice.
00:58And I'm going to say that I want to enter today's date, and I'm going to click
01:03words it says Add control, and it's a date, so I am going to add a date picker.
01:07And InfoPath automatically creates a field to hold the data that a user would enter here.
01:14In the same way, if I enter a first name here, InfoPath will create a field to
01:19hold it, a last name, and another field.
01:27Perhaps up here I would like to have the email address and a fourth field.
01:34You begin to notice a pattern I bet.
01:37Every time I drop a control, I'm going to get a container here on the right,
01:42called field1, field2, and so on.
01:46I'm really building an XML schema here, so we can talk about these as being nodes.
01:52Field4 is a node, field3 is a node, field2 and 1 are each nodes, and they're
01:57part of a higher node, a parent node, called myFields.
02:02Now, the form works just fine for a user.
02:05Let me go ahead and add a couple more fields here.
02:09We'll add a control for Department and we'll add a field for Location, 5 and 6.
02:18Notice the user will have no trouble putting information into this form.
02:22They know what Today's Date is.
02:24They understand what the labeled Email Address means.
02:27So if all we cared about was user input, this list of fields on the right here
02:31would be fine. But we want to use this information again, and if we choose to
02:36publish the results of this form on SharePoint, rather than saying, here's
02:41today's date, here's the person's email address,
02:44it will say field1, field2, field3, and so on.
02:47So obviously, it's not enough to let InfoPath automatically create a field list,
02:54a schema, because we've dropped controls on our form.
02:57We're going to have to be able to modify the schema to meet our needs, perhaps
03:01to create parts of it from scratch if we wish.
03:04We'll see how to do that in our next movie.
Collapse this transcript
Setting field properties
00:01It's easy to tell that the InfoPath form controls have properties, have settings.
00:07Some are text boxes, some are combo boxes and check boxes;
00:10they are visually different.
00:12But fields have properties, too, that we can set.
00:15Let's see how to set the properties of fields in our schema here.
00:19I am going to double-click on field1, and the Field or Group Properties dialog box opens.
00:25The first thing I can do is I can change its name.
00:28If I move this, I can tell that field1 is right here in my form because it has
00:33handles around it, and I can see that it's selected.
00:37So I know that this is today's date.
00:39Now, I could type 'Today's Date' like this, but actually, InfoPath won't let me.
00:44I'm creating an XML schema and there are some rules associated with it.
00:49I can't use much punctuation. No spaces.
00:52I can use underscores, hyphens, the period symbol. And by definition, I'm not
00:57supposed to use uppercase.
00:59So 'Today's Date' becomes 'todaysdate' like this. Because I had dropped a date
01:05picker, the data type of date is chosen, but there are other choices here.
01:11Text is used for plain text, a paragraph or less. If a user presses Enter,
01:18wants to press Enter when entering data in a text field, we'll have to make a
01:23special property setting for that.
01:25Rich text is a kind of control we use when we really want the user to be able
01:30to format the text.
01:31We'd like them to be able to choose to put in a bulleted list or a numbered list
01:36or to enter several paragraphs of text.
01:40Whole Number is just what it says;
01:42it's an integer with no trailing decimals.
01:45A user will not be allowed to enter anything other than an integer.
01:49Decimal is used for all other numbers other than integers.
01:53So Decimal would be used for currency quite frequently.
01:57The True/False data type is normally presented to a user in a form through a check box.
02:03If they check it, it's true;
02:05if they don't, it's false.
02:06You can also think of this is as yes/no or possibly 0/1.
02:10This type of field is called a Boolean field.
02:13The ability to add a hyperlink is built in and the ability to add a date or a
02:20time or a date/time field.
02:24Finally, we have the ability to add a picture or file attachment.
02:28So a user here could click and could place an image or could click and attach a
02:33file, and that type is the same type.
02:37Let's go back to Date, because this is a date field.
02:40Some other attributes of this field, if we require this, then we mark Cannot be blank.
02:46The red asterisk means that on the form there will actually be a visual red asterisk.
02:52It's a nonprinting character, but it allows the users to know which fields are required.
02:58We could put in a default value.
03:00We'll learn about that later.
03:02There are two other tabs.
03:03When you initially add a field, this is all you see.
03:07All these other properties you find later by double-clicking on the field
03:11that already exists.
03:12So there's information on how we would merge this field with others, if we
03:17collected fields together, and then there's information that are details about
03:22this field. Because we didn't say that this field repeats,
03:27it can only occur once.
03:28There's only one container for it,
03:30and that it is a date, and that we set no default value.
03:35You'll spend most of your time on the initial tab of the Field or Group
03:39Properties dialog boxes.
03:41I am going to say OK. Notice todaysdate with an asterisk.
03:47And when we switch to Preview mode, there's asterisk that allows the user to know
03:53that this is a required field.
03:55Let's go ahead and look at the properties of this text box, and you'll notice
03:59that we have a similar Field or Group Properties dialog that opens.
04:03This is the firstname field. So we'll say, it can't be blank, and we'll name it.
04:09And then, finally, the Last Name field.
04:11Now, I can click here. I can also double-click in the form.
04:15If I do, it will not open the dialog box, but it will take me to the control
04:20tools properties tab, so I could choose Field Properties here.
04:25That's the other place I can open this. And this field is the lastname field
04:30and I'm going to say that it also cannot be blank.
04:34We could then proceed to fix the Email Address, Department, and Location fields.
04:39So here's our email address--
04:42I don't mind if this is blank, so we'll say OK--department, and location.
04:50So, I very easily gone in and adjusted the properties of these fields.
04:55Now you might wonder, what if I wanted to further limit or further specify what
05:00was allowed in these fields?
05:03The properties seem very limited.
05:04For example, if I look at the date property for todaysdate,
05:09there's nothing here that says what the date format would be. That's correct.
05:14The properties that you've seen are the only properties that we can assign to fields.
05:19The rest of the properties we assign we'll assign to the controls.
Collapse this transcript
Modifying a data source
00:01I've changed some of the properties of my data source that InfoPath
00:04automatically created as I dropped controls into my template, but I also want to
00:09change its structure. Let's look at why.
00:12I currently have a data source that has fields in it with the names of todaysdate, firstname, lastname--
00:18I've added spaces here for readability, by the way--email, department,
00:23location, and as I continue this form, I'm going to actually start gathering
00:28travel request information from the user.
00:30I am going to ask them what city they are going to and when their travel date
00:34is, and many, many other fields.
00:36By the time I'm done, I'll have 60 or 70 fields in this form,
00:40all listed simply one after another.
00:43But that's not really the truth of these fields' relationships to each other.
00:47I would create a better data source by grouping together like kinds of information.
00:53It will make no difference to the user right now, but it will make a huge
00:58difference when I see the data later,
01:00to be able to know what goes together and what doesn't.
01:03Additionally, there are some form features that are meant to work with group data.
01:09So by grouping like kinds of data now, we can leverage that in our form creation
01:14later on with some of the controls,
01:17for example, repeating tables and repeating sections.
01:21So the form has a date on it, but then it has a user.
01:24Now there's no field for user on the left, and there won't really be a control for user.
01:31However, I will create a group and put the user's first name, last name, email,
01:37department, and location inside of that group.
01:41If you're familiar with XML schemas, we have here our nodes.
01:45We have a node called user, with elements:
01:48first name, last name, email, and so on.
01:51Then I'll have a travel request.
01:53It will become a different higher-level group, and in inside of that travel
01:57request, we'll have city, travel date, what hotel they want to stay in, whether
02:02they're going to drive or fly, do they need a rental and car, and so on.
02:06By grouping this information, we end up having a stronger, more robust, and far
02:12more descriptive data source than if we simply leave each of these elements
02:17on the left ungrouped.
02:19So let's see how we do that.
02:21If we return to our form, we really want to create two different groups in myFields.
02:27The first group is for the user, so we're going to add a user, and notice this is
02:32the Add Field or Group dialog box.
02:35I'm going to create a group. Don't create a choice Group right now.
02:38We'll talk about those later on in this course. And I'm going to say OK, and
02:43there is my user group.
02:45Now I want another group as well, and I want to create it up here.
02:48If I click here and create a group, it will become a subgroup of user.
02:53So you always want to make sure you see where you are when you're adding
02:56fields or groups here.
02:58So I'm simply going to add another group that's called travelrequest, and when I
03:05choose Group, there is no data type for a group, and I'm going to say OK.
03:09Now, what I'd like to do is move the fields I already have--first name and last
03:13name and so on--into the user group.
03:17If you chose the dropdown in the fields list, you have a choice to move things
03:23up or down, to delete them, to add an element or an attribute to the selected
03:30item, or to move them.
03:32When you move up and down it simply rearranges the list.
03:36If you want to put it into a group or remove it from a group, you
03:39actually choose Move.
03:41So I'm going to say I'd like my firstname in the user group, OK, and there it is.
03:48I'll choose lastname in the same way and choose Move it to the user group.
03:56Now email, move it to the user group. department, location, and I can also just
04:09double-click the user group here.
04:12Now I have space for a travelrequest.
04:14I can continue adding controls and allowing Microsoft InfoPath to create fields,
04:22but it will not put them in groups for me unless I work really hard to structure
04:26my form, so that it understands that I'm creating groups.
04:30It's actually pretty easy for me to choose travelrequest and add myFields here.
04:35So this is my city that I'm going to go to.
04:38That's a text field.
04:40Now I want to add the traveldate, and that's a date field.
04:45Now I can simply hit the first letter of the word on this list. Text is by
04:49default. If I hit D once, it will fall to Decimal.
04:52If I hit D again, it will go to Date. And we needed hotel information--click
05:00Add Field again--and rentalcar.
05:03So now I've modified the structure by creating groups.
05:06I can add items here, or I can continue to add content controls and move
05:11items into my hierarchy.
05:13If I know ahead of time what all of myFields are, it's great to simply go in and create them.
05:18But however you create your structure for your data source, when you're done,
05:23you want to make sure that like items are grouped, that you've abstracted groups
05:27to place them into, and arranged your data source in such a way that it's what's
05:33called human readable.
05:34Any human reading this can make pretty good sense out of it.
05:37This is a far better data source here for our template, and so at some point
05:42soon, it would be time for us to save the template, and in doing so, we save
05:46our data source.
Collapse this transcript
4. Formatting a Template
Selecting a page layout template
00:00When you create your form layout, we are going to do three things right in a row.
00:05The first is we are going to choose a page layout template for the entire form.
00:09We are then going to populate it with tables, and we are going to change the theme--
00:13and you can do the tables or the theme in either order.
00:16When you create a new template, it already has a page layout in it, right here.
00:21It's the layout that is known as Title Only.
00:24We find these on the Page Design tab.
00:27So, Title Only doesn't have a whole lot in it, doesn't have a subheading,
00:31doesn't have a body.
00:32Let's take a look at some of these others.
00:34Simply select the table here and press Delete, and then we could choose, for
00:39example, Title and Heading. What you find is you have a place for a title and a heading.
00:45If the forms in your organization have the organization name and logo here
00:50and then have the title of the form, or the other way around, you would rather choose this.
00:58The next layout is Title and Body, and it actually creates a place for some body text.
01:03This is used for a form where at the top you want to explain the purpose of the form.
01:07Again, each of these gives you a head start.
01:09You can insert text in any page layout template, but if this is what you're
01:13going to do, it make sense to grab this first.
01:18Color Bar puts an attractive bar down the left-hand side, and that bar actually
01:24comes from the theme, which we'll talk about in a minute, but it doesn't allow
01:27to choose another theme, so you can see that it actually changes color.
01:34And then finally, we have a template that's called Offset Body, and what you have
01:39here is the tables are going to be offset as they might be in a report.
01:44This can be a very attractive form, but know that as with Color Bar, you're
01:48throwing away some space.
01:50With Color Bar you throw away about half this distance.
01:53It's a nice visual element, but you can't do anything in that area. And here
01:57you give up slightly more than an inch to have all of your tables line up in an offset fashion.
02:05So I'm actually going to choose Title and Heading.
02:10That's my Page Layout.
02:12I'm sticking to it.
Collapse this transcript
Adding and formatting a layout table
00:00I've chosen a page layout, and now it's time to create tables.
00:04Whatever I know about my data, it's a good thing to have that close at hand right now.
00:09For example, if I'm working from a manual form that's been in use,
00:13I'd like a copy of that form in front of me.
00:16If I'm working from a list of fields that I've gotten from others and then
00:20I've drawn a sketch on a napkin, I want get napkin in front of me, because I
00:25need to choose the basic structure of how my form is going to look, and that's
00:30all about the data.
00:32On the Insert tab, we have an entire gallery of tables, as well as the ability to
00:36create a custom table.
00:38I'm going to click where it says 'Add tables' and then open this dropdown,
00:43and you'll find that we have single-column tables here which allow a field
00:48that goes from the left side of the form to the right. And the differences
00:52between these four thumbnails are that this has no heading above it, this has
00:57a subheading, this has a larger heading, and this has both a heading and a subheading.
01:04So if I were going to have a series of tables and perhaps wanted to explain them
01:09at the top of the first one, I might choose this, and then for later tables
01:13include just a subheading.
01:16I then have some two-column and four-column tables. They don't all have the same
01:21number of controls per row, so let's take a look.
01:25And these two-column tables here, this set of four, the first column is taken up
01:29with labels and the second is taken up with my controls.
01:33So there are the four two-column tables that really, each row has one control
01:38element in it, and again, one with no heading, one with the subheading, one with
01:44the heading, and one with both headings and subheadings.
01:47I can see exactly those same four choices repeated here on the right, two-column
01:53tables, but with a backfill, with an emphasis that's picked up out of the color
01:57set, the theme that we'll choose next.
01:59So I have the choice of four different sets of headings or no headings and the
02:06same thing with some backfill.
02:08I then have what's called a stacked display, and here, even though I have the
02:13same two columns, in this layout, the label appears above the control.
02:18So the label todaysdate would be above the date picker, and because I'm not
02:23giving up the first column to Labels,
02:25I actually have the ability to put two controls in each row here.
02:29I see those same four choices and the four choices with emphasis.
02:33I then have some four-column choices, and none of them stack the controls.
02:39So basically the four-column choices will give me the same kind of layout as I
02:46get here, with my two columns, because what I have is a label and a control, a
02:52label and a control.
02:54If I want something other than two columns, single column, or four columns, then
02:58I should choose Custom Table.
03:00What I'm going to choose this time is I'm going to choose this two-column table
03:04right here, with no heading.
03:07And notice what it looks like.
03:08It's very basic. My labels are formatted in italics, so I could enter, for
03:13example, Today's Date, and then I click here to add a control.
03:18Below this I would like the user to have a place to enter a fair amount of
03:22information, and I'd like to give them a little subheading first.
03:26So I'm going to choose this Single Column stacked, and when I do, notice its
03:31Click To Add Subheading, and here I had my label and control.
03:35Below this I have an area where I would like the user to be able to enter a fair
03:40amount of information in a small area.
03:43So I'm going to choose one of these four-column layouts, and I'm going to choose
03:48one with an emphasis so you can see what it looks like.
03:51So we pick up a color out of the theme.
03:54It's actually quite bright.
03:56If I'd like a custom table for any of these, I can simply choose a table as I would in Word.
04:02The only issue with a custom table is that I don't have the ability to put
04:07headings and subheadings on it easily, and it won't come with automatic Add
04:13Label, Add Control placeholders.
04:15So it might be that if I want a custom table and I would like it to have a
04:19heading, I might go in first and say, well, I'm going to go pick up a
04:23subheading here, just to get the subheading, delete the rows, select,
04:32right-click, Delete > Rows, so that I have this subheading out of my gallery,
04:38and then I could add a custom table.
04:40So, for example, if I would like people to be able to add a lot of data here
04:44in a really small area, I could choose, for example, an 8x1 table or 8x2, and
04:51when I do that it will create a table for me-- but again, no placeholders in the table.
04:56The other things that you can do to a table here in InfoPath are very similar
05:02to the things that you can do when you're in Word.
05:04If you click in a table, you have the ability to insert rows above or below,
05:10insert columns to the left or the right of the current column.
05:13You can turn gridlines on and off.
05:16You can delete rows or columns that are selected or the entire table that you're in.
05:22You can take two cells or more and select them and merge them and put them
05:27together for a longer entry.
05:29You can select any cell or group of cells and split it into two or more columns
05:35to be able to put very small controls--
05:37for example, a two letter state abbreviation would go here.
05:41And you have the ability to modify borders and shading in your table.
05:46I ask you not to do that yet, for reasons that will be apparent in the next movie.
05:50You can adjust the cell padding.
05:52So, for example, if you'd like to have this text a little closer to the center
05:56of the cell, you can select any cell and make these changes.
06:00Notice as soon as you select, the placeholders for Add label and Add control
06:05disappear, but they still work exactly the same way.
06:09Don't be afraid to use these Layout Table tools.
06:12You probably know how most of them work from other applications, but they're
06:16very easy to use here in Microsoft InfoPath.
06:19If you make a mistake while you're formatting or laying out your table, simply
06:24go ahead and undo, Ctrl+Z or click the Undo button to undo your change.
Collapse this transcript
Choosing a theme
00:00One significant difference between InfoPath 2007 and InfoPath 2010 is that
00:06InfoPath 2010 uses a set of themes.
00:10You'll find them on the Page Design tab of the Ribbon.
00:14If you click you'll find about 40 different themes here, arranged in five categories:
00:19SharePoint, Professional, Industrial, Playground, and Modern.
00:24The themes affect three different aspects of your form.
00:29They change the borders, they change the cell colors, and they change the fonts.
00:34Because of that, you'll want to adjust themes very early.
00:38So, for example, if I want to change to this theme, I just click and the entire
00:43form is changed at once. I'll switch here,
00:48and you'll notice I have a gray background and some green.
00:52I don't think the thumbnails are that easy to understand, but if you click on
00:56them and take a look at what actually happens, it begins to make sense in your document.
01:02We have some backfill on some.
01:04We have some stronger lines on others.
01:08These themes are not the themes that you find in the other Microsoft
01:13Office Suite applications.
01:14These aren't the themes that you would use in PowerPoint, Word, Outlook, and Excel;
01:20these are, instead, themes that are shared with SharePoint.
01:24So if you have a SharePoint site, you can take a look at what the theme is, for
01:29example Graham, and match it up here in your forms.
01:35That's all it takes, one click, to make your InfoPath form match the theme of
01:41your SharePoint site.
01:42So go ahead and choose a theme that you like.
01:44It doesn't hurt to go through a number of them until you find one what you want.
01:48They're all are a little different.
01:50Some of them again have, in tables, have a color bar, some of them have fill
01:56throughout, some of them are easy to read, and some of them are really,
02:00really hard to read.
02:01So choose something that you believe is going to work.
02:04If you need to theme it to go with a SharePoint site, simply go to the site,
02:08either ask your site administrator what the theme is or if you have permission
02:14go to the site settings for the site, and it will tell you what the theme is.
02:19Once you're done choosing a theme, it will be time to go ahead and to save this template.
02:25The next thing we'll be doing is inserting a logo and adding our form controls.
Collapse this transcript
Inserting a logo or other picture
00:00Another thing you can do to customize or brand-identify a form you are creating
00:05is include a logo from the organization that the form is created for.
00:09So we're going to add a logo to this Travel Request from the Explorer California
00:15organization, which is a California Tourist Organization.
00:18They've sent us a logo.
00:20They also sent us some information about colors that we could use to
00:23complement that logo, and so we've chosen a team that we believe is going to fit really nicely.
00:28Now when the logo comes in, it's going to go somewhere that we'd like to place it.
00:31There are couple of choices. We could put it up in our header, and because we
00:35have the organization name here, that makes sense.
00:38Sometimes you'll also see a logo down in the footer, with some all rights
00:42reserved information in a smaller size, but wherever you insert a logo, there
00:46are two different tasks that you're going to do, related to inserting and placing it.
00:52The first, or second, is inserting, and the other task is actually creating a cell
00:57for that logo to live in.
01:00If you know, for example, that you're only willing to give up a certain amount
01:03of space for the logo, then you could begin by slicing that space off here.
01:09I'm going to go to the Table Tools Layout Tab, choose Draw Table, and actually
01:13make as much space as I'm willing to give up here.
01:16The Travel Request heading is centered,
01:18so watch what happens when I split this in two.
01:22Travel Request flies over here to the left.
01:25So I'm going to turn off draw table, select this, and drag it back where it belongs.
01:29But now the center of this cell is farther over to the right.
01:34If I'd like to keep this more or less centered, I could choose to left-justify
01:39and space it back over, or another possibility you'll see is that we'll choose
01:43to split both of these and move Explore California text, so that it will stay underneath it.
01:53That works.
01:54Now I can merge these two cells if I wish and drop my picture in right here.
02:03The other possibility is I could drop the picture first and make these table
02:07layout changes afterwards.
02:09Let's go ahead though an insert the picture. Click the Insert tab, choose Picture.
02:15You'll find this in the Materials folder in your exercise files.
02:19I am going to drop this in. Now, wow!
02:22It's really, really big. It's a large logo.
02:26So you can tell how much space I need it to go in.
02:29Let's now format it.
02:30Right-click Format picture and change its size.
02:34The size is currently measured in pixels.
02:36I'm actually going to change this over to inches and make sure that this
02:40maintain proportions box stays on, and I'm going to choose an inch height of
02:46about 1 1/2 inches, perhaps even smaller.
02:51Let's go 1 and see how that looks, and apply it.
02:55And notice that that fits fairly nicely.
02:57I could make it a little bit bigger and fill up that space a little more, click
03:02Apply to see that change.
03:05Nope, just let's go back to a little bit smaller, split the difference here. There we go.
03:12It fits nicely.
03:13This is the margin, and you can tell that because it's the same margin we see down here.
03:19Let's click OK.
03:21We've inserted our picture.
03:23Now I'm going to go preview this just so you can see, because it often appears
03:27more crowded than it actually is when you can see the gridlines.
03:31So let's look at the preview of it, and you'll notice this looks nice.
03:36I am going to slide both of these items over here, Travel Request and Explore
03:40California, my heading and subheading,
03:42I want to try them over to the left, just for the heck of it.
03:44So I am going to select them both, left-justify them, go back to preview. Ah, that looks good.
03:50The other things that you can do when you have a picture or an image selected,
03:54you'll find on the Picture Format tools
03:56you can change the border.
03:57You can adjust the size here, instead of right-clicking and choosing Format picture.
04:02You can indicate how text wrapping is going to happen, whether it goes in line
04:06with text to the left or the right, far fewer choices and you than you have, for
04:09example, in Word. And you can supply alternative text, so that if you create this
04:14form and ultimately publish it in a web browser, users who could not see this,
04:20or who either had graphics turned off or who used screen scrapers or
04:24screen readers to turn the image to describe the screen and to read the text
04:29could see that this was the Explorer California logo image.
04:34So you can supply some alternative text for these other uses. That's it.
04:40Here is our image.
04:41We've taken care of checking the properties of our image.
04:43It's that quick and easy to drop an image in, so that you can appropriately
04:48brand the forms that you create in InfoPath Designer.
Collapse this transcript
5. Using Controls to Collect Data
Understanding the use of form controls
00:00On the right, you can see my list of fields in the Fields list.
00:03This is data that I'd like my user to be able to enter.
00:06So I need to give them places to put this data, typically one different kind of
00:12place for each field that I'd like to collect from them.
00:16Controls are the places that you allow users to put data.
00:21The input controls are used in areas where you would like your user to be able
00:26to enter text, choose from a list, click a box, or something similar.
00:32The objects are a mixed bag.
00:34They include other things a user would place in a form, but not by typing: an
00:39attached file, a picture that they would choose by browsing, or a hyperlink, as
00:44well as some other controls that allow for functionality in the form. And then
00:50finally, the last type of control is a container.
00:54Containers are simply sections or groups that are used to group these other
01:00types of controls in a logical fashion, and for some other reasons.
01:06So, for example, if I wanted to create a myfirstname field in the form, I
01:12could simply drag this field out and drop it in the form, and I'll get a
01:16really big text box control.
01:19That's the default type of control when I am allowing the user to enter text. It has handles;
01:25therefore I can change its size.
01:27I can also point to the edge of it and move it somewhat, although I'm at
01:31the very top of my form here. I could have moved it up here in the header if I wished.
01:36Remember, you can always choose Undo here on the Quick Access toolbar, or you
01:41can hold Ctrl+Z and undo a change you have made.
01:45When I drag the first name field into the form, as the text box control was
01:49being created, InfoPath also took a look at the name of the field, capitalized
01:54the first letter and threw it in here as a label.
01:57This allows me at least to see what field this is easily when I'm not in Design
02:02view, or when it isn't selected. But I can feel free to delete this if I wish,
02:06and later on I'll be typing in my own labels
02:09that will make more sense to the user, than the kind of tag labels that I'm
02:13providing here in my data source.
02:16Because this field has handles, I can change its size.
02:19I can also select it and hit Delete.
02:21Notice that when I do, the label remains.
02:24In order to delete it, I can select it and hit Delete, or I can use the
02:29Backspace key, that kind of thing.
02:32I have here a choice that says mygender.
02:36Presumably that's a short list.
02:38I can drag it out here and force my user to type in this text box, or I could
02:43use a different kind of control,
02:45for example, a list control. And if I were going to do that, I could either
02:50choose Drop-Down List here from the list, but if I do, then I have to find some
02:56way to say, no, this isn't a new field;
02:59it's actually for mygender.
03:01So this is one way to place a control is simply to click.
03:04I can click a check box.
03:06I can click a date picker, or a time and date field. But if I simply controls here,
03:13what InfoPath will do is it will create brand-new fields for me each time I do,
03:17and I'll have to delete those if I don't wish to have them.
03:32So when it's possible, I actually prefer to choose the field that I wish and to
03:38place it in the form, not by dragging it over, which will always give me a text
03:42box for words, but by holding my right mouse button and dragging it. And when I
03:47release, I'll have a choice of every type of control that is appropriate.
03:52For example, if I wanted a short list box, I can drop one in right here and
03:57create a list in it.
03:59Now, just as text fields automatically want to make text boxes but I can
04:04override that by right dragging to place the control,
04:08when I drag the field 'today' in, because it's a date field, I will
04:12automatically get a date picker.
04:14When this is seen in a preview mode, the user actually gets to choose a date
04:20from a dropdown. Not bad, nice little calendar.
04:26If I right-drag that date field, I have the choice to say, no,
04:30I'd rather have the user enter text or choose from our short list of dates that
04:35will be stored as a date.
04:36We might do this for something like tickets to a performance that happens three times.
04:42They can't choose any date;
04:43they can only choose from those three specific dates.
04:47Each place that I place a control, a user makes a choice which then is connected
04:53to, or bound to, this data source, so that I know that no matter where on the form
04:58I place the today field, it's connected here. No matter where on the form I have
05:03the control for mygender, it's right here.
05:07Controls also have properties. Just as we have the today field here that's a
05:13date field, I have a date picker control that has properties of its own.
05:18I can either right-click the date picker control and then choose Date Picker
05:23Properties from the context menu, or I can double-click the control to bring up
05:28the Control Tools Properties Ribbon to the front and choose Control Properties,
05:33and I'll see the things I can change on this.
05:35For example, I can have a default value and automatically enter today's date.
05:41I can type in a placeholder, click here and choose a date.
05:46I can set some specific size information.
05:49I can provide a screen tip for people who are opening this particular form who
05:55have visual challenges and have a screen reader reading to them.
05:59There are some other settings that I'm not going to set as frequently, and then
06:02Browser Form settings, which we'll talk about later in this course.
06:08The list box control has different properties that have to do with how the
06:13choices for this list would be put together.
06:15So every control is tied back to a field. Every control has properties of its
06:22own, and Microsoft InfoPath has a really lush Control Gallery for you to choose from.
06:28We will learn about these controls in the next movies.
Collapse this transcript
Organizing a template with sections
00:00Before you begin adding tables and controls to your form, you should think about
00:05how your form would best be organized.
00:08In addition to using tables, you can use sections, and should use sections, to
00:13organize your data in a way that's meaningful.
00:16For example, in this form, which is a request to post something on a web site,
00:22we have a well-organized data source here.
00:25Here's who the request is coming from, all of their information, and here's
00:29information about the post,
00:31the information that's being sent to be put on the web.
00:34These are two different types of data. And then within the posts section, we
00:39actually have a title and a description for the post.
00:43We also have some category information, some department information, and then
00:48whether or not this is a news item.
00:50We're going to spend a fair amount of time with this form,
00:53so let's make sure that we understand what it's about.
00:56When I want to have somebody post something on our intranet or Internet in my
01:01organization, I'm going to send them the content I'd like them to post.
01:06In a Word document, for example, or perhaps as a web page that's already created,
01:11a form, however I send it to them,
01:13I'm going to provide some information to our office of electronic communication
01:17to let them know how they should post it.
01:19I'm going to tell them the name and give them a description of the post that
01:24helps them understand why I want this information posted.
01:27I'm going to place that information into a category, so that they know where it
01:32should be, and perhaps I'll have more than one category. We'll see how to create
01:36this kind of a repeating layout later.
01:40I also want to say what department I believe this information is best assigned to,
01:45so that when a user in facilities goes in to the intranet, if it's internal,
01:50they can see the things that are meant for facilities employees,
01:54whereas the folks in accounting will see a different set of information
01:58that's most critical.
02:00So who are the primary consumers of this information in this post?
02:05And then finally, should it go on the homepage or the Internet?
02:08Do I believe that it's newsworthy?
02:11I of course won't make that final decision, because somebody else will get to
02:15choose based on the other information that comes in. And if it's newsworthy, how
02:19long is it news, if I have a reasonable expiration date for it?
02:22Finally, I'm going to attach the file to this form, and then I'm going to let
02:27them know whether this is a file that they are to post as a file or to create a
02:32page and create a link to the file, or simply to use the information to
02:35generate a web page.
02:37So a nice form that rather than me emailing things to the folks in our office
02:43of electronic communications and saying, hey, I think this should go up, this
02:46is who should see it, and then they write back and say, well, how long, that kind of thing,
02:51they've put together a list of the information that they need to be able to do their job well.
02:56If we were thinking about how this form is organized, the first thing is,
03:00there's clearly a set of data here about requesters.
03:03Whenever you see a data set that goes together, like this, you should think
03:07automatically, I think that I want to put that together in one section in my form.
03:13So we'll click in the form and under Controls, we'll actually insert a control
03:18that's called Section.
03:19Notice that it's a container.
03:20All it does is hold things together. And it will automatically say that it's
03:26part of group 1 here.
03:28It doesn't understand that I wanted to use it for requester. That's okay.
03:33We'll figure that out in a little bit.
03:35I then have one for posts.
03:37It's the same thing.
03:39I'll go in here and say all right, I want to press Enter to create a little space.
03:43I can always get rid of that later. And I'm going to put in another section here,
03:49and automatically there's a group called group2 that's created.
03:54Notice that unlike when I drop a control, when I drop a section, there is an
03:58assumption that InfoPath makes, that a section which is meant to hold a group of
04:03controls, automatically means that I'm going to be creating a group and not a
04:08simple field or element.
04:10There's another kind of section that we can talk about using, and that's to
04:14create a section that will only exist in the form if certain conditions are
04:18true, if a user clicks a button or a link, or if a user decides not to delete it.
04:23All of the information in our form, however, we're going to have appear all the
04:28time, and so we won't be using an optional section.
04:31We'll simply be using a section, a container that contains other controls and
04:37allows us to group them or treat them together.
04:41One more thought about why you want to use sections.
04:44Not only are they a great organization method for your form, but if I use
04:49digital signatures in my form, if I allow a user to digitally sign, I have two
04:55choices of what they can sign.
04:57I can have them sign the entire document, or I can have them sign a specific section.
05:03So later in this form, when we add information at the bottom for office use only,
05:07we will put it in a separate section.
05:09We'll allow the user to sign some sections of the form and the folks in our
05:13electronic communications office to sign the final section of the form, their own section.
05:19Think about how your data is organized, and then think about how it will be used
05:24and who will use it.
05:25If there are a set of controls that only a subset of your users will need to
05:30use, consider strongly putting them in a section of their own.
Collapse this transcript
Changing data binding
00:00Our form has a couple of sections that we created by using a Section control,
00:04and as always, when we drop a control from our Control gallery directly into the
00:10form, Microsoft InfoPath creates a corresponding data element on the right.
00:16If, for example, we drop a text box here, it will create a field, and it creates
00:25the field inside of group2 because we're in the group2 section of our form.
00:30When we create a section by dropping a Section control in from the Control's
00:35gallery, it creates a group.
00:38The problem is I don't need these new groups and fields.
00:41I have plenty of fields and groups already.
00:43They are here in my data source.
00:45What I need to do is redirect InfoPath so it knows that this section didn't
00:50need a new group, that it's actually a section for the requestor group.
00:55The relationship between this section and this group is called binding.
01:01You can tell when you select a field, for example, what it's bound to, because
01:06you get a small icon here that says here's your binding.
01:10It's bound to field1.
01:12If I click the group1 group in my dataset, it will show me which section control
01:17it's bound to in my form.
01:18So what we're going to do is we are going to change the binding for group1's
01:22section, and we're going to say this section that comes first,
01:25I actually want to use it here with the requestor.
01:28In order to do that, I can either right- click on the control for the section and
01:34choose Change Binding, or I can double-click on the section--notice I am
01:39clicking on the Section tab--to open the Control Tools > Properties Ribbon, and I
01:46can choose Change Binding here in the Properties. Either one works.
01:50Either double-click and choose Change Binding or right-click and choose Change Binding.
01:55This is then a simple matter of saying actually this is hooked to the requestor group.
02:00Sections cannot be bound to fields.
02:03They have to be bound to groups.
02:05I am going to say OK, and now notice that the binding says requestor.
02:11I'm going to select and delete field1, just so I am not confused.
02:16I'm going to select the section, choose Change Binding and I'm going to bind the
02:21second section to posts and say OK.
02:25Notice now where the binding is.
02:27When I choose requestor, it says, this section.
02:29Posts, this section.
02:32This is a great time, right now, to get rid of these extra groups and fields,
02:37because even though we've deleted the field control, the field is still in our data source.
02:44Even though we've changed the binding on the sections, these group nodes that
02:48were created still exist.
02:50So simply select and choose Delete.
02:53You will see a message that says, "Deleting this field or group will affect any
02:57controls in your form template that are bound to it.
03:00Are you sure you want to delete it?"
03:02This is a stock message.
03:04You will see it all the time.
03:06This doesn't mean anything.
03:07There's nothing bound to it yet.
03:09So InfoPath doesn't check first and say, hey, are there any form controls bound to this?
03:14It doesn't bother.
03:15It assumes that you are checking.
03:17So we say yes, we are going to delete it, and the group will simply disappear.
03:21The same thing happens here when we delete this group.
03:24It says, "Deleting this field or group will affect any controls in your form." Yup!
03:29We are sure we want to delete it.
03:30Note that I did not have to delete the field1 field first.
03:35Simply deleting the group got rid of the field control that was contained within it.
03:40This is pretty powerful.
03:41If I accidentally delete this, for example, I'll have a lot of rework to do,
03:46because when I delete fields and groups, there is no undo for this.
03:51So that dialog box opening is a good thing, because at least it gives you chance
03:55to breathe and think a little bit about it.
03:58Now that we know how to bind controls back to our data, you should feel very
04:03comfortable choosing controls from here, from the Controls gallery, and simply
04:08changing their binding, and then deleting any fields or groups that InfoPath has
04:14created because you chose a control from the gallery.
Collapse this transcript
Using text controls
00:00We're back in our Web Post Request InfoPath template that we're designing.
00:05While you were gone, I added more sections to this template.
00:09I assume you did to yours as well.
00:11So here's a section for department info, a section for news, and so on, and all of
00:16these are inside of a large section called posts.
00:20It really works if you click each section, and notice in the data source
00:23what's highlighted.
00:25It should work its way up the form in a way that makes perfect sense to you.
00:29So we have a section that we inserted earlier.
00:31It's for requestor section down below for posts that encompasses all of the rest
00:36of the form all the way up to here.
00:44Now we're going to add our text box controls and our date pickers.
00:49So the first thing that we're going to enter is we're going to enter the email,
00:53name, department information, so on for the requestor.
00:57So first, we'll let the person type their First Name and click where it says Add control.
01:04Now, again our choices are to drag a control over here, and if we do, then we'll
01:10just have some extra space.
01:13I'll show you later in the course how to have InfoPath not do that if you
01:17don't want it to, and we're going to click and do a Last Name and add the Last Name control.
01:27If you don't want to add all of the labels at this time, you don't have to,
01:30because the fact that the field name comes over is very helpful.
01:34So you could just choose now to add, for example, the email and just drag it in
01:40here and wait to enter the label later, because we have that information.
01:44All of these are text box fields.
01:47So if I double-click and choose Control Properties or click the control, right-click,
01:53and choose Text Box Properties because it's a text box, I will get to see all of
01:58the properties that I can set for this control.
02:00Now the fact that this control holds text was actually set over here by the fact
02:07that this field is a text field, or as it's called, a string.
02:12But the text box has properties of its own.
02:15For example, I can put in a default value.
02:19Now, that doesn't make a lot of sense if you put in a first name. What would be
02:23the normal first name, Betty, or Joe, or...hard to know.
02:27But the other choice that we'll make here is we can say I don't want to get one
02:31of these forms where someone hasn't filled in their name.
02:35So we're going to say this cannot be blank.
02:38I'll then move to the Display tab and say I could put click here and type, but
02:43in this form I have light areas where people enter text, and I'm going to have
02:49areas with a shaded background where they can't.
02:52That's actually how Windows works.
02:54People are very used to typing in this box.
02:56For example, you don't need a lot of anything typed in this placeholder to
03:01know that you could type a placeholder here.
03:03So we're going to leave this.
03:04We can enable the spelling checker, but this is a first name.
03:08We might not want to do that.
03:09We also can choose to make this multi- line to limit the number of characters.
03:14Neither of those are appropriate in the case of a first name. And we can set its alignment.
03:19The next tab is Size and this is specifying how this text box control operates,
03:26how large it is, how much space is left around the text--that's what padding
03:32is--what the margins are within it, and then you can align the control and the
03:37label very easily by simply clicking and clicking Align, so that you'll have
03:43these in the same place.
03:44Our table does that for us, and we don't need to do it because we are using the table.
03:49I can finally click on Advanced.
03:51I could offer a screentip here so that when someone points to the control, they
03:56see information about it.
03:57You will only want to do that in one of two ways.
04:01There are people who put a screentip in for every single control in a form.
04:06It's a little bit annoying each time you point to a control to have it pop up,
04:10if it's a form that you use regularly or is very easy to use.
04:14For example, I don't know how much information we would have to give someone for
04:18them to figure out that they type their own first name here.
04:21So I think we'll probably leave that. But you could put a screentip in every control.
04:28What some form developers choose to do is to save screentips for fields where
04:33users would commonly have a question about how to complete it, and only to use
04:37them in a few areas.
04:39We can now go to Browser forms, and we'll be looking at this property later when
04:45we see how to create thin client forms in Microsoft InfoPath.
04:49So between these five tabs, you have really everything you can easily do to
04:55a control, other than formatting it using the traditional font tools and
05:00other formatting tools. Let's click OK.
05:04We're going to require a last name, too.
05:06So I am going to go to the Text Box Properties and say it cannot be blank.
05:12This is an email address.
05:14Likewise, we can look at its Text Box Properties.
05:18I need to be able to get a hold of this person,
05:20so I'm going to say Cannot be blank and choose OK.
05:22That's how you set the properties for text boxes.
05:26Now we also have a couple of other controls that are here in our post section,
05:31the title of the post and the description of the post, and that's what this
05:35part of the form is for.
05:37Let me just do a little bit of cleanup here before I leave.
05:39Let me go ahead and first make sure that I've done my spellcheck on First Name.
05:46Let me add the label Email Address.
05:51Those three controls are fine.
05:52Now, title of a post, description of a post.
05:56So we'll put in an appropriate label, like Post Title, and we're going to use this
06:02later on in our form when we publish it as part of the file name,
06:06so we'll want to provide some additional help with this field.
06:10Let's go ahead and drag Post Title over here, and it will place the default check
06:13box. Delete the extra text that it gives us.
06:18Now let's set some of the properties of this control.
06:21Specifically, it can't be blank because we need to use it for part of the file's
06:26name, but we are also going to actually provide a placeholder here that says,
06:31"This will be used as a file name, so no punctuation, please."
06:43We'll enable the spelling checker. That works fine.
06:47Notice that we see this. However, notice also that if we publish this as a web
06:53form, we will not see any placeholder text that we enter.
06:56So this means that this text will only be shown if someone uses the InfoPath
07:01Filler application to fill this form.
07:04Now we're going to add a description, and we can drag the Post Description field
07:12here, and we have a couple of choices.
07:16We could choose to make this a rich text control, and if we wish to do that, then
07:22the data type over here should be different, because it's only a string.
07:26So we could allow the user to provide formatting, to bold, to underline, and so on.
07:32But when they save it, it's going back to a string control, and that won't work.
07:36So, given that this is a string and we like it the way it is, we really want
07:40somebody just to provide a text description that's relatively brief.
07:45What we'll do is we'll set the properties of this control to allow a couple of other options.
07:51First, we'll say it can't be blank.
07:55But then we'll say that actually the user can enter paragraphs of data.
08:00They could type a paragraph, press Enter, type another paragraph, press Enter,
08:05and so on. And again if this is going to be filled out in the InfoPath Form
08:09Filler, I'll say, "Provide a brief description of your post's content."
08:21So we've now used a text control, a text box control, and we've also used a
08:28multi-line text box control.
08:30What would it be like if we were to use a rich text box control?
08:33Well, if we choose to use a rich text box control, it has slightly
08:37different properties.
08:42In a rich text box control, we have the ability to actually put a scrollbar in,
08:48and so if someone is entering data and they fill up the box we gave them, we can
08:53tell the box to expand to show all text.
08:56That's not going to work over here with our plain text control, our text box.
09:02If we want to provide more space in our text box, we actually have to make
09:07the text box bigger, but with the rich text box, I can say Expand or Show a Scrollbar.
09:14So I could expand it so it will show three or four lines.
09:17I could say scroll automatically, or I could allow it to scroll in both
09:21directions, which users don't typically like very much.
09:25The best choice, if you have the space, is to say Expand to show all text.
09:29One of the biggest distinctions between your plain text box then and your rich
09:34text box is that if you believe your users may type a widely variable amount
09:39of information here--
09:40for example, some might type one paragraph and some might type six--
09:45if you want to easily see it all, you'll want to move to a rich text box
09:50control and allow the control itself to expand to show all of the text that the user entered.
09:58Those are our text box controls. Easy to place in your document. Easy to set
10:02the properties of. Feel free to use them as you will, very broadly, in all of
10:07your InfoPath forms.
Collapse this transcript
Using date pickers
00:01We need to add two different controls to our form that will allow a user to choose a date.
00:07One is a control to capture today's date here.
00:11As we continue to improve this form, we'll actually set a default date, but
00:16right now we simply want the user to choose a date using a control, and we would
00:20like them to do it right here in the form.
00:23We're going to click, and we're going to simply put in 'Today's Date' and add a control.
00:28Let's go ahead and practice how that binding thing worked again.
00:31So let's grab a date picker right here from our Controls gallery, knowing of
00:37course that we're creating a new field, but we'll get rid of it.
00:41Let's bind this to the Today field in our data source.
00:47So right-click > Change Binding, and let's delete this field while we remember to do that.
00:57Now the date picker has lots of different properties.
01:06Here we have the Field name and the Date. We have the Cannot be blank again, but
01:10we can also provide a default value, which we'll do later by saying we actually
01:15wanted to always enter today.
01:18Actually, it's really easy.
01:19Let's do it now as a preview.
01:21I'm going to click this function button fx. Say I want to insert a function and
01:27the function is actually called today.
01:29OK, OK, OK and now this control, when we preview it, will actually show today's value.
01:37It will still allow the user to choose from the list.
01:39Let's see how that looks.
01:41Notice here's today's value built in.
01:44They can still choose from the list.
01:46So again, relentlessly easy. Wll we did was in the Date Picker properties,
01:51changed the default value.
01:53Now we're not going to type a placeholder if we've already supplied a default value.
01:58It doesn't make sense.
01:59The user will figure out a date goes there and besides, the placeholder wouldn't show.
02:04So there's nothing really here for us to change.
02:08Not a lot on these other tabs either.
02:10However, back on the Data tab, there's a button we didn't see earlier for text
02:14boxes, and that's Format.
02:16So we can enter a date however the date picker chooses it and display it using
02:23any of these formats.
02:27If you're creating a form for a web browser, then you want to know that these
02:33date forms that have an asterisk in front of them actually pick up the date
02:37from the operating system if you're using it in an InfoPath Filler client.
02:43But if you're using it on the web, then it will swap in information that calms hear from the form,
02:49information about, for example, do we put the month first or the day first?
02:54That's based on language settings.
02:56Whether it's US English or Czechoslovakian swaps that date around.
03:01If you simply want to store the value of the date, you can choose None, but
03:05there's no reason to do that.
03:06It's nice for your user to be able to see the date.
03:09So I'm going to actually choose a standard date format that's month/day/year and say OK.
03:18Then I'll say OK again.
03:22Now, when a user chooses a date, no matter what date they choose, it will
03:26appear using that format.
03:30We have one more date in our form, and that's the date that says if this is news,
03:35when does it expire?
03:36Remember that this news category asks the user to say, should this go on the
03:40homepage of our company's Internet or intranet?
03:44And if so, is it newsworthy, and for how long?
03:49So let's go down to the news section, and let's add that second control that
03:54has Expiration Date.
04:00Let's add this one by dragging this over here, and if it's a Date field, sure
04:04enough, we'll get a date picker, which is always nice to have.
04:10In this case I actually want to use a different format, because if the user
04:17tells me that it expires on a date, I'd like them to be aware of what day of the week that is.
04:22So, for example, if the user is telling me that this is newsworthy until March
04:2714, I'd like them to know that
04:30that's a Wednesday, so that they can double-check and say oh, no, I didn't mean
04:33that this would expire on a Saturday.
04:35So that's an additional piece of information I'll provide.
04:38I'm not going to mark Cannot be blank right now.
04:41We'll talk more about that later.
04:43I believe that I may have to provide some more space for this, because a
04:47Wednesday in November will take up a little more space.
04:50So I am simply dragging this control over, which is stretching it out, or dragging
04:54the boundary of the cell in the table, which actually doesn't change the control
04:59size, but moves it to the left so that I could make it larger.
05:03Let's now go into Preview, and let's take a look at what we've done with
05:07these two date controls.
05:09Here we have a date that has a default setting.
05:13Here when I choose a date, I get a full set of text, because that's the
05:18format that I chose.
05:20Notice also the asterisks here will let the user know that these fields are required.
05:25If not the first InfoPath form they come across, by the second or third,
05:29they'll figure it out.
05:31Date controls are powerful and easy to use.
Collapse this transcript
Using list boxes and combo boxes
00:00In our requestor group, we have a field that asks the user what department they are in.
00:05If you ask users to enter information with which they're familiar, like
00:09department, it's surprising what a wide range of information you'll get.
00:14For example, you have someone who works in accounting services, and some people
00:18will type 'accounting services' and spell them out. Some people would type
00:23them in with no uppercase letters. Some other people would simply put
00:26accounting. Some would put 'accounting svcs'. Some people would put 'acct' and so on.
00:34With that wide range of entries just for a simple two-word department name, it
00:39makes it really hard to be able to report how many requests for posts did we get
00:45from the accounting department.
00:46If we want to be able to report on a field, it behooves us to make it easy for a
00:51user to choose from a set group of options.
00:54Users like this too because they don't have to wonder what they should put in,
00:58and they are unlikely to make spelling mistakes unless you made them for them.
01:02So we're going to create a list that's going to go here for us to be able to
01:07enter department name.
01:08We have several choices of list boxes that are available in InfoPath 2010.
01:14We have a simple dropdown list that allows the user to choose one item.
01:20We have a multiple selection list box that allows users to put checks in front
01:26of multiple options.
01:28So they could choose a and b. Finally, we have a Combo Box control that
01:33allows the user to choose from a list or enter a selection if it's not on the list already.
01:39The type of list box we choose then depends on how comfortable we are that we've
01:46provided all the choices that users will want.
01:49If we feel there might be choices that we don't include on our list, either
01:53because they're infrequently used or it's information that we're not privy to,
01:58then we'll need to use a combo box, because the Combo Box control allows the
02:02user to enter something we haven't entered.
02:05If on the other hand, we know that we have a closed universe--for example, we
02:09take five credit cards, Visa and MasterCard, American Express, Diners Club, and Discover.
02:16We're not going to take another kind of credit card, even if someone chose it
02:19from a less or typed it in. Then we could use a dropdown list box.
02:24Or we might want to have a user be able to make more than one choice, to say that
02:30I actually work part-time in one department and part of the time in another.
02:34If we have users that are identified with more than one department or want to
02:39split their bill across more than one credit card, then we'll need to allow them
02:43to use this multi-selection, or what's commonly called a multi-pick list box.
02:47Let's begin with a regular dropdown List.
02:50So if I click here where I want my control to go and then click the dropdown
02:54list, once again a new field will be created, and I don't really want one.
02:58This is bound to another field.
03:00So let's go ahead and change the binding here to the requestor's dept,
03:05or department, say OK.
03:06It's always a good habit to delete this field right away, but if not, you
03:11will find them at the end, because they will all be named field, which is nice and easy.
03:15Let's label this field Department.
03:18Now we can go to the Control Tools > Properties and choose Control Properties or
03:23right-click here and choose Drop-Down List Box Properties. And this is one of the
03:29most extensive properties boxes we've seen so far.
03:32So we have different ways that we can fire up choices for this list box.
03:39One way is to enter a list of choices manually, and that's what we'll be doing.
03:43However, if you are developing a form and that list of choices exists
03:48somewhere else--in Excel, in Outlook, on a SharePoint site as a list--don't
03:54start copying that information.
03:56Later in the course, you'll see how you can get choices from an external data source.
04:01Then finally, we could've had someone already fill in some information, and we
04:06want to return to the list of information they provided and say, what's your
04:10first choice out of this list?
04:12That's how we would get choices from fields in this form, and we'll see how to
04:15do that later as well.
04:17But let's assume that this list of choices doesn't exist anywhere, is a
04:21relatively static list, is also a good thing, and
04:24let's go ahead and make our selections.
04:27Now it's traditional in this kind of a list box that the very first item would say Select.
04:32Then we'll add another item.
04:34When I click the Add button, an Add Choice dialog box opens.
04:37I have five departments I am going to enter here.
04:42When I press Enter, notice that the Add button gets focused again.
04:47So if I enter again, it will just open it again, and I can then very quickly enter.
04:51If I make a mistake, I can modify.
04:58I can then really quickly enter each of these items.
05:11With my items in place and in order, I'm ready to click OK. If I wanted to move
05:16these around for any reason, I could select the item I want to move and choose
05:20either Move Up or Move Down.
05:23If the bulk of the people who are filling out this form are in a particular
05:26department, I could choose it and make it the default.
05:30I should then move it to the top of the list and delete the Select choice.
05:35This list should always be in an order that your users understand.
05:39Alphabetical order is best, unless there's a dominant value you want to set
05:43as the default. If this is a numerical list, smallest to largest or largest to smallest.
05:49Because there's already a choice in here, when I say Cannot be blank, it would
05:53seem like it really can't be blank, but it ism because there's no value.
05:57So if I choose Cannot be blank, a user will be forced to choose a department
06:01other than the word Select.
06:03I'm going to go ahead and say that this Cannot be blank.
06:07Let's go back to the Home tab and click Preview to see how this dialog box works then.
06:12There's my list.
06:13A user selects from the list. Seems to work fine.
06:20Now what if instead of a dropdown list, I had a multiple selection List?
06:25Let's go ahead and delete this control and let's place a multiple selection list in.
06:33Notice that we have a longer box because the user will need to click items,
06:37and let's go ahead and see what it looks like to set the properties of this list box.
06:42We're going to enter choices manually again, and we will simply add these items.
06:47I'm going to quickly add them.
06:48So now I have all of my items entered.
06:51I haven't bound the field on this. That's okay.
06:56We can do that later.
06:57What I can do is I can say either that it cannot be blank or that at least one
07:02selection is required.
07:06Cannot be blank is almost the same as at least one selection is required,
07:10except if I have a default value in this case, because it has a value, there is no set default.
07:17It actually acts as if it's not blank to start with.
07:20So I am going to say that the user has to at least choose something.
07:23Notice I also have a choice to allow users to enter custom values.
07:27We'll look at that in a minute. But let's see how this box behaves to begin with.
07:31When I go to preview, the user has the opportunity to select as many things here as they wish.
07:38Notice that there's a scrollbar, but it doesn't scroll much.
07:42Our control is just a little bit too small.
07:45We are going to size it to get rid of that.
07:49Notice that the g at the bottom of marketing is cut off.
07:53I am going to just make this a little bit larger.
07:55Go back to Preview. No scrollbar. Excellent!
08:00Who'd want to scroll in that teeny-tiny box?
08:03What happens if I allow the user to enter other values?
08:09Let's go back to the List Box property, and we'll allow a user to enter
08:12some custom values.
08:14Now when we go into preview, at the bottom, there will be a choice already
08:19checked where the user can enter.
08:22They wouldn't know this was here.
08:24If I'm going to do this, I need to once again make space for it. Very useful!
08:31So now a user can choose as many items as they wish or enter an item that
08:37they want to select.
08:40That's the multiple selection list box.
08:42Our third choice here is a combo box.
08:45A combo box is very similar to a dropdown list and very similar to the
08:51multi-selection List.
08:53Let's see how a combo box works.
08:55In a combo box, I have the choice, as I do in the dropdown list, to choose any one
09:00item. But as with the multi-pick list box, I have the ability to enter an item, to
09:07type an item in that I'd like to have.
09:10So let's go ahead and look at the properties here of our combo box.
09:14You'll find that they're very similar.
09:16I am going to speed-enter all of this information.
09:19I'm actually just typing.
09:22But through the magic of editing, our editors will speed it up.
09:27So here's how this looks.
09:28If I want to force a user choice, I choose Cannot be blank. I'm all set.
09:32I am going to choose OK.
09:35Now let's preview this combo box and see how it looks.
09:37It says Select or type.
09:39It doesn't simply say select.
09:40The user can choose an item or a user can enter an item, either way.
09:47Let's close the preview.
09:48So three different types of list controls: a combo box which allows the user
09:54to choose or enter one thing; a dropdown list which only allows a user to choose one thing,
10:01no typing; and finally, a multiple selection list box, which is the most
10:06permission-giving of all the lists, because a user can not only choose multiple
10:10items, but if you enable the property, they can add an item to the list that
10:14didn't exist already.
Collapse this transcript
Using bulleted and numbered list controls
00:00There are two different types of controls that have the word 'list' associated
00:04with them, the Drop-Down List, Combo Box, and Multiple Selection List controls
00:08that we just looked at that are used to allow user choice.
00:12There are then again three controls called Plain List, Bulleted List, and Numbered List.
00:17These controls are actually a form of the Rich Text Box.
00:22If we place a rich text box on a form, the user can type bulleted lists,
00:27numbered lists, and plain lists in them.
00:29However, sometimes we actually want to make sure that a user provides a numbered list.
00:35For example, list the steps needed to do X. Or, a bulleted list, which makes it
00:41clear that we don't want paragraphs of text.
00:43We want short pieces of text.
00:45The same with the plain list.
00:47So we're providing not just the ability to add rich text, but we are
00:51constraining it to a particular type of list.
00:55I'm going to enter first a Plain List control here.
00:58We are simply going to click where it says Add control and drop in a plain list.
01:05Notice that there's a field associated with it and a group.
01:09You might wonder, why a group?
01:11Because they'll be more than one item that will repeat, and it will go into this group.
01:16We would rename these if we wish, but let's just go preview and see how it looks.
01:20So when I type in the plain list and I type, for example, 'Alabama', and press
01:25Enter, note that it allows me to continue the list, and so on.
01:34Let's close the preview and look at the Bulleted List control.
01:39Once again, when I click the Bulleted List control, InfoPath will create a group
01:45that would be associated with all the items.
01:48So if this was a list of software and inventory, we would rename this
01:52group something like 'inventory', and we would name the individual item
01:58within it 'software'.
02:04Let's see how this works.
02:06So I click in my bulleted list and I type 'Microsoft InfoPath'.
02:15When I press Enter, I get a new line and a new bullet point, 'Adobe Acrobat Pro',
02:24'Microsoft Excel', and so on.
02:28Finally, the numbered list is also going to work in a predictable way and create
02:32fields in a predictable way.
02:34I click where I want the control to go,
02:36click on Numbered List, and again I'll have to name both the group and the field,
02:41but when I click Preview, I will get a list of steps.
02:59Now each of these controls also has some properties.
03:02If we look at the properties of the Plain List, you'll see that it will allow
03:07you to actually have a button that says Insert item.
03:11So you could say 'Insert another list item', for example, and if we look at that
03:17in Preview, you'll see that there's a place for the user to click and continue
03:21entering items. Even without that though, this list box was pretty easy to use.
03:28If we look at the properties of our bulleted list, you'll find that we have a few.
03:36We have the ability to show an insert button and hint text, insert another
03:40bulleted item. But other than that, as with the plain list, not many choices.
03:47Our Numbered List Properties, again we can show an insert button and hint text if we wish.
03:56We can set an initial default value.
03:58Basically, what you would expect and similar to the properties that we see if we
04:03choose the Rich Text Box control.
04:09If you want to allow a user to enter a list, any of these four controls work.
04:15The Rich Text Box control, when a user uses it, they simply click and then
04:21choose that they want to enter, for example, bulleted text.
04:25However, if you want to constrain your user to a particular list, a numbered
04:30list, a bulleted list, or a plain list, then feel free to choose the appropriate
04:35list control here in the Input Controls dropdown.
Collapse this transcript
Using checkboxes
00:00The check box control is used when you want to provide your user with two
00:05different choices: yes or no, true and false, 0 or 1, in or out, checked or unchecked.
00:13Check box controls are really easy to place and are used for this type of field,
00:17which is called a Boolean field.
00:20We have two different places that we need to use a check box in our form right now.
00:24One is the question in the news group of our data sources, is this item news?
00:29By that we mean does it belong on the front page of the Internet or the intranet
00:36site for that day or for a few days?
00:39Does it make it to the news page?
00:41So let's go ahead and place this check box really quickly.
00:44Here is our Check Box control.
00:46So I'm going to enter the label, and I might have to provide some kind of a user tip here.
00:56If I drag isnews and drop it, you'll find that it actually places a check box
01:02because again, this field here has the data type Boolean.
01:06I am simply going to delete the text that's provided, works just fine.
01:13The other place we need to add a control is at the point when we're posting the
01:17file and the user has the option to say, would you create a PDF please?
01:21So I'm going to click here and say 'Create PDF', and then we can either drag, or
01:29I'm going to create this check box here by using the control. And then we know
01:34that we'll need to bind that here, and then we can delete the extra field.
01:44So let's take a look at the properties of a Check Box control.
01:49If I choose Control Properties here on the Control Tools > Properties tab, what
01:54you will find is that in addition to the Field name and the Data type you have
01:58the ability to start this check box off as either checked or unchecked.
02:03So if we preview this right now, the check box is unchecked, and the user
02:11can check, uncheck it.
02:15The other possibility is that I'd like to take this check box and say we'll
02:20start with it checked, and I do that by choosing Checked rather than Cleared.
02:26Here's what we know.
02:27A user is far more likely to check a cleared box than to clear a checked box.
02:35So if I really want to know that the user is choosing something, I'm almost
02:39always going to start with this in a Default state of Cleared.
02:42Even if this means rearranging your question that says you know check if this is
02:48not news, you want to try to get to a point where your default state is Cleared
02:53based on the text that you are providing as a label.
02:57You also can choose how the Cleared and Checked status is stored in the data source.
03:03By default, if the check box is Cleared, the word 'FALSE' is stored and if the
03:08check box is Checked, the word 'TRUE' will be stored.
03:12But you have another set of choices.
03:14You can choose 0 and 1.
03:17Now, although you could say that if it's Cleared, you'd like it to be TRUE, that
03:21is such a bad idea, because many check boxes in other applications don't allow
03:28you to choose the inverse, so just stay away from that.
03:31If it's Cleared, it should either be FALSE or 0.
03:36If it's Checked, it should either be TRUE or 1.
03:40Storing a 1 and a 0 works because if you see a check box and it's checked and it
03:45passes a numeric value to you, just know it will be true.
03:49It should always be true because everybody else should set up their forms the
03:53same way that we are.
03:55The reason you might want to send a 0 or a 1 is you can use that 1 in a calculation.
03:59You could, for example, add together the value of checked check boxes.
04:04I have four check boxes. How many did the user check?
04:07Well, let's add them all up and see.
04:09The reason I might want to use TRUE and FALSE, however, is if I'm publishing
04:14this form to a SharePoint site, or I'm publishing this data out of this form in
04:19others, later on in Excel or in a database in a way that users see this.
04:25If there was a column that at the top said 'news?' users understand the
04:30words TRUE and FALSE.
04:32They don't necessarily understand the value of 0 and 1.
04:36So if you're going to share this data with users later, it's a good idea to
04:41leave TRUE and FALSE;
04:42if you need a calculation, 0 and 1 are nice.
04:45Having set our properties, we're just going to click OK, and any time that we
04:50have something where a 0 or 1, true and false, works, a check box is the great
04:55control to use for that.
04:58One other note about check boxes.
05:00When the user is actually using this form, I cannot tell that they actually read,
05:07"Is this post 'news'," and checked and turned the check box on or off.
05:12What I can infer from this is I can infer that if this isn't checked, one of
05:17two things happened: either it is not news, or they didn't look at this part of the form.
05:23Same thing is true with Create PDF.
05:25If the check box isn't checked, I'll think they don't want a PDF. And later on
05:29when there isn't one posted, they might call and say, hey!
05:32I wanted a PDF and I say you didn't check it. And they say, hmm!
05:35I didn't see it on the form.
05:37It doesn't matter at any cosmic sense whether this post goes on the front page,
05:41or we create a PDF, most of the time. But there are times I absolutely need to
05:47know that a user either checked or chose not to check this check box.
05:52And because I can't know that, there are times that I won't use a check box, but
05:56instead I'll use a dropdown list.
05:59Let me give you an example.
06:01I created a form a couple of years ago for a patient intake center where when
06:06people called in, the person doing intake and referral had to go down a check
06:10list and ask them specific questions.
06:13For example, they needed to ask questions like, "Are you suicidal?" and in that
06:17case, it's not good enough to have a check box that somebody can overlook because
06:23if you forget to ask the question, it's problematic.
06:26This clinic needed to know accurate information about its patients to
06:30make accurate referrals.
06:32In that case, they chose not to use check boxes in their form; instead they
06:37inserted a dropdown list, and in the dropdown list there were three choices:
06:42Select, which was the default, Yes, and No.
06:51When this control then was previewed, I can tell that the user filled it out.
06:58With the check box I wasn't sure, but this is how it looks when it's ignored.
07:04These are the choices when the user actually made a choice.
07:08So check boxes aren't good for every single occasion where there are two
07:12choices, but most of the time they are precisely the correct control to use in a
07:17world of yes/no, true/false, 1/0.
Collapse this transcript
Using option buttons
00:00Just as check boxes are the best control in a universe of only two choices,
00:05option buttons are the best control in a universe of three or four or perhaps
00:10five choices, where a user can only choose one item.
00:14Option buttons then are an alternative to dropdown lists, and option buttons
00:19present clear choices, unambiguous choices, that you can easily see on the form,
00:25so the option buttons give users a choice to kind of rock back and say, which of
00:29those choices do I want?
00:30We are going to create some option buttons here for the posttype.
00:35There are four specific choices that a user has here.
00:39They can say please post only the description that I sent.
00:44The second choice is post a description with a link to a file that I have attached.
00:48The third choice is post this description along with the contents of the file on the page.
00:55And the fourth choice is post this description with a link to somewhere else on the site.
00:59For example, that fourth choice might be I want to post an announcement and
01:04point people back to another section of the site.
01:07So, posttype is going to go right here.
01:12Let's go ahead and drop in option buttons.
01:14It's important that I know that there are four options, because the moment I
01:18choose the option button control, I'm asked how many option buttons there
01:22will be altogether.
01:24Up until now, InfoPath has been fairly forgiving.
01:27If we insert a control and we want to move it, or change our minds about
01:31it, it's pretty easy to modify it, but the number of option buttons is not a property.
01:37When we select four option buttons, it will actually create four of them as a set together.
01:41And it's a little bit more difficult to add another option button, not
01:45impossible, but it's just a little harder.
01:47So, rather than choosing some number randomly, find out how many choices you have first.
01:52Here are my four option buttons and again, they're bound to this new field
01:57that was put in, field3.
01:58But I actually need them to be bound to posttype, so I'm going to right-click
02:03and change their binding.
02:08And I am going to do this four times.
02:24Now, it helps if I just click on each point to them and see, there we go.
02:27They are all bound to the right control.
02:29I can get rid of field3. All good.
02:32I need to enter text, and I have my four choices.
02:38I can either add them in some kind of alphabetical order, although they all
02:42start the same way, or in this case I'm going to put the option that I
02:46believe is the default option at the top, so Description only, and I can just arrow down.
02:54In this case if I press Enter, it actually creates some space, so I don't want to do that.
02:58And Description with link to file, Description with file content, and finally,
03:10Description with URL link.
03:14We'll have to find a way to capture that later, which we'll do.
03:17I'd like to make a little more space for this.
03:19I am simply going to slide this over because we have a lot of room because this
03:22Check Box control doesn't take up much space at all.
03:25Let's now take a look at the properties of option buttons.
03:29You'll note that each option button has a value when it's selected.
03:34This one, for example, is the first option button, and its value is 1.
03:38The second option button's value, not surprisingly, is going to be two, and just
03:43trust me that the next two are going to say three and four.
03:47Now, you might want to use those numbers to do specific actions.
03:51You might, for example, need to use them in a calculation.
03:55But if you don't, you should change these values so that they make sense, when
03:59you do something like see this data with simply a heading at the top.
04:04Because if the heading said posttype and all we stored in terms of data or
04:09passed along was one, two, three or four, somebody at the other end, in the
04:13Office of Electronic Services, needs a little sticky note that tells them
04:16what one means, or two.
04:18And we can so easily go in and simply say that when someone selected one that
04:24they want to have the description only.
04:26And I can even use probably some pretty decent shorthand here because the people
04:31who are reading this know that they're looking for a posttype.
04:34So like this can say Desc/file link, and I'm just going to come up with a
04:44charming description for each one of these that will make some sense downstream:
04:48Desc/file content and then Desc/URL.
04:58If I wanted to put all the text in there, it wouldn't hurt for me to do that.
05:05And I could copy/paste the text from here into here.
05:09Now there's one other property that I have, and that's that one of the buttons
05:13is selected by default.
05:14Let's slide over and preview what this section of our form looks like real quickly.
05:19Right now, no button is selected, and so if I click, it chooses whatever item I
05:26click, and when I choose a different option button, the first one is unselected.
05:32That's how option buttons work.
05:34I can only choose one.
05:35So, let's go ahead and make this very first choice our default.
05:44Change its properties.
05:45This button is selected by default, Description only.
05:49If I apply it, I can actually see it there and say OK.
05:54So a small universe of choices, but a total universe.
05:57These are the four things that we'll do as a result of having received this
06:01particular post information.
06:03I think this looks great.
06:04Don't be afraid to use option buttons any time you have three or more options.
06:09If you only have two options, then the choices should more likely be a check
06:14box or a dropdown list.
Collapse this transcript
Changing the control type
00:00As you're placing controls on your form and testing your form, having other
00:04users look at it, you might decide that you need to change the type of one of
00:08the controls on your form.
00:09For example, we have here a dropdown list control and we might decide that we
00:15want to change that control to something else.
00:17For example, we might want to change that to a plain text box--here we go--or
00:23we can take our text box and we could change that control to be a combo box, or
00:30change the control to be a regular list box that's larger that they will multi-pick from.
00:35So simply right-click on a control, choose Change Control, and you'll see all
00:40of the possible controls that you could use for this type of data that's
00:46stored in this control.
00:48I can tell that I'm actually looking at a text control here because all of the
00:52choices are choices that store text in one way or another.
00:57Let's take a look then at this control that currently is a place that users
01:02would type in the description.
01:04I'd like them to be able to format this text.
01:07So let's go ahead and change this if we can to a rich text box, and we'll
01:12find that we can't.
01:14The reason is that even if a user enters rich text here, I can't store it here
01:20because this is a string field in my data source.
01:24So in order to change this to a rich text control, I actually have to change the
01:29data source as well.
01:30Let's go ahead and do that.
01:32Let's change its Properties and say you know we would like people to be able to
01:36enter rich text here.
01:39When I say OK, the form control tells me, "I have a problem.
01:45I'm only a simple text box.
01:48I don't know how to let people type rich text."
01:51That's easy then because we're going to right-click,
01:54change the control to a rich text box.
01:58If we chose More Details, we could actually get some information.
02:01It says it can't store data because it's bound to a field with the data type
02:06that doesn't match the control.
02:08So right-click, change control to a rich text box and once again, the binding
02:14works, and everything is fine.
02:16Anytime you want to change an existing control, simply right-click, choose
02:19Change Control, and you'll see the options that are available.
02:23If you need to have a different type of control, you may need to change your
02:27data source in order to be able to support it.
Collapse this transcript
6. Setting Options and Formatting Controls
Formatting labels
00:00If you want to change the entire look and feel of your form, don't begin by
00:04using the formatting tools; begin instead by switching over to Page Design and
00:09choosing a different theme.
00:11But if you like the theme and simply want to make adjustments in some of your
00:15labels, here's how you can think about doing it.
00:17For example, in the center of my form I have two items that I have a
00:23backshading on them so that they'll stand out.
00:26This is actually the most important information in this part of the form that
00:29says what the post title is and the post description. I want it to jump out
00:33for the person who ultimately needs to fill out information and create a post
00:37based on this form.
00:39But one result of that shading is that these two labels don't really stand out very much.
00:44So I'm going to switch over to the Home tab, and I'm going to choose a darker
00:50color for these labels, so they will better stand out against the background.
00:54Here are my Theme Colors, and here they are at 90%, 75%, and so on, lightening.
01:01I'm going to simply grab a darker brown, and those already look better.
01:07At the top, I have a placeholder for some information that will be provided by
01:12the staff about this form.
01:14So I'd like to have this descriptive text-- not label text but form descriptive text--
01:20have a different font than anything else in the form.
01:23Throughout this form, Calibri is used generously.
01:26It's used in my titles.
01:27It's used every place else.
01:28So by simply switching to another font, I can make this text look different than
01:35anything else on the form, without putting it in a box or changing it to a
01:39dramatically different color.
01:41So let's go find a font that looks good with Calibri. And you might wonder, how would I know?
01:47Well, there's nothing in InfoPath to tell you, but you can rely on the
01:52experience that you already have in other Office applications, like Word, Excel,
01:57and PowerPoint, that have themes that are created using two fonts.
02:02So if you'll recall, the font that is most frequently used with Calibri is the
02:07font Cambria, and I can find it down on the list, under the Cs.
02:12Another good choice that's a little bit more decorative, it's just a little bit
02:17further down the list, and it's a font called Constantia--again more decorative,
02:21more for headings than for text you want someone to read.
02:26So I'm going to choose Cambria here. Cambria, Calibri, Constantia, Consolas,
02:32all of these fonts were actually created for the latest version of office as
02:36highly readable fonts.
02:39So when I click, you'll notice that even though this is a serif font, it's easier
02:43to read than Times New Roman.
02:45It stands out and looks different, and then one more thing I can do is change
02:49its color so that it doesn't look like a label anymore.
02:53So when I replace this with the text from the electronic communication step, I can
02:57expect that this is going to look good and still looks resonant with the form.
03:02You have the ability to bold, italicize, and underline text.
03:07You don't want to highlight text in a form.
03:09This is a tool that you will most use as you're going through the form to note
03:13changes that you need to make.
03:15It's an invaluable tool while you're in Design mode.
03:18It's not the way you would like to mark text for use later.
03:22If you decide that you would like to bold required fields--that's something that
03:27some designers do--you can bold this one.
03:30Then I can use the Format Painter and bold other fields in the same way,
03:35double-click to make it stay on, and click again to turn it off.
03:48So using the tools that you already know how to use from Microsoft Word or other
03:53Office applications, you can easily format the labels in your form here in
03:58InfoPath Designer 2010.
Collapse this transcript
Formatting controls
00:00In the last movie, we used tools in the Format Text Group on the Home tab to be
00:05able to format labels in our form--
00:08first name, this descriptive text-- but when we want to format controls, there is
00:14a much better way than through the use of the Format Text tools.
00:19Let's first take a look at how we could change the entire look and feel of the
00:23form--and a reminder that you do that over here in Themes,
00:26that changing themes changes not only colors, but fonts.
00:30But let's say that we wanted to change all of the fonts in our text boxes here.
00:35On that same Page Design tab, you'll see a group that's called Views.
00:39In the Views group, you have the ability to change a lot of the properties of a view.
00:43We haven't talked about views yet.
00:46We will talk about them later in the course. But a short description is that a
00:50view is one version of a form that works with this data set.
00:54So we could create yet another form that only included this part of our data and
01:01save it in the same template,
01:02the idea being that different users might have needs for different views.
01:06We only have one view right now, and so for our purposes, we could think of the
01:12view as what we see here on the screen, the form that we're creating, to allow a
01:18user to enter data into these fields.
01:21I'm going to click Properties to open the View Properties dialog box and then
01:25click the Text Settings tab, and what you'll see on the left is a list of
01:29controls that can contain text and that you can set properties for.
01:34So, for example, here's all the Text Box controls in the form.
01:39Here's our Rich Text Box control, here are our date pickers, our single dropdown
01:45list box, our one combo box, and so on.
01:48So if I want to change the font for all of the text boxes in my form at one
01:53time, I'm simply going to slide up here, and we're going to choose Cambria just
01:57so we can see it, and say OK.
02:02Let's go Home, click the Preview button, and when I start typing in this form, it's
02:07Cambria. So is the next text box, and the next one.
02:14Today's date, on the other hand, is not a text box.
02:17It's a date picker. And so it still uses Calibri. And if I wasn't sure, I can click
02:21in it and read it up here in the Font group in the InfoPath Filler.
02:26Likewise, this list, which is a combo box, is still Calibri as well, but every
02:34single text box is now using Cambria.
02:38I won't want to leave the form that way, but you understand how that works.
02:43I want to give you a caveat here.
02:45If you've already gone in and formatted a text box individually, when you switch
02:51them from Calibri to Cambria, it may not actually change.
02:55So if I change this text box, for example, to Bookman Old Style and I do it with
03:01the tools here in the Format Text group, that local change will usually override
03:08a global change that I make my using the Text Settings for the view properties.
03:13Not always, but most of the time, the changes that I make here override those
03:18more global changes.
03:19Therefore, you really don't want to be formatting here unless there is a
03:24really good reason to.
03:25For example, this might be the most important piece of text in this entire form,
03:32and because of that, we might say, no matter what else we do, we want the
03:35contents of this control to be bold, so we bold it.
03:39That makes perfect sense.
03:41Let's go back now to Page Design, View Properties, Text Settings.
03:47If you wanted to change then all the control types, you'd simply slide one to the
03:51next, and you change them in whatever way you want to.
03:54If you wanted our date picker to be Calibri or Cambria, you would change it here as well.
04:00I'm going to change our text boxes back to Calibri and say OK.
04:11Now when we go back into Preview and I type, we are all back in Calibri.
04:19The single change I made to the field post title to make it bold has been
04:23discarded as I switched back from Cambria bold to Calibri without bold.
04:29If I want to do specific kinds of formatting to individual fields, I should make
04:34sure that I've made all the changes I'm going to make to my Text Settings at my
04:39properties level, and then go back and simply bold that single field.
04:45So that's how we format control groups and individual controls in
04:48InfoPath Designer.
Collapse this transcript
Catching incorrect or missing data
00:00We're creating this form because we would like to collect really good
00:04information from users, and good in this sense means valid and accurate and complete.
00:09We make it easier for a user to give us really good data by providing some kind
00:13of structured feedback when they give us data that we think might be wrong.
00:18There's a notion about how data is collected called source data capture, and in
00:23a nutshell what that means is that the closer you get to the owner of data, the
00:29more likely you are to get correct data.
00:31If you type in my street address and you get it wrong, you might not even know it.
00:36But if I type it in, I'm likely to notice.
00:39We're going to use validation in our form to help our user provide information.
00:45When we created our data source, we noted that some kinds of information cannot be blank.
00:51For example, the email address is required. The first name of the user is
00:57required, and this was set at the Field level.
01:00But we also see it out here at the control level because when we look at
01:03the properties of the text box, it knows it can't be blank because the field is required.
01:09This kind of validation cannot be blank.
01:11It will be checked at the very end of the user completing this form when they
01:17get ready to submit it, and not before then.
01:20So, missing information, totally gone information, gets caught at the end of the process.
01:26However, incomplete information or incorrect information we can catch ahead of time.
01:33Let's look, for example, at Email Address.
01:36In many organizations, users get used to entering part of their email address,
01:40simply their username and leaving off the @ symbol in their domain, but we'd
01:45like to have complete email addresses.
01:47On either the Home tab in the Add Rule gallery or in the Control Tools >
01:54Properties ribbon in the Add Rule gallery, let's click and take a look at the
01:59rules for Email addresses.
02:02If what a user enters here is blank then at the very end of the form, InfoPath
02:07will tell them, hey! You're missing some data.
02:09But if they enter partial data here, we can give them some kind of an error message.
02:15Now, this kind of formatting is simply used to mark up text so that someone can
02:19go back and look for the correct data.
02:22Think of a person who spends their evening entering information off of paper
02:26forms into a computer.
02:27If we flag information we formatted is good or bad, then later on someone can
02:32print it out and say go back and every place that the information is marked as bad, go fix it.
02:37We want to do something a little more strenuous.
02:40So, we're going to use these two types of actions.
02:43We are going to either show a validation error or ideally, we'll show a message.
02:49When we show a validation error, what we're doing is we're saying that when a
02:53user enters data in the form and just enters part of their information, that
03:00we'll get this nice bright red border around it that at least might give the user
03:05pause. And they might think, hmm, when I type my name up here, I don't get that,
03:10so what's wrong with my email address, and they might even figure it out.
03:14So, this provides at least some feedback and makes it really easy when this form
03:19is printed to tell that there's a problem with some of the data, but there's
03:22actually a better way that we can flag this for them.
03:25So I am going to go to the Rules pane that opened as soon as I added a rule.
03:30I'm going to delete that rule I just created, and I'm going to add a new rule.
03:36You can click the New dropdown and start here.
03:38You can walk step by step through this process, but we have these built-in
03:42templates up here under Add Rule that are so much easier to use in InfoPath 2010.
03:47So, when I choose Is Not an Email Address then I can choose to show a message.
03:52There are a number of actions you can select from here, but those are for
03:56different kinds of rules.
03:58We are simply going to show a message.
03:59We will look at some of those others later. And type the text of the message you
04:03would want our users to see,
04:05a message that gives them enough information that they know what the correct action is.
04:09A message that simply says, "you made a mistake,"
04:11might feel good for you, but is not much help for them.
04:14So, "You must enter a complete email address.
04:16Here is an example."
04:18That's a good message. I'll say OK.
04:21Now let's preview this and see how it behaves.
04:24Again, when a user simply leaves a field blank it doesn't matter, but when
04:28a user enters partial information, there is that message box that we just constructed.
04:34It will have at the top the name of the form and it will say, "You must enter a
04:39complete email address."
04:40We've already moved on to the next field because we caught that error tabbing
04:44out of this field into Today's Date, but it's not hard for the user to just
04:49click back here and say, oh, I think I know what this does.
04:53Now, notice that's not a complete email address either.
04:56It will keep punching at them until they get it right.
04:58It's not actually looking for an email address;
05:01it's looking for the form of an email address.
05:04Some text @ some more text, dot, and some kind of a domain, a short piece of text afterwards.
05:12So, I don't know that this is a valid email address.
05:14It's certainly not mine, but it looks like an email address, and therefore
05:19Microsoft InfoPath says, good enough.
05:21It's got the right form.
05:24So, we have a rule that's a good rule.
05:26Let's go ahead and rename it.
05:27You can rename it here.
05:28This is my Email invalid and that box that we saw is actually called a message box.
05:35So Email invalid MsgBox.
05:36As soon as I tab anywhere else, it changes the name here.
05:41You can manage all of the rules that you have within your entire form in one place.
05:46So, it's helpful for you to have a naming convention.
05:48This once says, I am going to tell you where you found it, what went wrong, and
05:53what I did, or where you found it, what the condition is, and what my action is.
05:57You don't want to simply leave Rule 1, Rule 2, and so on, or you'll need sticky
06:01notes to know what it is that you're doing.
06:03We can create that kind of a rule in any text field.
06:08So, if we go to another text field and we take a look at a rule, we have rules
06:12for if they are blank, but I'll warn you that if you use the Is Blank rule, it
06:16won't be checked until the end.
06:19But if it's equal to something, if it contains some text, or it doesn't contain
06:23some, we can flag that.
06:26Let's take a look at what happens when we want to apply a rule to a date.
06:30Remember the context of this form.
06:32We're asking somebody, is this thing you want me to post newsworthy, and if so,
06:36until when? What's the expiration date?
06:39It would then make sense that the expiration date had always better be in the
06:43future because we haven't posted this yet.
06:45If it's already expired, there's no reason for the request.
06:49So, let's go ahead and add a rule to the Expiration Date.
06:52Notice that we get a different set of choices.
06:55We're in a date picker and we get date-relevant choices.
06:58If the expiration date is in the past, that would be wrong, so let's show a message.
07:04And it can be as simple as, "Please choose an expiration date at least 5 days in the future."
07:15Now, it will actually let them choose one one day in the future, but since we have
07:18their attention, we can shape this a little bit for them.
07:22And now let's go ahead into Preview and test that control.
07:26Let's choose an expiration date in the past.
07:31Let's choose today. At least 5 days in the future.
07:36So, let's close our preview.
07:38That's a pretty good rule.
07:40If we wanted to change it, we can actually click, and it says when this is less
07:45than today and not blank, we could say well, if it's less than or equal to
07:50today, and that would mean that if someone shows today, it would also give them
07:54that same error message.
07:55There is our today. If it's less than or equal to today. Let's preview it.
08:13So, if I choose next week, it's fine;
08:16if I choose in the past, it's not; and I if I would simply choose today, it's not.
08:24That works. So, this is for my expiry date, which is the fields name NewsExpiry invalid MsgBox.
08:36It looks good. Tab and go somewhere else.
08:39These rules are very powerful. Any place that you have a business rule that you
08:43want to create about data,
08:45if you're creating a form where people type how many hours they worked in a day,
08:49if they're not allowed to work more than 12 then if it's the number is greater
08:52than 12, give them a message, if the email address is incomplete, if the date is
08:57in the past when it should be in the future, or in the future when it should be
09:01in the past, as with an expense report.
09:04However you use rules, remember that rules are constrained to the control in
09:09which you built them and that they're checked when a user tabs out of the
09:13control when you're all done.
09:15To see all of your rules, you can choose to manage rules to open the task pane
09:20and take a look at different controls. And as you click on them, if there is a
09:24rule in that control, it will show up here in the Manage Rules task pane.
Collapse this transcript
Using rules for conditional formatting
00:00One of the things that makes a form easy to use for our users is to ensure that
00:05we don't ask them for information that they don't need to provide.
00:09An example here is that if the user tells us that this post is actually news
00:15then they need to provide an expiration date for the news: a week from now, or
00:19month from now. But if it's not news, we don't need an expiration date.
00:24I've added a text field for another possibility.
00:28If the user chooses one of our first three option buttons, then we have all the
00:32information that we need. But if they want a description with a link to
00:37somewhere else on the site, a different URL, then they're going to need to
00:41provide us with the information to get to that page, or to that specific place.
00:47However, if they choose the first three choices, we don't need to have them do anything here.
00:54So let's take a look at how we can use some formatting rules to be able to turn
00:59off the option to provide us with information.
01:03I'm going to choose Expiration Date, our newsexpiry control, and choose to Manage Rules.
01:10I'm choosing that because the kind of rule I want to create here, these are all
01:14specific formatting rules or specific action rules.
01:17I actually want to create my own custom rule.
01:20So with this control selected, I'll choose Manage Rules, and we're going to create
01:25a new rule for formatting.
01:28In this rule, what we want to do is have a check and see, what's the status of
01:34the isnews check box?
01:36That's a condition.
01:38So if the isnews check box is equal to-- and this is a good time to know that on
01:44is true and off is false--
01:46so if it's equal to false, that's the condition. So it's not news.
01:51If that's the case, then what we're going to do is turn this control off.
01:55Now I can't hide it, because it's a datepicker. That would be my first choice
02:00if it was a text box.
02:01I can't hide it, but I can turn it off, so that the user won't be able to type
02:05in it, and therefore really won't try to type in it.
02:08I'm going to name this NewsExpiry turn off, and there is my rule.
02:16Let's go ahead and test it.
02:20So right now it's turned off. I can't even click in it, but when I do click it
02:26and tab, I can use it.
02:28I turn off the check box. I can't use it.
02:32I do tab to it; it's still in the tab order.
02:34But you'll notice that if I'm here, turn this off and tab once, I will end up
02:39here, then here on my second tab, and then here on my third. But most users are
02:45familiar with forms that work this way, and they won't try to put anything here
02:49if they can't. I'm going to close the preview.
02:52Let's now tell this text box that we'd like it to be hidden, unless it's needed.
02:59It helps for us to remember what these fields are before we start this process.
03:03So we're in the posttype field, the fourth option button control.
03:09Let's open its properties, and notice that this is its name.
03:13So I'm going to go ahead and copy that.
03:16I can right-click and nothing happens, no context menu. But Windows
03:20will override that.
03:21If I hold Ctrl and hit C, I can still copy that, so I am going to say OK.
03:25Now, choosing the field that we want to hide, or to turn off, I'm going to choose
03:31New > Formatting and say that the Condition here is when posttype is equal to,
03:41and it says, what do you want to type?
03:43And I say, oh, text.
03:45And then I'm going to hold Ctrl and hit V to paste in our text--that's V as in victory.
03:51Here is my text.
03:53So when that's true, I'd like to hide this control, totally.
03:57Let's go ahead and preview this, and you'll actually see that it works, but it's
04:08backwards. The control goes away when I want it.
04:10So how would I fix that?
04:12I would go back to mycondition and say actually, when it's not equal to that, hide it.
04:18So when posttype is not equal to Desc_URL.
04:22Now, preview it again.
04:26So one selected, two, my third choice, my fourth, ah! There we go.
04:32Now I could also choose to mark this control as disabled, rather than hide it.
04:37And the compelling reason that I might is first, as I click in here, that when this
04:43control is added InfoPath actually moves my footer a little bit, which makes it
04:49look a little jumpy. And the other thing is I only have these two fields so far,
04:55that if they're not needed, I can see this one, but I'm not able to type in it.
05:00It would kind to be great if this one behaved in exactly the same way.
05:04So let's go back and change what we're doing with this control, and say, you
05:07know, if we don't need it, simply make it not enabled.
05:13And so I'm going to call this PostURLlink turn off, and tab out of this control.
05:26That's how you create rules for formatting.
05:28The ability to hide or disable controls are one of the major reasons that I use
05:34formatting rules, but I want to remind you that there are other reasons.
05:37You could choose that if someone entered a particular value that you would put a
05:42backfill on a control, that you would bold a control, or that you would change
05:46the color of the font.
05:48It's a fairly limited control set, but there are times that you would like to
05:52highlight the kind of value someone enters, or hide, or turn off, disable a
05:57control that's not available to them.
05:59And we'll do all of this by creating new rules that are formatting rules
06:04in InfoPath Designer.
Collapse this transcript
7. Using Tables and Sections for Repeating Data
Using repeating tables
00:00There are several types of data in our form that might appear more than once, if we allow it.
00:06Let me give you an example.
00:08The post that the user sends in might have more than one category that it
00:13could be attached to.
00:14For example, it might be about travel and tourism, or it might be about
00:20festivals and travel, that kind of thing.
00:22So this postcategories, we could choose to allow them to enter categories in a
00:28Multi-Select list, but we actually want information about each category.
00:33So it's more than just one control.
00:35We have three data fields here.
00:38Fortunately, InfoPath has controls that repeat, both repeating tables and
00:44repeating sections, and they are incredibly powerful to use.
00:48We have to start, however, not out in the view of the form, but in the data
00:53itself, in the data source.
00:55I'm going to go to postcategories, and I'm going to open the properties for the
01:00postcategories group.
01:03In order to allow the form to use the repeating controls--a repeating table,
01:09a repeating section--I have to actually say that this data repeats in the data source.
01:14So by checking the Repeating check box, you'll see that there is a little blue
01:19dropdown arrow that's placed on the group, and it says it's repeating.
01:24This is different than saying the fields repeat.
01:27What I'm saying is the whole group, all three fields, repeat.
01:31If I'd said, for example, that only postcategory repeated, it wouldn't allow me
01:36to repeat the notes in isprimary.
01:39Now, I want to create either a repeating table or a repeating section and really,
01:44this depends on layout.
01:46I only have three fields, so they should fit really neatly across the width of
01:52my form, and that tells me that a table would be a good way to do this.
01:56I have several choices.
01:57I will not go up here and insert a repeating table, or a repeating section, even
02:03though those containers exist here on my list, because then I'll have to do a
02:08lot of binding, not just to one thing, but to several.
02:12Instead, my choices are to drag and drop out of the data source and into my Form
02:19view, and I'll be asked, do I want to create a Repeating Table, a Repeating
02:24Section with Controls, a Repeating Section without Controls, a Horizontal
02:29Repeating Table--a bad idea for this data--and so on.
02:33So let's look first and see what the Repeating Section with Controls would look like.
02:38Here is my section, here are my controls, and I can then arrange those and label
02:44those however I wish.
02:45I begin by putting in some kind of a table. But what we're going to do instead
02:51is we're going to insert the Repeating Table.
02:54So I will undo this change, and because my data fits, I can drag this repeating
03:00table, or I can right-click.
03:02Notice that my insertion point is in the proper place out in the form, and I can
03:06simply choose Repeating Table and it will be inserted at my insertion point. So, check it out.
03:15There is my postcategory textbox, my postcategorynote, and a check box for this
03:22Boolean field, is it primary.
03:25All I need to do now is apply some headers.
03:28So, I could type in 'Category', tab, and type in 'Notes'. Or in this case, what
03:35we really want to know is the reason, and then I can ask is this the primary category?
03:43I hate to give up that much room for a check box. I would try to spend a lot of
03:47time thinking if I could make that shorter, because there is my edge.
03:52And I'd like this Reason check box to provide enough space for people.
03:56Let's right-click on it, go into the Text Box Properties, and make sure on the
04:00display that I allow it to be multi-line, and to wrap the text, and to have this
04:05text box expand to show all the text.
04:08I don't want them to write a novel though, so I'm going to take away the
04:11paragraph breaks, which will allow them, the first time they try to press Enter,
04:15it won't--it's kind of self-limiting.
04:19I could place a placeholder here that says, "Why do you think this category is appropriate?"
04:32That fits nicely.
04:33There is my repeating table.
04:35Let's go see what it looks like.
04:38So when the user tabs into this, they can't enter their first category,
04:43Travel, enter some data, tab, and say that's the primary category.
04:48Now, if they tab again, they will tab out of this table. But if they
04:52click Insert item, more text, now this will let them check more than one primary category.
05:01If I want them to check only one, I could put Primary Category, in
05:05parentheses, one only.
05:07I could provide some text to help the user understand that here, particularly if
05:13I want to provide text for this entire table.
05:16But each time they insert a new item, they will get a new row.
05:20Let's go back and see what the settings are that we can provide for this table,
05:25because there are some things that we can do with this.
05:28To choose the repeating table, I click the Repeating Table tab here, and again
05:33this is a kind of a control that holds controls. It's a container.
05:37I'm going to right-click and choose the Repeating Table Properties.
05:41One of the choices that I have here is that I can provide default values. I can
05:46make sure that the binding is correct.
05:48Again, if I change binding, I'm going to get to choose a group to bind it to.
05:54So there is a special dialog for that.
05:58But I will often, in my repeating table, change that button that says Show insert
06:03button and hint text, and I will simply say something like, "Click to add another
06:10row," or in this case, "Click to add another category."
06:13With a table, if you say row, because it looks like Excel, people will get it,
06:17but you could also say 'another category' if you wish.
06:21Now, when the user is using this table, they actually have the ability--there is
06:27my Click to add another category--to go back and choose one, and to say I'd like
06:32to remove one or insert one before so they're in a particular order.
06:36Notice that the name that's getting picked up here though, is the group
06:40name, postcategories.
06:42This isn't very friendly to the user.
06:44Let's go back to the properties of the repeating table and change that
06:48text, because we don't think they need to care that we've called this field
06:53group postcategories.
06:55They're simply seeing the word 'category'.
06:57So let's go back to the Repeating Table Properties and customize the commands
07:02that are used there.
07:03The first is to insert.
07:05So I could say, "Insert another category," or "Insert category," Insert Above, "Insert
07:18category before," Insert Below would be "Insert category after," and then Remove
07:25would be "Remove this category."
07:29If I want to allow the power of dump the whole table, I would choose Remove All,
07:34and then it would be "Remove All categories."
07:36That's off by default.
07:39Let's go back to Preview and see how it works.
07:42I click here to add another category.
07:45When I select a category, I can insert one before, after, or remove this one,
07:50or move this one down.
07:52That's how you create a repeating table and modify its properties, so that
07:57you can have repeating data in your form without leaving empty rows
08:01available for it.
Collapse this transcript
Using repeating sections
00:00Repeating sections are a lot like repeating tables.
00:03If we want to repeat a section, first we need to make sure that we've gone into
00:08our data source and said
00:09this group of controls is going to repeat.
00:12Then we can come in to our form and either place a section with or without
00:16controls, or we can take a section that's already there, remove it, and replace
00:21it with a repeating section.
00:23This is a little more difficult than when we simply took a table that didn't
00:28exist already and created it in the form.
00:31This was easy. We simply right-clicked and said give us a Repeating Table.
00:35We could have also said give us a Repeating Section with Controls, and so on.
00:40We're actually going to take two sections of this form that exist already and
00:44replace them with repeating sections.
00:46It's like that trick where you have all of the glasses and china on the table
00:50and you pull the tablecloth off without moving the glasses and the china.
00:54That's what we're going to try to do here.
00:57The two sections that repeat. One is the section on the file that's going to be posted.
01:03It sits right down here, and we could actually have a user attach more than one file.
01:10So we want to be able to take that section right here and repeat it.
01:15It already has contents.
01:17If I simply change this section from a regular section to a repeating section,
01:25when I do that, all of these controls will be gone.
01:29So my process looks like this.
01:31First change the data source;
01:33then copy the controls, because there is nothing wrong with them; change the
01:39section to a repeating section; and then paste my copied controls back in.
01:44Let's see how it works.
01:45We'll start here with our postfile group, change its properties to say that
01:52this is a repeating group.
01:53As soon as I say OK, of course, we'll get a binding error that comes back from
01:59the section control.
02:00It says, hey, that's a repeating data group.
02:02I'm a non-repeating section, and I'm going to have a problem.
02:06So, what we can do now is we can copy the contents here, all of our controls.
02:11You can hold Shift and use your arrow keys to make sure that you get everything.
02:17You don't want the whole section because the section itself is going away; you
02:22only want the controls on the table.
02:25So select here and either drag or Shift and then click again or use the arrow
02:31keys, but make sure that you've got that whole control set.
02:35You can cut them or copy them. In a moment, it's not going to matter.
02:38So I'm going to copy this table and its controls.
02:43I'm then going to click on the Section tab, right-click, change the control to a
02:49repeating section, and when I do, as I promised, all the controls are gone.
02:55In my repeating section though, the section is selected.
02:59I am going to hit the Right Arrow key, the Left Arrow key.
03:02I'm still in my control.
03:03This all looks good.
03:05Now I'm going to paste. Hold Ctrl and hit V, or you can Paste up here if you wish.
03:12There are my controls in my repeating section.
03:15If you miss on this, if it pastes above or below, don't worry about it.
03:19Just undo and click, so you're back in your repeating section.
03:22Now if you notice, if I choose one of my fields over here, it's still connected.
03:29As soon as I pasted this section of controls back in, they immediately latched back on.
03:35The issue wasn't with my option button controls or my check box control; the
03:40issue I was having was with my section container control.
03:45Now we're going to do something really edgy, because the other thing that we
03:48found out that can repeat, as we've gone along and been working on this form,
03:53is most of the form.
03:55In other words, we can have more than one post that's sent over at one time.
04:01This might boggle your mind a little bit because we have a natural tendency to
04:06think that a form is 8 1/2 x 11, but there is no need for a form to have a limited
04:12size, unless our primary use of it is to print.
04:15If we're simply collecting user information and viewing it electronically, we
04:19don't really care that this form is a little bit longer.
04:22So if a user has two or three things they need to send us at one time, we could
04:27actually make it easy by putting multiple posts here in this one form.
04:32If we were to do that, let's take a look at how we would do it.
04:36It's the same process. The first thing we would do is we would go over here to
04:40posts and we would say, well, this whole section can repeat.
04:44The fact that it has repeating sections in it, not a problem.
04:48So let's change its properties, say this entire group of fields can repeat,
04:54including all of the subgroups, and say OK.
04:58And not surprisingly, as soon as we do, what we see is that this section
05:03container can't hold repeating data.
05:06Now, we need to choose our entire set of controls, and they start down here.
05:11This repeating section is one of our controls.
05:14So again, you can do Shift and hold your arrow keys down and select
05:19everything you need.
05:20You can hold Shift, click Shift. Whatever you do we want everything from post to
05:24the bottom, and we're going to copy that.
05:30Now let's go to our section control and make sure it's the right one.
05:33It's this one linked here.
05:36If I select it there, you'll see it's selected down here.
05:39Right-click. Change the control to a repeating section.
05:43If all you see when you choose this is Repeating Table, you're probably in the
05:47wrong place, because a section should always offer you the ability to change to
05:52another section type.
05:54I'm going to choose Repeating Section, and as soon as I do, most of my form
05:57disappears. And I could be truly miserable right now if I hadn't copied all of
06:02those controls, tables, sections, and so on.
06:05I'm going to hit the right arrow and the left arrow, which is going to light up
06:08the entire section, and I'm going to paste my information back in here.
06:14And there are all of my controls back again, and they should all be properly bound.
06:19If I click posttitle, postdescription, postURL I haven't placed a control for
06:25yet, there are my categories, and so on.
06:28So I'm going to check each and every one of these, just because it's a good thing
06:32to do, but that worked really nicely.
06:35So now in my form, I have several repeating tables and repeating sections.
06:40Let's see quickly how that works.
06:42I am going to click on Preview and look at. All of this, one long post.
06:47So, if I want to Insert another post, insert posts before, after, there is
06:53another post. And when I scroll my form now, I'll see that entire post form there twice.
06:58I can do some cleanup by going back into the properties of the section itself at the bottom,
07:05my second repeating section, which is posts. As your form gets more complex, you
07:10spend more time making sure that what you've clicked down here in the Form view
07:13is the same as your data source.
07:15I am going to right-click, choose my Properties, and I could say I want to
07:20"Insert another post."
07:23I'd like that clarity in my preview.
07:26Otherwise, I'm feeling pretty good, and down here, Insert another item,
07:31this is insert another set of instructions and another file.
07:35So let's fix that repeating section as well.
07:38Right-click and say, "Insert another file and/or instructions."
07:45I have the whole width of the form for these, so there is no point in my being
07:48brief, when it would be more helpful to the user if I was clear.
07:52Let's scroll down to the bottom of the form and make sure that we can see what
07:55those things are going to do.
07:57This link is going to set a new Instructions and File. That worked.
08:02This, another entire Post section. Amazing! Fabulous form!
08:08So this is how we're going to use repeating sections and repeating tables in our form.
08:13In the next movie, we'll look at optional sections.
Collapse this transcript
Using optional sections
00:00Another type of specialized container that you can add is a container for
00:05an optional section, a set of controls that we don't normally need but we might need.
00:11So rather than create a separate form for them, or rather than have them appear
00:16in the form when they're rarely used, we allow the user either to insert or
00:21delete the set of controls.
00:23We have another piece of functionality that we want to add to our form, and
00:26this isn't unusual. You have a form. It's working.
00:30People are using it and somebody else says, "Ah, let's grab another type of
00:35request here because it would be easier than getting users to use a form they
00:39are not already used to using."
00:41So the functionality that we are going to add is to allow the users also to say
00:47that this post is actually going to create the need for an entirely new content
00:53area, in other words a new section of our Internet site, or intranet site.
00:59The reason that this is important and belongs in its own section is that we're
01:03not going to simply take the user's word for it.
01:06This is significant endeavor.
01:08Every user would like to have their own section of the web.
01:11So what we are going to do is, when a user asks for this, we are going to
01:16require that we get a signature from their manager.
01:19Let's see how we can add this optional sectional here.
01:22Here are our controls for newcontentarea, and we are going to put that
01:27relatively high in the form, because if we need to do that and then post these
01:32items in this area, if there is an issue with creating the new area then the
01:38posts don't really matter.
01:40We want to deal with the newcontentarea first before we post anything to it.
01:45As with the other types of groups that we've placed controls for, we have the
01:50ability to say that we'd like to have a section with controls.
01:54But notice here that one of our choices is to create an Optional Section with Controls.
01:59So, let's go ahead and do that.
02:00We'll get a relatively ugly-looking section when we do this, and you might
02:05wonder why we would do it at all.
02:07Well, it's kind of nice to have the controls here and to have them bound.
02:10I mean that's the benefit.
02:13The disadvantage is that we now need to turn around and lay them out, but that's okay.
02:17We are going to go to the beginning of this optional form section, and we are
02:21simply going to insert a table to hold four items.
02:24And I think we will choose a basic four-column table here without a heading.
02:32We do want a heading.
02:33But we don't want a big heading.
02:34We want a subheading, the same as Post in the center of the form.
02:38So let's go ahead, and let's click the add subheading, and this is COMPELETE
02:43THIS SECTION IF YOU ARE REQUESTING A NEW CONTENT AREA. Makes sense to me.
02:55So the first label we have is Area name, and just so people don't think that
03:03they will always get what they want, we will put in a word like 'suggested'.
03:05We will then take this Area name control and move it up there.
03:10The next thing we want is the description, and so we need to leave a little
03:13more room for that.
03:15I'm going to take these three cells and actually merge them together to make a
03:21space for this, and so 'Description of area, including rationale', and we're
03:31going to add our Description control right here.
03:36Now we can stretch this out a little bit, but we want somebody to add a lot
03:41of information, so let's go in here and change the properties of the text box
03:46to ensure that it's multi-line, the text wraps, and that this will expand to
03:52show all of their text.
03:53Because if we don't do that when we print it, if we use the scroll bars
03:57rather than expanding, when we print it, it will cut off anything that
04:01doesn't easily show.
04:02So, expanding is always a good idea.
04:05We won't miss anything that way.
04:08And now we need Approval Signature and Approval Date.
04:17We will move our signature here and our date here.
04:23We now have some room where those controls were, so we can simply get out of the
04:27table, select this area if we wish, and delete.
04:31Now let's go take a look at our preview and it's just says, "Click here to insert."
04:37Clearly, we will need more instruction, but when we do, there is the section.
04:42So now let's go check the properties of the optional section and change so that
04:48instead of saying, "Click here to insert," we are going to say, "Click here if
04:53you are requesting a new content area." Very clear. Preview.
05:04There is our new content area.
05:06The user can then decide to remove it, so we will want to change that text as well.
05:11Let's go back into our Properties.
05:15That's our Customize Commands.
05:17If they insert it, once they've inserted it, all they can do is remove.
05:22So the only command we need to change is actually Remove newcontentarea, so
05:28"Remove New Content Area information."
05:33I could continue that I've just spent 30 seconds entering, and so on.
05:38That's what an optional section looks like when the form starts without it.
05:42You have another choice as well, which is to include the section in the form and
05:47to allow users to delete it if they don't want it.
05:51But we actually don't want the section in the form by default.
05:54Most people who use this form won't be requesting a new content area.
05:59So let's click OK, swing back into Preview again, and you'll notice that if we
06:05click here, we are requesting a new content area, and we can remove it if we
06:09don't want it, and the original prompt comes back.
06:12Optional sections are very powerful if you use them to provide a space to enter
06:18information that most users are never going to need to enter.
Collapse this transcript
Using choice controls
00:00There's one more type of section that you can use to provide your users with
00:05one or more choices.
00:07When we use the Optional Section, what we were doing was giving them a choice to
00:12have or not have a particular section, but with a Choice Group and a Choice
00:17Section, we have the ability to provide the user with one section that they can
00:23then swap out for another that we see as a parallel sort of section.
00:28Let's take a look at how this functionality works, and then I'll come back and
00:32show you how we put it together.
00:34Let's go to the Home tab and click Preview, and we have an Emergency Contact form.
00:39Participant information goes in the first shaded area, and then in the second
00:43shaded area, we gather emergency contact for an adult.
00:48Now in our program, we only need to have one contact for an adult.
00:52However, we need more information and two contacts for any minor
00:58participating in our program.
01:00So rather than have both of those kinds of information on the form so that
01:05adults have to figure out what to leave out, and minors or their parents
01:09completing the form need to figure out that they need to provide two, we can
01:13just provide two different sections.
01:15The default is Adult because most of our program participants are adults.
01:19However, I can choose to replace this with another section called
01:24EMERGENCY CONTACTS INFORMATION - MINOR.
01:27Notice that this section has additional information and allows the user to
01:32insert a second, a third, a fourth contact.
01:36It has dropdown lists, and it has more specific information on the cell phone.
01:41So this is how it works.
01:43I can say I want to see the section for minors, or I want to see the section for an adult.
01:50This type of functionality is created by placing controls first and adding
01:56fields or moving fields into them afterwards.
02:00This isn't the type of feature where you want to go in retroactively and change
02:05existing groups or change existing sections.
02:08So from the beginning, if possible, you should say, I'd like to have two
02:12possible choices here, or three.
02:15I'm going to open a new blank web form, and let's take a look at how we would
02:21actually use these controls.
02:23Notice I have no data source whatsoever.
02:25This will make it really easy to see what happens here.
02:29If I choose a Choice Group, then I'm going to place simply one group here
02:36with two sections in it.
02:38Notice that I have first a group that would describe my choices.
02:43In my case, what I named this was I named this emercontacts. Then you
02:49don't rename this Choice section at all; it will always simply say Choice.
02:54group2 was the contact for adults, and group3 was the contact for minors.
03:05So then I would put the controls that I needed in each of these sections.
03:08I am actually building two parallel form sections here.
03:12So I'm simply going to drop one field in here, and I'm simply going to call this
03:18adultcontactinfo, and then I'm going to add a field for a minor and call it
03:23minorcontactinfo, and this is just so I can see the form.
03:28I'm going to drag this over and drop the text box.
03:32Remember also that I can right-drag over and drop a combo box or a list box
03:38or whatever I choose.
03:39So there are my two views of the form.
03:42Let's go into Preview quickly, and you'll see that it shows Adultcontactinfo,
03:48but I can trade that for the Minorcontactinfo. Or I can remove the
03:54Adultcontactinfo altogether.
03:56If I do, I won't be able to get back to a button to do anything else.
04:03So how then would I ensure that the choice that I wanted was the default?
04:09In this case, Adultcontactinfo is the default, but what if I wanted to change it
04:14to Minorcontactinfo?
04:17This is a little detailed, so watch carefully.
04:21I'm going to choose the Choice group, not adultcontact or minorcontact, and
04:27I'm going to go to the Data tab, because if I look at this Choice group, it has
04:33almost no properties.
04:34Very little I can change. I can't rename it, can't set a default value, and I'm
04:39thinking, ah, but I want to.
04:41What I want to do is go to Data and choose Default Values here.
04:46This is a dialog that we haven't seen before that allows us to stuff default
04:51values into fields in a form when the user opens it, or at the point where a user
04:58inserts a section into a form.
05:00But we are actually going to use this for a different purpose.
05:03We are going to open up the tree list and say I'd like minorcontact to be the default.
05:10When I do that, it will change. Choice section will say default here in my minor
05:15section, and when I go back in Preview, notice what comes up first.
05:21So again, it's a little out of the way, but choose the Choice group, slide to
05:25the Data tab, and set the Default Values here.
05:28I'm going to return to my other form, so we can see this functionality one more
05:33time in a finished form.
05:35Here is my overriding group that contains this choice section.
05:42There is my Choice group where I would go set the default value, here, to say
05:49which section I want to see.
05:54Here is my adultcontact section of the form that I show by default, and here is
06:03my Choice section for emergency contact for a minor, with its repeating section,
06:09so we can collect multiple contacts.
06:12What if I wanted to add another choice?
06:15What if there was a third choice?
06:17A minor accompanied by an adult, for example.
06:20Well, in that case, I would return back to the Home tab and go back.
06:25It doesn't really matter where I am.
06:27I can do it in the Choice group though, and choose my Choice group here as well,
06:35and say I want to add another section.
06:38When I do, I told you it didn't really matter where we put it.
06:42This group gets created in a separate choice group when you do this.
06:46But you can take this section and you can move it to another group.
06:51You can't move it up or down, but I can move it and say actually, this is a new
06:55choice into this choice group. Here it is.
07:01I then can move the control, here, my section, into this group and delete this
07:12group here that I no longer require.
07:17Now, I have the ability to add controls here, to change this one's name--so this
07:22is EmerContactMinorandAdult, for example--and fill in the fields.
07:32So I have the ability to change all of these out any way I wish, and one more
07:37property you need to know about.
07:39In the Choice section itself, the major thing I want to do here is to be able to
07:44customize the commands that will appear when I click on the purple arrow to
07:49switch out sections.
07:51So I'm in the Emergency Contacts for a Minor section.
07:54I can Insert a new one, remove this one, or if someone chooses this section as a
08:00replacement, it would say, properly, "Replace with Emergency Contacts for a Minor."
08:06In other words, I'm not specifying here what I would replace it with, but the
08:10language that should appear on the button if this is the replacement section
08:15that the user is looking for.
08:17You will want to rename these, so that rather than having replaced with
08:21EmerContactsMinor, it says, "Replace with Emergency Contacts for a Minor."
08:27Make these command choices user- friendly for the section commands.
08:31That's it, a powerful control, nifty to use because you don't have to put in two
08:38different option groups. And as long as you have a limited number of pure
08:43choices, this will look really dazzling in your form.
Collapse this transcript
8. Using Object Controls
Using the file attachment control
00:00Way down at the bottom, in the Instructions and File section of our form, we want
00:05the user to be able to attach a document. It could be a Word document, an Excel
00:10document. It could be a PDF that contains information that they'd like to post.
00:15So we're going to use the attachment control to do that.
00:18Now I'm going to put that attachment control right here. Despite what you may
00:24have heard, there's actually nothing wrong with attachment, as long as you're
00:26doing it with files.
00:28So I'm going to click the Controls Gallery and choose, in the Object
00:33section, File Attachment, and it's going to drop this really nice-looking
00:36file attachment in here.
00:38I actually have a field for that already, so I'm going to right-click and change
00:44it's binding to postattach.
00:48The data type here has to be the type that will hold a file of base64Binary, and
00:56then I can get rid of this field here that was automatically created by
01:00InfoPath. So let's see how this works.
01:03First, let's switching into Preview mode, and down towards the bottom it says,
01:07"Click here to attach a file." Notice that gray border is a little cut off, so
01:11will make some adjustments, in terms of space, but I'm going to click here, and it
01:16will automatically allow me to choose a file and insert it, just like that.
01:24Slick control. Quite nice, huh?
01:27It only has space for one, but remember that we've made this section repeat
01:32so that for each file the user will provide some instructions, and that section
01:36works quite nicely.
01:37Let's close our preview, go back, and first just make some visual space here to
01:43make sure that the border of this control fits as well.
01:47And now let's right-click and choose the File Attachment Properties, because
01:51there's a couple of properties you may want to change here.
01:54First, showing the file placeholders is pretty nice, because it gives this
01:58nice visual on it. But if you weren't allowing a user to choose just any file,
02:04you might want to specify a default file that they are sending, in a default location.
02:08An example of this would be a situation where a user goes in and completes a
02:13particular template, and you'd like them to attach what they've created out of
02:17that template, so we can at least get them to the file and the file location.
02:23By default, users are allowed to browse, delete, and replace files, so if we turn
02:28this off, let's go see what that looks like.
02:32We'll still have the control, but when I click to attach a file, it's really not
02:38going to allow me to, because I don't even have the right to browse.
02:42So we clearly don't want to do that. because it takes the user totally out of
02:47the experience. Why is that even there?
02:50Because if we're specifying a default file, when the user clicks, we just load that file.
02:55We don't allow them to look for anything.
02:57So when I want my user to look, I show a placeholder and let them browse.
03:02If I already know what file I'm aiming at--that doesn't happen frequently--I'll
03:06simply specify the default file, and when they click--or I can programmatically
03:11do this in some forms.
03:13I'll grab the file I want.
03:14Here is the other powerful setting.
03:16You can go in and tell a user that there are specific kinds of documents
03:20you're willing to have and types that you're not.
03:23Here you're typing file extensions.
03:25I'm willing to have a doc or docx, a ppt, an xls, a pdf, and so on.
03:32This does two things. One thing it does is when the user opens that dialog box
03:37and browses, they won't be seeing files that you don't want.
03:42It will limit it, for example, to documents.
03:45So if I were to go in and say that I'm only willing to see doc files, ppt files,
03:50and xls files, then if a user has a bunch of jpegs in the same folder, they
03:55won't have to sort through those to find the type of file.
03:59If you're asking the user to upload an image, then you might only be willing to
04:03look at jpegs, gifs, and tiff files. And if that's the case, there's no reason
04:09they should have to scroll through Microsoft Word documents, Excel files, and
04:13InfoPath forms in order to find them.
04:16If we're going to allow any kind of file attachment, which is what we should be
04:20doing here in our form, because a user could be sending any of those, then we'll
04:24simply clear that list and allow any type of file posting.
04:28The attachment object is easy to use, very slick, users feel great about it, and
04:34when I click to attach that file and select that file, it's actually stored in
04:42the data source specified in my form, so that it's available to the next person
04:47this form is emailed to, or available on the web site if I post this form.
Collapse this transcript
Using the hyperlink control
00:00We have two places in this form where we're asking a user for information that
00:04could come in the form of a URL.
00:07The first is here, where we're asking them to give us a specific place that they
00:12believe this post belongs.
00:14The second location is here, where we're asking the user to provide information
00:20if they have chosen that they'd like to have this file point to a link to another location.
00:26You may recall that we chose to leave this text, and the reason is that we felt
00:31that it was equally valid for user to enter a URL or simply to say something
00:37like, "link to employee manual," in which case they wouldn't be entering something
00:42that was valid as a URL.
00:44In this other location though, we're specifically request in a URL, which could
00:49point to a location on the intranet, the Internet, a network drive, wherever.
00:56So we're going to use a particular control here that's meant for hyperlinks.
01:01The field that we're going to bind this control to is here, postURL, in our Posts
01:08section, and if you point to this, you'll note that it is actually anticipating
01:13that you will paste some kind of a uniform resource identifier in here. So this
01:19data type is expecting a file path.
01:22If I simply use a text box, then no matter what control I put in here, all I'll
01:27store is text. But by having both a field type here that support hyperlinks
01:34and the hyperlink object control, I can actually store hyperlinks.
01:41So let's go ahead and place a hyperlink control.
01:45This is what it looks like. As always, we'll find that InfoPath has created a
01:51field that we don't need, so we can delete that.
01:56We can then bind this control, which is temporarily unbound, to our postURL
02:03field in our data source.
02:07Let's take a look and see what that looks like then.
02:10When the user clicks the text that says, "Click here to insert a hyperlink," the
02:15Insert Hyperlink dialog box opens. So their choices at this point are to type a
02:19URL or to have copied and then paste a URL here, but it's a real hyperlink.
02:28When I click, it will actually open Google on my page. It looks good, my sea
02:34tortoise, and that all works.
02:38We don't have many properties here in the Insert Hyperlink dialog box.
02:42We simply have, here's a hyperlink.
02:44You can make it read-only if you wish, and if you did, what you would have here
02:49would be the URL itself.
02:52However, there are times when I use this that I want to add a little text,
02:57because "click here to insert a hyperlink," leads me to believe that I'm going to
03:01be off browsing, as I was with a file attachment object, and I'm not.
03:06So what I might place here in terms of information would be something that said,
03:11for example, "type or copy from your browser before you click."
03:19So I can provide some really good information that allows my user to understand
03:24what it is that they're going to be doing here.
03:27I'm going to select some text here and then use the format painter to format
03:31that instructive text.
03:33So, great instructions here that allow the user to know what they should do
03:37first, if they wanted to insert a hyperlink that was complex, more than they
03:42wanted to type, that they could copy from the browser before they click.
03:47This all works good, a really nice control that has a limited function, but when
03:52you want a hyperlink, this is exactly the control that you wish to use.
Collapse this transcript
Calculating a value with form data
00:00I don't have a need for any calculated values in the InfoPath form that we are
00:05creating for web posting, but I do want to make sure you know how to use the
00:10Calculated Values control in InfoPath.
00:13You'll find this control in the Object section. In some prior versions of
00:17InfoPath this control was called an Expression box, and it's used when you want
00:23to be able to calculate data or have another place that you as a form developer
00:29can enter a value but that the user can't enter a value.
00:34So I have two examples. One is that I have a first name and a last name and I
00:39actually want to know the full name of the person who completes this form, but
00:45there's no reason to have them type three times.
00:49I could. I could simply say, type your first name, your last name, and I'll put
00:52the two together, but it's easy enough for me to calculate the full name once I
00:57know the first name and the last name.
00:59So I am going to change this control from a text box to a Calculated Value
01:05control. Looks good.
01:09I need to be able to tell the control how to calculate the value.
01:13Let's right-click and change the Calculated Value Properties.
01:17Right now, it simply says that it's going to enter a full name here. Don't worry about this.
01:23This is simply some more XML. It's called XPath.
01:25I am going to click the Edit formula button to insert the Insert Formula dialog
01:31box and delete this.
01:33When I want to put two text strings together, whether I am in Excel or
01:37InfoPath, I use a function called Concatenate, or concat.
01:41So I am going to insert the concat function, and it will come up with a place
01:47for three arguments, separated by commas.
01:50I am going to say the first argument is FirstName, and the last argument is
01:57LastName. In between, I don't want a field.
02:01I simply want a space, which I'm going to surround in quotes here as I would in Excel.
02:08Let's click the Verify Formula button. Everything looks good here.
02:12I am going to say OK. Notice that the XPath is changed to OK. And that will be
02:18text when it's done, so that a fine format.
02:20Let's say OK and preview this functionality of the form.
02:25So if I enter my first name and then my last name, notice that full name
02:30is easily calculated.
02:32Even though I am not typing this in the form, it's stored in the data source, in
02:36the full name field.
02:38Similarly, I might want to have a user enter information on items they are
02:43buying in a repeating table or a regular table, and have them enter quantities
02:47and price and calculate a subtotal.
02:50So I am going to begin by assuming that there was a subtotal field here.
02:55That works nicely, but I'd like to change this, so that it is no longer a text box
03:01but is instead a Calculated Value.
03:03So now let's create a formula to tell InfoPath how to calculate the subtotal.
03:13So again, let's click the Edit Formula button to open the Insert Formula dialog
03:17box and say we want to create a calculation.
03:21This is very much like Excel, except you don't need to start with an equals.
03:25So we're going to insert a field or group, and because this is a repeating
03:30table, here's my group structure. And I'm going to say take the quantity
03:36and multiply, using asterisk for that, the Qty by the Price. Verify your Formula. Say OK.
03:44If you've done something like typed in Equal sign in here, it will get caught at
03:48this point when you click Verify Formula. Let's say OK then.
03:52My result should be formatted as a decimal. That's correct.
03:55Here is my XPath and I'll say, ok, we are all good.
04:00Now let's preview this portion of the form.
04:02So the user says they are going to order pencils,
04:05four boxes of pencils.
04:07They are going to pay $55 a box. $220, works nicely.
04:13When they insert another item, that item row also gets a subtotal here for
04:18whatever information they would like to enter.
04:25This Calculated Value control is a great control. Even though there are
04:29a limited set of functions available to you in InfoPath, many of them are powerful.
04:35They allow you to sum.
04:37They allow you to find a highest or a lowest value, and to do some basic
04:41concatenation like we just saw.
04:43Don't be afraid to replace a text box a user would type in with the
04:47Calculated Value control, so that you can have InfoPath do the heavy lifting
Collapse this transcript
9. Creating Browser Forms
Understanding browser (thin-client) forms
00:00This is a great time for us to have a short conversation about thin-client forms
00:06or what are also called web browser forms.
00:09In InfoPath there are two ways you can fill out a form.
00:12One way is to use the InfoPath Filler, but we might want to have people who
00:18complete a form who don't have access to the InfoPath Filler. Or we might have
00:23a policy, or at least a belief, in our organization that the best forms are all web-enabled forms.
00:30For any of these reasons, we might end up wanting to create forms that can be
00:34completed in a browser.
00:37Because when you use a tool like InfoPath or a Filler you're having to
00:41actually run what's called a client application on your computer that takes up
00:47some memory, whereas when you use the web all the processing is done on the Internet server,
00:54the kind of forms that are created for use that use InfoPath Form Filler or
00:59InfoPath are called thick forms or thick-client forms.
01:04Whereas, forms that take advantage of the power of somebody else's server
01:09or somebody else's computer, these Internet forms are called thin-client
01:13forms, meaning web forms.
01:16Let's take a look at what our form is going to look like when it's
01:20published here on SharePoint.
01:23So I took our form and just published it as a test, so you could see it before we start.
01:30And here is what our form looks like.
01:33It actually looks amazingly like our form.
01:38It still has all of the controls working.
01:41It still has all of the required fields.
01:44It still has the text that we are waiting for from the office of electronic
01:48communications. Keeping it here actually helps them remember that every time
01:52we show them the form.
01:54My option group works. My dropdowns work. It's a nice-looking form, and again, I
02:03require almost nothing for someone to be able to run this form.
02:07Right now, it's running in Internet Explorer.
02:09We'll have a slightly less rich client experience if I run it with Safari or
02:15another browser, but it will still work in any browser, still allow me to enter
02:21information and to post information and to save it back on my SharePoint site.
02:26So welcome to the web browser or thin-client experience.
02:30In the next movie, we'll take a look at using the Design Checker to get our form
02:35ready to publish on a SharePoint site.
Collapse this transcript
Checking a template for use in a browser
00:00So I've developed this form and want to know whether or not it's a good
00:06candidate for a web browser. Why in the world would I even wonder this?
00:10Well, originally I was aiming this form at the InfoPath Form Filler, but I
00:16liked what I just saw and think I might want to just make this a web browser form.
00:22I know that I'm in the InfoPath Filler mode because I have lots of controls
00:27down here under Containers that just aren't available for use on the web.
00:33So what I'm going to do first is I'm going to go to File > Save As, and I'm
00:39going to save this as a web browser form template.
00:44When I do that, I'm going to get lots of support.
00:47First, the set of controls that's available to me just got shortened because I'm
00:52not going to see a single control here that's not supported in a web browser.
00:58Next, because I changed the type of client I'll be using with this form from
01:04Form Filler to the web, the Design Checker automatically kicked in.
01:08Now if it hadn't, I would still kick it in manually.
01:11I would go to File and choose Design Checker in order to see if there are things
01:16about my form that are problematic.
01:19There are three levels of information that you can get here.
01:23When you see this little blue information icon, you know that even though
01:27you're getting a warning,
01:29as long as you're happy with how the browser will handle your form, there is
01:33nothing here that would prevent you from publishing this on a SharePoint site.
01:38So the first thing it says is that dialog box actions are not supported,
01:43what does that mean?
01:44Well, click and it will either show you something specific in the form or a
01:49general message box, or both.
01:51It says you've used a rule to automatically display a dialog box and the web can't do that.
01:57Well, of course it can't, and if it can, like a pop-up window, we as users find
02:01ways to turn it off.
02:03So it says this dialog box message will not show when the form is edited in a web browser.
02:10I wonder if they are important. I'll need to check. And then it gives us a
02:13tip that says, maybe you could achieve a similar effect by using conditional
02:17formatting to show or hide sections, taking care of things you don't want the user to see.
02:23So what we can do here is we can go to the Data tab and click the Rule
02:29Inspector and see all of the rules that are in this form.
02:34Expand them all, collapse them all if there is lots and you need to be able to look at them.
02:39I'm thinking that the rule that we aren't having an issue with though probably
02:43has some kind of a dialog box in it, and you see now that it was useful for me
02:49to say MsgBox, or include the word box, in the title of my rule. So it says
02:55this dialog box message will not be completed.
02:58Therefore, if someone enters an invalid email address, we're just going to accept
03:04it. There is nothing to stop it.
03:06And we'll have to either provide some information--
03:09we could provide a little prompt underneath there--or we can just live with
03:13getting partial email addresses, assuming we won't get many of them.
03:17But we could squeeze some text in underneath here in a very small font that says 'ex:
03:22yourname@company.com', and we could make this really small and that would allow
03:35the user to have a good idea of what we're looking for.
03:37So it won't stop them from entering something wrong, but we're giving them some
03:42additional information.
03:44Secondly, it says placeholder text isn't support it.
03:47Well, we actually knew that when we put it in because we saw this message then.
03:52So we could go into the text box property and remove the placeholder.
03:57We're asking people not to include punctuation, but we could do exactly the same thing.
04:03We can place our prompt underneath in a very small font.
04:09Say, "Your title will be used as a file name, so no punctuation please."
04:19We even have more room, "(other than the underscore) please."
04:27What's our other placeholder text say?
04:30Now, let's go to take a look. Why do you think this category is appropriate?
04:34Well, I can just change my label here, "Reason post should be in this category."
04:43I've now handled all my warnings, and you notice I didn't actually change
04:47the form significantly.
04:49I didn't take away the dialog box rule.
04:52I didn't remove the placeholder text.
04:54I just provided some supplemental information.
04:57If I refresh this, it's still going to give me the same three warnings because I
05:01didn't really deal with the issues.
05:03I found a way to support the same information in my thin client, but I'm leaving
05:09it here for my thick client.
05:12If I wish though, to see some of these go away, I could, for example, edit this
05:16particular text box control, go to the display, remove the placeholder, which
05:23there isn't a way to show in a browser,
05:25say OK, and refresh, and you'll notice I only have two warnings now.
05:30So you can use your own judgment here about whether you want to actually get
05:35rid of the things that cause the warnings or provide a secondary system to
05:40remediate the warnings.
05:42If, however, you see a circle that's red with an x in it, that tells you that you
05:48have a critical warning, and that's something that you must address because the
05:52form cannot be published as it currently stands.
05:56So that's how you use the Design Checker process to be able to determine if your
06:01form can be published as a web form, what features won't be supported if you
06:06publish it that way, and then address those issues.
06:09We now have a form that would be great to publish as a thin-client form, and we
06:14could still publish it for use in the InfoPath Form Filler.
06:17The choice is up to you, and we'll be publishing in a couple of chapters.
Collapse this transcript
10. Finishing a Template
Checking spelling
00:00What a beautiful form, and too bad it has typos in it.
00:04There is nothing worse than creating great product and then putting it out with
00:08small errors that make people wonder about the entire enterprise.
00:13So we are at the point where we are ready to think about letting somebody else
00:17use this form, and before we do, we would really be wise to check our spelling.
00:22Now before we do that, let's just take a look at the Spelling Options and see what they are.
00:26These are the same options that we're getting from Microsoft Word right here.
00:32If you are relatively new to Office 2010, you might not realize that the options
00:38that you set for ignoring words in uppercase or not, ignoring words that contain
00:44numbers, when you set those in any Office application, you're setting them for
00:48all Office applications.
00:50So if we change them here, we are changing them for Excel as well.
00:54But if you're happy with the way you set those in Microsoft Word, they are
00:56going to work here too.
00:59And then we have two specific options that are InfoPath only.
01:04One is to check spelling as you type, and that's whether it's the user or
01:08you as the developer.
01:10If you type a word incorrectly, do you want that nice little wavy red line
01:13underneath it or not?
01:15And the second is to hide spelling errors, and if you check the spelling but
01:18hide the errors, you won't necessarily know that anything was wrong.
01:23You can leave these settings as they are typically, and they'll work for you
01:26because you're used to them in other Microsoft Office products.
01:30Let's go ahead and click OK, and let's run a spell-check here on our form.
01:36When I was typing, I didn't let the shift key go quickly enough, and FIrst has
01:40two initial capital letter, so let's change that.
01:44Sugested is spelled wrong.
01:47Let's go ahead and fix that.
01:49It says, "including rationaled." Probably means rationale. Let's fix that.
01:55The spell-check is now complete, and I know that every word in here is correct, almost.
02:02Any information that I put in a placeholder will not be spell-checked, and this
02:07is sort of a weird thing, because this placeholder is set that when a user enters
02:12information, it will spell-check.
02:14Take a look at this behavior.
02:18If the user enters incorrect information, then the spell-check will eventually
02:23catch this for them.
02:26Notice one error after another. But if my placeholder itself is incorrect, the
02:31form will go out with a typo in it.
02:34So pay particular attention to each and every piece of placeholder text that you entered.
02:40You'll find this information on the Display tab of the Text Box Properties, and
02:45you need to make sure that your placeholders are spelled correctly because
02:50InfoPath will not do that for you.
02:54Here's another one.
02:55Let's look. Are we comfortable?
02:57Is that correct? This you have to do by yourself. Maybe in a future version of
03:01InfoPath spell-check will reach in and catch those placeholders for us too.
03:06Once we are convinced that the spell- check is working just fine, then we can
03:10save our form and know that we can send it out feeling very, very comfortable
03:15about how it will work.
03:17If you by chance create forms that are in more than one language, so
03:23some section of the form in English, for example, and another section
03:27for accessibility purposes in Spanish, then you'll need to set your proofing language.
03:34So you mark this view as an English view, and then when you create a second
03:40view, you can actually say, well, this view should be checked using a
03:44different dictionary.
03:45For example, this particular view that we created is US Spanish, is Puerto
03:53Rican Spanish, and so on.
03:57So if you wanted to have a form that was created with different views to support
04:02users using different languages, the spell-check will still work.
04:06You just need to choose particular spelling options for each of the different
04:11views created for people speaking and filling out forms in different languages.
04:16It's a powerful spelling tool. You don't have the grammar tool you might wish you had.
04:21So remember, also, that in addition to checking any place that you've added
04:25prompts or text within a control, you need to check it.
04:29You also need to check the grammar throughout the form.
04:34When you're all done, you're in good shape.
04:35Your spelling has been checked by InfoPath, your grammar has been checked by
04:39you, and you can feel great about releasing this form.
Collapse this transcript
Enabling digital signatures in a form
00:00In InfoPath there are three reasons that one might digitally sign a form.
00:05We will dispense with the first reason quickly.
00:08If someone is developing a form, like you are, like I am, and we want to use that
00:12form in a variety of settings, and that form obtains data using a web service, a
00:19database, or a SharePoint list, then it is prudent and sometimes necessary for
00:26the developer to apply a special signature to that form
00:30that's called code signing.
00:32If you code-sign a form, then that form can travel more easily because it has
00:38proof of who you are.
00:40That kind of a digital signature is a little bit expensive and requires you to
00:45provide some rock-solid information about who you are.
00:48The other two reasons that we would sign a form are the same kinds of reasons
00:53that we might sign a Microsoft Outlook email message, or a Word document, or a
00:58PDF that we were sending to some agency.
01:01We sign a form to do two things.
01:05One is to say that this is me.
01:08I signed this form. And the other locks the fields on the form so that no one
01:13can change it after you sign it.
01:16If they want to edit the form that you have saved, they actually are forced to
01:21remove your digital signature first.
01:24They can change the data, but they can no longer say it's the data that you provided.
01:28You can sign entire forms in many applications, including the Office
01:34applications and Adobe Acrobat;
01:37however, InfoPath allows you to sign not just an entire form, but a section of a
01:43form. And let me be very specific. I can sign a group. So if I want to be able to
01:51have someone sign this section, or this section, or all of posts, or a specific
02:00group in posts, that works.
02:03I can also say that someone can sign this section and this section separately.
02:08I cannot, however, sign one or two fields within a section.
02:13So in order to apply a signature to part of a form, I need to make sure that the
02:20fields that I need to have signed are all in one section together.
02:25I created this form with signatures in mind.
02:29So, for example, I might fill out the top part of the form myself as a user, and
02:34then I might choose to sign it.
02:37This newcontentarea requires a signature from someone who has enough authority
02:43in the company to actually request a new content area.
02:46So that might be a separate signature.
02:49The Post section perhaps I don't need to sign at all because no one is approving that.
02:54Signatures are typically used as some part of an approval process.
02:58So once I fill the top of this out and signed it, then I might want to have a
03:02second signature down here.
03:05One more thought about this.
03:07Because the Area name and Description are not in the first part that would be
03:12signed, the person who's approving this will actually have the ability to edit
03:17these before they sign.
03:19If I want to ensure that whatever the initiator of this form has placed in these
03:25fields gets locked down, I would actually move it up into this section, so it
03:31could be signed in the first place.
03:34So, with our digital signature enabled, we can sign either the whole form or part of the form.
03:41Let's take a look at how this is going to work.
03:45I'm going to choose File, and then not Options here, but Advanced form
03:51options, and click.
03:54The From Options dialog box opens, and I'll choose the Digital Signatures category.
04:00By default, this form is not set up to allow digital signatures;
04:05however, if I want the user to be able to sign the entire form, I simply enable
04:10the second option button. And if I want one or more users to sign sections of
04:16the form, then I choose the third option, Allow signing parts of the form.
04:22That's what I would like to do in this case.
04:23So I am going to now add the sections that I'd like to be able to make signable.
04:29First I need to enter a name for the data, and this is actually the requestor
04:34information that I'm going to allow the person to sign.
04:38So I could call this FormCompletedBy, for example. Requester is not all that
04:45helpful or FormCompleterData.
04:52Another option would be FormOwner. Another would be FormFilledOutBy.
05:00No spaces. I am using upper- and lowercase, or CamelCase as it's called, to
05:05make sure that you can read it, because a user will need to read what I typed in
05:10here later. And then I can choose the fields and groups to be signed.
05:14When I click the Select XPath button, it's actually going to open myField list,
05:19and I'm going to say that this signature is for the requester.
05:23Now again, I could choose one field, but I can't choose multiples, and that's
05:27why I'm using sections here.
05:31I have three options. The first option is one signature. The second is this
05:37requires two or more signatures obtained independently.
05:41An example of this would be a company where the policy is that two director-
05:46level signatures are required for any purchase over $1,000. And then the third
05:51possibility is that two people are going to sign this, or three, or four; however,
05:57they will sign in a particular order.
05:59First, the employee, then their supervisor, then the director, then the vice president.
06:05I only need one signature on this section.
06:08When the user signs the form, they will see this message.
06:12It's standard message. If you don't have a reason to change this, let's just leave it.
06:19Now I want to add another signature.
06:22This is for ApprovalForNewContentArea, and the fields and groups to be signed
06:31here is this group that falls into the second optional section.
06:35So I'm going to say OK, and it's only one signature.
06:39I could change this message and say, verify that you are signing this and that
06:44the prior section of the requester information is also correct.
06:48But people will get this as it goes along.
06:50Let's say OK. Two sets of assignable data.
06:53I am going to say this is just fine.
06:56So my template is now ready to allow users to apply digital signatures
07:01to specific sections.
07:03I would have followed much the same path to allow users to sign the entire form.
07:08In the next movie, we will see how the users will actually sign this.
Collapse this transcript
Using a digital signature
00:00In the last movie, we enabled our form so that it could use digital signatures.
00:05Now we've opened that form in the InfoPath Form Filler so we can see what the
00:10user experience will be like.
00:12Although I can look at some of this in Preview, I actually can't save the form
00:17in Preview in a way that I can reopen it.
00:20So I've chosen to leave InfoPath Designer and go all the way up to the Form
00:24Filler to test this form.
00:27So I'm going to type my name and my email address, and work phone is not required.
00:39I'm testing, so I want to limit the number of required fields I have to deal with.
00:43I am in Customer Service.
00:44I'm going to give it a title, and description is required also.
00:51But I don't have to put much information here.
00:54I don't see any other required fields.
00:57I want to request a new content area.
01:00So I'm going to click here to open this, and I'm going to give a suggested area
01:04name. And I'd actually like to suggest that we include a new content area that's
01:10aimed particularly at hikers. And I can provide some other information.
01:19Now, I'm ready, actually, to sign my part of the form, which is just the
01:23section that's up here.
01:25So I'm going to go to File and actually click Sign Form.
01:29I'm going to add a digital signature to the FormFilledOutBy area, and I'm
01:35going to type my name.
01:36Now I can insert an image here. I want to give you a piece of advice.
01:40I've seen some people scan their actual signatures and use those as images.
01:46You have no idea where that picture is going after it leaves here.
01:50So my sense is, if you want to select an image, it should actually be some kind
01:54of an iconographic image, rather than having copies of your signatures floating
01:59around all over the universe.
02:02So purpose for signing this document is 'want to submit this request', or I can
02:08leave this blank if I wish. And I'm signing with my digital signature.
02:15I might have another one on here too that I could use.
02:18This is my code-signing signature that I use as a developer with forms, but this
02:24is my signature that I obtained.
02:26I actually got it for free, and that's good enough.
02:29However, it will tell me it can't be verified.
02:32That's because this is a relatively cheap signature.
02:36But I'm still going to say okay, because that's the signature I'm using.
02:41If you want to use digital signatures within your organization, it's a help to
02:45know that anyone else is using them.
02:47Assuming that digital signatures are not being used, plan on having an
02:51extensive conversation with your IT or IS department to make the case for why
02:57they might want to use them.
02:58When individuals need to provide their own digital signatures, they're still
03:02relatively anonymous.
03:04You go click on the Internet and obtain one.
03:07But within an organization, normally there is a way that the Information
03:11Services people can put together a certificate server that will be good enough
03:16to really guarantee that your signatures are valid within your firewall.
03:21So I've signed this.
03:23I can now go take a look and view the signatures that are being used.
03:27I could go view the certificate if I wished, which would tell me Windows doesn't
03:30have enough information to verify it, and say OK and close it.
03:36Now, I'm going to simply save this document on my desktop.
03:41We're going to open it again in a moment. And this is going to be my hiker request.
03:48So here's the form.
03:49I've emailed this to someone else, my supervisor, and they're going to go in and review it.
03:54And you'll notice that when they click on any field that was digitally signed,
03:58there's a small certificate that shows that it was signed by someone else.
04:04If my boss tries to go in and enter different information in here, they see this
04:11dialog box that says you can't change this.
04:15The only way in fact they can change this is to go back and to remove
04:20the digital signature.
04:21There are plenty of tools that will allow them to do that, but in doing so, it's
04:25very clear this is no longer the document as I sent and guaranteed it.
04:30So now let's say that my boss continues and says, "I think this is a great idea."
04:35Because I left these fields in the next section, they could even add more text
04:40and a better description of the information that they think would be needed,
04:45make the case a little stronger, and then they're all done, and they're ready to sign the form.
04:50So they return and say that they would like to add another signature, and notice
04:57now that they can sign the ApprovalForNewContentArea.
05:00It won't allow them to over-sign the content that I already signed because I
05:06only allowed one signature in the design.
05:09But they can say, "I'm ready to approve the new content area."
05:12They can then put their own signature in here, add an image if they wish, type
05:17their own text if they wish, and sign this.
05:23Because I was showing you, I used my own certificate twice. Normally, you would
05:27see two different people's digital certificates here. And when my boss is done
05:31with this, and they close it, and save it,
05:36now the next time we open this form, you'll notice that this section can no
05:42longer be edited either.
05:44That's how digital signatures work. Within a particular document as you move
05:49it through a workflow in your office, each successive approver gets their own section to sign.
05:55It's very easy to set up, very easy to apply, very powerful.
06:00Enjoy using digital signatures with InfoPath.
Collapse this transcript
Testing a template
00:00We're entering the endgame for this form.
00:02The next few things we're going to do are creating views, preparing the form to
00:08be submitted, and then publishing the form.
00:11So before we take those steps, this is a good time to test our form again.
00:16There are two approaches to form testing:
00:19one of them is sort of casual and the other is fairly formal--and I'd like to
00:24hit a place that's more towards the formal
00:26but starts with the former, the casual.
00:30At this point I will usually have a couple of other folks in my office just
00:35test the form, and their job at this point is actually just to take it out for a
00:39spin, but drive it really hard.
00:42If they can make its wheels fly off, then they get extra credit.
00:45I'll take them out for dinner. Because I want to know if this form can be easily broken.
00:50So their job is to go into Preview mode and to try everything on the form.
00:55Now, this is where we start talking about the part of this that's a little more
00:58formal, because there are a series of things that they know to check, and I'd
01:02like to make sure you know to check them as well.
01:05First, a basic run-through of the form is to check its tab order, just to tab on
01:09each control and make sure that they come up in order, that we don't drop to the
01:13end of the form and back.
01:15If we do, then we'll actually want to do something to adjust the tab order of
01:20our controls in our form, one of its properties.
01:23The next thing is they need to make sure that every control works.
01:27So they'll type text in controls, and make sure that each of the controls works.
01:32They'll also check rules, and so I will give them a list that says you must
01:37enter, for example, a complete email address, and I'll show you in a moment how
01:41to create that list.
01:42So they're actually making sure that each of the controls is going to work.
01:49They want to make sure that every department that should be on the list is on
01:53the department list, that every category that should be in the Categories list is there.
01:58But remember that part of testing controls is testing each optional section,
02:03first to insert it, then to be able to remove it, like this, and then
02:10entering information in it.
02:12We'll do the same thing here where we'll click to add another category and
02:19then go back up and say I'd like to remove this category or insert one before and after.
02:25Don't just test the input controls; test the container controls as well and make
02:30sure that they work.
02:32Make sure check boxes check and uncheck, and that in this example, another rule,
02:38if this check box is checked, then this field should be enabled, and if it's not
02:45checked, they should not be able to type here or use the date picker.
02:50They should make sure that if they click to attach a file, it actually opens the
02:54Attach File dialog box, and that the option buttons, if one is clicked, the
02:59others are turned off.
03:01So this is the process to walk through and make sure--and another whole
03:06post gets inserted here. This looks great!
03:09We're checking every control for a section.
03:12We're checking to ensure that the contents of dropdown lists are correct,
03:17that if it says select or type, that I can actually type, that it is indeed a combo box.
03:23Let's go take a look at where you'll find that rules list for them.
03:26You can go to Manage Rules here, but that's managing rules for the control that
03:30is currently selected.
03:32Let's go instead to the Data tab and click the Rule Inspector.
03:37Here are all of the calculated values' actions in this form, and we would have
03:43validation if there was validation to be had.
03:45So what we know is that we want to print this out and hand it to our testers
03:51and say, "Here are the things to check," to make sure that Today field is equal to
03:56Today and that when they click on the email and enter an invalid email that they
04:02see this message box.
04:03So this is a testing tool, this Rule Inspector.
04:07We have a couple of other things that we need to be able to check in our form as well.
04:12We've enabled digital signatures here, so we would like our users to make sure
04:18that after they have filled in all of the information for required fields, that
04:24they are then able to sign this form.
04:27So they can go to File > Sign Form.
04:30Now, if they haven't filled out all of the required fields, they can still sign
04:34it, but it should tell them that they actually can't sign it yet.
04:38So let's say I'd like to sign this section, and it says there are validation errors.
04:45We expected that. And I can say I still want to sign it, and it should allow me
04:49to actually apply a signature.
04:50Then after the signature has been provided, I should not be able to make changes
05:03to the section of the form I signed.
05:05That was actually not the right section of the form. There we go!
05:09It can't be inserted because it's been digitally signed. Makes sense, all right?
05:17So I'm testing to make sure the signatures can be applied.
05:22I'm checking to make sure the signatures can be removed and that after they're
05:27removed, that I can again go in and make changes to whatever section had
05:32previously been signed.
05:33The last thing I want to be able to do is ensure that once information has been
05:37filled in, if I have believed that I filled in every required field, that I can at
05:44least save this form, and so when I go to Save, I should not see this dialog box
05:50if I have filled in all the appropriate fields.
05:52So the best thing to do is to have a couple people start testing your form and
05:59give them information on what they need to test.
06:01Walk them through, have them see this movie, so they know what to look at.
06:05Then give them a log.
06:07You could even create a form where they can type what they were trying to do,
06:11what control they were in, and what they believe is a problem with the form.
06:15After you've tested your form with your friends and made any changes that are
06:20required, then you can begin doing the real testing, and that's again when you
06:25have people who aren't necessarily your friends, but who have an interest in
06:29the form performing well, using the form without your assistance and without any guidance.
06:34Users who are unfamiliar with the form will stretch its boundaries by trying to
06:39enter what they think you're asking for, rather than what you've told them you're
06:42looking for, and in that way, you'll discover issues with the form that you and
06:47your friends are not as likely to find.
Collapse this transcript
11. Creating Views
Creating views
00:00I've added one more section to our form since the last time you saw it.
00:05We have a wonderful form for the user, but we need a section at the bottom so
00:09that the staff who will actually create these new content areas or post these files
00:14and descriptions will be able to indicate that their work was done, or to keep
00:18notes on the work that they did.
00:21So here's the Office Use section at the bottom of the form, and it is shaded, as
00:26Office use sections often are.
00:29Now we could type 'For office use only' on this form as you often see with paper
00:35forms; however, we don't need to.
00:38In InfoPath 2010 we can actually ensure that the user won't even see this
00:43form section, so they won't be tempted to type in it at all, and we'll do
00:47that by using views.
00:52As you may recall from earlier, a view is simply one way to look at this data set
00:57here, one set of controls and other containers that allow a user to enter data.
01:04If I want to have different ways to view this data, I can store all of those
01:09different views in the same template.
01:12Let's go to the Page Design tab because this is where we work with views.
01:16When we create a new form in InfoPath, it is the default view, and it is named
01:21view1--great name for it.
01:24This view is actually the complete form, and so what I'm going to do is I'm
01:28going to change the name of this view. What I'll usually say is something like all fields.
01:35This is my developer's view, so I've sometimes also called it Developers.
01:41I keep one version of the form that's my view of it in every single form that I
01:47create, because when we start to create other views each of them will simply be
01:54a variation of the total form, with all of its sections.
01:58So I'll take the form, save it for myself, and then start deconstructing it for my users.
02:04Let's first create that form that we want the users to see that does not
02:08include this section area.
02:11I'm going to begin, because I'm here already, by doing a Ctrl+A to copy the whole
02:17view and say Ctrl+C to copy.
02:21Now I'm going to create a new view, and this is going to be the new default view.
02:28So, I could call this default, I could call this User Data Entry, and notice that
02:36I'm allowed to place spaces here.
02:39So it begins, as every view does, with a table, but I don't want it.
02:43I'm going to delete the table, hold Ctrl and hit V, and paste my entire form in.
02:49I now have two views, and they're identical, and I can choose them here: the
02:53Developers view and the User Entry view.
02:57In the User Entry view, I do not want to have this section appear, so it's
03:02easy to take care of.
03:03I'll scroll to the bottom and delete it.
03:06Now when a user previews this in the User Entry view, notice no section at the
03:15bottom for office use only.
03:19Now I want to create a view for the folks who are going to complete this request.
03:25So let's go back to Page Design.
03:27Let's create another new view, and I'm going to call this new view OEC Use,
03:34Office of Electronic Communications.
03:36Once again here's my table.
03:38I don't want it, and I'm simply going to paste this in.
03:42Now, if there was any information on this form that the OEC folks didn't need,
03:47for example, the instructions on the top on how to use a form that they still
03:51need to provide, I can delete that, and indeed I can actually delete this whole row.
03:56They don't need to have that kind of instruction.
04:00And it may be that as I scroll down I would find other information that
04:04they simply didn't need, but this appears to be approximately the view that
04:08they would require.
04:09So now if I go back to Preview, what I'll find is the User Entry view that has
04:16instructions, the Developers view which has everything, and the OEC Use view
04:23that does not contain those instructions.
04:25There's one other view I'd like to provide.
04:28I've allowed users to suggest category and department interest information, but
04:33the folks in our OEC department are perfectly capable of abstracting that out of
04:38the post description.
04:40So I'm going to provide an express form for people who do not feel a need
04:44to provide post category information, department info information, or news information.
04:51So those three sections I won't need. Additionally, they won't require this OEC,
04:57Office of Electronic Communications Use Only section.
05:01Now, this is where we begin to want to make sure that we have a really good
05:06process around this.
05:07If I begin with the OEC Use section, I'll have to remember to delete this as
05:12well, and also I will forget, perhaps, that the OEC Use section doesn't include
05:18basic information for users.
05:20So my discipline is that I will always go back to the entire set. This is
05:26everything that could possibly be here, the master developers Form, and create a
05:31new view from here that's called Express Request.
05:37Delete the table. I still have the same stuff on the clipboard that I
05:41had before, everything.
05:45I'm going to create my Express view, Express Request, my Post, but deleting this
05:53repeating table, this repeating table, this entire section, this heading, and
06:02all of the extra space.
06:03Now again, I don't want my user to see this section either, so we'll simply delete it.
06:12Cool. Let's go to see how it looks. Home > Preview.
06:17So here's my Express request. The Preview will always open with whatever I just created.
06:23Nice and short, but if a user wants to do something more complex, there is the
06:28detailed user entry form with all of these additional fields. Very slick.
Collapse this transcript
Creating a print view
00:00In addition to the views that we've created for Express Request, for Office Use,
00:05and for User Entry, we might want to create a print view for this form.
00:10Let me begin with a pretty significant caveat.
00:14If you know that you want to create a form that will print on two pages, it's
00:20really helpful to start from scratch with a two-page form.
00:23Each of the page layout templates is essentially creating a place that you could
00:28insert a page break.
00:30So if we go into a new form for just a moment, on a blank form, I can put a page
00:35break below this page, but not within it.
00:38So if I knew that I wanted to have a two-page form, I should start with a two-page form.
00:44And if I don't want a title on the second page, I simply delete that row.
00:51Right now, if I were to take this into Print Preview and take a look at it, I
01:01have a one-page form with two pages, so to speak, within it.
01:07However, what I have is the capability of inserting a page break.
01:11If I click between the forms and press Enter, then and only then is my Page
01:17Break button enabled.
01:19I can't insert a page break here or here or here, but between these pages, I can.
01:25And now I can create a form that will print on two pages.
01:29If I already have a form with controls and I need it to print on two pages, I'll
01:34simply insert another page and move some controls to that page.
01:43With our form, that would be incredibly difficult to do, and the reason is that
01:47this form, which was designed to be used on screen, has a number of sections.
01:53And while I can't put a page break anywhere but between pages, I can't have
01:58a section span pages.
02:00And so with my very long Post section in this form, that's all going to print on
02:06one page every single time I print it, from here on down.
02:10So the only possible place to insert a new page for me that would be worthwhile
02:14in my form would actually be here.
02:17And I could consider inserting another page template and moving this to the page.
02:21It's as easy as every other time we have cut and paste in the form.
02:24But that would give me such a small area up at the top that it's really
02:28not worthwhile for me.
02:30This is largely a browser-based form and browser users are used to forms
02:34printing at unusual places, and with the huge amount of expandability we've
02:38placed in this form, we're not that concerned.
02:41I do, however, want to create a print view, and I want to create a print view
02:45because I would like to have a view that is going to print in black and white,
02:50that doesn't have shading on it, and that would print all of the fields that
02:54were necessary from the User Entry form.
02:58We can also create a print view for our Express User Entry form.
03:02So let's start with our User Entry form, New View, and call it Print User Form.
03:14Once again, you'll remember that we have a table that we need to get rid of.
03:19I can switch back to my User Entry form, do a Copy All, Ctrl+A, Ctrl+C, switch
03:28back to my Print User Form view, and paste it.
03:32Now what I'd like to do is change the colors.
03:39There is a mostly-black-and-white form.
03:41Now when I print this, I don't need to have this row any longer.
03:45The user has already filled it out.
03:46We don't need to have instructions.
03:50So that's a print view of my user form. Looks pretty good.
03:54I could strip out anything else I wanted.
03:56If you really want to save some space, you can do things like change this to a
03:59smaller font, subheading.
04:01I can also place a header and footer in this view.
04:04For example, I might want to have a header that had the Short Date or the Long
04:10Date, and I can print that anywhere I'd like. And perhaps I'd like to have a
04:15footer that has some other information in it.
04:18Notice that it will pick up basically the settings for the Text Box field
04:23and use them here in terms of font formatting, but there is a Short Date in my header.
04:31And if I now go to Print and preview it, there's my Short Date up here at the top.
04:38I can enter other text if I wish, like the text printed on and so forth.
04:43I can say that the default print is to print in Collated view, 1 copy, users
04:48can overwrite these.
04:49And finally, I can say I would like to Print Multiple views, and what that
04:52allows you to do is to create sort of an omnibus print for a form.
04:57We wouldn't do that for our form, but you might have a form where users fill out
05:01one part and then another and another.
05:03No matter what view they print from, you want to make sure that they include
05:07both this information and that information.
05:10So you choose that and set that as your default settings for printing the form.
05:14The user still can always choose another view to print it.
05:19Once I have my information set for Print Settings, I should also take a look at
05:24Page Setup, and you'll notice that almost everything here is set for default.
05:28Default paper, default size.
05:30If you have a form that always has to print at a particular printer--for
05:34example, you create a form that needs to go to purchasing--
05:39you could set it so that it always printed by default to the purchasing
05:42department's inbound printer.
05:44Not a bad way to make sure that it gets there if they want to have a printout as
05:48well as an electronic copy every single time.
05:52But I'm liking this print version, so we're going to go ahead and simply leave that.
05:57And remember, we could click Express Request and create a print view here just
06:02as easily, and probably should, simply because the people who use Express
06:07Request will wonder, where did all these extra fields come from?
06:10So here's our new view, Print Express Request.
06:18You know how this works.
06:20Let's go back to Express Request, Ctrl+A, Ctrl+C, back to Print, drop it in,
06:32change its color, get rid of this row. Looking good.
06:40So, quickly and easily, we can create different views that are going to be used for printing.
06:47In the next movie, we'll see how to make these print views more easily
06:51accessible for the users.
Collapse this transcript
Setting view properties
00:00Each view has a set of properties, and those properties are used to determine
00:05when the view will be available, whether or not it's the default, and if a user
00:10prints while they see this view, what print view should be used.
00:14So let's go ahead and click on Properties.
00:17We're currently looking at the Express Request form. And you'll notice on the
00:22General tab the name, which you we could change here, the fact that it is not
00:26the default, and that it is shown on the view menu when users are filling out the form.
00:32So what that means is that when we look at the preview, that it will appear
00:39on this dropdown list.
00:47If we want to set this as the default view because we'd like most users to be
00:51able to fill out the short form, we'll simply choose that here.
00:55We can choose to use a background color or background picture, show scroll bars,
00:59and so on, in this form.
01:01Now I'm going to click on Print Settings.
01:03In the prior movie, we created a print view especially for this particular form,
01:10a black-and-white view that doesn't have any of the explanatory text.
01:14So I'm going to click this dropdown and choose the corresponding print view, and
01:19that will now be used as the default view when a user is looking at this view
01:24and chooses to print it. Take a look.
01:29If we go Home and we preview this view, and then we go to File > Print > Print
01:36Preview, take a look.
01:37It switched views for us.
01:39That's how easily we can make this happen.
01:42Now, let's go back and choose our Developers view.
01:50When I look at the properties of the Developers view, I'm actually going to make
01:54this a view that is not available to users.
01:57I don't want them to see this.
01:59This is my development copy.
02:01We're just going to hide it back here. And now when we preview, notice, no
02:10Developers view anymore.
02:13And then finally, I'll go back to Page Design properties, but first, let's
02:20switch to the User Entry version.
02:24Now we set up a print view for this as well.
02:26So, let's click Properties, and on Print Settings, say, if a user is using the
02:31long form, then use this print view.
02:37So, when we preview, we'll see a much shorter list.
02:42It actually only has five items on it.
02:45It has User Entry and its corresponding print form, OEC Use, Express Request and
02:53its corresponding print form.
02:55If I don't want users to be able to switch to the print view here, I can simply
03:00not have them appear on the menu.
03:02I can shorten this list to be only the forms that people would actually fill out
03:06on screen. Simple enough to do.
03:08Go to Page Design, choose our first print view, set its properties so it does
03:15not show on the view menu, go to our other print view, set its properties so
03:22that this also will not be shown on the view menu.
03:25You might wonder what happens with our third form view.
03:29We have this OEC Use view.
03:31If we print this, how does it print?
03:35Well, it will print using the default settings for a view, which means that it
03:40will print using itself.
03:42If we want to create a different view for OEC to print from, we can, but
03:45there's really no need.
03:47Let's go back to Home. Choose Preview.
03:51You'll see our short list here, with three choices: User Entry, OEC Use,
03:55and Express Request.
03:57Here's our default.
03:59Now, Express Request, now that we've made it our default, User Entry probably
04:02deserves another name that says something like Detailed Request.
04:07Let's switch back to Page Design and switch to our default form.
04:11So here's our user experience.
04:13When we go Home and click Preview, our user will initially see the
04:18Express Request form.
04:20Now they can say, no, I'd like to make it Detailed Request and get a
04:23longer form. Excellent!
04:25And if I'm working in OEC, I can pull up the form for my use. Works fine.
04:32I'm going to close this preview.
04:35In the next movie, we're going to make it even easier yet, for our users to be
04:39able to switch from one view to the next.
Collapse this transcript
Using buttons and rules to switch views
00:00We have our Express form open, and I'd like to be able to add a button so
00:05that the user could look at this form and go, oh, I want to switch to the detailed form.
00:09And that way I can actually hide all the form views on the menu, or leave them
00:14there. But the button provides better functionality.
00:17I'd like to put the button at the top of the form, rather than part way down.
00:21And so I'm going to begin by creating space for the button.
00:25I'm going to switch to my Table tools and create a cell over here, actually
00:30split this into three, so that I have a place for a button without switching
00:36this all the way over to the left.
00:38In other words, if I start by putting a cell here, notice that this is no longer
00:43where I need it to be.
00:44But if I put a cell here-- don't let that scare you too much--
00:48I can then simply move this title back, and it will be centered between
00:59these two cell borders.
01:02Now I want to put a button here.
01:03So let's see how tight I can get that and still keep in the middle. That looks good.
01:08So I'm going to go back to the Home tab, go to Controls, and choose a button.
01:18And I have a button. It sticks over the edge of the page some.
01:20So I'm going to pull it back, try to help it fit here, right-click, and set its properties.
01:27I'd like this to say Show Detail.
01:30Now I'll say OK, and that all fits. Lovely.
01:34The button looks great, sort of, but it doesn't do anything.
01:37So two more things I want to deal with.
01:39One is I want to assign an action to the button.
01:42I'm going to choose Add Rule and say, when this button is clicked, switch
01:46views, and the view that I want to switch to is the first one that's selected, Detailed Request.
01:52Say OK. Let's make sure it works.
01:54Go over to Preview. It looks good. Show Detail switches me to the detailed form. That works.
02:05Now I would also open up the detailed form and create a button there that says
02:10Show Express Form, right?
02:12So that no matter which form the user was in, they could quickly get to what to
02:16them feels like another form and what you and I know is simply another view.
02:20Let's go ahead and name this rule.
02:23If it's fired by a button, I'll usually start it with 'btn', and this is going to
02:26be ShowDetail. That works.
02:30I can format this button if I wish.
02:33I have borders and shading available.
02:35When I do, it will take those rounded corners and actually square them off a
02:39little bit, but I can choose a color that will go better with my theme.
02:45So let's choose something like this perhaps.
02:48That's a little garish.
02:50We'll go back into Borders and Shading and choose a little bit further down
02:54the color spectrum.
02:57That's a nice-looking button, and it works.
03:02Now there's another way you can create a button as well.
03:04You have the ability to create what's called a Picture button.
03:07It helps if you have a picture that works to begin with.
03:10So I created a couple of pictures in Microsoft Paint. Unless you're a better
03:15artist than I am, I don't recommend it, but you'll get the idea.
03:18I'm going to say that I'd like to insert a picture button, and by default it has
03:24this small icon on it, and I'm going to set its properties, which are primarily
03:31choosing the picture to show.
03:33So again, here's my fine work over here in Microsoft Paint, and I create a
03:38button, and that works.
03:41And I can now assign an action to it and
03:44add a rule for when this button is clicked.
03:49If I chose a larger picture, then I'll have to resize it.
03:53So if I choose Picture button again, and go to Picture Button Properties, and I
03:58choose, for example, this set of penguins, and say Insert, I'm going to end up
04:05with a button that's slightly larger than my form.
04:09It's a big button because that's a big picture.
04:13So I can right-click on the picture and just try to size it to the cell, which was sad.
04:19Let's look at formatting this picture, if we could.
04:21It says right now it is 768 pixels, and its width is 100% of the space that it
04:29has, so we could knock this down to something like 35 pixels and see if we start
04:35getting a button of a reasonable size. There we go.
04:37So we have some chubby little penguins here, and if we assign a rule to that,
04:42for example when this button is clicked, let's switch to a print view for this
04:51form, and now we'll take a look at it in Preview.
04:58And if I click on the penguins, I will switch to the print view.
05:03Now, that may seem overwhelmingly clever and certainly the penguins are cute,
05:08but there's nothing about penguins that tells me that that's a print button or a print function.
05:14So the next thing I have to do is invest even more time in either providing user
05:19training that say, when you see penguins, think the letter P, think print, or
05:24providing some text nearby, or putting some text on top of it.
05:27So again, unless you have a picture that really fits the purpose and will tell
05:33your user, here is what this does, at least as easily as text will,
05:38you should probably stick with regular buttons and format them if you wish.
05:42So this is how you use a button to take action in Microsoft InfoPath Designer.
Collapse this transcript
12. Publishing Options
Understanding submit options
00:00So, very shortly, we're going to be distributing this form to users.
00:04They'll be filling it out and then doing what with it?
00:08Well, the very last setting that we need to make before we publish a form is to
00:12specify how the completed form will be sent on to the proper person or location.
00:18We'll find the submit options here on the Data tab in Microsoft InfoPath Designer.
00:24Let's take a look at those options in a little depth.
00:27There are broadly two choices of how you will set up your submits.
00:32The first is that you want the user, when they've completed the form, to click
00:36Submit, and it goes to one place.
00:39For example, we could submit that form to a SharePoint library.
00:44This is what I think of as the gold standard, because once I've submitted a
00:48whole bunch of forms to the SharePoint library, I can do other work behind the
00:53scenes to create views that allow users to do aggregate things with all of these
00:57forms that have been submitted.
00:58You're going to learn about this in the next chapter.
01:01But if I don't have a SharePoint library, or if all of my potential users don't
01:06have access to it, or if I simply want to send forms out and get them back, I can
01:12submit by email. Or I can set up my form to use a different submit method.
01:17For example, I can submit to a database using a web service.
01:22In some prior versions of InfoPath, you could actually submit directly to a
01:27SQL Server database.
01:28Now we need to actually put a web service in there to make sure that you and I
01:33can't do unintentional damage with forms. And the other possibility is that we
01:37might submit to SharePoint using a data connection like a web service, rather
01:42than submitting directly to the SharePoint library.
01:45So you'll learn how to submit to a SharePoint library in the next chapter, and
01:50how to submit by email in this chapter.
01:53The other submit methods we'll leave for another more advanced course. But what
01:57if we want to submit to more than one location?
02:00For example, we might want to submit to a SharePoint library and send someone an
02:07email with the form in it at the same time.
02:10Well, SharePoint is set up, by default, that it will handle one submit option at a time.
02:16So if you want to create two or more submits, there is a way to do that.
02:20You're simply going to use rules, like we did for conditional formatting or for
02:25switching between views, to be able to submit the form.
02:28You're write one action rule for each submit action, so one action rule that's
02:34submit to SharePoint, one that's submit by email.
02:37When you use rules, you can write as many rules as you wish and submit to two or
02:43more locations anytime you'd like.
02:45Submit by email, submit to SharePoint library, or set up your submit options
02:52to allow you to use rules, and you'll write those rules here by clicking the
02:57Form Submit button.
02:58It is only enabled after you've said that you want to set your Submit Options to
03:04allow users to submit the form using rules, right here.
Collapse this transcript
Submitting using email
00:00So I'm ready to take my form and create a submit using email.
00:05Let's click on the Data tab of the ribbon, and here are our submit options, but
00:11I'm simply going to choose to email.
00:13The Data Connection Wizard opens, and this looks like the header of an email form.
00:18So I'll begin by typing the email address that I would like this form return to.
00:23So if I've created a form for people to submit information to me, it will
00:27probably be my email address.
00:29However, I could talk to my IT or IS department and have them set up a special
00:35mailbox for this that I could then access.
00:38By having a separate mailbox, I make it possible for another user to easily help
00:44me process these forms.
00:46But I'm going to send this to myself.
00:50I can then copy someone and I can blind copy someone.
00:55I can also hit the fx button here and pull a field up out of the form.
01:00For example, if I wanted to copy the user, I have their email address right here.
01:07So I could go back to my form, insert a field or group, for requester, take
01:14their email address, and say OK,
01:18verify my formula, and now they'll get copied on this email, so they'll easily
01:24know that this was sent on to me as well.
01:27In this subject, I can put anything I choose.
01:30I can also pick up fields out of the form.
01:34So, for example, this is a Post Express Request from a certain person, so let me
01:40insert a function for concat, and I'm going to put "Express Post Request from,"
01:48space, quote, get rid of the second field, and then go in and put the
01:55requestor's last name.
01:58Verify my Formula. So the subject will be "Express Post Request from" that user's
02:04last name, right here.
02:07Now in Outlook I can create rules that would route anything that had this
02:13particular subject begins with Express Post Request from to a particular
02:18folder in my inbox or forward it to someone or any other rule I can establish in Outlook.
02:24So taking the opportunity to start this particular subject line with
02:29something that I can recognize in Outlook in a rule is a really smart way to handle this.
02:34I can put other information in here if I wish.
02:36If this is coming to me, I could simply omit it. Or I could provide more
02:41information if it was going to another user. I'll click Next.
02:45I can send only this active view of the form.
02:48It will actually be embedded in the email message,
02:51so I'll see this form. Or I could send the form as an attachment.
02:55If I send it as an attachment, or if I post this form on a SharePoint site, then
03:02I should come up with a better name for it than form.
03:05So I could, for example, create using a concat function again, a pretty decent
03:12kind of file name for this, so that I can automatically save it--
03:16the sort of thing where we all go in and put the users name in it, then delete this
03:22field, put a space and a dash, and then add their title from the Post section.
03:31So, unless there is someone else with the same post title and last name, this will
03:36end up being unique.
03:37I could also store the date and anything else I want.
03:40If I wish, I could begin this by saying that it's a Post Request, remember
03:44to put that in quotes, and I might as well add the space and hyphen right here,
03:50and then put a comma.
03:51So Post Request, the person's lastname, and posttitle.
03:54Let's verify that Formula.
03:56It says it has no errors. And say OK.
03:58So when I or another user receives the email with this attached form and want to
04:04save it in a network share or in a My Docs folder, it should have a unique name.
04:09If this is coming back to me, I already have the form template;
04:13however, I can attach the current template, so that any other user can open the form.
04:18Remember again, if I'm simply sending the data so they can see it, I might as
04:22well only send the active view of the form. I'll click Next.
04:26This is my Email Submit.
04:28That's a default name, and this is my main submit connection.
04:32This is the only way I'm going to submit this form.
04:35So when the user is done and they click it, it will leave by email with the
04:39settings that I just provided.
04:41If I want to go back and see the submit options for this form, I can
04:45click Submit Options.
04:46It says E-mail. I can manage this, and it will let me modify it, which is
04:51another way to see all of this same information again and make any changes
04:55that I need to make.
04:57With the Submit Options set, we're now ready to publish the form.
05:01We won't be able to allow a user to use it until we do, but as soon as we
05:06publish it, a user will be able to open the form, fill it out, click the Submit
05:11button, and actually have the contents of this form go somewhere.
Collapse this transcript
Distributing using email
00:00With our Submit Options set, we're now ready to publish and distribute this form.
00:05Now even though we're using email as a method, we could still publish this on
00:10SharePoint. But we're going to focus first on publishing this either on a
00:14network share or simply distributing directly to an email list.
00:19Let's click File in our form, and you'll notice that we've taken care of the
00:23Submit Option, so this is grayed out, but we never ran the Design Checker.
00:28This isn't a bad thing for us to do every time we publish.
00:32So let's take a look.
00:33It says, I believe you're going to use InfoPath Filler to fill this out--yes, we are--
00:38please check its design.
00:40And really quickly, InfoPath ran through all of the fields on the form, all of
00:44the controls, and says, it's fine. All right!
00:47If it had found errors, we would refresh it.
00:50This is just another part of testing.
00:51You know how to do this.
00:53So the Design Checker now shows as checked, and we're ready to publish our form.
00:57The form isn't published yet, so we can't publish to its current location.
01:02We can publish to a network location or to a list of email recipients.
01:08If we publish to a network location, we can still email from there.
01:12So, I'd like to spend just a moment discussing these two options.
01:16If I have a form that I periodically distribute only by myself, I'm the primary
01:22provider of this form to people, then I could use email as my method.
01:27I could simply email it to the ten people I'd like to use it now.
01:30If I make some changes in it, it doesn't matter.
01:33I'm the only source for this form.
01:35However, if others in my workplace are going to also use this form, I should
01:41publish it to a network location or file share, even if my intention is to share it by email.
01:48So let's see what it looks like to publish this to a list of email recipients.
01:51I simply click E-mail, and it says, "What do you want to name your form template?"
01:57Well, Email on Network Share is the exercise name, but we'd actually name this
02:02Web Post Request because the user will be able to switch between views.
02:07They have a nice button that allows them to do that. Let's click Next.
02:11And then it says when a user receives this in an Outlook folder--the user being
02:16not the person who fills it out, but eventually me using the data--the eventual
02:21recipient of this form, might they want to expose some columns that they could
02:26actually include in a view in that folder?
02:29And I actually would.
02:31I'd like to be able to know who sent this to me, for example. And I can rename
02:37this to be Last Name, and I'd like to add their first name.
02:43I'll follow exactly the same process if I publish in SharePoint, to put columns together.
02:49And then I would like to know, also, the date that they provided it, but it won't be today.
02:56I'll actually want that to say at the top Date or Submitted--shorter yet.
03:04And then I'd like to add the title of their posts.
03:09That's all I want for right now.
03:11Now I could have multiple post titles in there, and this gets a
03:14little interesting.
03:15Why does this one say first?
03:18Well, because Posttitle actually appears in a repeating section, posts, so there
03:24could be more than one.
03:25I have choices if I choose Posttitle.
03:28it can show me the first one;
03:30It can show me the last one;
03:32it can tell me there are four in here--
03:34that's what count would do--or it could take all of those titles and merge them
03:38together so I could read them all.
03:39I'm a little more excited about that myself. All right!
03:43So I'll click Publish to create an email message that contains this form template. Okay?
03:52I'll need to sign in, and here's my email message that contains the template.
04:01So I can easily send this to a distribution list, to one or more recipients,
04:06I can copy people on it, I can write a brief introduction and I can send it.
04:11When the recipient receives it, this form is ready to go.
04:15Notice that it will do everything that they want it to do.
04:17They can switch back and forth between views.
04:20And when they're all done, they'll actually have a Submit button here that will
04:24return it to the designated email recipient.
04:28Actually, that's me.
04:29So I could save this form and use it again later, or I can simply send it to a
04:34bunch of people right now.
04:36It's really easy to go in each time and just say create a new email message with
04:40this version of the form.
04:42That's how we will publish a form using email as the publishing method
04:47in InfoPath 2010.
Collapse this transcript
Publishing to a network share
00:00This is exactly the same file that we used in the last movie when we used email
00:06as our publishing/distribution method.
00:10We can use the same file because when we use email as our publishing method, we
00:14just open up the InfoPath form each time and ship it out again.
00:18So let's publish this in a different way now.
00:21Let's say that we want to publish the form and instead of publishing it to
00:25a list of email recipients, we'd like to publish this to a network location or file share.
00:31Now if I publish this in a file share, other people have to be able to get to it.
00:36So this isn't on your My Docs folder on your computer normally.
00:39This is somewhere in a folder, perhaps in your organization you have a Transfer
00:44folder or a Share folder, that other people have the right not to place things in
00:49but to read things from.
00:50That will work just fine.
00:52And note that your users are going to have to be able to access InfoPath
00:57Filler to complete the form that we publish here in a network location, or the
01:03one that we sent by email.
01:04So let's choose Network Location, and we will be asked to find a place to publish it.
01:09So this folder already needs to be set up somewhere. And I'm going to browse
01:15out to my network location, and I actually have some shared folders here that
01:21users can have access to.
01:23And I'm going to create a new folder in my public share space and I'm going to
01:29call this InfoPath Forms. That'll work.
01:34Now I need to give this a file name, and this will be the file name that the
01:38template will have in this location.
01:40Its current name is the name that I'm using here as an exercise file.
01:46You might think of this as my production environment, but what this really is
01:50this is a post request form.
01:53So I'm going to say put it in that new folder, call it Post Request Form.
01:58Notice that it changed my template name here as well. Let's click Next.
02:03It says, "If all users can access the location you entered in the previous step, click Next."
02:08Same question I asked you.
02:10Okay, however, if users access this template by using a different path, enter it here.
02:16Let me give you an example of that.
02:18For example, you might have created a mapped drive for one of your network shares.
02:23It might be drive L. If what it says here is drive L\Post Request Form, you need
02:29to go back and redo that network path in such a way that it would work for other
02:34users who haven't mapped that drive.
02:37So you can go follow drive L out to that folder, right-click on the folder,
02:42choose its Properties, and that's what belongs here in this box.
02:46If you have a question about what should be here, just step away from your
02:50computer for a minute right now, go find a colleague real quickly, and have
02:54them navigate to the folder, because it's their path that needs to be here in this link.
02:59Otherwise, you'll still be the only person who can access the form. Let's click Next.
03:04It says this is where it's going, and I'm going to publish this form.
03:07Now I can open the form template from the published location, and I'm going to
03:12say I want to open this form.
03:14It says a server has to be contacted. I know that;
03:17it's stored on a server.
03:19And here's my form.
03:20So now this is the user experience of your form.
03:23We're seeing it for the first time.
03:25The user can go in and fill it out.
03:27When they're all done, they click the Submit button, and it will be saved.
03:31Where will it be saved?
03:32It's published on the file server, ah, but it's not submitted there.
03:37That's where it's distributed.
03:39This form, like the last one, when it's submitted, will be emailed back to me.
Collapse this transcript
Viewing the files InfoPath Designer creates
00:00There's one more way that you can publish that I just want to show you briefly
00:04because the odds are good you won't have a need for it, and yet if you do,
00:07it's really pretty cool.
00:09Every time you look at an InfoPath form, it actually is a whole group of files put together.
00:14There is the schema that we see in the field list.
00:18There is a style sheet that creates each of the different views.
00:22And all of these files together are combined in the InfoPath Designer and
00:27Form Filler so that you can have one unified template.
00:31But you can extract those files and separate them, and you do that on the
00:37Publish category by choosing Export Source Files.
00:40So simply click here. It will choose the folder that the form is in already,
00:45so if you created a folder for InfoPath development, for example, that's not a bad place.
00:51But I'm going to use a folder called Source Files, and click OK.
00:55And it says, "The form cannot be signed when saving as source files.
00:59It will need to be signed again each time it's opened.
01:03To sign the form permanently, sign a certificate and publish the form."
01:07I have not much idea what it's trying to tell me here, but that's okay because I
01:11don't want to sign the form.
01:13I simply want to save it.
01:15And that's what it looks like.
01:16So now I have a form.
01:19It's actually called Source Files. And if I go back to that file location in my
01:26exercise files, these are all of the files that it takes to be able to create
01:32one InfoPath template.
01:34So here's my view called ExpressRequest, and it's actually a style sheet.
01:39Here's another view, another style sheet. So each time we created a view, we
01:44created a new style sheet.
01:45There's something called sampledata.
01:47We have very little sample data;
01:49largely what we have in our form is a few placeholders.
01:53We also have a schema that we were creating every time we added a new field to
01:59our data source or changed the type of a field.
02:02We have the XML document that is called the template itself, but really what we
02:08expect to see when we look at the template is, more properly, the manifest.
02:13So all of these different files come together to create one single InfoPath template.
02:18If someone were to ask you, does that template you created have a schema?
02:22You could say, yes it does, and it's actually right here.
02:26And you can open these files.
02:27You can open the schema files and the XML files.
02:31There are free tools to do that, things like XML Notepad or Notepad++, that are
02:37available, and here's what that file looks like.
02:40And if you looked at this, you would actually at this point be able to
02:43understand pretty much what's going on here, because we have, for example, a
02:47requestor, a newcontentarea, posts, and officeuse.
02:52And in requestor, we have elements called reqemail, reqfname.
02:58It looks ugly, and I'm glad we never had to type it, but this is the schema
03:03that's part of our InfoPath template.
03:06So again, anytime you'd like to be able to extract those files from an InfoPath
03:10template you've created, let's go ahead and choose File > Publish > Export
03:16Source Files, choose a location, and say OK.
Collapse this transcript
13. Publishing a Template in SharePoint
Publishing InfoPath templates in SharePoint
00:00When you're going to distribute a form by publishing it as a web browser form in
00:05SharePoint, or even as a Form Filler form in SharePoint, you have two choices.
00:11You could go in, if you wished, and set your submit options first and say I'm
00:16going to submit this to a SharePoint library.
00:19You can also publish the form, create the library during the act of publishing,
00:26then come back and set your submit options, and publish it again.
00:31Even though there are more steps in that second way of doing it--publish
00:36and create a library, then come back, set the submit options, and then publish again--
00:42I actually prefer the second method.
00:45From time to time, I've created a library first and submitted a form to that
00:50library only to have some issues where fields aren't kept together like I
00:56feel they should be.
00:57So it feels really solid to me to follow the tried-and-true method of creating
01:03form libraries by publishing forms.
01:07Let's begin by choosing File.
01:09We're going to use the Design Checker.
01:10We checked this form in a previous movie, but there are three warnings, none
01:15of which are critical.
01:16We are happy with how our form looks.
01:19And because there aren't red critical warnings with an X through them, we know
01:23that there are some things that won't be supported, but that the form can be published.
01:27So I'm going to close the Design Checker. I'm fine there.
01:30It will continue to bother me to check the Design Checker until it comes up with
01:34no errors, but I'm fine there, and now I'm going to publish my form.
01:38I'm going to publish my form to a SharePoint server.
01:42First, I need to be able to enter the URL for my SharePoint server here, and one
01:48other thing: that SharePoint server must be running InfoPath Forms Services.
01:53If no one else in your organization is using InfoPath, it's possible your server
01:58was set up without InfoPath Forms Services.
02:01In that case, you need to talk to your IT department.
02:05If you have recently been in your browser, you'll find that there's a list of
02:09your history that's obtained from Internet Explorer.
02:13So in my case, I can simply begin typing, and I've only gone to one site in
02:19the past two days, or however long my history is, that starts with the letter L. So that's good.
02:25Right arrow.
02:26The next portion is the word, sites, and the next is central.
02:30Also, there is a significant dropdown list for once I start typing here.
02:35So once I get to http:// and type some other information like ld, I'll have
02:41lots of other choices in my list.
02:43I can also copy and paste out of my browser.
02:46So, a lot of different ways to get here, but I have to know the location of
02:49my SharePoint site.
02:50Notice that I'm pointing to a site, not to a library, and I don't have any text
02:55at the end that says .aspx.
02:57If I do, normally the Publishing Wizard will know what to discard here.
03:02So now we're going to click Next, and the check box Enable this form to be
03:07filled out by a browser should be turned on.
03:10If it is not, you probably just ran the Design Checker in the mode where it was
03:14looking at the InfoPath Form Filler.
03:17As soon as you've chosen web browser as your file type, this check box should be turned on.
03:23You're going to publish this to a form library.
03:26If you wish to publish site content types or administrator-approved form
03:31templates, please be in conversation with your Information Services or
03:35Information Technology department because they control this at least, and
03:39probably both of these options. Let's click Next.
03:43I would like to create a new form library; that was the point.
03:47So I'm going to click Next.
03:50This is Web Post Requests.
03:52Now when this library gets created, it will have the URL, and every place I
03:59provide a space in a URL, when the web address itself is shown, spaces are
04:05replaced with three characters,
04:07the Percent sign, a 2, and a 0, because that's the symbol for a space in a URL.
04:14Because of that, I'm actually going to do a little bit of a trick here.
04:18I'm going to get rid of those spaces for right now.
04:21It's not going to look as good for a description, but I will be able to change it.
04:25And actually, if I can go even shorter, it's probably good because I might have
04:32relatively long file names that people want to attach to forms in a library.
04:37So the shorter I can be with what has to appear in every URL, the better off my
04:42users are, ultimately.
04:44And this library is being created.
04:47This is a place where "Users complete and submit Web Post Requests and requests
05:01for New Content Areas.
05:04For more information, please contact," or an extension, or just don't allow more information.
05:16Figure that when we're giving people permission to get here that we're giving
05:20them information in that process. Let's click Next.
05:24Now we have the ability to choose some fields out of our list here, and say when
05:28we publish this form in InfoPath or in an Outlook folder, we would like to make
05:34sure that those columns appear.
05:36And it's not that these are the mandatory and then there are other optionals.
05:40The only way that we can send columns to a display from InfoPath to SharePoint
05:46and Outlook is by doing it either now during publishing or by doing it through
05:52promotion and then publishing, which I'll show you in a bit.
05:55So I'm going to say I would really like to know who it was who submitted this form.
06:02I want to know their first name, and I'm going to name it First, but it's this field.
06:07I'd like to know their last name, and rather than use the tag, these are
06:12coming from my field list.
06:14These aren't labels.
06:15These are my tags. And I'd also like to know two other things.
06:21I'd like to know what date I submitted the form.
06:26Now I can actually find that out another way because as soon as this form hits
06:30SharePoint, SharePoint is going to say, hmm, when did this file get created, and
06:35it will keep that as its created date and time.
06:38So I don't necessarily need to get that from here.
06:41I could get that from somewhere else.
06:43So rather than promote that field, I'm going to actually choose a couple of
06:47other fields that I would like to have.
06:50First I'd like to know if this item is news, and this is a true/false, and my
06:55choice down here, there is a function that says first.
06:58You might wonder, why do I see a function for this one?
07:01Well, it's because this is in the post area, which is a repeating area.
07:06So it's saying, okay, there could be five posts in here. Which one would you
07:10like to know this about?
07:12Well, first, I could say, show me just the first one, but if there are five and
07:16the first one is not news, what if the other four are? Or I could say why don't
07:21you count the times that is news is true?
07:25And that would tell me either 0, 1, 2, 3, 4, or 5, and that seems to make some sense to me.
07:33So I'm going to grab that field because then I know how many news items I have.
07:39In the same way, I can go in and count anything else I'd like to know.
07:43I could count, for example, how many posts there were in general.
07:47So I could take a look at the posttitles and say, tell me how many posts there are,
07:52just count them.
07:54And I could call this Num Posts.
07:57Those are the things that I'd like to see,
07:59the first name, the last name of the submitter.
08:01I'll pick up the date from SharePoint.
08:04I'll find out how many of the items in it were news and how many total
08:07items there are in here.
08:09That's probably enough for now.
08:10If I change my mind, this is easy enough to change.
08:13I'm going to click Next.
08:15It says okay, I'm going to create a form library at this location using
08:19InfoPath Forms Services.
08:21I'm going to now click Publish.
08:25You may or may not see a Windows Security dialog at this point.
08:29It depends on how the security has been set up in your organization.
08:34Assuming that you are posting this on a SharePoint site where you have
08:37appropriate permission, you should simply be able to enter your password, click
08:42OK, and then wait for a moment.
08:48After you've appropriately entered your credentials, SharePoint will post your template.
08:53We did the pre-checking in the Design Checker, so there's no reason to believe
08:58that this would not publish successfully.
09:00But occasionally, you'll get some information back that says it did not.
09:05We can now say we'd like to open that form library that we just created and
09:09look at it, and we can additionally say we would or would not like to open the
09:13form in the browser.
09:14I'm simply going to open the library and open the form from the library by clicking Close.
09:21Here's our brand-new PostReq library.
09:25Not a lot going on in it yet, but when I click Add document, notice what opens. There's my form.
09:35I can't submit it yet.
09:37If a user clicks Save, they'll get a message,
09:39even if they choose still to save it, this says you can only save this file here
09:44and they'll have to provide a file name, and it'll be a little weird.
09:47That's not the user experience we'd like to have.
09:50I'll show you how to go ahead and fix that in a little bit.
09:53So, we've posted our very first form here. That seems to work pretty well.
09:58We figured out how to send columns here, and that worked, and now we can go back
10:03to Microsoft InfoPath, and the next thing that we'll do is we will set up our
10:08submit back to that SharePoint library, so that when the user clicks Submit, the
10:13form stays right where it is.
Collapse this transcript
Promoting columns to SharePoint
00:01You don't have to wait until you publish a form to determine what fields out of
00:05our data source we'd like to see in Outlook or in SharePoint.
00:10You can pre-assign those by making them promotable properties.
00:15Let me show you how you'll do that.
00:17This is particularly useful if you intend to submit a form to more than one
00:22location, because you can set this all in one place.
00:25This is a form that we just got done publishing and when we published it, we
00:29actually chose four columns that we decided that we wanted to have in SharePoint
00:34based on four of the field properties here.
00:37I'm going to go to File, not to regular Options but to Form Options and choose
00:42Property Promotion, because the work that we did promoting these fields into
00:48SharePoint is actually captured right here and stored in the form.
00:53So if I wish, I could have started by adding my promotable properties here.
00:59I can also edit them here.
01:01Now, until I publish, I'll have a mismatch between this form and what the library
01:06has in it. But if I change these properties, publish my form again, then the
01:12properties that are promoted to SharePoint will change.
01:16I want to offer a caveat here. If you are promoting a large number of
01:21properties out of a form--let's say, 40, 45--
01:26you can expect that you will add a property here or during publishing, and that
01:32the first time you do it,
01:33it may not actually make it.
01:35It just seems to be an issue when you're publishing a large number of
01:39properties as columns.
01:41But with the number that we have, I'm not all that worried about it, and I'd
01:44actually simply like to know if there's been any request in this particular form
01:51or any other that says, I'd like to have a new content area. So, one way to do
01:55that is to say, well show me if there's a new content area requested.
01:59I could modify that and simply say New Area.
02:03If it's blank, I know there isn't one.
02:05So you see how easy it is for me to be able to very quickly go in and change my
02:11properties that I wish to promote, whether it's to SharePoint or to Outlook
02:15folders for forms that are submitted by email.
02:19And then, because I've published this form once, I can now quick-publish this form,
02:26publishing it again in the same location. You may be prompted to enter your credentials.
02:32You wait for a moment, and you notice that the form was published successfully.
02:36How would I know that that new column had actually been captured?
02:41Well, if I open my form in a browser, I don't actually see it. The form looks
02:46the same, whether the properties are promoted or not.
02:49However, if I look at my view of all documents and refresh it, I should expect
02:54to see the New Area column right here in my library.
Collapse this transcript
Submitting a form to a SharePoint library
00:00So we published our form and created this library here in SharePoint.
00:05Now if we create a new document, we need to tell it that the submit event is to
00:10put it right here back in this library.
00:14I'm going to save myself a little bit of time and I'm going to select my URL here.
00:19I don't need the part that says, forms, which means it's this, and all items,
00:24which is actually the view that I'm seeing right now.
00:27I just need everything from here on back, and I can right-click and copy that,
00:32or Ctrl+C once it selected. And let's slide back now to our InfoPath form.
00:38I'm going to click submit options, and you'll find out that I haven't set any up already.
00:43I can choose to SharePoint library, but I want to remind you that if I wanted
00:49to submit this form both to a library and email it to someone at the same time,
00:55I would need to go to the Submit Options dialog and choose to Perform custom
01:01actions using Rules. But if I'm just submitting to SharePoint, I can do that right here.
01:07I'm prompted to enter the name of my library, and I just copied it out of the
01:12address bar in my browser, so Ctrl+V to paste.
01:15Notice it wants to paste the whole thing, but I don't need it.
01:19And now it says, as users are submitting forms, what will you name the form?
01:25So this will appear in the title. If I name it form,
01:28then the first person who submits a form, it will submit, and the second person,
01:32because I'm not allowing overwrite, will be told, I'm sorry. We're full up.
01:36We already have somebody named form.
01:38So let's go ahead and create what we hope, really hope, will be a unique name,
01:44because that's the purpose here.
01:46I'm going to insert the concat function, and I'm going to choose fields that I
01:51believe will make very good sense and create a totally unique experience.
01:56So first, I'm going to insert the requestor's last name. That's this field right here.
02:03Next, I'm going to insert, simply typing from the keyboard, a quote, a dash,
02:09a quote, and a comma.
02:11Now I'm going to insert another field, and the field that I'm going to choose
02:16this time is the title of the first post.
02:23Now, I'm going to click after this comma and do another dash, and a comma, so
02:27quote, dash, quote, comma.
02:30So now I have the person's last name and the post title, and you might think
02:35that would be enough, and you know many days I would too, but if I'm in a really
02:39large organization with a number of employees who could have the same last name,
02:44or a small place with tons of nepotism, then I could have a lot of people who
02:48have the same idea for a post who have the same last name.
02:53So I'm going to double-click here, and we're going to pick up one more field,
02:57which is I'm going to pick up the submit date.
03:00Let's verify this formula.
03:02Now, as I told you previously, I'm going to know what this date already because
03:08SharePoint is going to track it.
03:09The reason I'm using it here is the odds of two people with the same last name
03:14posting exactly the same title on the same date really lowers the odds that
03:19I'll have a conflict.
03:21So there's my form name. I'm all set.
03:25Now if I wanted to, I could have put some more text in front of this.
03:28I could've said, form from or whatever, but usually if I lead with something
03:33like a title or a last name, I'm in pretty good shape.
03:36Let's click Next, and this is automatically called a SharePoint Library Submit.
03:44This is the default submit connection.
03:47I can create other connections if I wish, and line them up using rules in the
03:52Submit Options dialog box.
03:54Let's click Finish.
03:57Now, our form sitting here on our computer knows how it is to be submitted, but
04:03the version that's sitting in my library is still sitting there thinking, I wish
04:08I could submit somewhere. I have to update this template here in the library.
04:13In other words, I have to publish my form again, so that what I just did on my
04:18computer will be here as well.
04:21So let's go to File.
04:23I've published it once. Do take a moment and make sure this is the right place.
04:27If you're not sure this is a live hyperlink, you can click it and go out to your
04:31library and make sure it's the right place.
04:33Let's click Quick Publish.
04:37If you were prompted to publish before, you'll be prompted again.
04:45And sometimes you'll be prompted a second time.
04:51It says my form template has been published successfully.
04:54Now I'm going to open this form in the browser, and what I'll see is my form
04:59looks almost exactly like it did before, with one new exception.
05:05Here on my toolbar I can now submit this form to my SharePoint Library.
05:11Let's take just a moment and see how that works.
05:14So I've got some data entered.
05:15I think I have caught all of the required fields.
05:17If not, I'm sure I may know soon.
05:24Notice that when I'm in a text field I have editing tools available to me.
05:27I can do some inserting of a table in this rich text box, up here, no rich text
05:34tools, because I'm in a plain text box, but I'm all ready to go.
05:38I'm going to submit this form.
05:40Here I am back in my library. That quick it happened.
05:43There is the name that I created, last name, title, today's date. Again, I
05:51told you SharePoint would tell me when it was changed, but it has right here
05:54and who changed it last.
05:57First name, last name, one item that's news, one post, nothing in a new area.
06:03I'm looking happy here.
06:06So that's what it takes for us to take a form that's already been published into
06:10a form library and set up the submit so that the form will return right here.
06:15Even with only one form in this library, you can probably begin to see the power
06:21of publishing all of our forms to one place.
06:24It allows for easy management by the folks who have to respond to all of
06:28these web post requests.
Collapse this transcript
Creating SharePoint library views for InfoPath forms
00:00So here we are back in our PostReq folder, and we've asked a couple of other
00:04people in our office to jump in and make up some test data, just to try it out.
00:09Testing is as important for this site which we are going to launch as it is for our form,
00:15so it's helpful to have some friendly users who are willing to come in and check
00:20this out before we launch this site for everyone.
00:23So here is one view of the site, and already when we are looking at just about
00:29eight or nine new items, it's clear that this view probably won't be enough.
00:35When we have 50 people, all of this pent-up demand, entering new items when we
00:39launch this site within our organization, we are going to wish that we had views,
00:44and it's better if we can anticipate and create them upfront, because then as
00:49we're showing people how to use the site, we are also showing them the views.
00:53So I want to quickly show you how to create a view in SharePoint.
00:56If you want to know more about this, I'd like to encourage you to look at the
01:00SharePoint Essential Training Course in the lynda.com Online Training Library,
01:05but just enough to get you going so you understand what we're doing here and
01:09the relationship between this view that we see and the InfoPath form that we
01:13published to create this library.
01:15You'll recall that we specified some categories of information, some fields
01:21from our data source, that we wanted to promote as properties, or columns, here in SharePoint.
01:28So the name which we created in our form when we set up the submit event.
01:33The first and last name of the user which we promoted as a property, the number
01:37of posts, the area, for example, of the form.
01:41Let's take a look at how we can modify the fields that we promote here as columns.
01:48So let's go back to InfoPath. Here's our Web Post Request, and this is as good a
01:54time as any to point out that you need to keep a copy of this template in a
01:59place that's pretty pristine.
02:01If anyone else goes in and modifies this template, if you had someone else who
02:05had permission to do so, and you need to repost your template, the one on the
02:10site will not have a backup.
02:12So you always want to keep one copy of the template as it is currently posted in SharePoint.
02:19Keep it in a folder, for example, that says 'template-do not modify'. Then you
02:24can make a copy of it and modify to post and repost it, for example.
02:29So let's go to File > Form Options > Property Promotion, and here are the fields
02:35that we are sending over to be columns in SharePoint.
02:39I'd like to add a couple of other fields.
02:41For example, we want to know right now what department the requestor works in so
02:48we can see where our new ideas are coming from.
02:51I can type in 'Dept' or 'Department'.
02:56This is a good thing to do right now because if you forget, you'll have to come
03:00back here again and do this all over.
03:02And then the other thing is I know how many posts have been provided, but I
03:06don't have any idea what categories they fall in, or what kind of information is in the posts.
03:11So I'm going to add two additional categories from the posts area.
03:16First, I'd like to know the post category of at least the first item that's posted.
03:22So, let's get them all and simply merge them together.
03:30We have to choose either first, last, count, or merge because postcategories is a
03:35repeating group and therefore there can be multiple occurrences of postcategory.
03:40So postcategory, Categories, merge.
03:52And finally, I'd like to actually see some information about the post itself, posttitle.
03:58Now, remember that posts is also repeating, so my choices are first, last, count,
04:03or merge, and I think just the first one would be fine.
04:07Now, let's merge those as well.
04:10I have the first post title.
04:11It's part of our field name.
04:13So let's just call this Titles.
04:17So now I have seven categories that I am going to throw over the wall. Let's say OK.
04:24I'm going to actually save this with a new name, and I'll tell you it doesn't
04:33matter what name we give it here.
04:34This is only our name, because in SharePoint this will simply be
04:39called template.xsn.
04:43Let's say File then, and we can Quick Publish our form.
04:47Quick Publish sort of rips through and does an express publish.
04:52It's possible that we will publish something, and it won't get caught in the Quick Publish.
04:56And if that's the case, you can simply go to File > Publish and publish that
05:01template again, starting from scratch--
05:04the longer publish method, as opposed to this express publish.
05:10Dialog boxes, if you're prompted to do so, based on your environment.
05:22See how this is working.
05:24We are published successfully.
05:26Now, I don't care about my form.
05:28I simply care about what's going on over here in my browser, and I'm going to
05:31come in here and refresh.
05:34Here are my new Department, Categories, and Titles.
05:37Depending on the settings in your organization for your SharePoint server, I
05:42would expect that you would actually see information in all of these
05:47right now. There is a department that's a required field and you would be able to see it.
05:51Occasionally, you'll have the kind of set up I have here where there is not
05:56necessarily that level of trust between the development environment, and this
06:01is a test environment.
06:03So because this is a test environment and not a real environment, I'm simply
06:07going to open and close one of those forms, and you'll notice that when I do,
06:12SharePoint again says, "Oh, there is a form.
06:15It has properties. What was that again?" And it goes and grabs those properties.
06:19Likewise, if I go, for example, here and simply close it,
06:24I don't even have to do anything.
06:26It just makes SharePoint look at this again.
06:29Notice that I had two posts and that the Categories are both in the Bicycling
06:36area, or one didn't specify a category, actually.
06:39And here are the two items: Test - Bike Trail Signage, Test a
06:43Fundraiser Concert.
06:44So this is how that merged field with the duplicate titles in it looks.
06:49If you have 500 posts and you change something in a view that's critical for you
06:54and it looks like you're going to have to go back through and open all of these,
06:58there are actually some programmatic methods that you can look forward to
07:01quickly run through an update all of these, but this looks good.
07:05Now here's one view. In my library, I can create new views.
07:09So I can create custom views that sort by department or group by department.
07:14I can create views that show the progress. Has this been completed or not, and by whom?
07:21To create a new view, it's very easy to do.
07:23You just click the Create view button.
07:26You choose Standard view if you'd like the kind of views we've been seeing,
07:30or Datasheet view if you'd like something more like Excel, or you start from an existing view.
07:35Give it a new name.
07:38Here, you're creating a public view because if not it's just for you and no one
07:43else will ever see it, and then you simply adjust the columns and categories,
07:48the sorting, the filtering, and so on.
07:51Again, if you're going to spend a lot of time in SharePoint, as an InfoPath
07:55developer, I want to encourage you to take a look at the SharePoint
07:59Essential Training Course.
08:00One more thing I'd like to help you fix before we are done looking at this
08:04particular view and this library.
08:07When we created this library, I said, let's not put a space in the name, then
08:12let's have a nice short stubby name so that up here in the URL, it looks good
08:17and doesn't take up a lot of space, and unlike Shared Documents, for example,
08:20doesn't take up three characters with this %20, and I told you I'd show you how to fix this.
08:26To change this name here, we are going to go in the Library tools to Library >
08:33Library Settings > Title, description, and navigation and say that this is the
08:39Web Post Requests library.
08:43Notice I don't have a way in this library to change its URL, but I do have a way
08:49to change its name on the Quick Launch bar right here.
08:54Using InfoPath, I can create a great form.
08:57Posting it to SharePoint makes it readily available to lots of people as my
09:01test users will attest.
09:03By creating views, I make it easy for people to see that their form was
09:07actually posted, and to be able to analyze where our forms are being submitted
09:12from and by whom. And finally, by adding some of the back-office fields, the
09:17fields that the OEC staff will fill out, I can make it possible for someone to
09:21submit a form and come right back to this site to see whether it's in process
09:26and whether it's been completed.
09:28A nice complete solution from submit to feedback, back to the user.
Collapse this transcript
Modifying InfoPath forms published in SharePoint
00:00This is my InfoPath template that I've used to post in a SharePoint site and
00:05create a solution in my workplace to be able to submit new web post requests and
00:11get feedback about how that process is going once they've been submitted, so
00:16this is a very important template for me.
00:18Sometimes I'm the only person doing development, and in that case all I have to
00:22do is guard this template, and when I get ready to make a change to the site, I
00:28can simply modify this form and then repost it.
00:31For example, if after we've been using this form for a while there is a request
00:37to add another content area, I can do so.
00:40If there is a request to delete a content area--for example, somebody says we
00:45are not going to use that optional section anymore, take it out of the form--I can do that.
00:50When I delete these fields, however, I'll be reminded that we've actually got
00:59data sitting in forms. All of the forms that sit out on the site already have this data.
01:06So I can lose this data pretty easily out of all of those forms, because the new
01:10form will simply throw it away.
01:12It won't show it any longer.
01:14So sometimes when somebody says, "I'm not sure we need this," I say, "Ah,
01:18that might be fine," but an alternative to me getting rid of this area is
01:23simply to come into the form itself and say I'm not going to provide a
01:28section for that anymore.
01:30So we're not going to have a place to be able to put new content now, and that
01:34will work just fine.
01:36So by simply deleting the optional section, I keep all of the data that's already
01:41been entered in those forms.
01:42If that's the case, I'm going to actually save a copy of this first that says
01:46Post Request Template with new content area, because if somebody changes their
01:52mind--often you'll find people who say, well, "You know, I don't think I want that,"
01:56and then three months later they'll say, "We really need that back," and it's nice
02:00to be able to say, "Well, we had it once. We can have it again."
02:04So, significant request to change the template warrant you saving a copy of it as
02:09it was, but this becomes and remains my master template.
02:14This should always look exactly like the template that's sitting on my web site.
02:19But what if it doesn't?
02:20I have clients where I'm one member of a development team. I might create the
02:25initial InfoPath form, and after that, other people have the ability to update it.
02:30I don't have the master form anymore on my computer.
02:34Now, we'll set up a process that says well, the master template should be kept in
02:38such and such a location, but what if that doesn't happen? Or what if you believe,
02:43for whatever reason, that the template that's here that you might want to modify
02:48already doesn't match the template that's sitting out on the site?
02:52Well, in that case, you can always modify the template that is stored here right now.
03:00Go back to your Library, go to your Library Settings, choose under the General
03:07Settings area, Advanced Settings, and you'll notice it says Document Template.
03:13I told you that no matter what you named it, this would be its name here in
03:16SharePoint, but this will let you directly edit the template that's stored
03:21right here right now.
03:23So if I click Edit Template and I may be prompted. You're used to this by now on
03:28your system, but wait for me.
03:33So here's the template in Design mode. Notice it's not called template.xsn here. This is a copy.
03:41I've got one sitting out on the site, and it's still chugging along, letting
03:45users submit new forms.
03:46This is a copy of it, but it is an exact copy of it.
03:50So now I can make my modifications here and do two things:
03:54one, save this as my current form template and two, republish this template
04:01then back to the site.
04:03So whether you're working in sort of solo development environment and know that
04:08you have the best template version always that you'll modify, or you're working
04:14in a shared environment and need to go back and grab the template off the
04:19SharePoint site, regardless, anytime you want to modify this template, you can.
04:24I encourage you to hide controls or remove controls rather than ever delete
04:29content until you've had enough time to truly evaluate what the effect of
04:34deleting those fields would be.
Collapse this transcript
14. Advanced Data Techniques
Understanding data connections
00:01In the fabulous forms that we've created up to this point, anytime we've wanted
00:05to provide a user with choices, we've done that by creating a dropdown or a
00:10combo box that actually had a manual list entered into it.
00:15So, for example, if we wanted to allow the user to choose a department name or
00:23choose a category, we typed a list.
00:25Let's go take a look at that control for just a moment and make sure that we
00:30remember how we created those.
00:36So again, here in the properties of this combo box, we typed each of these entries in.
00:43In the Department list at the top of the form, again this is a place where we did
00:47more typing. And for short lists that don't change much, that's fine.
00:52But what if we have a longer list, or a list that's outside of our control that
00:56someone else maintains?
00:58In that case, it's very tempting for us to try to get information from an
01:03external data source.
01:04Let's take a look at how we would do that.
01:10In this Data Connections form, I'm ready to create data connections to a lot of
01:14different places that you'll see in the next few movies, but when I want to set
01:18up an external Data Connection, I use the Data tab. I can get data from a number
01:24of different places, from a web service-- two different kinds SOAP and REST,
01:30possibly SOAP dish, maybe that comes later.
01:33Data that's stored in a SharePoint List, a very typical way to get information,
01:36particularly for a form that I am publishing back to that same SharePoint site.
01:41The odds are that there might be some good data there for me.
01:45From a data connection established on a SharePoint server that would normally
01:49point to a list but could point somewhere else in SharePoint. And then the
01:53catch-all, from other sources, from a database or from an XML file.
01:58If I'm using a database then I need to be able to instruct Microsoft InfoPath on
02:04how I'm going to connect to that database, and I have to make sure that it's in a
02:08place that the form can access, or from an XML file, and an XML file is a file
02:17that I can actually keep along with this form.
02:21Before we start creating external data sources, which are really cool, because if
02:25I have a list in SharePoint somebody else is maintaining that I don't have to
02:29retype, that's great, and if every time the list changes my form can connect to
02:34it and get a refreshed dropdown list, that's even better for my users.
02:39So what's the possible downside?
02:41Well, one downside is that if I'm connecting to, for example, a SharePoint list
02:46to grab data for my form, I have to ensure that every person who uses my form has
02:52access to that same list.
02:54It has to be stored on a site, preferably where I've also posted my form, which
02:59means that I've lost the ability to email that form to others.
03:02The downside of using web services is that I need to involve other people
03:07to write them for me.
03:08The odds are pretty good that I'm not going to write my own SOAP web services
03:12or REST web services.
03:13Once they exist, I can use them over and over again, but someone needs to
03:17create them and give me the ability to use them, and I need to understand how to use their methods.
03:23From other sources, if I'm connecting to a SQL Server database, I need to have
03:28permission to connect to a SQL Server database.
03:31If I don't have all of the information I need to go find it and then to connect
03:36to it, I won't be successful here if I don't know what table my data is in.
03:41And so once again, I'll be needing to work with my IT department in order to do this.
03:46The final reason is that in a complex organization where we have different user
03:52domains, different parts that follow the @ in your email address, if I try to
03:59create a form that's based on a SharePoint list in my domain and then want to
04:04share it with another professional or another support person in another domain,
04:08the odds are very good that that form will not work, and that they'll have a lot
04:12of difficulty with it.
04:13So the assumption behind publishing forms with external data connections is this:
04:19you're going to publish a form that only contains data connections that are
04:24within your own domain, on your server or server farm, and only share it with people
04:30who are similarly positioned.
04:33You're going to understand when you do this that that form can't be used offline
04:38and probably can't be distributed by email unless the source you use is an XML
04:44file that can be bundled right along with the form template.
04:48So given those caveats and concerns, the next thing we're going to do is we're
04:53going to find out how to create data connections to SharePoint lists and to XML
04:58files that we can include with our template.
Collapse this transcript
Creating a data connection to a SharePoint list
00:01In this simple form, we're going to include two external data sources:
00:05one from SharePoint and one from an XML file.
00:09We're going to create a dropdown here to contain some information that we're
00:14going to go grab from SharePoint.
00:16So I'm going to start back here by grabbing a control, and I'd like a dropdown list.
00:22The dropdown list is going to get information from a SharePoint site list.
00:27So let's go to our SharePoint site, and there is a list, as opposed to a library.
00:32Libraries hold documents; lists hold things that look like Excel lists broadly.
00:41And as a matter of fact, you can choose to see the item in a datasheet view,
00:44which will look exactly like Excel.
00:46So here's my list, and I want to bring back these partner names into my form.
00:52Now I see a partner Last Name and a partner First Name, but I'd like to
00:56bring their whole names.
00:57So the first thing that I should do is a little bit of research here to find out
01:01if the data that I want exactly is here.
01:05I'm going to go to List and take a look in the view that's only here is the All contacts view.
01:12This is it. So let's go modify this view, and I'm scrolling down and looking for a field
01:18called Full Name, and there it is. So, it exists;
01:22it's just not shown in that view because the First and the Last Name are there.
01:26So I don't have to display this field in the view to be able to use it in a
01:30dropdown list, but it doesn't hurt for me to see it there as I'm working back and forth.
01:35This shows every field that will be displayed and every field, or what are called
01:41columns here in SharePoint, that exists in the data.
01:44It's a lot of fields.
01:45I'd like to place Full Name second in the list, right behind the
01:50Attachments column.
01:52And when I do that, it will push Last Name and First Name and such down the list.
01:56There's two OK or Cancel buttons:
01:58one at the top, one at the bottom.
02:00I'm going to click OK, and notice that here's the Full Name field that I
02:04actually want to grab to be able to use it back in my InfoPath form.
02:09So let's go back now to InfoPath.
02:11Let's bind this dropdown list control to partners, just so we're clear that
02:17that's what it's for, and delete our extra field that was created. And now
02:23let's add an external data source.
02:25We can do that explicitly here by creating it first, or we can create it right
02:30here in the control.
02:31Let's right-click and go to the Drop- Down List Box Properties, and say we want
02:36to get choices from an external data source.
02:39And the Drop-Down List Box Properties says you don't have any.
02:43We'll need to add one. And when I click Add, I'll be taken to the
02:47Data Connection Wizard.
02:48Now just so you know, if I'd said I want to create a connection to a SharePoint
02:53list, I would start in the Data Connection Wizard,
02:56so it's really the same thing, except I get a little bit of a head start by
02:59starting with the control.
03:00It's slightly different because it knows that I'm going to either be
03:05receiving or submitting data.
03:07And it's got Receive already marked, so I won't be prompted to provide
03:11this information later.
03:13So I'm going to receive data for a list because we wouldn't have a user
03:17type into this list; we'll have them choose from it.
03:19I'm going to click Next, and it says, where do you want to get this? And we are
03:22working with a SharePoint library or list right now.
03:26It wants to know where it is.
03:27Now, I can begin typing this, or I can simply go back, and it's right here, and I
03:32do not need this part because this is the name of the view.
03:36This is our aspx page. AllItems.aspx is always a view.
03:42Anything.aspx is going to be a view in a list.
03:45So I want all of this, and I can right- click or copy or Ctrl+C to copy, swing
03:50back into InfoPath, and let's paste this in here with a Ctrl+V. It would love to
03:56give us more information.
03:57Take a look. Here are all these different views here.
04:00We don't need them. We're set.
04:02Click Next.
04:04Now if I had only put in this much, it would actually still find, or allow me to
04:10work my way down to the library. And I want to choose Partners.
04:15It's a contacts list of suppliers, vendors, consultants, and other partners.
04:19I'm going to click Next. And now the question is, what fields do I want?
04:25I have to choose the ID field.
04:27I don't have a way not to choose it, but I don't have to show it.
04:30And the field that I want is the Full_Name field right here.
04:34I'd like to also sort this list by the person's last name so that they're in
04:39alphabetical order, and click Next.
04:42This choice is about how data or whether data should be stored in the form.
04:47There are some forms that users will often fill out offline.
04:51For example, if you have a salesperson who's making calls in a lot of different
04:55businesses during the day, unless they have a National Broadband Card, the odds
05:00are good that there are times that they're offline, but they may still want to
05:04be able to fill out a form while they're meeting with a client.
05:07If you have users who will use this form in that way--typically, people using
05:13the InfoPath Form Filler, right, because that's your offline Form tool--then you
05:18might say, go ahead and store a copy of this data in the form template.
05:23There are some issues with this.
05:25If someone takes this computer, then they'll have access to that information.
05:28So if this was the list of all your customers, this is really a bad idea.
05:33And if all of your users will be online, it's really not necessary.
05:37But if you will have large number of Form Filler users who will want to open
05:41this form and use it offline, and it's not incredibly sensitive data and your
05:45computers are well secured--
05:46a lot of 'ifs', but you hear the chain of thought here--then you'll want to store
05:50a copy of data in the form template.
05:53So here's my name for the data connection.
05:56It's actually named after the dropdown, which is named after the field.
06:00That's not a bad data connection, but often I will put an sp in front of it, so
06:05I know that it comes from SharePoint.
06:07This check box says that as soon as the form opens, InfoPath will go to
06:12SharePoint, knock on the door, and say, give me the information that I need for this dropdown.
06:17Because this is a dropdown that's central to this form, that makes sense.
06:22If, however, this was a dropdown that retrieved a lot of information in an
06:26optional section of the form, I might actually not check this box.
06:31In that case, InfoPath will wait until the point at which the user actually
06:37clicks that dropdown to populate it.
06:40So you need to choose if it's going to be used most of the time.
06:44If it's not in an optional section of the form, then it makes some sense,
06:48particularly if it's close to the top, to automatically retrieve the data on
06:52the form's open event.
06:54Let's click Finish.
06:56Now we've connected, and we've created a data connection that we could use at
07:00other times in other places in this form.
07:03We have two things left to do, however.
07:05Right now, it's simply going to show us a list of IDs.
07:09We're going to need to change this, but let me show you how it would work
07:12right now if we said OK.
07:15Home, and to Preview, and see how that data connection looks. And right now, it says 2, 3, 1.
07:22That's that ID field that was supplied automatically.
07:27We want the Full Name field.
07:29So let's close the preview.
07:30Let's go back into the control properties, and rather than ID, 1, 2, 3, let's choose
07:37the Full Name field.
07:39This is the value when the user chooses that will be stored according to the data source.
07:46This is what's displayed in the dropdown list.
07:49So it's actually possible to have the user choose the full name and store the ID if you wish.
07:54These are two separate properties of this control.
07:57I'm going to say OK, go back to Preview, and now let's take a look at our
08:03external data source from a SharePoint list with full names.
08:07Let's close the preview.
08:11So that was easy enough to do.
08:13If I decide at some point I no longer want this data source, I don't want this
08:17data connection, perhaps there's only ever three names in it, and it's easier
08:22simply to type them in because that avoids all the issues about how I can
08:26distribute this form across domains, or whether or not it has the information it
08:31needs even in an offline mode.
08:33So if I decide that I no longer need this data connection, I can actually remove
08:37it here, and I should remove it, even though I don't need to do that first,
08:44because choosing to enter my choices manually is a simple option here in the
08:49list box property, and then I simply add those three people's names here.
08:54So whether I want to use a data connection or choose to use a manual list is a
08:59matter of how I'm doing the development for my form.
09:02But if I want to get a great external data source from SharePoint, it's really
09:06easy to do that here in InfoPath 2010.
Collapse this transcript
Creating a list or combo box based on an XML file
00:01I've found it useful in the past to create a dropdown list that doesn't connect to
00:06an external data source that's as far away as a SharePoint list, or a server, but
00:11connects to an external data source stored with the template, an XML file.
00:16The reason I might do this is that I get a new XML file with some data in it on
00:21a routine basis, for example, once a quarter, once a month, and I can attach
00:27that to my template and send the template out and have the good data source for
00:31that month. Whether that data source is a list of customers, a list of
00:35suppliers, locations, whatever the list is, it's a list that doesn't update so
00:41dynamically that I feel people have a need to connect to it directly.
00:46And because I can include an XML file right here in the template, it creates a nice
00:52offline form for use out in the field by people who aren't always connected
00:57when they are using forms.
00:58Obviously, in this case I am talking about a form that will be used with the
01:02InfoPath Form Filler because if it was a web form, it would make more sense for
01:07me to store that and retrieve the information from a SharePoint list, another
01:11process that I can use.
01:14So I am going to add a new connection, and I can either start with my Drop-Down
01:20List or My Multiple Selection List or a Combo Box, or I could start by
01:26creating the connection.
01:28I am going to start with a combo box.
01:31As always, InfoPath is very happy to create a field for me.
01:35So I am going to be very happy to delete it and to rebind this to locations.
01:44Remember also, if I simply undo those steps and get rid of this control, that I
01:50always have the possibility of just right-dragging locations here, releasing it,
01:54and choosing Combo Box, and then I simply have some deleting to do.
01:59So here in my locations combo box, I want to right-click and set the Combo Box
02:05properties to Get choices from an external data source.
02:09This is the same process I followed initially to connect to a SharePoint list.
02:13I am going to go ahead and add a connection to receive data.
02:20You never need to worry about whether you're receiving or submitting here.
02:23If it's data coming into the form, you're always receiving it.
02:27And I'd like to use an XML document.
02:29I will now be asked to find out where that XML document is.
02:34If I click Resource Files, I can actually add this into the form template right now.
02:40You'll find this in your exercise file folder.
02:42It's called locations.
02:44So I am going to say OK.
02:46If I simply clicked Browse, it wouldn't be part of my resource files, but I want
02:50it right here with the template. And it asks for a name for this data location,
02:56and just as I put 'sp' before SharePoint List, I am going to name the connection
03:00starting with 'xml' for an XML list.
03:04Now, this data is going to be right here. The question is do I want to
03:08automatically retrieve it?
03:09No network connection is needed.
03:11When I open the form, it will simply find the file that's with it and fill that
03:16dropdown for me, and that sounds like a great idea, so I will leave this check
03:19box checked and say Finish.
03:22Now, I'd like to show you this xmlLocations file.
03:26If you spend a lot of time working with XML, I want to recommend that you get
03:31one of the free or low-cost XML editing tools, at least.
03:34For example, you could look at Microsoft's XML Notepad, or you could look at an
03:41application called Notepad++.
03:44Both of these are free and allow you to edit and view XML. If you simply want
03:49to look at XML though, it can present itself to you in a really basic form in a browser.
03:54So I am going to go over to Internet Explorer and take a look at our XML file.
03:59The XML file has a structure and a schema just like our field list does that we
04:05created when we created the form.
04:07This one is actually a root, and inside the root there is a location, and it's a
04:12list of locations over and over again.
04:15The location has a street, a city, and a state.
04:19So these are all retail locations from New Orleans back to Ventura, California.
04:25That's what it looks like.
04:27Let's go ahead then and choose the repeating group or field where the entries
04:32are stored, and this should look markedly familiar from our glance at the XML.
04:37I'd like to look in the Location group, and in that group it's chosen the first
04:46field. I actually want to choose the City field.
04:51So I have the ability to present simply that city list out of locations.
04:56Let's click OK and then click Preview, and let's see how this second dropdown looks.
05:02There is our list.
05:03Now, this is the list in the order in which it appears in the XML file.
05:08It's not in an alphabetical order by city.
05:11We might want to sort that XML file.
05:14We could open it up in Excel, sort it, and resave it if we wish. We could also do
05:20that in some of the XML editors. But here's our list of locations from our XML
05:25file that's stored here in our template.
05:30Imagine instead of a short list of locations, we have a list of 1,000 customers
05:34that is updated on a monthly basis, a quarterly basis.
05:38The power of that tied with this template is that it automatically loads when
05:43the template loads, whether I have wireless access or not.
05:47If I am a salesperson out in the field and want to complete orders, I can go
05:51make sure that my customer is on the list and have all of that customer's
05:54information accessible one click away here in Microsoft InfoPath.
05:59If I go back to the Data tab and look at Data Connections, I will find that
06:03I have xmlLocations.
06:05I can modify this location if I wish in the same way that I might have modified
06:11a SharePoint list data connection.
06:14Additionally, if I click Resource Files, I will see a list of all of the files
06:19that are stored in the template. Right now there is only one, Locations.xml.
06:24If in the future I want to update this, all I need to do is to remove and
06:30then re-add this list.
06:32When I remove it, it drops the version out of the template.
06:35When I add it again, I will get the new version that's been updated.
06:39A nice simple way to provide a package of information that accompanies my
06:43template, an external data source created from an XML file here in
06:48Microsoft InfoPath.
Collapse this transcript
15. Advanced Templates and Template Parts
Creating and using template parts
00:00If you are creating a fair number of forms in your organization, what I'm going
00:05to show you next will change the way you work.
00:07You have the ability to take part of a form and save it as a template, and then
00:12you can reuse that sub-portion of a form in all the templates that you create.
00:18We have actually two sections of this form that might make sense to use that way,
00:22and let me show you both of them. Because if we go to our Developers view, at
00:27the bottom, we have a section that's for the use of the office that says when
00:32was the work done, who did the work, and what the notes are, and this kind of a
00:36section is used over and over and over again in forms.
00:39So, it makes it for a good template part, but we are going to use this section
00:43up here at the top, which is called in our field list requestor, but you could
00:47think of as submitter.
00:48It's a basic section that says, who are you and how do we find you and when did
00:53you submit this form?
00:54Now we have some formatting here that's unique to this form, some bolding and
00:58things that we will want to probably take off of our template part, but we're
01:01going to click here to select the section.
01:05So what I'm selecting here is I'm selecting four text boxes, one date picker,
01:09one dropdown list, all of the labels, the table, and the section control itself.
01:14I'm not selecting the field list here because I actually can't.
01:18Let's now copy this, and let's go to File > New, and create a template part.
01:26If I'm always going to use this in the InfoPath Filler, or I want to use
01:30InfoPath Filler controls, or did in the section that I copied,
01:34I might want to choose InfoPath Filler.
01:36But I know that if I choose Blank template part, that while this is a
01:41web template part, I won't have a control here that can't also be used
01:45in the InfoPath Filler.
01:46So it's a little more generic when I do that.
01:49Notice I have a blank field list here, and I'm going to paste my copied section here.
01:56Now, as I said, there might be some items that I want to unbold that were bolded
02:00here in that one form.
02:04So let's clean that up, and then let's start creating our field list.
02:08So in myFields, I'm going to insert a group because every section, remember,
02:13aligns, or is bound, to a group.
02:16In myFields then let's add a group for this section, and let's call it submitter,
02:25because it doesn't matter if this is an employee or a recipient or requester,
02:31they are probably always the submitter.
02:35And I'm going to really quickly bind this section over here to the group.
02:40Right-click on the section, Change Binding, bind it to submitter.
02:44There is my binding.
02:46I can see the icon right up here.
02:47Now I'm going to add six fields.
02:51I'm going to add a First Name field.
02:52I pressed Enter one too many times.
02:58I'm going to add an lname field. Click Add Field.
03:02I am going to add emailaddress.
03:08I'm going to add todaysdate, and remember that this is of the Date type,
03:15so I'll want to change my data type right here right now.
03:20I want to add an email address and finally, I need to add the department.
03:32Now, I have all my fields, and I'm going to really quickly bind to my controls.
03:37You'll want to do this in the same order I did.
03:40You will want to bind the group before you bind the individual controls, or
03:44you'll get a chance to do this twice, because when I bind a group to a section,
03:50any controls in there that are already bound, the binding is removed, even if it was right.
03:55So make sure that you bind the section first and then the individual controls
04:01that are within the section.
04:09I misnamed to field here,
04:11so we'll go back and get that in a second.
04:16This one is Email Address.
04:17This one is supposed to be Work phone. So let's fix it.
04:22That looks good.
04:23Now, notice that this is an optional section.
04:26As soon as I placed a group in it, it's optional, and it may be that many of the
04:30parts that you create would be optional some if not all of the time.
04:35However, this is almost never going to be optional,
04:37so I'm going to change its control type right now.
04:40Right-click on Optional Section, change the Section Properties.
04:44The difference between a section and an optional section is that an optional
04:49section either is not in the form by default or can be removed. So check this out.
04:55I am going to turn that check box off.
04:57It says include the section and don't allow users to delete it, and when I apply
05:01it, this is no longer optional.
05:05Notice that I don't have any formatting behind this section.
05:08I don't have a page design in a template.
05:11When I insert, my tables don't really have any colors.
05:14That's as it is intended because when I take this template part and insert it in
05:20another template, I'll be using the theme from that template.
05:24This is really ready to go.
05:26I can't think of anything more we need to do with it, other than save it.
05:29So, let's click Save, and we need to find a place to put it.
05:34Now, I actually have a folder called Office Templates with an InfoPath Template
05:39Parts folder inside of it.
05:42This will simply let you put this anywhere.
05:45So, choose a place.
05:47Another good place would be if you have a folder for InfoPath development.
05:51Keep them all in there because your collection of template parts is a toolbox,
05:55and you don't want to leave your tools scattered all over the office.
05:58We're going to call this SubmitterInfo, and if there was more we want to say, we
06:03could say SubmitterandPhone.
06:09But this is, we could just call this Submitter, and I am going to save this. All right!
06:15So now, let's go ahead and close this, and we are ready to create a new form
06:21based on our template part.
06:23So I'm going to close this form that I used earlier, and I'm going to create a new blank form.
06:30Now this is the only part of this that might feel confusing to you at all.
06:35If I go to Insert, I won't find any place that says Template Part. And if I go
06:41to Data, there's nothing here, or Developer.
06:45That's because we need to make the template part available, and it's really cool
06:49how we are going to do this.
06:51Let's go to the Controls list down the Home tab in InfoPath,
06:55click the dropdown, and say I'd like to add a Custom Control.
07:00It says, "Controls that are not compatible with the current view compatibility
07:04settings will be hidden."
07:05For example, if you created a template part that includes controls that can't be
07:09used in a browser, it won't be shown.
07:12It will be hidden while you are creating a form that is going to use a web browser.
07:19But I'm going to add this. Here's Template Part, Next.
07:23Find my Template Part.
07:26Because I just created it, I had no trouble finding it.
07:29This is the last folder I had opened. And I'm going to click Open and Finish.
07:34It's called Submitter, and this is the first time I've posted it,
07:37so it's version 1.0.0.1.
07:39I am going to click Close and OK.
07:43Now, I'm ready to use my template part.
07:47Click to open the Controls gallery, and there's a new section at the bottom
07:51called Custom, and here is your fabulous template part that you just created.
07:56Click to insert it in your document.
08:00Here's your section. Here are your Fields. Absolutely lovely!
08:06So feel free to create and use template parts for any significant
08:11building blocks that you are using as you're creating your template for
08:16your organization.
Collapse this transcript
Importing an Excel form
00:00If you already have a form that you created in Microsoft Excel, you can use that
00:06form as a great jumping-off point to create an InfoPath form. Let me show you.
00:12I have a form that I created in Microsoft Excel, and it's an expense form.
00:23So we're going to take a look at this, and you'll find this same expense form
00:26in the exercise files.
00:28It is called Expense Form. Here it is. And the way it works is that a user
00:34enters some basic information, like a date, and these items here are filled in.
00:42And then they enter airfare, the amounts. And the totals are done by the day and
00:49by the week. And then they put in a purpose and sign it either digitally, or
00:55right now they simply type their name in.
00:58That's good enough, and they enter today's date, the date they are going to send
01:02this off, and that's the form.
01:05There's a separate tab in the workbook where they paste receipts.
01:08All of these things are clues because if I want to place to paste receipts,
01:12my finished form should have the ability to be able to go in and either copy
01:19and paste, that would be a rich text box, or to click and attach an actual
01:24receipt that I scanned.
01:26So this is my form in Excel, and I want to be able to post these to a SharePoint
01:32site and be able to extract information, like what week they were for, what the
01:37purpose was, have they have been approved, what was the total amount submitted,
01:41by what employee, and how has it been handled since then through the approval
01:46and payment process.
01:48Sort of a grand way to post that's going to make it really easy for the folks in
01:53our payables department to manage this.
01:56So let's close this form here in Excel. And because it does some calculations and
02:02I entered some data, it wants to know if I want to change this template, and I'm
02:06not going to save it.
02:07Now this is a template, but I could do the same thing with a blank form that I had.
02:12I don't need to have control of the template to do this.
02:14Let's go to InfoPath Designer and choose in the Advanced Form Templates section,
02:19Convert Existing Form. Two choices:
02:24there is an importer for Excel and an importer for Word.
02:27I'm going to choose Excel and click Next.
02:30I now need to browse to my file location.
02:33So I am going to click the Options button.
02:42I can choose to import only the layout of the from;
02:45the layout and the form fields, which is the default; or to chose Layout and
02:51form fields and do some specific settings here around how tables are
02:55detected and so on.
02:56I am simply going to keep the default this time and click OK.
03:00We will come back and do this again using Layout only in a moment.
03:03Let's click Finish.
03:05We will watch as the Import Wizard actually works really hard converting this form layout.
03:11It says it was imported successfully.
03:13If you have a lot of merged cells in your form, it might import unsuccessfully.
03:21Other things that will give you issues tend to be object- and table-related,
03:25perhaps there is a link to an external data source that it doesn't understand,
03:29but most of the time, you'll get a successful import, or at least an import.
03:33Now let's go judge the success ourselves.
03:36Here's our field list, and it is mighty, and long and here is our form. Pretty amazing.
03:43These are actually all extra columns, and where do they come from?
03:47Well, they are columns that were in that Excel worksheet.
03:52Likewise, down below we will see rows that were in that Excel worksheet, and
03:56there are ways for us to get rid of this ahead of time by simply hiding
03:59those columns and rows.
04:01Let's take a look though, at what we did get.
04:03Let's ignore the extra stuff.
04:04For example, right here, we got a field.
04:07Now it interprets this as a repeating table, which is kind of interesting.
04:11When we go into Preview mode, it actually will know that it has three lines in
04:18the repeating table. But it's a little funky that it thinks you might want to
04:21have four or five lines in an address. And we can think about whether we actually
04:25like that or not, or whether we think that we want to make this not a repeating
04:29table and simply three items. But here's our first form field, our second.
04:35All of our fields are here.
04:37Now if you imagine the time that it would take for you to place all of
04:41these fields on a form, you begin to appreciate what a sizeable head start we've gained here.
04:48So if I want to go back in my form in Excel and get rid of what are clearly
04:53hidden columns, as opposed to columns that have been removed, I can do that. Or I
04:58can try to get rid of those here and simply say that I'd like to delete some
05:04columns, until they are gone.
05:09But notice that it kind of makes my form change a little bit.
05:12So the easiest thing for me to do here is to go back into Excel and open my template again.
05:26And you'll notice that in Excel, part of what makes this look like a web sort of
05:30a template is that we are missing the column and row headings, and those kind of
05:36attributes, they've actually been turned off.
05:38So we can go over to view and say let's turn our headings back on, and you see
05:42all of these extra columns that are here.
05:45So if we decide that we want to get rid of these here, we can select
05:52every single one of them.
05:53It's just here in our form. And we can choose to delete those and see if that
06:01makes a difference when we import.
06:04It might also make a difference if we simply hid them better, rather than
06:08painting a format over them.
06:10So again, choices that you have here that you can complete in Excel.
06:16That looks better. Might give us a better head start.
06:20So let's save this again and close it, and let's go give this another shot here in InfoPath.
06:29I'm going to close this version.
06:31I could save it if I wanted to have some iterative choices as I go along, but
06:35I'm going to say don't save in this case.
06:37Convert Existing > Excel Workbook, go back, find my form. I still want the same options,
06:45Layout and form field.
06:48Let's see how it does this time.
06:50Now presumably, it might be marginally faster because it doesn't have to deal
06:54with all those extra columns.
06:55Let's say OK and see what we get.
06:58You still have a fair number, but certainly not as many as we did before.
07:06So that starts to take us in the right direction.
07:08How would I attack this form now?
07:10I would simply go in and begin naming my fields.
07:15This is WeekEnding, and every one of these is going to come in as text,
07:19so I have to say that this is a date field.
07:23It says that we'll rename. You are used to this message.
07:25We don't have any data.
07:27We are happy people. And then I would go and say, this is actually not a
07:30repeating table right here, much as it might like to think it's a repeating table.
07:35So I'm going to simply change the control here.
07:38Well, I have to make it non- repeating first in my data source,
07:41so let's remove this group altogether, because I don't have a repeating group here.
07:49And then I will have the ability to bind this to some field that I create in a moment.
07:53So I can create a new field or a new group that's a non-repeating group, and
08:04let's call this AddressInfo and go ahead and create a group now.
08:15And within that group, I can add the fields that I need, which are FullName,
08:25StreetAddress, CityStateZip.
08:32And I'm going to bind this field to FullName, and then I'll need to insert two
08:44more fields underneath that.
08:46Likewise, I can go and rename all of these other fields.
08:50I just have to figure out what I would want to name them. There are a lot of
08:53different fields here and because I'll want to do math with them over here, it
08:57becomes important what I name them.
08:59Two possible ways to think about this.
09:02This is the start date and the end date; that's pretty straightforward.
09:05This is where the person is going to that day.
09:08So you could call this MON_To, TUE_To, so that you can track the day, and
09:22these will be text.
09:23So by naming them with the weekday in them, okay, then when you get to the end,
09:30it will make sense when you create a formula.
09:33So if I named this 'travel', this is Monday travel, and a user is going to enter
09:44a decimal value here.
09:49Likewise, they will do the same in Tue Travel.
10:03That means when I get all the way out to the end, this field, which will be
10:07Total Travel or SubTot_Travel, is going to have a formula in it, and that formula
10:23is going to start with my Monday travel plus my Tuesday travel and so on.
10:31And because I'm going to create a formula for Travel, Ground Transportation, Hotel,
10:36Breakfast, and so on,
10:37this is one good way to do it, and I will always know what's in that control.
10:41Now one more thing that you want to think about is this is in bad need of grouping.
10:47So my question is, am I going to group this by day or am I going to group this by function?
10:55And that's a real question.
10:57There are benefits to doing each.
10:59You can simply think about how you might like to do this. But I will tell you
11:03that I would tend to group all of the travel together.
11:07Travel Mon, travel Tue, travel Wed, and travel so on, all the ground
11:12transportation together in one group.
11:14So you'll be creating some groups, grouping these, and putting this together, and
11:17when you're all done, you are going to have a really slick-looking form with a
11:21great data source behind it.
11:23Now, let's go do one more thing.
11:27Let's close this. And you might prefer, and some people do, to start by simply
11:37saying give me the layout out of that form.
11:39It will give me enough of a head start.
11:44In that case, simply choose the first option.
11:50The layout is really pretty easy for you to get it.
11:52It's the very first thing that happens in the form. And you'll notice then no field list.
11:59It's empty. It will stay empty, but a nice-looking form with the layout only.
12:06Let's throw this one away and look at one more way to do this.
12:12Let's convert this, and this time after we choose our file, we choose Custom
12:20Options. And what I'm going to say is that I don't care if there is an empty cell
12:26that has borders around it.
12:27I don't want to include it.
12:29To only give me text boxes where there are cells containing formulas, cells
12:34containing numbers, or cells that are referenced by the formulas. Say OK. Finish.
12:41Again, we are going to get a slightly longer layout here in a number of fields.
12:50But notice, when we do this, that in this case I know that if there is an empty
12:58cell somewhere with a border around it-- that I simply bordered it accidentally--
13:02that's it's not showing up in my field list.
13:04So, for example, right now, there won't be a field here or a field here, even
13:10though they have a border. Make sense?
13:13So these are all the different tools that you can use to take this form and jump
13:18in and say, I'd like to start with this here in Microsoft InfoPath. One more thought.
13:25Just because you have this form, doesn't mean this is the best way that you would
13:29tackle travel expenses in InfoPath.
13:32You might choose to do something very different that was trip based, rather than day based.
13:37You might, for example, have a layout in a repeating table where someone chose
13:42the date out of a date picker, entered the day, if you even care, and then entered,
13:49imagine this table in the center rotated 90 degrees and across the top was our Travel,
13:55our Ground Transportation, our Hotel, our Breakfast, Lunch, Dinner, and Other, and
14:01each row would simply be part of a repeating table.
14:04So don't be afraid to imagine, if I had had InfoPath when I designed this, would I
14:09still have laid it out this way?
Collapse this transcript
Importing a Word form
00:00Another way to get a jumpstart on an InfoPath template is to start with an
00:04existing Word form or Word form template.
00:07In the New category, double-click on Convert Existing, and choose InfoPath
00:13importer for Word documents, and click Next.
00:16I am going to now browse and find my document, and it's called PledgeForm-Word.
00:25This was actually created in Word 2010.
00:28We can look at the options.
00:30I am going to choose the default options, which will give me some form fields, or
00:35Layout only, or Layout and form fields.
00:39Because I've chosen Layout and form fields, and it includes every possible
00:44conversion setting. This is the most rigor InfoPath can bring to this particular import.
00:51Let's click OK. Click Finish.
00:55Notice that the form template was imported successfully, but there are issues,
00:59and we can see the Design Checker, which will be opened when we click OK and open the form.
01:05So rather than seeing our field list, we see the Data Checker, and it says,
01:09"Objects may be positioned incorrectly," and I am guessing that we might be
01:12talking about this picture.
01:15Because it was positioned using the Word tools for positioning a picture, here
01:20in InfoPath, we would, of course, put this in a table,
01:23so it's no longer a floating picture.
01:27This image also has a lot of white fill, and we have a background that's
01:31not white in this form.
01:33So this might be a good time to delete this image and simply go back and
01:37paste the image that we had originally again, because the original didn't
01:42have this fill behind it. So here we go,
01:46a pretty nice-looking layout.
01:47From time to time, we'll also lose a space or something, but let's take a look
01:51and see what data we brought in.
01:55So, on the Data tab, choose Show Fields-- I don't need the Design Checker anymore--
02:00and you will notice one whole field right here.
02:03This is a place where there is an explicit text box that doesn't have a prompt in it.
02:09The other text boxes tended to have placeholders, and they're mostly being treated as text.
02:16This is the best we can do to have this one field, and truly it's not that much in the way.
02:21We can keep this field that works, and then for all of the other fields, we'll
02:26need to provide containers for them anyway.
02:29So we will add text boxes and name this Title, click here, and if you simply
02:39select the text that's there already and drop in a control then you can name it.
02:49Our field has a name, and so on.
02:51So we can work our way through dropping new fields into this form.
02:55The layout itself looks pretty good,
02:57Ss we've got something out of it that saves us some time, not as much as we had
03:02when we were importing Excel.
03:03The rule to take away from this is that InfoPath is really good at walking
03:09through an Excel workbook and figuring out where there are cells and formulas.
03:13It doesn't take the hints that we've provided using the Word form fields in
03:18exactly the same way. But again, we get a better start.
03:22Our new InfoPath form is going to look very similar to the form that was created
03:28and used for a month or ten years in Microsoft Word.
03:32So we'll start this with a regular user base comfortable with our form.
03:37That's a good way to move forward.
Collapse this transcript
Creating a template based on an XML or schema file
00:00If you happened to have an XML file or a schema file for XML, you can create a
00:07new template based on that schema.
00:11This probably isn't going to happen to you all that often, but it's happened to
00:15me a couple of times, so let's talk a little bit about it.
00:18If somebody who's given you an XML file, for example, to use as a dropdown list
00:23elsewhere in an InfoPath form, something that we did in the last chapter,
00:28you could then create a form that would allow you to add items to the XML file.
00:34Or you could create that form, post it on a SharePoint site, and have an
00:39interface to be able to add items to the XML file.
00:43More typically, what you'll have is somebody will actually have a schema that
00:48they've used in Microsoft Excel or Microsoft Word or some other application, and
00:54it's been exported and they say, what can I do with this?
00:57Here's a description of what my data looks like, but how in the world would I
01:01create a form that goes with this?
01:03So let's choose Advanced Form Templates > XML or Schema, and again, either will do.
01:08We'll be prompted to supply an XML document, which could already have values
01:15filled in, and instance of that XML where somebody's typed everything in, or a
01:21schema, the description of what the data that could be allowed in that document
01:25would look like. And we'll have our Locations document here.
01:30You might remember that we used this document earlier to be able to include
01:36a list of locations, along with our InfoPath template, so that it was used easily offline.
01:43Let's go ahead and open this, click Next, and we'll be asked, do we want to
01:47place any other schema or XML document in the main data source?
01:53We might, for example, have a schema for locations, another schema for products
01:59that we carry and we're trying to put together a list that would allow people to
02:02choose a location in a product.
02:05What it's asking is, is this the route of the schema, or do I need to create
02:11a higher-level route?
02:13I'm going to say, nope. This is it. Then it'll say, oh okay.
02:15Well, then locations is at the top of my schema. Click Finish.
02:21It says, "The structure of the XML will provide the data source for the form, but
02:26there are also some values in here.
02:28Do you want to use them as the default data in your template?"
02:32I'm going to say no normally, because I want to throw away the data, but
02:36because we're a little familiar with this data, I'm going to say yes, so that we
02:40can see it, because it will help us make more sense.
02:44So here's our Fields list, here's Location, and you might remember that we had a
02:50retail location on Market Street in Ventura.
02:52It simply pulls in the data out of the very first of the eight or nine records
02:57that are in here, so that we can see this.
03:00How would we create a form? The same way we always do.
03:04We'd use a Page Layout template, drop it in place, add some tables, and then we
03:10would add controls right here.
03:15So I want to include the street, right drag, put in a text box.
03:20If I want to show all of the locations in here, I can actually put in a
03:24repeating text box, and I can see then all of the various locations that are in here.
03:30Notice that this comes up and says, it's repeating. Or what I could choose to do
03:36is I could choose to right-drag the entire location and say, I would like a
03:40repeating table, and doesn't that look about like we would expect it to?
03:44Let's go into our Preview mode, and notice here are all of those items in the
03:49list, with the ability for us to add yet another.
03:53So I can quickly and easily create a form to expand that XML document that I
03:59included as a resource file for my form or any other XML document that I wish.
04:05Very easy to do. Simply start with your XML or your schema and import it
04:12into InfoPath.
Collapse this transcript
Conclusion
What's next
00:01Well, here we are at the end of the course.
00:03So what's next for you in InfoPath 2010?
00:07I have some suggestions.
00:09There are some specific areas of exploration that would provide fruitful for you
00:14if you've enjoyed this course up until now.
00:16First, I didn't cover every single control in this course.
00:21For example, there is a SharePoint Group Picker if you're working in a
00:24SharePoint environment, or an External Data Control.
00:28For development with a tablet PC user in mind, there's an Ink Picture Object,
00:33and there's a wonderful Master Detail Container that can only be used if you're
00:38using the InfoPath Filler.
00:40So you could take a look at all of those options if they fit your needs in your
00:44particular environment.
00:46You could also take a look at the ability to embed an InfoPath form inside a
00:52page in SharePoint using the InfoPath Web Part.
00:56So if you're using SharePoint 2010, that's a good direction to go in.
01:00And then finally, there's a lot more that can be done with rules, provided that
01:05you're using the Form Filler tool.
01:07So how would I learn more about any of these topics?
01:10If you'd like to know more about schemas and XML and how you might work in that
01:15space, whether you're creating XML resource files to a company templates for
01:19offline use or you just would like to have a far better understanding of what's
01:24under the hood of InfoPath, I'd like to refer you to Joe Marini's XML Essential
01:29Training course on the lynda. com Online Training Library.
01:33If you're developing InfoPath and you're in a SharePoint environment in your
01:38organization, even if you're not a SharePoint user, I want to encourage you to
01:42learn more about SharePoint.
01:44These two tools go together so beautifully that it's almost a shame to have a
01:50SharePoint server sitting there and not know how to use it for your forms.
01:54Simon has a great course on the lynda. com Online Training Library for SharePoint
01:592010 Essential Training.
02:01And I'd like to give a callout here and thank him for setting up the SharePoint
02:05server that I've used during this course.
02:07So you have a lot of different directions you can go in at this point depending
02:11on what your individual development environment is.
02:15I encourage you to try all kinds of different approaches to form development.
02:21See what it looks like to create a simple form that gets returned to you by
02:25email, even if you're in that SharePoint environment.
02:28And if you have a few folks who can use the Form Filler that will give you an
02:32opportunity to check out those other tools that aren't supported in browsers.
02:36Whatever you do, I hope you have a fabulous time developing forms in
02:40InfoPath Designer 2010.
Collapse this transcript


Suggested courses to watch next:

SharePoint 2010 Essential Training (6h 58m)
Simon Allardice


Word 2010: Forms in Depth (2h 4m)
Gini Courter

Word 2010: Styles in Depth (3h 12m)
Mariann Siegert


Are you sure you want to delete this bookmark?

cancel

Bookmark this Tutorial

Name

Description

{0} characters left

Tags

Separate tags with a space. Use quotes around multi-word tags. Suggested Tags:
loading
cancel

bookmark this course

{0} characters left Separate tags with a space. Use quotes around multi-word tags. Suggested Tags:
loading

Error:

go to playlists »

Create new playlist

name:
description:
save cancel

You must be a lynda.com member to watch this video.

Every course in the lynda.com library contains free videos that let you assess the quality of our tutorials before you subscribe—just click on the blue links to watch them. Become a member to access all 104,141 instructional videos.

get started learn more

If you are already an active lynda.com member, please log in to access the lynda.com library.

Get access to all lynda.com videos

You are currently signed into your admin account, which doesn't let you view lynda.com videos. For full access to the lynda.com library, log in through iplogin.lynda.com, or sign in through your organization's portal. You may also request a user account by calling 1 1 (888) 335-9632 or emailing us at cs@lynda.com.

Get access to all lynda.com videos

You are currently signed into your admin account, which doesn't let you view lynda.com videos. For full access to the lynda.com library, log in through iplogin.lynda.com, or sign in through your organization's portal. You may also request a user account by calling 1 1 (888) 335-9632 or emailing us at cs@lynda.com.

Access to lynda.com videos

Your organization has a limited access membership to the lynda.com library that allows access to only a specific, limited selection of courses.

You don't have access to this video.

You're logged in as an account administrator, but your membership is not active.

Contact a Training Solutions Advisor at 1 (888) 335-9632.

How to access this video.

If this course is one of your five classes, then your class currently isn't in session.

If you want to watch this video and it is not part of your class, upgrade your membership for unlimited access to the full library of 2,025 courses anytime, anywhere.

learn more upgrade

You can always watch the free content included in every course.

Questions? Call Customer Service at 1 1 (888) 335-9632 or email cs@lynda.com.

You don't have access to this video.

You're logged in as an account administrator, but your membership is no longer active. You can still access reports and account information.

To reactivate your account, contact a Training Solutions Advisor at 1 1 (888) 335-9632.

Need help accessing this video?

You can't access this video from your master administrator account.

Call Customer Service at 1 1 (888) 335-9632 or email cs@lynda.com for help accessing this video.

preview image of new course page

Try our new course pages

Explore our redesigned course pages, and tell us about your experience.

If you want to switch back to the old view, change your site preferences from the my account menu.

Try the new pages No, thanks

site feedback

Thanks for signing up.

We’ll send you a confirmation email shortly.


By signing up, you’ll receive about four emails per month, including

We’ll only use your email address to send you these mailings.

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

By signing up, you’ll receive about four emails per month, including

We’ll only use your email address to send you these mailings.

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked