Forms4usall Version 0.2-3 Instructions/Documentation

Java required:

  • Installation of java and web SDK:
    J2SE: Choose SDK for platform
    JWSDP: Choose platform

    Running from compiled classes and example files (from tarball):

    Download the tarball
    $ tar xzvf forms4usall-0.2-3.tar.gz
    
    $ cd forms4usall-0.2-3/
    
    $ java f4usall/GUIWindow
    
    Open the form.

    type in the UserID: 1 (if you want to use a different UID, see Adding a user below)

    Example runthrough: fill out a couple of w2.html, then do a 1040ez.html

    Installation from scratch (so far only Qizx/Open):

    Download Qizx/Open

    $ tar xzvf qizxopen-0.2.tar.gz

    This creates a directory called qizxopen-0.2 which contains the necessary files to run Qizx/Open.

    To run the Forms4UsAll engine you will need to replace one file with a version that we modified. From the qizxopen-0.2 directory type:

    $ mv "path"XQuery.java net/xfra/qizxopen/xquery/app

    Where "path" is the path specifying the location of the modified Forms4UsAll version of XQuery.java (you can still run Qizx/Open without the modified version but in order to run Forms4UsAll you will need the new version).

    There are two files that are not part of the Qizx/Open implementation but were included in the release and need to be removed. From the qizxopen-0.2 directory type:

    $ rm net/xfra/qizxopen/foni/test/EIDoc.java
    $ rm net/xfra/qizxopen/xquery/op/UnorderedExpr.java

    Now, compile everything from the qizxopen-0.2 directory with:

    $ find net -name "*.java" > srcFiles
    $ /usr/local/j2sdk1.4.1_03/bin/javac @srcFiles

    Usage:

    You can use Qizx/Open to execute XQuery queries either interactively or in files:

  • To execute XQuery queries interactively, from the qizxopen-0.2 directory type:
    $ java -jar qizxopen.jar

    Now you can enter XQuery queries at the prompt and watch them execute.

  • To execute XQuery queries from files, from the qizxopen-0.2 directory type:
    $ java -jar qizxopen.jar "filename"

    Where "filename" is a file containing an XQuery query.

    There is also an option to enter queries on standard in (see user guide).

    For a complete usage description see the user guide (docs/doc_uguide.html).

    You can also type:

    $ java -jar qizxopen.jar -h

    to get a usage description.

    Directory structure:

    docs/: contains documentation of the current release including a user guide
    examples/: contains sample XQuery queries
    net/: contains source files

    The XQuery specification is here
    XPath, a subset of XQuery, defines methods of accessing XML structures. A nice XPath tutorial is located here

    Adding a user:

    make a copy of userdata/empty.xml to userdata/[userId].xml

    To create schema files:

    see this format: f4uschemaformat.txt

    also waiting for Tyler to flesh out query strings and functions...

    example files: w2.xml, 1040ez.xml

    The schema filenames should be the md5sum of the original forms: w2.html, 1040ez.html
    i.e. to find the correct name for w2.xml:

    $ md5sum w2.html
    12a1c62fc4e3354df2f0f075decf2d3b  w2.html
    
    Therefore the name of the schema for w2.html should be 12a1c62fc4e3354df2f0f075decf2d3b.xml
    (Does anyone have a problem with this naming scheme?)

    Directory structure:

    userdata/: contains user data files with filenames [userId].xml
    schemas/: contains form schema files with filenames [md5sum].xml
    fnlibs/: contains XQuery function libraries (to be implemented by Tyler)
    f4usall/: contains f4usall code and classes
    net/: contains qizxopen (XQuery engine) code and classes

    Logging:

    The program logs to file error.log. There are currently 4 log entry levels (only extensively implemented in XML backend):

    Bugs/Things not working yet:

    Other apps (coming soon):