= TracFormsPlugin Detailed Documentation = == 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" || || '''setenv''' || 0.1+ || name value || Set the name to value in the form's environment (or any subforms therein). || === !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. || === !TracForm Arguments === Each arguments listed above are either: * Separated by whitespace. Example: #!setenv VAR VALUE * Quoted with double-quotes. Example: #!submit_label "Hello World" * Quoted with single-quotes. Example: [tf.input:'Big Text'] === !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. || All substitutions may be applied to any argument within #! command or [tf:] operation sections.