[GRASS5] Forms

Radim Blazek blazek at itc.it
Thu Jan 9 05:00:47 EST 2003


I would like to discuss how forms in GRASS should be designed.
Forms are used for displaying and editing of vector feature attributes
and forms are very important for most of vector based (custom) applications.

My ideas are below but first some related links I have found so far:
http://xml.openoffice.org/xml_specification.pdf
http://www.gnuenterprise.org/tools/forms.php
http://www.w3.org/TR/xforms/

Requirements:
- all usual controls like combo box, check box, radio button,...
- images specified by URL constructed from attributes
- hyperlinks to additional documents for the feature
- visual form designer (WYSIWYG or WYSIWYM)
- more?

Basic sheme:
1. form description 
   - text file saved in mapset/form/ directory
   - xml format?, we could design some new one but I prefer to use some
     'standard' like subset of Open Office (OO) xml form description
     (file generated by OO can be converted to GRASS)
        |
       \|/
2. form description is read by form library in GRASS and filled
   with data from database for one concrete feature
        |
       \|/
3. form instance for the feature
   - html?
   - should be a standard, so that external engines
     can use it (like GRASS/Qt)
        |
       \|/
4. form instance is rendered in GUI window
   - use some existing engine
   - fixed layout or html style?
        |
       \|/
5. edited data are sent back to the form library and 
   this library updates the table

Currently I am trying to write 3. -> 5. (form is generated
in standard way for all table columns). I want to use 
html_library.tcl for 4. (render engine).

Notes about OO xml: 
1. it seems that it is not so complete as I
expected, e.g. values for combo box are specified by
"form:list-source=" and displayed values are inserted to table,
but usually we want to display some description and insert
some (different) code (id). 
2. I don't see any possibility to add picture by URL, 
only as data from table field.

Radim




More information about the grass-dev mailing list