views:

179

answers:

7

I work for a school district in which the teachers submit their lesson plans to their principals online.

They do this using an online form I wrote using PHP/MySQL and it uses TinyMCE for its textareas. One of the major features that was requested was for teachers to be able to save their incomplete forms as drafts to submit later. This was implemented, but the new problem I'm facing is that not all teachers have access to the internet at home, thus they cannot work on their lesson plans while at home.

Of course, they could cut and paste out of a word document or text file that they save on their laptops, but then they have to cut/paste one textarea at a time, and they complain about it.

So what I was thinking about trying, is making an offline application that looks like the online form, but saves the form in an xml format on their computer. Then they could open this file to keep working on it, or upload it to the online form later.

My question is: being that my programming experience is currently limited to a few web-related languages (php, javascript, html) what should I use to attempt to write this offline app? Winbinder? Adobe AIR?

A: 

I would save the form to a text file that they can save to their desktop, then upload it and read it into the form later. You would have to supply them with a template so that everything they enter is in the correct order.

Josh Curren
They need to be able to format text though (bold, italic, etc). Hence the use of TinyMCE.
Samutz
Oh. I guess this option wouldn't work then.
Josh Curren
Antony
+4  A: 

I think your best bet will be to ask them to install Google Gears on their browser (comes by default with Google Toolbar iirc), which is ideal for storing content offline. And then as soon as they go online it's easy to sync the stored content back to your online server.

Gears API Documentation can be found here.

duckyflip
I'm not sure, but I think Samutz's users may be composing content on computers that *never* go online, and bringing the files they generate in to work on floppies, or something like that. If that is indeed the case, Gears won't work, will it?Gears would be more ideal for a situation in which people were working on systems with intermittent connections, as I understand it.
Frank Farmer
Frank you've got a valid point there. If there users is not going to connect to the internet /ever/, then he can still copy his local Google Gears SQLite database to a usb and transfer it to the computer at work. Data for different applications is stored in separate sql files, the locations of which are desrcibed here: http://code.google.com/apis/gears/api_database.html#directories
duckyflip
Actually each teacher has a laptop they can take home.Gears seems like it would be my best bet as there are other apps that will need similar functionality in the future.
Samutz
A: 

One simple option would be to build a regular desktop app they could install locally and take with them. Have an upload function in the app that allows them to submit it when they are connected to the internet.

Chris Lively
+2  A: 

How are teachers currently working on their lesson plans offline?

If they're doing it in plain text, for example, perhaps you can simply add a file upload field. They would upload their file (which they worked on offline), and your web app would parse it and divide it up into the appropriate sections.

(If rich text is a requirement, they can use a Word doc.)

To aid with parsing, you could tell them to use section headers -- maybe special words in all caps -- or provide them an example template (which maps directly to the web form) to start from.

The idea here is that you may want to minimize the changes teachers will need to make. They're already used to what they're currently doing, so work with their current habits. It would be easier than having them change and do something new. Installing a new offline app on their computers is almost certainly a significant barrier.

(While I was typing this answer, Josh Curren submitted a similar one.)

Elliot
Actually, I think something like this is the best solution.
BobbyShaftoe
A: 

Another option is to use create an editable PDF of the form, then either a) submit those as a whole to the principal, or b) parse out the field data on the server side.

b. e. hollenbeck
A: 

IF they are using Internet Explorer at BOTH school and home, you could give them the form in a webpage saved in the web archive format, *.mht. They fill out the form at home and save it in the same *.mht format. When they return to school they open the page and submit it.

This should work and may be simple to implement. I tried it on this post, but ran into problems somewhere between the captcha and the openid login. Give it a try on your form.

Michelle
A: 

I've actually gone with Adobe AIR to do this. With AIR, the form looks nearly identical to the one that's used online and even uses the same TinyMCE library. And I didn't have to learn much to get it going, just the AIR javascript API.

I'm also using AIR to write a few other apps and I love it.

Samutz