Implementation of Online Application Forms with OpenPetra: Difference between revisions

From OpenPetra Wiki
Jump to navigation Jump to search
Line 3: Line 3:
* All forms are generated based on yaml files, very similar to our generation of Winforms.
* All forms are generated based on yaml files, very similar to our generation of Winforms.
* The main template file is in <code>csharp\ICT\PetraTools\Templates\ExtJs\submitForm.js</code>
* The main template file is in <code>csharp\ICT\PetraTools\Templates\ExtJs\submitForm.js</code>
* At the moment (December 2010), the development happens in a branch, ie. the main trunk of the source does not contain the latest webforms yet.
** checkout this branch from bazaar: bzr checkout http://bzr.openpetra.org:8008/openpetra/webformsTimotheus


== Commands to use ==
== Commands to use ==

Revision as of 08:42, 21 December 2010

Current situation

  • At the moment, we use ext.js for the forms.
  • All forms are generated based on yaml files, very similar to our generation of Winforms.
  • The main template file is in csharp\ICT\PetraTools\Templates\ExtJs\submitForm.js

Commands to use

generate all webforms in openpetraorg/webserver/OpenPetraOrg.ext

nant generateWebforms

generate all webforms in openpetraorg/webserver/OpenPetraOrg.ext/Samples/SimpleForm

nant generateWebform -D:file=Samples/SimpleForm

start the webserver, using xsp2 from Mono:

nant startWebServer

Visit the demo and samples page:

http://localhost:8081

Existing demo applications and forms

  • Simple form: very simple, to understand the yaml file etc
  • Multi Country and Language: depending on the country-id parameter, a different form is loaded and also in a different language.

TODO: Controls to be implemented and tested

  • Date time picker for birthday, limiting to certain years (custom validation)
  • Multi Language form that displays a different HTML text inside an iframe
  • File upload with server side validation of image dimensions and file size (extra web service for that?)
  • Navigation between several pages, with final submission button

Server-side functionality

  • main project is in \csharp\ICT\Petra\Server\app\WebService
  • TODO: store the data in the OpenPetra database
  • TODO: possibly: allow user to come back and modify his own data
  • TODO: generate PDF, send Email