Re: Save/Persisting form data

Robert Fox and Nimrod wrote about possible competing and/or
contributing projects.

While we're in the mood, maybe I should mention I'm writing an (open
source) forms generator?  I announced it in a small way a couple of
weeks back  - announcement follows.

It is not meant to be all things to all people, but to help with those
routine questionnaires that crop up in survey work.  I happened across
XForms as I was looking round for a suitable, common, data-entry
interface for the next stage.

Personally, I don't think it will be possible to write a DTD that has
what EVERYONE wants.  For example, the world social science community
have produced an exhaustive DTD under the Data Documentation Initiative
at ICPSR, University of Michigan -
http://www.icpsr.umich.edu/DDI/codebook.html - that has all the
background needed for permanent cataloguing.  271 tags, mostly
repeatable, will be too much for most people!  Equally, a small group
of market research software vendors have written a stats data file
description DTD - http://www.triple-s.org/ - which will be too little
for most purposes other than app-to-app file translation.

My approach is to generate (a subset of) both DTDs from a high level
script. It can also generate static HTML, Latex, some SQL - and is
easily extended with new modules to produce new output.  Maybe a DTD
and a whole raft of XSLTs would be the current approved method - but
then the DTD would change with each module added.  

Given the examples linked from http://www.w3.org/MarkUp/Forms/ it
should be straightforward to generate HTML and JavaScript, or XML as
required.  I'll try this next week.  I guess I would have "proposed
output device" as a module-specific configuration option - it is easy to
imagine one data representation, and multiple visual layouts to suit
browsers, handhelds, TVs etc..

Anyhow, slight plug aside - and regardless of whether anyone wants to
join in my effort - like Robert Fox, I have been developing pragmatic
form-generating software for many years now, and "would love to be of
assistance if I may in these areas".  Are you just after comments on
named issues at this stage, or are you open to wider changes?  For
example, the data model being developed assumes that the assignation of
a new identifier (order number, transaction number) is done
programatically - hence the concern about restarting a form (*).  What
if the index is one or more elements of user-typed data that require
validation?

Yours
Neil Walker

(*) which I've seen done by issuing a temporary password, BTW.
--------------------------------------------------------------------
Neil Walker                     tel:   +44 (0) 1223 330379
MRC Biostatistics Unit          fax:   +44 (0) 1223 330388
Cambridge, UK                   email: neil.walker@mrc-bsu.cam.ac.uk
                                web:   http://www.mrc-bsu.cam.ac.uk 
--------------------------------------------------------------------


WHAT:   qgen 0.13, a Questionnaire GENerator
    This is the first public release, and call for early-adopters.

WHERE:  http://www.mrc-bsu.cam.ac.uk/qgen/

WHY:    Fed up with drag'n'drop questionnaire design and layout tools,
    I wanted something that could produce a printed copy, an HTML
    representation, a data entry program, inputs to stats packages, an
    on-line data dictionary and an XML codebook all from the one
    script.  This Tcl package gets most of the way there.

REQUIREMENTS: Tcl8.0+, all Tcl code, no compiling required.
    Tcl is a stunningly good free cross-platform scripting language
    available from http://www.scriptics.com/ and all good mirrors.
    Each output type requires a viewing method too - see website for
    details.

NEW COMMANDS:
    q   A Tk-ish question definition command, loads of options,
        plenty of defaults

    title, heading, subheading, instruct 
        Macros - lots of q options pre-defined

    skip, enlargethispage, fill, footer, pagebreak
        Page layout commands

    encode, comment, note, bold, emph, typed, center, underline,
    big, small, rule, space, rulefill, dotfill, spacefill, tab,
    ldots, newline, copyright, pounds.
        Markup

    qconfigure, pconfigure, preamble, endindex, missvalues, end
        Configuration and data management commands

    input, only
        Legitimised hacks
    
METHOD: Each type of output has its own generator and markup package,
    such that:

        q -name FOO -text {[bold "Some question text"]} \
            -values {0 No 1 Yes 9 "Not known"}

    does the obvious thing in each target language.

CONTACT: Neil Walker, neil.walker@mrc-bsu.cam.ac.uk
    Testers, developers, users all welcome.

LICENSE: Free, under Artistic and BSD licenses.

Received on Tuesday, 9 May 2000 06:12:54 UTC