It seems like every time I do anything, I have to fill in a form. Signing up for a contract gig, going to a new dentist, getting my house painted -- it's all got to go through a form first. I ordered a few balloons for a party, and the form was far more complex than seemed necessary.
If there's anything you or I can do to make filling in forms easier -- well, that would make a bit of every day just a tad better.
There are many kinds of forms -- the kind that are hooked up to a database, the kind the dentist gives you to fill out in pencil and the kind that you or your employees fill in when somebody comes into the office. I'm going to focus on a fourth type: the form that someone fills out at a computer, then prints out to keep as a record. I'll talk about why you can get better productivity and fewer errors using forms containing dropdown lists, radio buttons and so on than by relying on input fields.
If you'd like to learn more about forms that are hooked up to a database, please refer to this article on forms. Everything you learn here applies to that as well; that article focuses more on automatically generating forms from a list of fields in a database but doesn't go into creating controls.
Why I don't think input fields are all that convenient
Here's a form that uses input fields. You click on a field, it pops up, you type in the value and click Next. It works, but you have to type the entry every time.
Click here to download the form.
Wouldn't it be nicer if, for instance, you could just select from a list of values for Party Type, rather than typing Birthday? (And wouldn't that be far less embarrassing than mistyping Birdthay as the party type?)
That's why using an entirely different type of form is faster and easier and also reduces errors.
Note: If you do really like input field-type forms, and dropdown lists won't help you, use these instructions to learn more about those types of forms.
Why XML forms and dropdown lists are so much better
I need to get this out of the way first -- I know Microsoft Office has the ability to create forms with checkboxes, lists, radio buttons, etc. I'm not presenting this type of form as an OpenOffice.org-specific innovation or as something new. I just see them as a really good approach and easier than using input fields.
These forms are referred to as XML Forms in the navigation and help. XML isn't really an inherent part of using them; they're just forms with controls, rather than forms with simple input fields.
Here's an example of how the previous party setup form could be redone as an XML form.
To download the form, click here.
Look how much easier this is to enter. You can press Tab to go from one field to another, you can control the tab order, you can specify the format of how to enter information, you can provide values to select from in the form of lists or checkboxes instead of making someone type... It's just so much easier. Plus, if you've got a new employee using the form, it's much more self-explanatory. No need to tell the new person what the possible types of parties are, for instance; the Party Type list gives the possibilities.
There are very nearly a zillion things you can do with these forms. I'll go over the ones I think are the most useful and how to create and use them.
Creating XML forms
XML forms take more time to set up, because you have more options and because the fields are graphics rather than fields. You only have to set the form up once though, so the extra work is definitely worth it.
Getting the right toolbars
You need the Form Controls toolbar, so choose View > Toolbars > Form Controls.
Drag it to the main toolbar and release it when you see a dashed line; that will dock it and make it easier to work with.
If most of the icons are dimmed, click the Design Mode On/Off icon to get into design mode. Design mode is where you'll create the form; turn it off again to fill in the form.
Creating a new field and a prompt
To make a basic type-in-it field, click the Text Box icon, then draw a field.
You'll usually need to anchor it differently so you can drag it to where you want it. Right-click on it and choose Anchor > To Page.
To create a different kind of field, like a checkbox or a date field, just click on that type of icon instead and draw the field. Anchor the field correctly as noted previously.
If you're going to make several fields, just copy and paste the fields.
You can use the Prompt Field icon to make a corresponding piece of text. I find it just as easy to type normal text. Then move the field as far away as you need it to be.
If you need to make a different type of field, right-click on the control and choose Replace With > Field Type.
Double-click the field, or right-click it and choose Control. You'll see a window where you can specify name of the field, the font size, the help text and so on. There's no OK button; just put in the value you want and close the window.
Creating dropdown lists or selection lists
A list is one of the most useful fields. You define the values ahead of time, as well as whether a user can enter a value not on the list. When the user types a letter, the first entry starting with that letter appears.
Here's an example of the three types of lists.
To create a dropdown list or list box, use the List Box icon. To create a combo box, use the Combo Box icon.
Draw the field. If you want to create a selection list where all items are displayed and a user can select one or more, draw the field big enough to show all the lists. If you want to create a dropdown list or combo box where only one value is displayed at a time, just draw a normal-sized field.
Double-click the control. Type the name of the field, and then find the List Entries field. Type the first value that you want to appear in the list, then press Ctrl + Enter and type the next. Continue until you're done.
There's one final setting. If you want a dropdown list, find the Dropdown field and change it to Yes.
If you want the selection list to allow multiple selections, find the Multiselection field and change it to Yes.
Checkboxes are quite simple. Just click the checkbox icon on the Form Controls toolbar, draw the checkbox and make sure that there's enough room for the word you want to appear by the form. Then double-click the checkbox and type the word or words that you want to appear by the form. You'll need to put it in both the Name and the Label fields. Set the font size and any other values, and close the controls window.
Creating other fields
Many other types of fields are available, including date and time fields and formatted fields, which are useful for phone numbers and other entries with a specific structure. Click the More Controls icon on the Form Controls toolbar to see other types of controls, and click the Form Design icon to get the Form Design toolbar. Both give you additional options for the form, positioning, and of course, extra types of controls.
I've also barely scratched the surface of the options within the Control window, so explore those. The online help is a reasonably good place to start.
The final dash of usability -- Make it a template
You want to be sure that all your users can get at the data and that new information doesn't override current information. So create a template from the form, so that everyone gets a new untitled version every time.
Open the form, make sure it's the way you want it, then choose File > Templates > Save. Name the template and select a category.
Choose Tools > Options > OpenOffice.org > Paths and select the Templates line, if you want to see where it was saved or where the templates are currently located.
Now users can just choose File > New > Templates and Documents and select the forms template each time they want to fill in the form for a new entry. All entries are saved with each document; you can choose to fill in each form as an untitled document (risky), or save each document with a name like partyform_johnfederer, partyform_nancyhill, etc.
XML forms in a nutshell: Faster entry, fewer errors
That's the gist of forms. Use them instead of input field forms and see if you and your users and customers like them better. I think there's a lot to be said for selecting instead of typing. Easier forms might not save the world, but the time you save by speeding up entry and preventing errors, you might be able to at least leave work a few minutes before rush hour. It's the little things.
Solveig Haugland has worked as an instructor, course developer, author and technical writer in the high-tech industry for 15 years, for employers including Microsoft Great Plains, Sun Microsystems,and BEA. Currently, Solveig is a StarOffice and OpenOffice.org instructor, author, and freelance technical writer. She is also co-author, with Floyd Jones, of three books: Staroffice 5.2 Companion, Staroffice 6.0 Office Suite Companion and OpenOffice.Org 1.0 Resource Kit, published by Prentice Hall PTR. Her fourth book, on OpenOffice.org 2.0, is coming this summer. For more tips on working in OpenOffice, visit Solveig's OpenOffice blog.