Procedure Information for wsForms.tcl:

  1. formBuilder
  2. invokeFormElement
  3. session
  4. getSessFileName
  5. checkUserModule
  6. loadSession
  7. saveSession
  8. deleteSession
  9. makeDefSession
  10. getSessionNames
  11. getFormDir
  12. moduleIsAuto
  13. vars2db
  14. getCgiData
  15. getSessionData


    Procedure: formBuilder

    Issue the text forming the module's input form. CURRENT STATUS: Unused


    Procedure Data

    • Name: formBuilder
    • Parent Namespace: webSubmit::forms
    • Arglist: wsNmspace moduleName modeName
    • Return: Nothing.


    Argument definitions:

    • wsNmspace : UNDEFINED
    • moduleName : UNDEFINED
    • modeName : UNDEFINED


    Procedure: invokeFormElement

    Issue the html to build instance $instanceName of form element $elementName called with argument list $argList across a span of cells $colSpan. CURRENT STATUS: Unused.


    Procedure Data

    • Name: invokeFormElement
    • Parent Namespace: webSubmit::forms
    • Arglist: instanceName elementName argList colSpan
    • Return: Nothing.


    Argument definitions:

    • instanceName : UNDEFINED
    • elementName : UNDEFINED
    • argList : UNDEFINED
    • colSpan : UNDEFINED


    Procedure: session

    Procedure to perform session-related tasks, such as loading and saving. Syntax: session (load|save|delete) [--default] [-vars sessVarList] [-mode modeName] [-name sessionName] moduleName load: Load a saved session save: Save the current module input as a session delete: Remove a session from the list of possible sessions Additional arguments: -vars sessVarList: List of variables to save in session file (req. if command=save and form is not auto-generated) -mode modeName: Specify modename (optional) -name sessionName: Name of session to save or load (req. if command=save or delete) --default: Specifies default session for loading moduleName: Name of the module for the given session (req.)


    Procedure Data

    • Name: session
    • Parent Namespace: webSubmit::forms::session
    • Arglist: command args
    • Return: Depends on command


    Argument definitions:

    • command : One of load, save, delete
    • args : Additional arguments


    Procedure: getSessFileName

    Procedure to choose the session file to load when a form is invoked, if any. If no appropriate session file can be located from the user or system trees, then the procedure returns a null filename. Precedence rules for determining session file to load: 1. User session settings --> Determine preference for "default" or "last" (i) Default: If unavailable, load system (ii) Last: If unavailable, load user default 2. System defaults 3. No session information


    Procedure Data

    • Name: getSessFileName
    • Parent Namespace: webSubmit::forms::session
    • Arglist: moduleName
    • Return: Session filename (full path) or "" if no file can be located


    Argument definitions:

    • moduleName : Name of the module for which state information is needed


    Procedure: checkUserModule

    Procedure to create a user directory for a specified module, and to set up default values for that module.


    Procedure Data

    • Name: checkUserModule
    • Parent Namespace: webSubmit::forms
    • Arglist: moduleName
    • Return: None


    Argument definitions:

    • moduleName : Name of module to initialize


    Procedure: loadSession

    Procedure to load session data into an array in the forms namespace called SESSION


    Procedure Data

    • Name: loadSession
    • Parent Namespace: webSubmit::forms::session
    • Arglist: default moduleName {sessName ""}
    • Return: None


    Argument definitions:

    • default : Determines whether to load system defaults
    • moduleName : Name of module
    • sessName (Optional): Name of session to load (Default = "")


    Procedure: saveSession

    Procedure to save a named session for a given module. It is assumed that all session data has already been placed in the forms array SESSION


    Procedure Data

    • Name: saveSession
    • Parent Namespace: webSubmit::forms::session
    • Arglist: moduleName sessName
    • Return: None


    Argument definitions:

    • moduleName : Name of module
    • sessName : Name of session to save


    Procedure: deleteSession

    Procedure to delete a named session


    Procedure Data

    • Name: deleteSession
    • Parent Namespace: webSubmit::forms::session
    • Arglist: moduleName sessName
    • Return: None


    Argument definitions:

    • moduleName : Name of module
    • sessName : Name of session to be deleted


    Procedure: makeDefSession

    Procedure to build system default values for a session from a form metadatabase or from existing system defaults. Only valid admin users can build system-wide default sessions. CURRENT STATUS: Unused.


    Procedure Data

    • Name: makeDefSession
    • Parent Namespace: webSubmit::forms
    • Arglist: moduleName
    • Return: None


    Argument definitions:

    • moduleName : Name of module that needs default session file


    Procedure: getSessionNames

    Procedure to return the names of all session names for a given module


    Procedure Data

    • Name: getSessionNames
    • Parent Namespace: webSubmit::forms
    • Arglist: moduleName
    • Return: List of session file names


    Argument definitions:

    • moduleName : Name of module


    Procedure: getFormDir

    Procedure to return the appropriate directory name for the given module and user. Present implementation: Type: -module: $wsRootDir/user/$wsID/$moduleName -session: $wsRootDir/user/$wsID/$moduleName/session -system: $wsRootDir/modules/$moduleName


    Procedure Data

    • Name: getFormDir
    • Parent Namespace: webSubmit::forms
    • Arglist: type moduleName
    • Return: Directory name for either session files or module files


    Argument definitions:

    • type : -session = Return user session dir, -module = Return user module dir, -system = Return system module dir
    • moduleName : Name of module


    Procedure: moduleIsAuto

    Procedure to determine whether a module is auto-generated from a database, or based on a hand-written CGI script


    Procedure Data

    • Name: moduleIsAuto
    • Parent Namespace: webSubmit::forms
    • Arglist: moduleName
    • Return: 1 = Auto, 0 = Manual


    Argument definitions:

    • moduleName : Name of the module to consider


    Procedure: vars2db

    Store a list of CGI input variables in the session database. A protected version of the variables is extracted from the global array element _cgi(input) and stored in the session database. This routine assumes that a cgi_input has already been performed to load _cgi(input) with the CGI input data.


    Procedure Data

    • Name: vars2db
    • Parent Namespace: webSubmit::forms::session
    • Arglist: varList
    • Return: None


    Argument definitions:

    • varList : List of variables to save


    Procedure: getCgiData

    Convert session database into a format that can be submitted with the form as a query string


    Procedure Data

    • Name: getCgiData
    • Parent Namespace: webSubmit::forms::session
    • Arglist:
    • Return: String to use as CGI input


    Argument definitions:



    Procedure: getSessionData

    Procedure to extract data for a given session from the session database. Data is converted from a CGI-safe form back into the original form.


    Procedure Data

    • Name: getSessionData
    • Parent Namespace: webSubmit::forms::session
    • Arglist:
    • Return: None


    Argument definitions: