Artifact 870c66c21eeaa6be5f241a2feeba1422883c6721
File
src/sample-config1.txt
part of check-in
[8c96ed62f5]
- Continuing work on the infrastructure for tickets.
by
drh on
2007-11-17 17:48:46.
# This is a sample "ticket configuration" file for fossil.
#
# There is considerable flexibility in how tickets are defined
# in fossil. Each repository can define its own ticket setup
# differently. Each repository has an instance of a file, like
# this one that defines how that repository deals with tickets.
#
# This file is in the form of a script in an exceedingly
# minimalist scripting language called "subscript". Here are
# the rules:
#
# SYNTAX
#
# * The script consists of a sequence of whitespace
# separated tokens. Whitespace is ignored, except
# as its role as a token separator.
#
# * Lines that begin with '#' are considered to be whitespace.
#
# * Text within matching {...} is consider to be a single "string"
# token, even if the text spans multiple lines and includes
# embedded whitespace. The outermost {...} are not part of
# the text of the token.
#
# * A token that begins with "/" is a string token.
#
# * A token that looks like a number is a string token.
#
# * Tokens that do not fall under the previous three rules
# are "verb" tokens.
#
# PROCESSING:
#
# * When a script is processed, the engine reads tokens
# one by one.
#
# * String tokens are pushed onto the stack.
#
# * Verb tokens which correspond to the names of variables
# cause the corresponding variable to be pushed onto the
# stack.
#
# * Verb tokens which correspond to procedures cause the
# procedures to run. The procedures might push or pull
# values from the stack.
#
# There are just a handful of verbs. For the purposes of this
# configuration script, there is only a single verb: "set". The
# "set" verb pops two arguments from the stack. The topmost is
# the name of a variable. The second element is the value. The
# "set" verb sets the value of the named variable.
#
# VALUE NAME set
#
# This configuration file just sets the values of various variables.
# Some of the variables have special meanings. The content of some
# of the variables are additional subscript scripts.
#
############################################################################
#
# Every ticket configuration file should have a title. When you
# come up with a new ticket configuration, please change the title
# to something descriptive.
#
{Default Ticket Configuration} /ticket_config_title set
############################################################################
# Every ticket configuration *must* define a set of columns for the
# "ticket" table of the database. These column names will also be
# used as CGI parameter names, so to avoid problems it is best that
# the names be all lower-case alphabetic characters. The names must
# be unique and must not begin with "tkt_".
#
{
type
status
subsystem
priority
severity
contact
title
comment
} /ticket_fields
#############################################################################
# You can define additional variables here. These variables will be
# accessible to the page templates when they run.
#
{Code Build_Problem Documentation Feature_Request Incident} /type_choices set
{High Medium Low} /priority_choices set
{Critical Severe Important Minor Cosmetic} /severity_choices set
{
Open
Fixed
Rejected
Unable_To_Reproduce
Works_As_Designed
External_Bug
Not_A_Bug
Duplicate
Overcome_By_Events
Drive_By_Patch
} /resolution_choices set
{
Open
Verified
In_Process
Deferred
Fixed
Tested
Closed
} /status_choices set
############################################################################
# The "tktnew_template" variable is set to text which is a template for
# the HTML of the "New Ticket" page. Within this template, text contained
# within [...] is subscript. That subscript runs when the page is
# rendered.
#
{
<!-- load database field names not found in CGI with an empty string -->
<!-- start a form -->
[{Open} /status set /submit submit_new_ticket]
<table cellpadding="5">
<tr>
<td cellpadding="2">
Enter a one-line summary of the problem:<br>
<input type="text" name="title" size="60" value="[title html]">
</td>
</tr>
<tr>
<td align="right">Type:
[/type typechoices 20 combobox]
</td>
<td>What type of ticket is this?</td>
</tr>
<tr>
<td align="right">Version:
<input type="text" name="foundin" size="20" value="[foundin html]">
</td>
<td>In what version or build number do you observer the problem?</td>
</tr>
<tr>
<td align="right">Severity:
[/severity {High Medium Low} 8 combobox]
</td>
<td>How debilitating is the problem? How badly does the problem
effect the operation of the product?</td>
</tr>
<tr>
<td colspan="2">
Enter a detailed description of the problem.
For code defects, be sure to provide details on exactly how
the problem can be reproduced. Provide as much detail as
possible.
<br>
<textarea name="comment" cols="80" rows="[comment linecount 50 max 10 min]"
wrap="virtual" class="wikiedit">[comment html]</textarea><br>
<br>
<input type="submit" name="preview" value="Preview">
</tr>
[0 /preview get enable_output]
<tr><td colspan="2">
Description Preview:<br><hr>
[/comment html]
<hr>
</td></tr>
[1 enable_output]
<tr>
<td align="right">
<input type="submit" name="submit" value="Submit">
</td>
<td>After filling in the information above, press this button to create
the new ticket</td>
</tr>
</table>
<!-- end of form -->
} /tktnew_template set
######################################################################
# The template for the "edit ticket" page
{
<!-- database field names not found as CGI parameters are loaded
from the database automatically -->
<!-- start a form -->
[{<hr><i>%USER% added on %DATE%:</i><br>}
/cmappnd /comment append_remark]
[/submit submit_ticket_change]
<table cellpadding="5">
<tr><td align="right">Title:</td><td>
<input type="text" name="title" value="[title html] size=60">
</td></tr>
<tr><td align="right">Status:</td><td>
[/status status_choices 20 combobox]
</td></tr>
<tr><td align="right">Type:</td><td>
[/type type_choices 20 combobox]
</td></tr>
<tr><td align="right">Severity:</td><td>
[/severity {High Medium Low} 10 combobox]
</td></tr>
<tr><td align="right">Priority:</td><td>
[/priority {High Medium Low} 10 combobox]
</td></tr>
<tr><td align="right">Resolution:</td><td>
[/resolution resolution_choices 20 combobox]
</td></tr>
<tr><td align="right">Subsystem:</td><td>
[/subsystem subsystem_choices 30 combobox]
</td></tr>
[/e hascap enable_output]
<tr><td align="right">Contact:</td><td>
<input type="text" name="contact" size="40" value="[contact html]">
</td></tr>
[1 enable_output]
<tr><td align="right">Version Found In:</td><td>
<input type="text" name="foundin" size="50" value="[foundin html]">
</td></tr>
<tr><td colspan="2">
[0 /eall 0 get /eall set]
[/aonlybtn exists not /eall set]
[/eallbtn exists /eall set]
[/w hascap eall and /eall set]
[eall enable_output]
Description And Comments:<br>
<textarea name="comment" cols="80" rows="[comment linecount 15 max 10 min]"
wrap="virtual" class="wikiedit">[comment html]</textarea><br>
<input type="hidden" name="eall" value="1">
<input type="submit" name="aonlybtn" value="Append Remark">
[eall not enable_output]
Append Remark:<br>
<textarea name="cmappnd" cols="80" rows="15"
wrap="virtual" class="wikiedit">[cmappnd html]</textarea><br>
[ok_wrtkt enable_output]
<input type="submit" name="eallbtn" value="Edit All">
[1 enable_output]
</td></tr>
<tr><td align="right"></td><td>
<input type="submit" name="submit" value="Submit Changes">
</td></tr>
</table>
<!-- end-form inserted automatically -->
} /tktedit_template set
######################################################################
# The template for the "view ticket" page
{
<!-- load database fields automatically loaded into variables -->
<table cellpadding="5">
<tr><td align="right">Title:</td><td>
[/title html]
</td></tr>
<tr><td align="right">Status:</td><td>
[/status html]
</td></tr>
<tr><td align="right">Type:</td><td>
[/type html]
</td></tr>
<tr><td align="right">Severity:</td><td>
[/severity html]
</td></tr>
<tr><td align="right">Priority:</td><td>
[/priority html]
</td></tr>
<tr><td align="right">Resolution:</td><td>
[/priority html]
</td></tr>
<tr><td align="right">Subsystem:</td><td>
[/subsystem html]
</td></tr>
[{e} hascap enable_output]
<tr><td align="right">Contact:</td><td>
[/contact html]
</td></tr>
[1 enable_output]
<tr><td align="right">Version Found In:</td><td>
[/foundin html]
</td></tr>
<tr><td colspan="2">
Description And Comments:<br>
[/comment html]
</td></tr>
</table>
} /tktview_template set