Have been toying with the idea of creating a forms generator module. The idea of the module is to allow an instructor to generate various forms for use within moodle. The instructor would be provided with a choice of the type of forms, ( pull down, radio, text etc), any defaults, and some choices about where to send the results ( email, database, text file etc). It would make sense to also provide some rudimentary form of layout too. Could this be integrated into the new HTML editor ?
Havng the data sent by e-mail or saved as a textfile that could be retrieved by the teacher seems possible, but aren't there methods already in Moodle for doing this?
You must have a specific application in mind. Is it something that Moodle can't already do?
Yes, I agree with you on the database, and it may be easier/more desirable to either email or generate a flat file.
Yes, I do have a specific application in mind. For each class, I need to get some background info about each student, check for disabilities (ADA rears her head), determine if student is taking class for grade or credit, how many units the student is taking, plus get some input on other department/division issues, etc. etc. Obviously it would be easy to add this info to the student profile in the database etc. I have cobbled toegther something that works for my needs, but was looking for a more generalized solution.
As far as I know there isn't a "nice" way to do this now - is there ? The survey module does fulfill my needs.
A second solution is with the proposed improvements to allow the admin to define arbitrary fields to the user record.
Is the Data module available? This would be very helpful for our needs.
OK - I am game - once my semester is over this week, I will start working on a spec for this "data module".
OK - I am game - once my semester is over this week, I will start working on a spec for this "data module". Maybe Przemyslaw Stencel has some bandwidth too ?
Attachment contains the elements of what I am proposing developing for the Forms & Data module. There are still a lot of loose ends, but is a place to start. Your feedback, comments and suggestions are appreciated.
My main suggest is to do the database storage first ... it's probably the easiest anyway - the Moodle API lets you do it in one or two lines. Once data is stored you can output it any way you like.
Also, there needs to be some sort of "Browse" interface for looking at the data, with some sort of paging and searching. It can just be a simple table to start with, and later reuse the Run code to display the form as the user saw it.
OK - no problem doing the database storage first .
Yep, the "browse", "search" and "page" need to be incoprporated into the run functionality.
phpESP has already been ported into Moodle as the 'Questionnaire' module. You may want to install that module and try it out first.
Nice one Mike Had not been looking at all the other forums, nose too close to the grindstone I guess.....
Masterful job of integrating this module into Moodle.
It still appears that the functionality of the questionnaire/form/data module could be raised to another level of abstraction. The questionnaire module is a special case of data input and display. My approach was to create a class for data input, and another for data display. Such that the general purpose data input functions could be used in any page or component in Moodle. Similarly with the data display.
I am familiar with phpESP, so I am excited to see this. However, were is the module located for download on moodle.org. I did not see it listed in the CVS or the list of standard/development modules.
Given that this tool would be for the 'non-technical', is there any uncomplicated way to communicate that 'this radio button is the one you click in order for you to select this other radio button as your desired form element'...?
Or am I being needlessly pessimistic?
Don't they have pills for obsessve pessimism ?
Don't think this is really a problem is it ?
Old wish for a special form:
As a teacher - not a technician - I wish a form that splits the screen in two halfs:
- left I can choose a Moodle resource: internal (uploaded), external (weblink)
- right I can choose a Moodle activity: forum, chat, choice, assignment, quiz....
- (next version: two resources on the left)
- (or in next version: a button above the one resource on the left, that is visible to switch forward and backward to teh other resourse on the left)
To have a form where a STUDENT is allowed to:
- create a quiz
- let other people fill-in HIS/HER quiz
- have a simple statistics tool at the end: histogram, pie
- OR AT LEAST the Excel export option to create the pie off-line
(....and a place to paste the off-line created results again on that page)
I have been using forms in my courses, but have to link to them externally from moodle. It would make it much easier to have a forms module added. E.g., a form with a checkbox for students to "agree" to have their grades posted; a "contract" to fill out with the student agreeing to do assignments, etc; a follow-up form when finished with an assignment, etc. It would also be great if the form info could be sent not only to the instructor, but cc'd to the student! I have a php mail form template, (see below) but I know nothing about php, so I don't know if this is helpful. Please keep me informed on the progress of this. Thx
$TextVariable = '&result=';
$response = 'Data has been sent.';
mail ("email@example.com", "Message", "
"...It would make it much easier to have a forms module added. E.g., a form with a checkbox for students to "agree" to have their grades posted; a "contract" to fill out with the student agreeing to do assignments, etc; a follow-up form when finished with an assignment, etc. It would also be great if the form info could be sent not only to the instructor, but cc'd to the student! ..." Chardelle Busch
That is a really good idea.
Until a Forms module is available, I wonder if using Acrobat wouldn't be a solution. You can easily create a form in any program and within Acrobat add fields to the PDF file. Using the "Resources" module you would then make this form available within the browser for students to fill out. The form can be e-mailed and cc'd using the Send Mail command on the File menu, and output as XML information for inclusion into a Moodle table (when a Forms module is created).
A future Forms module might then be something that allows you to identify the names of the fields on a specific Acrobat document, and it's location on the server. Information like the students name, course etc. is taken from the PHP code. One would add a Submit action to the Acrbat document that executes the XML parsing, sending everything to the correct Moodle table.
The person creating the Acrobat document would only need a basic understanding of how to add fields to a PDF and nothing about databases, XML and Moodle guts. Instructions on how to add the Submit action to the PDF could be made available in the modules help file. Food for thought!
Looking at the Acrobat option a little closer this week reveals there is a problem with my first scheme. You cannot write to a PDF file (needed when saving forms data) on a network server unless you are running Adobe Document Server. At $1.2 million dollars US (according to Adobe sales rep), Document Server is a non-starter. BUT, there is a program called Arts PDF that will accomplish the task for only $249.
In thinking about the situation a little more, I believe using Acrobat for forms data collection is a reasonable way to go until something is integrated into Moodle. Knowing a little bit about databases I can foresee that whatever emerges as a Forms module for Moodle, will not be very robust and will be difficult to use for those with marginal skills. Acrobat on the other hand is fairly easy to work with when creating form fields. Students could download/upload completed forms and e-mail as required. Using the Resources module this activity will be part of the students records.
I'm having trouble seeing how the combination of Acrobat, commercial software and email could be simpler than web pages ...
Well, I just wonder where that would lead in development. If this module were something in the way of just collecting data in a web form, say the way a quiz or your bug tracker does, I wouldn't think it would be much of a problem. But how do you address the inevitable "could it do this" questions that will involve unique queries or some other procedure. Do you just make a basic boilerplate and say, live with this and if you want something special do it yourself or hire a programmer. That would be popular with school teachers and countless other users that don't have the skill, but do have an endless number of specific needs they want their forms to do.
Is specialized content development, beyond the already defined course creation and management of students, the direction you feel Moodle should head in. Certainly that is a possibility and I have no doubt it could be accomplished. In fact, Moodle could eventually do just about anything I guess. Question is, what can it do best. What do you say to folks who want better document storage and management procedures. I suppose if there is a point here it is that some things the user could probably do for themselves offline, and have a bit more control. Forms in my mind happens to be one of those things. There are too many variables involved.
My comments on Acrobat were directed at the person who made the original post looking for ideas on how to manage forms. The idea being of course to have you or someone develop a Forms module. Acrobat is a $99 US investment that has good form building features built in. It is very easy to use, well within the skill range of a class teacher, and the Reader is ubiquitous. Why couldn't that special form be created in Word/Acrobat and placed online to be filled in and submitted. In my opinion a Moodle developer would be wise to investigate a Forms module that could grab the XML output from an Acrobat document, and put it into the database for reporting only. Adobe is almost betting the farm on this low-tech approach, and apparently Microsoft feels it is important enough that they are betting heavily with their latest OneNote hairball.
So, there's my 2 cents worth!
PS: I think the "Shelf" module that was recently submitted needs comment!
The data module as I'm envisioning it will be very flexible, and more than enough for collecting almost any structured data (including surveys) beyond the document-based paradigm of PDF.
You can see it as being similar to phpmyadmin, (but without all the database mumbo jumbo). The teacher defines the structure by adding fields one by one. eg "add a text field", "add a number field, ranging from 0 to 100", "add an image field, up to 100k" then chooses options to define who may fill in new records, how many of them, and when. Later there can be some layout options, although a straight-down-the-page layout would be fine for most purposes.
Afterwards, the teacher (and optionally students) would then have an interface to browse the collected data in a table or one-by-one, as well as download it all in Excel or whatever. There could be plugins to present the data in different ways (eg a link database, or a gallery of images, or statistics graphs of numerical data).
Anyway, ours are not exclusive propositions. I think the data module is very viable and powerful and I'm sure it will eventually be going ahead, but there's no reason why the Acrobat forms idea couldn't also be implemented by someone who doesn't mind it requiring commercial software. Assuming one could get the Acrobat forms to submit their XML data directly to Moodle, I'm not sure how much new PHP code would be required on the server side to collect, parse, split and store the XML data in a database. Even then one has to present or use that data somehow, so it would probably end up being very close to the data module anyway ...
Yes, I thought you might be considering a phpmyadmin type interface. That would be do-able for basic data collection forms creation where appearance is not important. But, it would be of little use for corporate of governmental entities that have standardized forms like say an IRS W-9 form for submitting independent contractor information to a vendor for tax purposes, or say an official OSHA form a company must fill out when a worker receives specialized and mandated on-the-job safety training. There are countless examples where appearence of the form itself is a requirement, with this being a trend.
Why would Acrobat be different than say Word or any other commercial software used to create a Moodle resource? Getting XML out of an Acrobat document is a very simple Export function that can be accomplished by the document creator with a Save button. The XML output looks something like this (official W-9 form I must submit to my customers):
<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
<value>Bryan C. Williams</value>
<value>Insight Publishing Co.</value>
<value>1249 Adial Road</value>
<value>Faber, VA 22938</value>
811 W. Main Street
Charlottesville, VA 22901</value>
<f href="W-9 Form.pdf"/>
I filled out your form example, but I can't see a submit or an export button in Acrobat.
The W-9 form was only an example, it's not connected with anything and that's why no submit button. Having spent a little time messing with Acrobat, I see this solution is not viable. The Reader does not support export of data. There would be a very elegant solution if all users has Acrobat 5 or 6 Standard on their computer, but such is not the case.
Bryan what about something like,
BuFRS - Principle
HTML Form to Dynamic PDF
I briefly looked at fastio and will evaluate closer when I finally get my site up, hopefully this coming week. Thanks for the tip!
You can print the statement, and have "I agree" and "I do not agree" at the bottom. The Choice module will automatically show you a report of who has answered what.
There is a solution after all for anyone interested in using Acrobat PDF forms in Moodle. The Acrobat Reader is capable of submitting its form field data (XFDF file). I have located a PHP parsing script that will route the XFDF file to a designated e-mail address when the student clicks a Submit button on the form. The script also allows for URL redirect if you place a hidden field within the Acrobat document. Finally, the script allows you to add a hidden reference field in the form for the parent PDF file (see below).
For those of you not familiar with using Acrobat, let me explain what this will do for you. A teacher/trainer can create a form in any program (e.g. Word, Publisher, Illustrator etc.) and then make a PDF file. Adobe Acrobat software (about $99 US) allows you to do a number of valuable things to the PDF, including adding form fields. Working in Acrobat requires only marginal skills, you do not need to know a thing about databases. Many organizations rely on standardized forms that are not easy to create in an HTML editor. US examples might be say an enrollment form for a 401k plan, or like the attached W-9 form (created by the IRS) required by those who are self-employed. Forms standardization is becoming the norm and a requirement in many instances.
A PDF file is small and ubiquitous, everyone has the free Acrobat Reader on their computer. The attached example (W-9 Form.pdf) is 53k in size. The XFDF file it generates (form field data only) in a mere 2k in size. If you have Adobe Acrobat on your computer, as millions of educators and business trainers do, you can open a submitted XFDF file directly in the parent PDF document - if the hidden reference field mentioned above has been included by the author.
If you click the link to W-9 Form.pdf, this is what will happen: W-9 Form.pdf
- W-9 Form.pdf starts Acrobat Reader and loads the form in your browser
- When you complete form entries and click the Submit button, form data entry is sent to the form author/owner (me in this case) via e-mail, with an attached XFDF file. As teacher/trainer I save this file in a course directory on my hard drive with the parent PDF (not a requirement). As needed I can open each submission and print it, or e-mail the PDF document to someone else (another teacher, student etc.).
- When you click Submit on the form, your browser will be redirected to the Moodle.org homepage. As a course Assignment activity, redirect could be made to the course homepage.
I found this PHP gem at http://www.xfdfgateway.com, and have been in contact with the author. Use of his php-gateway for e-mail routing is free, and I find e-mail response time to be almost instantaneous. The PHP code for the gateway can also be installed on a Moodle server, and the author will even do this for a fee if you can't figure things out.
If you are interested or need to deploy facsimile type forms within a Moodle course, Acrobat is a good solution and the XFDF-Gateway will get you there now. If a "Forms module" ever happens for Moodle, I hope its developer will take a close look at Acrobat support. If may be possible to parse a PDF's XFDF file directly in Moodle to a new database, and hash it back into the parent PDF form on demand - all from within Moodle. With this, reports appear on the horizon.
Good to hear! That opens up a possibilities for it as cool front end for the Data module.
- Was it difficult to set up?
- Do you have any tips as to how to do it?
Actually no, it's quite easy. I will be going live (finally) with my site tomorrow. If you would like to take a look at an Acrobat form I'm using as a Resource, go to www.remote-learner.net/insight and enroll in Care of The Soul. I'll send you an enrollment key. This particual resource is very simple, a student completes two form fields authorizing the course mentor to comment on Journal activity. On submit, the form data is e-mailed to me and we have an Acrobat record of the students authorization. I've got some plans for a little more sophistication down the road, and think it is an excellent way to add form handling to Moodle right now.
Working in Adobe Acrobat is very simple. The site I referenced, where these folks in France are providing a free gateway to parse the form data, has complete instructions for adding the few fields you need to make this work. If you have Acrobat (not the Reader) and want to give it a try, let me know if you encounter any problems. The cool thing about this is the XFDF file (form data) that gets returned in e-mail is very small and can be linked to the parent PDF document. A teacher will simply click the XFDF file they receive in their e-mail and it launches the parent PDF with the particular data populated in the fields.
What needs to be done down the road is to convince one of the PHP wonks to develop a Forms module that will support data submissions staying in Moodle, so that it will connect with the rest of a students records AND reports. This is all do-able! The gateway in France is PHP and the XFDF data is in XML with field definitions defined.
I signed up and received the email.
Just need enrollment key.
BRW, nice logo
I wanted to let you know I tried Bryan's pdf form recommendation and it works just great. FYI WP and any others who use it, simply download the sample pdf file at the site Bryan recommended ( http://www.xfdfgateway.com), then you can copy and paste the required fields from their sample pdf to your pdf. A couple of tips: be sure to click on the Form Tool in Acrobat; remember to change the email form field-- Options-Default to the email address you want the form sent to, and you must include the refererpdf from field with the Options-Default set to the folder where the form is on your computer, e.g.: C:\Documents and Settings\My Documents\Forms\form.pdf. It took me a couple of tries before I figured that part out. Without that field I got an error message when I tried to open the attachment of the email. Then simply upload the form to your course.
This system is great if you want to receive a form/worksheet/exercise, etc., filled out exactly like the original form including titles, logos, lines, tables, etc. (as opposed to receiving form data via email using a php/cgi script that only sends you the entered data). Also, as soon as the form is filled out, it can easily be saved/printed by the user so they also have a copy. I ditto your remarks Bryan and hopefully someday we can get a form to connect to the moodle database!
This looks GREAT to me! Will there be an option where students can see each others forms? I am still working on this idea of a website evaluation form and this could be the answer!
Don't hold your breath.... This functionality will not be available in Moodle for a while.... Hadn't really thought about options to allow other students to see the entries of others. It is only data, so it can be read any way you want, and the results could be "public", or grouped or whatever.
My suggestion would be for you to use the Acrobat solution already discussed, or if you are adventurous, install phpESP, but you mentioned in other posts that you have no programming experience - so back to the Acrobat solution..... Another (sl)easy way to create forms is to use Micro$oft Word or Micro$oft Excel to create your forms, and then email the results, which could then be posted for others to see ?
It would be interesting to know how you did this.
Kenny & Karrie,
What do you think about the following?
It does not neet mySQL to maintain a database. The database is maintained in a text file. However, I guess it could be made to interact with a mySQL database, MOODLE style.
It looks like a good jump off point for a developer like yourself Kenny. It does not have a difficult interface to work with. It also appears that the resulting form page can be edited to look the way you want it to.
I suspect students could save the form according to instructions and send it in a zip file to you Karrie to look at.
Saw this script in passing and thought you both might be interested in looking at it.
Golly ! Nice find ! Yes, an object oriented approach is more appealing - will look at this. It could save a bunch of time
I am getting a bit worried about you W Page......... You must spend all your copious leisure time here and at SourceForge......
Naw! I am studying pretty hard right now. I do take breaks and I found the first script I referred you to when looking for something I was interested in working on. I just remembered that someone at MOODLE was interested in creating a forms creation mod. The last one I found because I receive the "FreshMeat.Net" newsletter about new releases and saw it as I was reading my e-mail.
Hope it helps.
Hi Kenny and Bryan,
Check out this site,
Looks like it works with Adobe Acrobat Reader 5.1 and up. Also, I do not believe it needs to go through a third party server. like
HTML Form to Dynamic PDF
Ger found FPDF on moodle,
So it appears that it may be possible to create forms which can be filled out in an Acrobat Reader from Moodle.
I have to make a correction.
The FPDF file for forms only works with Acrobat Reader 5.1, not with 5.0 or below and not with the new 6.0 because of changes in the reader.
Any movement on this? I have some need for this Data module ... should I get someone else onto it?
Did anything happen with your work on Data module? I'd really like to see it exist, but I just need at least one other person to work with ...
If more hands are needed, I think this would be a very neat module and would like to help with it. I wouldn't be able to take the lead on something like this right now--but I'd be happy to do grunt coding as assigned.
When I get a few minutes I'll draw up a detailed plan and post it as new topic in this forum, then we can work out some jobs.
Thought it might be helpful in jump-starting the forms module that many have expressed an interest in.