Saturday, July 26, 2008

Putting a custom form into Moodle

Over my years of using Moodle and other LMS's, there have from time to come been requests from teachers (and students:-)) to build forms for gathering information. Building a form used to be a fairly complex task, but Google has made the process much easier by adding a form editor to their free Google Spreadsheets application.

A custom form can be used to gather feedback from students, from users of a site, etc.

1) To begin, create a new Google Spreadsheet

2) When you create the spreadsheet, you will see the "Create a form" link in the upper left. Click the Create a form link.

This opens up the form editing window.

3) Give the form a title (1). Next, add some questions (2).

To add a question, simply give the question a name, add some help text if needed, and then choose the question type from the Question Type dropdown.

Here we are the choosing "Multiple choice" question type.

4) Once you have added the first question, you can click the "Add a question" link to add another question. You can also click the "Duplicate this question" link to make a copy of the first question.

5) Once you have added your questions, then click the "Save" button.

Google enables you to email your forms to people directly, however for this tutorial we are going embed the form into a Moodle resource, as we've done with the previous presentation tutorials.

6) To embed the form, click the "Preview and send" tab. Then click the "Embed" link.

7) Clicking the Embed link opens up a window with the iframe code already selected (remember the iframe code from the Presentation tutorial?). Copy this code for pasting into Moodle.

7.1) On Windows, you can right-click on the iframe code, and choose copy from the right-click menu.

Before we go into Moodle, close the form window and take a look back at your GoogleDocs. If you click on the spreadsheet you created in the first step, in this case "Mid-Semester Evaluation",

you can see the questions you have created are entered in the first row in the Google Spreadsheet. As people fill out the form in Moodle, their answers will show up in the spreadsheet.

Now, lets go into our Moodle course, and put the form to work!

As mentioned in the previous tutorials, if you do not have a Moodle site, you can try this out at

8) In your Moodle course, login and then click the "Turn editing on" button, and then choose "Compose a Webpage", from the "Add a resource..." drop down.

9) On the "Compose a web page" screen, give the file a name. For example here I've named it "Mid-Semester Evaluation". It is a good idea to make the name in Moodle the same as the name in GoogleDocs- this will make it easier to manage your data in case you make other forms and spreadsheets.

10) In the "Full text" box, click the code view button.

11) Then paste in the iframe code from GoogleDocs.

12) Finally, scroll down to the Window and Common module settings. Choose "New Window" (1), and then check your visibility settings as described in the previous tutorial. Click the Show Advanced button to try out other Window settings (like GoogleDocs, Moodle is very flexible, and you can always change your settings later if you change your mind).

12.1) Click the "Save and return to course" button.

Now you can see the your new Moodle resource in your Moodle course. Your students will see it now too, if you chose "Show" in the "Common module settings". You can always click the "eye" icon to hide or show it from your students (although if you really want to hide it completely, remember to also go back into GoogleDocs and unpublish the form).

Now, when a student views your course, they see the link to the form:
When they click it, they will get a pop-up window with the form in it, which they can fill out and then hit the "Submit" button.

When the student submits the form, they get a response thanking them.

It is important to remember that Google presently doesn't know who is filling out the form, so this is best used for anonymous forms, or low stakes forms. For instance, in a low stakes form, you could enter a field for the student's name. An example might be signing up for a field trip, study group, etc. Generally, any place where the advanced security, tracking, and grading of Moodle's quiz module are not needed.

Finally, if we return to our GoogleDocs site, and click on the spreadsheet, we can see the student's response:

Note that GoogleDocs has added a timestamp identifying when the response was received.

Other notes:

Custom 'thanks' message:
You can create a custom message for when the form has been filled out back in the "Preview and send" tab.
Linking to the form rather than embedding it:
You can also add the direct link to the form in the Moodle "Link to file or website" resource type.

L1) To do this, use the "Link to file or website" resource type in Moodle instead of "Compose a web page".

L2) Give the resource a name as in Step 9, above, and then put the link (URL) for the form into the "Location" field.

You can get the location link by going back into GoogleDocs, opening the spreadsheet, and then choosing the "Embed form" link from the "Share this form" drop down.

L3) Copy the link, and then paste it into the "Location" field in step above.

L4) When you have entered the link, click the "Save and return to course" button.

The student's view is similar,

although if you have chosen to allow users to see the previous responses, they can see them at the bottom of the form if you use the link to file method rather than the embed form method.

Letting the students see other's responses:
If you check the "Let people see existing responses in the live form" option, students can see other responses in the form, if they scroll to the bottom:

If you don't want the people submitting the form to see the other responses, then go into GoogleDoc's, into the "Preview and Send" tab, and uncheck that setting.

Setting the form display size:
In Google's iframe tag, there are height and width options. For best results set these to the same height and width as your New window settings in Moodle.

Replace the default numbers in the iframe, in this case with 700x700.

Click "Show Advanced" (2) if it is hidden, and then type in the new numbers for the width and height (1)

The main thing with the window size settings, is to make sure that the entire form is visible to students, if possible. If the window size is smaller than the form size, the student's may miss the "Submit" button at the bottom. If the form is just going to be much bigger than the window (for instance in the case of a long form), make sure to tell the students to scroll down until they see the submit button
Google Spreadsheets forms are a nice way to create forms and gather data from your site's users. They are not a replacement for Moodle's Quiz or Data module, as they don't currently capture which Moodle user entered the form, limit the number of responses, etc.
Have fun trying out Google's forms in Moodle!