d5e7891b07 2007-11-18 drh: /* d5e7891b07 2007-11-18 drh: ** Copyright (c) 2007 D. Richard Hipp d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** This program is free software; you can redistribute it and/or d5e7891b07 2007-11-18 drh: ** modify it under the terms of the GNU General Public d5e7891b07 2007-11-18 drh: ** License version 2 as published by the Free Software Foundation. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** This program is distributed in the hope that it will be useful, d5e7891b07 2007-11-18 drh: ** but WITHOUT ANY WARRANTY; without even the implied warranty of d5e7891b07 2007-11-18 drh: ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU d5e7891b07 2007-11-18 drh: ** General Public License for more details. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** You should have received a copy of the GNU General Public d5e7891b07 2007-11-18 drh: ** License along with this library; if not, write to the d5e7891b07 2007-11-18 drh: ** Free Software Foundation, Inc., 59 Temple Place - Suite 330, d5e7891b07 2007-11-18 drh: ** Boston, MA 02111-1307, USA. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** Author contact information: d5e7891b07 2007-11-18 drh: ** drh@hwaci.com d5e7891b07 2007-11-18 drh: ** http://www.hwaci.com/drh/ d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ******************************************************************************* d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** This file contains a string constant that is the default ticket d5e7891b07 2007-11-18 drh: ** configuration. d5e7891b07 2007-11-18 drh: */ d5e7891b07 2007-11-18 drh: #include "config.h" d5e7891b07 2007-11-18 drh: #include "tktconfig.h" d5e7891b07 2007-11-18 drh: d5e7891b07 2007-11-18 drh: /* d5e7891b07 2007-11-18 drh: ** This is a sample "ticket configuration" file for fossil. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** There is considerable flexibility in how tickets are defined d5e7891b07 2007-11-18 drh: ** in fossil. Each repository can define its own ticket setup d5e7891b07 2007-11-18 drh: ** differently. Each repository has an instance of a file, like d5e7891b07 2007-11-18 drh: ** this one that defines how that repository deals with tickets. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** This file is in the form of a script in an exceedingly d5e7891b07 2007-11-18 drh: ** minimalist scripting language called "subscript". Here are d5e7891b07 2007-11-18 drh: ** the rules: d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** SYNTAX d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** * The script consists of a sequence of whitespace d5e7891b07 2007-11-18 drh: ** separated tokens. Whitespace is ignored, except d5e7891b07 2007-11-18 drh: ** as its role as a token separator. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** * Lines that begin with '#' are considered to be whitespace. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** * Text within matching {...} is consider to be a single "string" d5e7891b07 2007-11-18 drh: ** token, even if the text spans multiple lines and includes d5e7891b07 2007-11-18 drh: ** embedded whitespace. The outermost {...} are not part of d5e7891b07 2007-11-18 drh: ** the text of the token. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** * A token that begins with "/" is a string token. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** * A token that looks like a number is a string token. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** * Tokens that do not fall under the previous three rules d5e7891b07 2007-11-18 drh: ** are "verb" tokens. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** PROCESSING: d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** * When a script is processed, the engine reads tokens d5e7891b07 2007-11-18 drh: ** one by one. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** * String tokens are pushed onto the stack. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** * Verb tokens which correspond to the names of variables d5e7891b07 2007-11-18 drh: ** cause the corresponding variable to be pushed onto the d5e7891b07 2007-11-18 drh: ** stack. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** * Verb tokens which correspond to procedures cause the d5e7891b07 2007-11-18 drh: ** procedures to run. The procedures might push or pull d5e7891b07 2007-11-18 drh: ** values from the stack. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** There are just a handful of verbs. For the purposes of this d5e7891b07 2007-11-18 drh: ** configuration script, there is only a single verb: "set". The d5e7891b07 2007-11-18 drh: ** "set" verb pops two arguments from the stack. The topmost is d5e7891b07 2007-11-18 drh: ** the name of a variable. The second element is the value. The d5e7891b07 2007-11-18 drh: ** "set" verb sets the value of the named variable. d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** VALUE NAME set d5e7891b07 2007-11-18 drh: ** d5e7891b07 2007-11-18 drh: ** This configuration file just sets the values of various variables. d5e7891b07 2007-11-18 drh: ** Some of the variables have special meanings. The content of some d5e7891b07 2007-11-18 drh: ** of the variables are additional subscript scripts. d5e7891b07 2007-11-18 drh: */ d5e7891b07 2007-11-18 drh: d5e7891b07 2007-11-18 drh: /* @-comment: # */ d5e7891b07 2007-11-18 drh: const char zDefaultTicketConfig[] = d5e7891b07 2007-11-18 drh: @ ########################################################################## d5e7891b07 2007-11-18 drh: @ # d5e7891b07 2007-11-18 drh: @ # Every ticket configuration file should have a title. When you d5e7891b07 2007-11-18 drh: @ # come up with a new ticket configuration, please change the title d5e7891b07 2007-11-18 drh: @ # to something descriptive. d5e7891b07 2007-11-18 drh: @ # d5e7891b07 2007-11-18 drh: @ {Default Ticket Configuration} /ticket_config_title set d5e7891b07 2007-11-18 drh: @ d5e7891b07 2007-11-18 drh: @ ############################################################################ d5e7891b07 2007-11-18 drh: @ # Every ticket configuration *must* define a set of columns for the d5e7891b07 2007-11-18 drh: @ # "ticket" table of the database. These column names will also be d5e7891b07 2007-11-18 drh: @ # used as CGI parameter names, so to avoid problems it is best that d5e7891b07 2007-11-18 drh: @ # the names be all lower-case alphabetic characters. The names must d5e7891b07 2007-11-18 drh: @ # be unique and must not begin with "tkt_". d5e7891b07 2007-11-18 drh: @ # d5e7891b07 2007-11-18 drh: @ { d5e7891b07 2007-11-18 drh: @ CREATE TABLE ticket( d5e7891b07 2007-11-18 drh: @ -- Do not change any column that begins with tkt_ d5e7891b07 2007-11-18 drh: @ tkt_id INTEGER PRIMARY KEY, fb358ca492 2007-11-24 drh: @ tkt_uuid TEXT, fb358ca492 2007-11-24 drh: @ tkt_mtime DATE, d5e7891b07 2007-11-18 drh: @ -- Add as many field as required below this line d5e7891b07 2007-11-18 drh: @ type TEXT, d5e7891b07 2007-11-18 drh: @ status TEXT, d5e7891b07 2007-11-18 drh: @ subsystem TEXT, d5e7891b07 2007-11-18 drh: @ priority TEXT, d5e7891b07 2007-11-18 drh: @ severity TEXT, fb358ca492 2007-11-24 drh: @ foundin TEXT, fb358ca492 2007-11-24 drh: @ contact TEXT, d5e7891b07 2007-11-18 drh: @ title TEXT, fb358ca492 2007-11-24 drh: @ comment TEXT, fb358ca492 2007-11-24 drh: @ -- Do not alter this UNIQUE clause: fb358ca492 2007-11-24 drh: @ UNIQUE(tkt_uuid, tkt_mtime) d5e7891b07 2007-11-18 drh: @ ); d5e7891b07 2007-11-18 drh: @ -- Add indices as desired d5e7891b07 2007-11-18 drh: @ } /ticket_sql set d5e7891b07 2007-11-18 drh: @ d5e7891b07 2007-11-18 drh: @ ############################################################################ d5e7891b07 2007-11-18 drh: @ # You can define additional variables here. These variables will be d5e7891b07 2007-11-18 drh: @ # accessible to the page templates when they run. d5e7891b07 2007-11-18 drh: @ # fb358ca492 2007-11-24 drh: @ { fb358ca492 2007-11-24 drh: @ Code_Defect fb358ca492 2007-11-24 drh: @ Build_Problem fb358ca492 2007-11-24 drh: @ Documentation fb358ca492 2007-11-24 drh: @ Feature_Request fb358ca492 2007-11-24 drh: @ Incident fb358ca492 2007-11-24 drh: @ } /type_choices set fb358ca492 2007-11-24 drh: @ {Immediate High Medium Low Zero} /priority_choices set d5e7891b07 2007-11-18 drh: @ {Critical Severe Important Minor Cosmetic} /severity_choices set d5e7891b07 2007-11-18 drh: @ { d5e7891b07 2007-11-18 drh: @ Open d5e7891b07 2007-11-18 drh: @ Fixed d5e7891b07 2007-11-18 drh: @ Rejected d5e7891b07 2007-11-18 drh: @ Unable_To_Reproduce d5e7891b07 2007-11-18 drh: @ Works_As_Designed d5e7891b07 2007-11-18 drh: @ External_Bug d5e7891b07 2007-11-18 drh: @ Not_A_Bug d5e7891b07 2007-11-18 drh: @ Duplicate d5e7891b07 2007-11-18 drh: @ Overcome_By_Events d5e7891b07 2007-11-18 drh: @ Drive_By_Patch d5e7891b07 2007-11-18 drh: @ } /resolution_choices set d5e7891b07 2007-11-18 drh: @ { d5e7891b07 2007-11-18 drh: @ Open d5e7891b07 2007-11-18 drh: @ Verified d5e7891b07 2007-11-18 drh: @ In_Process d5e7891b07 2007-11-18 drh: @ Deferred d5e7891b07 2007-11-18 drh: @ Fixed d5e7891b07 2007-11-18 drh: @ Tested d5e7891b07 2007-11-18 drh: @ Closed d5e7891b07 2007-11-18 drh: @ } /status_choices set fb358ca492 2007-11-24 drh: @ {} /subsystem_choices set d5e7891b07 2007-11-18 drh: @ d5e7891b07 2007-11-18 drh: @ ########################################################################## d5e7891b07 2007-11-18 drh: @ # The "tktnew_template" variable is set to text which is a template for d5e7891b07 2007-11-18 drh: @ # the HTML of the "New Ticket" page. Within this template, text contained d5e7891b07 2007-11-18 drh: @ # within [...] is subscript. That subscript runs when the page is d5e7891b07 2007-11-18 drh: @ # rendered. d5e7891b07 2007-11-18 drh: @ # d5e7891b07 2007-11-18 drh: @ { d5e7891b07 2007-11-18 drh: @ <!-- load database field names not found in CGI with an empty string --> d5e7891b07 2007-11-18 drh: @ <!-- start a form --> d5e7891b07 2007-11-18 drh: @ [{Open} /status set /submit submit_new_ticket] d5e7891b07 2007-11-18 drh: @ <table cellpadding="5"> d5e7891b07 2007-11-18 drh: @ <tr> fb358ca492 2007-11-24 drh: @ <td colspan="2"> d5e7891b07 2007-11-18 drh: @ Enter a one-line summary of the problem:<br> fb358ca492 2007-11-24 drh: @ <input type="text" name="title" size="60" value="[{} /title get html]"> d5e7891b07 2007-11-18 drh: @ </td> d5e7891b07 2007-11-18 drh: @ </tr> d5e7891b07 2007-11-18 drh: @ d5e7891b07 2007-11-18 drh: @ <tr> d5e7891b07 2007-11-18 drh: @ <td align="right">Type: fb358ca492 2007-11-24 drh: @ [/type type_choices 1 combobox] d5e7891b07 2007-11-18 drh: @ </td> d5e7891b07 2007-11-18 drh: @ <td>What type of ticket is this?</td> d5e7891b07 2007-11-18 drh: @ </tr> d5e7891b07 2007-11-18 drh: @ d5e7891b07 2007-11-18 drh: @ <tr> d5e7891b07 2007-11-18 drh: @ <td align="right">Version: fb358ca492 2007-11-24 drh: @ <input type="text" name="foundin" size="20" value="[{} /foundin get html]"> d5e7891b07 2007-11-18 drh: @ </td> d5e7891b07 2007-11-18 drh: @ <td>In what version or build number do you observer the problem?</td> d5e7891b07 2007-11-18 drh: @ </tr> d5e7891b07 2007-11-18 drh: @ d5e7891b07 2007-11-18 drh: @ <tr> d5e7891b07 2007-11-18 drh: @ <td align="right">Severity: fb358ca492 2007-11-24 drh: @ [/severity severity_choices 1 combobox] d5e7891b07 2007-11-18 drh: @ </td> d5e7891b07 2007-11-18 drh: @ <td>How debilitating is the problem? How badly does the problem d5e7891b07 2007-11-18 drh: @ effect the operation of the product?</td> fb358ca492 2007-11-24 drh: @ </tr> fb358ca492 2007-11-24 drh: @ fb358ca492 2007-11-24 drh: @ <tr> fb358ca492 2007-11-24 drh: @ <td align="right">EMail: fb358ca492 2007-11-24 drh: @ [/severity severity_choices 1 combobox] fb358ca492 2007-11-24 drh: @ </td> fb358ca492 2007-11-24 drh: @ <td>Not publically visible. Used by developers to contact you with fb358ca492 2007-11-24 drh: @ questions.</td> d5e7891b07 2007-11-18 drh: @ </tr> d5e7891b07 2007-11-18 drh: @ d5e7891b07 2007-11-18 drh: @ <tr> d5e7891b07 2007-11-18 drh: @ <td colspan="2"> d5e7891b07 2007-11-18 drh: @ Enter a detailed description of the problem. d5e7891b07 2007-11-18 drh: @ For code defects, be sure to provide details on exactly how d5e7891b07 2007-11-18 drh: @ the problem can be reproduced. Provide as much detail as d5e7891b07 2007-11-18 drh: @ possible. d5e7891b07 2007-11-18 drh: @ <br> fb358ca492 2007-11-24 drh: @ <textarea name="comment" cols="80" fb358ca492 2007-11-24 drh: @ rows="[{} /comment linecount 50 max 10 min]" fb358ca492 2007-11-24 drh: @ wrap="virtual" class="wikiedit">[{} /comment get html]</textarea><br> d5e7891b07 2007-11-18 drh: @ <input type="submit" name="preview" value="Preview"> d5e7891b07 2007-11-18 drh: @ </tr> d5e7891b07 2007-11-18 drh: @ fb358ca492 2007-11-24 drh: @ [/preview exists enable_output] d5e7891b07 2007-11-18 drh: @ <tr><td colspan="2"> d5e7891b07 2007-11-18 drh: @ Description Preview:<br><hr> fb358ca492 2007-11-24 drh: @ [{} /comment get wiki] d5e7891b07 2007-11-18 drh: @ <hr> d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ [1 enable_output] d5e7891b07 2007-11-18 drh: @ d5e7891b07 2007-11-18 drh: @ <tr> d5e7891b07 2007-11-18 drh: @ <td align="right"> d5e7891b07 2007-11-18 drh: @ <input type="submit" name="submit" value="Submit"> d5e7891b07 2007-11-18 drh: @ </td> d5e7891b07 2007-11-18 drh: @ <td>After filling in the information above, press this button to create d5e7891b07 2007-11-18 drh: @ the new ticket</td> d5e7891b07 2007-11-18 drh: @ </tr> d5e7891b07 2007-11-18 drh: @ </table> d5e7891b07 2007-11-18 drh: @ <!-- end of form --> d5e7891b07 2007-11-18 drh: @ } /tktnew_template set d5e7891b07 2007-11-18 drh: @ d5e7891b07 2007-11-18 drh: @ ########################################################################## d5e7891b07 2007-11-18 drh: @ # The template for the "edit ticket" page d5e7891b07 2007-11-18 drh: @ { d5e7891b07 2007-11-18 drh: @ <!-- database field names not found as CGI parameters are loaded d5e7891b07 2007-11-18 drh: @ from the database automatically --> d5e7891b07 2007-11-18 drh: @ <!-- start a form --> d5e7891b07 2007-11-18 drh: @ [{<hr><i>%USER% added on %DATE%:</i><br>} d5e7891b07 2007-11-18 drh: @ /cmappnd /comment append_remark] d5e7891b07 2007-11-18 drh: @ [/submit submit_ticket_change] d5e7891b07 2007-11-18 drh: @ <table cellpadding="5"> d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Title:</td><td> d5e7891b07 2007-11-18 drh: @ <input type="text" name="title" value="[title html] size=60"> d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Status:</td><td> fb358ca492 2007-11-24 drh: @ [/status status_choices 1 combobox] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Type:</td><td> fb358ca492 2007-11-24 drh: @ [/type type_choices 1 combobox] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Severity:</td><td> fb358ca492 2007-11-24 drh: @ [/severity severity_choices 1 combobox] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Priority:</td><td> fb358ca492 2007-11-24 drh: @ [/priority priority_choices 1 combobox] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Resolution:</td><td> fb358ca492 2007-11-24 drh: @ [/resolution resolution_choices 1 combobox] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Subsystem:</td><td> fb358ca492 2007-11-24 drh: @ [/subsystem subsystem_choices 1 combobox] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ [/e hascap enable_output] d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Contact:</td><td> d5e7891b07 2007-11-18 drh: @ <input type="text" name="contact" size="40" value="[contact html]"> d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ [1 enable_output] d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Version Found In:</td><td> d5e7891b07 2007-11-18 drh: @ <input type="text" name="foundin" size="50" value="[foundin html]"> d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ <tr><td colspan="2"> d5e7891b07 2007-11-18 drh: @ [0 /eall 0 get /eall set] d5e7891b07 2007-11-18 drh: @ [/aonlybtn exists not /eall set] d5e7891b07 2007-11-18 drh: @ [/eallbtn exists /eall set] d5e7891b07 2007-11-18 drh: @ [/w hascap eall and /eall set] d5e7891b07 2007-11-18 drh: @ [eall enable_output] d5e7891b07 2007-11-18 drh: @ Description And Comments:<br> d5e7891b07 2007-11-18 drh: @ <textarea name="comment" cols="80" rows="[comment linecount 15 max 10 min]" d5e7891b07 2007-11-18 drh: @ wrap="virtual" class="wikiedit">[comment html]</textarea><br> d5e7891b07 2007-11-18 drh: @ <input type="hidden" name="eall" value="1"> d5e7891b07 2007-11-18 drh: @ <input type="submit" name="aonlybtn" value="Append Remark"> d5e7891b07 2007-11-18 drh: @ [eall not enable_output] d5e7891b07 2007-11-18 drh: @ Append Remark:<br> d5e7891b07 2007-11-18 drh: @ <textarea name="cmappnd" cols="80" rows="15" d5e7891b07 2007-11-18 drh: @ wrap="virtual" class="wikiedit">[cmappnd html]</textarea><br> d5e7891b07 2007-11-18 drh: @ [ok_wrtkt enable_output] d5e7891b07 2007-11-18 drh: @ <input type="submit" name="eallbtn" value="Edit All"> d5e7891b07 2007-11-18 drh: @ [1 enable_output] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ <tr><td align="right"></td><td> d5e7891b07 2007-11-18 drh: @ <input type="submit" name="submit" value="Submit Changes"> d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ </table> d5e7891b07 2007-11-18 drh: @ <!-- end-form inserted automatically --> d5e7891b07 2007-11-18 drh: @ } /tktedit_template set d5e7891b07 2007-11-18 drh: @ d5e7891b07 2007-11-18 drh: @ ########################################################################## d5e7891b07 2007-11-18 drh: @ # The template for the "view ticket" page d5e7891b07 2007-11-18 drh: @ { d5e7891b07 2007-11-18 drh: @ <!-- load database fields automatically loaded into variables --> d5e7891b07 2007-11-18 drh: @ <table cellpadding="5"> d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Title:</td><td> fb358ca492 2007-11-24 drh: @ [title html] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Status:</td><td> fb358ca492 2007-11-24 drh: @ [status html] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Type:</td><td> fb358ca492 2007-11-24 drh: @ [type html] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Severity:</td><td> fb358ca492 2007-11-24 drh: @ [severity html] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Priority:</td><td> fb358ca492 2007-11-24 drh: @ [priority html] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Resolution:</td><td> fb358ca492 2007-11-24 drh: @ [priority html] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Subsystem:</td><td> fb358ca492 2007-11-24 drh: @ [subsystem html] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ [{e} hascap enable_output] d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Contact:</td><td> fb358ca492 2007-11-24 drh: @ [contact html] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ [1 enable_output] d5e7891b07 2007-11-18 drh: @ <tr><td align="right">Version Found In:</td><td> fb358ca492 2007-11-24 drh: @ [foundin html] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ <tr><td colspan="2"> d5e7891b07 2007-11-18 drh: @ Description And Comments:<br> fb358ca492 2007-11-24 drh: @ [comment wiki] d5e7891b07 2007-11-18 drh: @ </td></tr> d5e7891b07 2007-11-18 drh: @ </table> d5e7891b07 2007-11-18 drh: @ } /tktview_template set d5e7891b07 2007-11-18 drh: ;