== Introduction == TODO: Pontificate on the merits of forms in wikis... === !TracForm Configuration === In the header section of the form, several commands can be used to control the rendering and configuration of the form in the form of "#!command [arg...]" lines before the first non-comment line: || '''Command''' || '''Version''' || '''Arguments''' || '''Meaning''' || || '''page''' || 0.1+ || page-context || Sets the page portion of the context used to store the form. This defaults to the page the user is currently on. || || '''subcontext''' || 0.1+ || subcontext || Sets a subcontext within the page. For example, a SVN checklist could have a "#!subcontext SVN" to differentiate it from other forms on the page. || || '''default''' || 0.1+ || operation || Specifies the default operation in [tf:args] blocks. Defaults to "checkbox" || || '''track_fields''' || 0.1+ || [yes|no] || If no argument given or yes, keep track of field changes in this form. Defaults to false (no field changes tracked). This affects [tf.who] and [tf.when] || || '''submit_label''' || 0.1+ || label || Set the label to use for the submit button at the end of the form. The default is "Submit Form" || === !TracForm Environment === Using the #!setenv command above, you can retrieve previously defined elements with %NAME% (case insensitive). Other environment variables are also defined by the system: || '''Variable''' || '''Version''' || '''Meaning''' || || '''%USER%''' || 0.1+ || The currently active user || || '''%NOW%''' || 0.1+ || The current date and time || === !TracForm Operations === Within the TracForm, you can use the following commands with [tf.OP:arg...] blocks: || '''Operation''' || '''Version''' || '''Argument(s)''' || '''Meaning''' || || '''tf.checkbox''' || 0.1+ || name [value] || Put an HTML checkbox here. Use value only if specified (on is default). || || '''tf.radio''' || 0.1+ || name value || Put an HTML checkbox here. Use the name and value pair together. || || '''tf.input''' || 0.1+ || name default || Put an HTML form input field here. || || '''tf.who''' || 0.1+ || name || Show which user most recently affected the specified field. This requires track_fields to be set in the commands section. || || '''tf.when''' || 0.1+ || name [strftime format string] || Show when the most change was made on the specified field. This requires track_fields to be set in the commands section. || || '''tf.form_updater''' || 0.1+ || || Show the most recent updater of the form itself. || || '''tf.form_updated_on''' || 0.1+ || [strftime format string] || Show when the form was most recently updated. ||