I've bitten off a large project, and I'd love some advice.

I need to write survey creation and taking software analogous to Slices
[ http://www.electricvine.com/products/Overview.asp?ProductID=31 ] or
Pegasus [ http://www.websurveyor.com/prod_intro.asp ].

I'm claiming we're better off writing our own than buying theirs for two
reasons:
1) full control (I know my apps will survive a linux kernel upgrade, we
can fix our own bugs, we can add features on demand)
2) integration with our other applications, current and future

I've been given the chance to "prove" my claim, so now I need to write the
thing.

To keep this moderately on topic, here's my planned layout.  I'd love to
have comments and (in particular) to be informed of any CPAN modules that
will do parts of this for me:

First, an overview of what we've got:  Dynamic pages are perl CGIs running
CGI::App (or rather, a subclass with a few local functions added) and
pulling Template::Toolkit templates.  no mod_perl.  (Haven't needed the
speed, and we're too busy developing new apps to overhaul the
whole system without cause).  Linux system.

Here's my current plan: Survey creation script/module will step you
through the creation of a survey.  Just getting questions is easy, but I
need to allow for some layout directions, form validation, and branching
control (If you answered "Yes", go to question 6).  The end result of
this, which steps through several pages, is an XML file that describes the
survey.  This would have to be able to save a survey and later modify it.

Survey taking script/module reads the XML file and displays the given
survey, collecting data through several pages.  Many people will doubtless
fail to complete the entire survey, and I want that data, so I'llhave to
have some method of savign session data to file.  I won't, however, be
allowing people to come back with a new session to complete their old
session.

Survey report script/module takes the answers for a given survey for a
given date range and returns an Excel spreadsheet.  I'll probably put some
really fundamental analysis there, but make the end user do anything
sophisticated on their end.

Judicious use of CGI::App should allow me to create subclasses for special
cases -- identity verification, extra analysis, etc.

So far I've identified and involved (beyond CGI::App):
HTML::FillInForm
Data::FormValidator
Spreadsheet::WriteExcel

Modules I'd like to have clues about:
XML<->data structure translator (something more direct than XML::Parser)

Session data that I can fairly easily manipulate from "outside" sessions,
and not involving mod_perl.  CGI can save and load, but it appears to
overwrite itself, where I'd want to merge.

Comments?A



---------------------------------------------------------------------
Web Archive:  http://www.mail-archive.com/cgiapp@lists.vm.com/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to