# config

name: css
value:
  /* General settings for the entire page */
  body {
    margin: 0ex 1ex;
    padding: 0px;
    background-color: white;
    font-family: sans-serif;
  }

  /* The project logo in the upper left-hand corner of each page */
  div.logo {
    display: table-cell;
    text-align: right;
    vertical-align: bottom;
    font-weight: bold;
    color: #044a64;
  }

  /* The page title centered at the top of each page */
  div.title {
    display: table-cell;
    font-size: 2em;
    font-weight: bold;
    text-align: center;
    color: #044a64;
    vertical-align: bottom;
    width: 100%;
  }

  /* The login status message in the top right-hand corner */
  div.status {
    display: table-cell;
    text-align: right;
    vertical-align: bottom;
    color: #044a64;
    font-size: 0.8em;
    font-weight: bold;
    min-width: 219px;
  }
  div.status a { color: #044a64; }

  /* The header across the top of the page */
  div.header {
    display: table;
    width: 100%;
  }

  /* The main menu bar that appears at the top of the page beneath
  ** the header */
  div.mainmenu {
    padding: 5px 10px 5px 10px;
    font-size: 0.9em;
    font-weight: bold;
    text-align: center;
    letter-spacing: 1px;
    background-color: #044a64;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    color: white;
  }

  /* The submenu bar that *sometimes* appears below the main menu */
  div.submenu, div.sectionmenu {
    padding: 3px 10px 3px 0px;
    font-size: 0.9em;
    text-align: center;
    background-color: #5492a2;
    color: white;
  }
  div.mainmenu a, div.mainmenu a:visited, div.submenu a, div.submenu a:visited,
  div.sectionmenu>a.button:link, div.sectionmenu>a.button:visited {
    padding: 3px 10px 3px 10px;
    color: white;
    text-decoration: none;
  }
  div.mainmenu a:hover {
    color: #044a64;
    background-color: white;
  }
  div.submenu a:hover, div.sectionmenu>a.button:hover {
    color: #5492a2;
    background-color: white;
  }

  /* All page content from the bottom of the menu or submenu down to
  ** the footer */
  div.content {
    padding: 0ex 1ex 1ex 1ex;
    border: solid #aaa;
    border-width: 1px;
  }
  /* Make the links in the footer less ugly... */
  div.content a { color: #044a64; }
  div.content a:link { color: #044a64;}
  div.content a:visited { color: #734559; }


  /* Some pages have section dividers */
  div.section {
    margin-bottom: 0px;
    margin-top: 1em;
    padding: 1px 1px 1px 1px;
    font-size: 1.2em;
    font-weight: bold;
    background-color: #044a64;
    color: white;
  }

  /* The "Date" that occurs on the left hand side of timelines */
  div.divider {
    background: #b4cacc;
    border: 2px #044a64 solid;
    font-size: 1em; font-weight: normal;
    padding: .25em;
    margin: .2em 0 .2em 0;
    float: left;
    clear: left;
    white-space: nowrap;
  }

  /* The footer at the very bottom of the page */
  div.footer {
    font-size: 0.8em;
    padding: 5px 10px 5px 10px;
    text-align: right;
    background-color: #044a64;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    color: white;
  }

  /* Make the links in the footer less ugly... */
  div.footer a { color: white; }
  div.footer a:link { color: white; }
  div.footer a:visited { color: white; }
  div.footer a:hover { background-color: white; color: #044a64; }

  /* <verbatim> blocks */
  pre.verbatim {
     background-color: #f5f5f5;
     padding: 0.5em;
    white-space: pre-wrap;
  }

  /* The label/value pairs on (for example) the ci page */
  table.label-value th {
    vertical-align: top;
    text-align: right;
    padding: 0.2ex 2ex;
  }

  /* For marking important UI elements which shouldn't be
     lightly dismissed. I mainly use it to mark "not yet
     implemented" parts of a page. Whether or not to have
     a 'border' attribute set is arguable. */
  .achtung {
    color: #ff0000;
    background: #ffff00;
    border: 1px solid #ff0000;
  }

  div.miniform {
      font-size: smaller;
      margin: 8px;
  }
  span.diffchng {
      background-color: #d0d0ff;
  }
  span.diffadd {
      background-color: #c0ffc0;
  }
  span.diffrm {
      background-color: #ffc0c0;
  }
  div.sbsdiff {
    font-family: monospace;
    font-size: x-small;
    white-space: pre;
  }


name: header
value:
  <html>
  <head>
  <base href="$baseurl/$current_page" />
  <title>$<project_name>: $<title></title>
  <link rel="alternate" type="application/rss+xml" title="RSS Feed"
        href="$baseurl/timeline.rss">
  <link rel="stylesheet" href="$stylesheet_url" type="text/css"
        media="screen">
  </head>
  <body>
  <div class="header">
    <div class="logo">
      <img src="$baseurl/logo" alt="logo" border="0">
    </div>
    <div class="title"><small>$<project_name></small><br>$<title></div>
    <div class="status"><nobr><th1>
       if {[info exists login]} {
         puts "Logged in as $login"
       } else {
         puts "Not logged in"
       }
    </th1></nobr><small><div id="clock"></div></small></div>
  </div>
  <div class="mainmenu"><th1>
  html "<a href='/'>Home</a>"
  if {[hascap h]} {
    html "<a href='$baseurl/tree?ci=trunk'>Files</a>"
  }
  if {[hascap o]} {
    html "<a href='$baseurl/timeline?y=ci'>Timeline</a>"
    html "<a href='$baseurl/brlist'>Branches</a>"
    html "<a href='$baseurl/taglist'>Tags</a>"
  }
  if {[hascap r]} {
    html "<a href='$baseurl/ticket'>Tickets</a>"
  }
  if {[hascap j]} {
    html "<a href='$baseurl/wiki'>Wiki</a>"
  }
  if {[hascap s]} {
    html "<a href='$baseurl/setup'>Admin</a>"
  } elseif {[hascap a]} {
    html "<a href='$baseurl/setup_ulist'>Users</a>"
  }
  if {[info exists login]} {
    html "<a href='$baseurl/login'>Logout</a>"
  } else {
    html "<a href='$secureurl/login'>Login</a>"
  }
  if {![hascap a]} {
    html "<a href='$baseurl/sitemap'>More...</a>"
  }
  </th1></div>


name: footer
value:
  <div class="footer">
  This page was generated in about 
  <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s by
  Fossil version $release_version $manifest_version $manifest_date
  </div>
  <script>
  function updateClock(){
    var e = document.getElementById("clock");
    if(e){
      var d = new Date();
      e.innerHTML=d.toISOString().replace("T"," ").replace(/:\d\d\.\d+Z/,"");
      setTimeout("updateClock();",(60-d.getSeconds())*1000);
    }
  }
  updateClock();
  </script>
  </body></html>


name: details
value:
  timeline-arrowheads:        1
  timeline-circle-nodes:      1
  timeline-color-graph-lines: 1
  white-foreground:           0


name: ticket-common
value:
  set type_choices {
     Code_Defect
     Build_Problem
     Documentation
     Feature_Request
     Incident
     Performance_Issue
     Portability
     Compiler_Warning
     Support_Request
  }
  set priority_choices {
    Immediate
    High
    Medium
    Low
    Zero
  }
  set severity_choices {
    Critical
    Severe
    Important
    Minor
    Cosmetic
  }
  set resolution_choices {
    Open
    Fixed
    Rejected
    Workaround
    Unable_To_Reproduce
    Works_As_Designed
    External_Bug
    Not_A_Bug
    Duplicate
    Overcome_By_Events
    Drive_By_Patch
    Misconfiguration
    Wont_Fix
  }
  set status_choices {
    Open
    Verified
    Review
    Deferred
    Fixed
    Tested
    Closed
  }
  set subsystem_choices {
    Unknown
    Parser
    Code_Generator
    Virtual_Machine
    B-Tree
    Pager
    VFS
    Utilities
    Extensions
    Shell
    Makefile
    Documentation
    Other
  }
  set detected_choices {
    Application_Fault
    Code_Review
    Static_Code_Analysis
    Requirement_Testing
    Structural_Testing
    Stress_Testing
    Other
    Not_Applicable
  }


name: ticket-newpage
value:
  <th1>
    if {![info exists mutype]} {set mutype {Wiki}}
    if {[info exists submit]} {
       set status Open
       if {$mutype eq "HTML"} {
         set mimetype "text/html"
       } elseif {$mutype eq "Wiki"} {
         set mimetype "text/x-fossil-wiki"
       } elseif {$mutype eq {[links only]}} {
         set mimetype "text/x-fossil-plain"
       } else {
         set mimetype "text/plain"
       }
       submit_ticket
    }
  </th1>
  <h1 style="text-align: center;">Enter A New Ticket</h1>
  <p><big><font color="red"><b>Note:</b> Discuss your concern on the
  <a href="http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users">
  SQLite users mailing list</a> before writing a ticket.
  Tickets for issues that have not been previously discussed on
  the mailing list will usually be deleted without comment.</p></font></big>
  <table cellpadding="5">
  <tr>
  <td colspan="3">
  Enter a one-line summary of the ticket:<br />
  <input type="text" name="title" size="60" value="$<title>" />
  </td>
  </tr>

  <tr>
  <td align="right">Type:</td>
  <td align="left"><th1>combobox type $type_choices 1</th1></td>
  <td align="left">What type of ticket is this?</td>
  </tr>

  <tr>
  <td align="right">Version:</td>
  <td align="left">
  <input type="text" name="foundin" size="20" value="$<foundin>" />
  </td>
  <td align="left">In what version or build number do you observe
  the problem?</td>
  </tr>

  <tr>
  <td align="right">Severity:</td>
  <td align="left"><th1>combobox severity $severity_choices 1</th1></td>
  <td align="left">How debilitating is the problem?  How badly does the problem
  affect the operation of the product?</td>
  </tr>

  <tr>
  <td align="right">EMail:</td>
  <td align="left">
  <input type="text" name="private_contact" value="$<private_contact>"
   size="30" />
  </td>
  <td align="left"><u>Not publicly visible</u>
  Used by developers to contact you with questions.</td>
  </tr>

  <tr>
  <td colspan="3">
  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.  Format:
  <th1>combobox mutype {Wiki HTML {Plain Text} {[links only]}} 1</th1>
  <br />
  <th1>set nline [linecount $comment 50 10]</th1>
  <textarea name="icomment" cols="80" rows="$nline"
   wrap="virtual" class="wikiedit">$<icomment></textarea><br />
  </tr>

  <th1>enable_output [info exists preview]</th1>
  <tr><td colspan="3">
  Description Preview:<br /><hr />
  <th1>
  if {$mutype eq "Wiki"} {
    wiki $icomment
  } elseif {$mutype eq "Plain Text"} {
    set r [randhex]
    wiki "<verbatim-$r>[string trimright $icomment]\n</verbatim-$r>"
  } elseif {$mutype eq {[links only]}} {
    set r [randhex]
    wiki "<verbatim-$r links>[string trimright $icomment]\n</verbatim-$r>"
  } else {
    wiki "<nowiki>$icomment\n</nowiki>"
  }
  </th1>
  <hr /></td></tr>
  <th1>enable_output 1</th1>

  <tr>
  <td><td align="left">
  <input type="submit" name="preview" value="Preview" />
  </td>
  <td align="left">See how the description will appear after formatting.</td>
  </tr>

  <th1>enable_output [info exists preview]</th1>
  <tr>
  <td><td align="left">
  <input type="submit" name="submit" value="Submit" />
  </td>
  <td align="left">After filling in the information above, press this
  button to create the new ticket</td>
  </tr>
  <th1>enable_output 1</th1>

  <tr>
  <td><td align="left">
  <input type="submit" name="cancel" value="Cancel" />
  </td>
  <td>Abandon and forget this ticket</td>
  </tr>
  </table>


name: ticket-editpage
value:
  <th1>
    if {![info exists mutype]} {set mutype {Wiki}}
    if {![info exists icomment]} {set icomment {}}
    if {![info exists username]} {set username $login}
    if {[info exists submit]} {
      if {$mutype eq "Wiki"} {
        set mimetype text/x-fossil-wiki
      } elseif {$mutype eq "HTML"} {
        set mimetype text/html
      } elseif {$mutype eq {[links only]}} {
        set mimetype text/x-fossil-plain
      } else {
        set mimetype text/plain
      }
      submit_ticket
      set preview 1
    }
  </th1>
  <table cellpadding="5">
  <tr><td class="tktDspLabel">Title:</td><td>
  <input type="text" name="title" value="$<title>" size="60" />
  </td></tr>

  <tr><td class="tktDspLabel">Status:</td><td>
  <th1>combobox status $status_choices 1</th1>
  </td></tr>

  <tr><td class="tktDspLabel">Type:</td><td>
  <th1>combobox type $type_choices 1</th1>
  </td></tr>

  <tr><td class="tktDspLabel">Severity:</td><td>
  <th1>combobox severity $severity_choices 1</th1>
  </td></tr>

  <tr><td class="tktDspLabel">Priority:</td><td>
  <th1>combobox priority $priority_choices 1</th1>
  </td></tr>

  <tr><td class="tktDspLabel">Resolution:</td><td>
  <th1>combobox resolution $resolution_choices 1</th1>
  </td></tr>

  <tr><td class="tktDspLabel">Subsystem:</td><td>
  <th1>combobox subsystem $subsystem_choices 1</th1>
  </td></tr>

  <th1>enable_output [hascap e]</th1>
    <tr><td class="tktDspLabel">Contact:</td><td>
    <input type="text" name="private_contact" size="40"
     value="$<private_contact>" />
    </td></tr>
  <th1>enable_output 1</th1>

  <tr><td class="tktDspLabel">Version&nbsp;Found&nbsp;In:</td><td>
  <input type="text" name="foundin" size="50" value="$<foundin>" />
  </td></tr>

  <tr><td colspan="2">
    Append Remark with format
    <th1>combobox mutype {Wiki HTML {Plain Text} {[links only]}} 1</th1>
    from
    <input type="text" name="username" value="$<username>" size="30" />:<br />
    <textarea name="icomment" cols="80" rows="15"
     wrap="virtual" class="wikiedit">$<icomment></textarea>
  </td></tr>

  <th1>enable_output [info exists preview]</th1>
  <tr><td colspan="2">
  Description Preview:<br><hr>
  <th1>
  if {$mutype eq "Wiki"} {
    wiki $icomment
  } elseif {$mutype eq "Plain Text"} {
    set r [randhex]
    wiki "<verbatim-$r>\n[string trimright $icomment]\n</verbatim-$r>"
  } elseif {$mutype eq {[links only]}} {
    set r [randhex]
    wiki "<verbatim-$r links>\n[string trimright $icomment]</verbatim-$r>"
  } else {
    wiki "<nowiki>\n[string trimright $icomment]\n</nowiki>"
  }
  </th1>
  <hr>
  </td></tr>
  <th1>enable_output 1</th1>

  <tr>
  <td align="right">
  <input type="submit" name="preview" value="Preview" />
  </td>
  <td align="left">See how the description will appear after formatting.</td>
  </tr>

  <tr>
  <td align="right">
  <input type="submit" name="submit" value="Submit" />
  </td>
  <td align="left">Apply the changes shown above</td>
  </tr>

  <tr>
  <td align="right">
  <input type="submit" name="cancel" value="Cancel" />
  </td>
  <td>Abandon this edit</td>
  </tr>

  </table>


# reportfmt

title: All Tickets
cols:
  #ffffff Key:
  #f2dcdc Active
  #e8e8e8 Review
  #cfe8bd Fixed
  #bde5d6 Tested
  #cacae5 Deferred
  #c8c8c8 Closed

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified') THEN '#f2dcdc'
         WHEN status='Review' THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    datetime(tkt_mtime) AS 'mtime',
    type,
    status,
    subsystem,
    title
  FROM ticket
  ORDER BY mtime DESC


owner: drh
title: Open tickets
cols:
  #ffffff Key:
  #f2dcdc Active
  #e8e8e8 Review
  #cfe8bd Fixed
  #bde5d6 Tested
  #cacae5 Deferred
  #c8c8c8 Closed

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified') THEN '#f2dcdc'
         WHEN status='Review' THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    date(tkt_mtime) AS 'mtime',
    type,
    subsystem,
    title
  FROM ticket
  WHERE status='Open' AND type!='Feature_Request'
  ORDER BY tkt_mtime DESC


owner: drh
title: Open Feature Requests
cols:
  #ffffff Key:
  #f2dcdc Active
  #e8e8e8 Review
  #cfe8bd Fixed
  #bde5d6 Tested
  #cacae5 Deferred
  #c8c8c8 Closed

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified') THEN '#f2dcdc'
         WHEN status='Review' THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    date(tkt_mtime) AS 'mtime',
    subsystem,
    title
  FROM ticket
  WHERE status='Open' AND type='Feature_Request'
  ORDER BY tkt_mtime DESC


owner: dan
title: Open fts3 tickets.
cols:
[cell repeats an earlier one in this file: 109 characters]

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified') THEN '#f2dcdc'
         WHEN status='Review' THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    datetime(tkt_mtime) AS 'mtime',
    type,
    status,
    subsystem,
    title
  FROM ticket

  WHERE 
  status = 'Open' AND (title LIKE '%fts3%' OR comment LIKE '%fts3%')


owner: shane
title: Open shell tickets.
cols:
[cell repeats an earlier one in this file: 109 characters]

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified') THEN '#f2dcdc'
         WHEN status='Review' THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    datetime(tkt_mtime) AS 'mtime',
    type,
    status,
    subsystem,
    title
  FROM ticket

  WHERE 
  status = 'Open' AND (subsystem = 'Shell' OR title LIKE '%shell%' OR comment LIKE '%shell%')


owner: shane
title: Fixed tickets
cols:
[cell repeats an earlier one in this file: 109 characters]

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified') THEN '#f2dcdc'
         WHEN status='Review' THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    date(tkt_mtime) AS 'mtime',
    type,
    subsystem,
    title
  FROM ticket
  WHERE status='Fixed' 
  ORDER BY tkt_mtime DESC


owner: drh
title: Core Crash Bugs
cols:
[cell repeats an earlier one in this file: 109 characters]

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified') THEN '#f2dcdc'
         WHEN status='Review' THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    date(tkt_mtime) AS 'mtime',
    type,
    status,
    subsystem,
    title
  FROM ticket
  WHERE type='Code_Defect'
  AND subsystem!='Shell' AND subsystem!='Extensions'
  AND resolution NOT IN ('Not_A_Bug','External_Bug','Works_As_Designed','Duplicate')
  ORDER BY tkt_mtime DESC


owner: drh
title: Recently changed tickets
cols:
[cell repeats an earlier one in this file: 109 characters]

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified') THEN '#f2dcdc'
         WHEN status='Review' THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    datetime(tkt_mtime) AS 'mtime',
    type,
    status,
    subsystem,
    title,
    comment AS '_comments'
  FROM ticket
  WHERE tkt_mtime>(SELECT julianday('now','-6 months'))
  ORDER BY tkt_mtime DESC


