andbut it didn't worked. _Indent by two or more spaces to get verbatim text_ #cacae5 179 new active 2003 Feb anonymous 2003 Nov drh 3 4 Making log message changes in the underlying ,v file Right now, editing the log message for a checkin from within CVSTrac does not modify the underlying CVS ,v files. To reflect any such changes in the underlying files manually is painful, since there may be multiple files in the checkin, and each could have a different revision number. It would be useful if CVSTrac could (as an option) modify the log message in the underlying ,v files (using the `cvs admin' command, or in some other way). #e8e8bd 299 new active 2004 Mar anonymous 2004 Mar drh 3 2 Add enums for severity and priority The numeric constants (1-5) for severity and priority are a source of confusions for our users - other systems that we have are using different numbering systems. It will help if the "enum" table will be extended to allow the assignment of labels to those levels. There is no need to change the actual coding - the 1-5 level are more than enough. The enums should be edited by the 'setup' user, and should be used for ticket entry and editing. #cacae5 324 new active 2004 May anonymous 2004 May anonymous 3 4 viewcvs/cvsweb compatibility of urls Cvstrac provides a browse capability which is (except for tickets) a strict subset of that provided by viewcvs (most common) and cvsweb (older) products. Many cvs clients assume that viewcvs or cvsweb is available and send GET-style urls to the appropriate web browser. To lessen the need to install viewcvs/cvsweb, an even larger subset of their REST architecture could be implemented. Cvstrac already does much of what cvsweb_etc does: *: directory browsing - cvstrac uses /dir?d=/path . To emulate cvsweb_etc we could use /viewcvs/path *: file download- cvstrac uses /rlog?f=/path.... cvsweb_etc emulation could be /viewcvs/path also. *: file download and versions - cvstrac uses /getfile... cvsweb_etc have either "checkout"/path?rev=.. or ~checkout~/path?rev=.. *: diff-cvstrac uses /filediff?.. cvsweb does /path.diff?r1=..., viewcvs does /path?r1=... Implementation could be simple redirects from a new function hanging off /viewcvs. /path maps to g.zExtra (as in getfile); deciding which to redirect would be based on an examination of /path and a few looks at parameters P(r1), etc. I will look into this. --Derek #e8e8bd 325 new active 2004 May anonymous 2004 May drh 3 2 Make wiki diff configurable The diff output for wiki entries should be configurable - both in terms of diff format (unified format preferred), and the ability to pipe to an external process so pretty output can be displayed. The stuff you already have implemented for the cvs external diff processes would work great for the wiki diff processes. (Note that the external diff config doesn't make clear that it only applies to the cvs part and not the wiki part.) #cfe8bd 503 doc active 2005 Nov anonymous 2005 Nov drh 3 3 A Better "FormattingWikiPages" + 2 wiki bugs I have identified two outright bugs in cvstrac's wiki (probably already documented somewhere else; if not, someone on the cvstrac team should probably ticketize them and assign them to the right people): 1: If the entire link: statement will not fit on one line inside the wiki text editing box, the link command is ignored. 2: * followed by _ then some text then _ followed by * (and vice-versa) to make text both bold and italic don't work, despite everything else being nestable (e.g. *'s around a "quote:" block); the more interior of the two markups is simply interpreted as part of the "word" the exterior markup is affecting. A third issue (a misfeature) is that use of html and /html to insert arbitrary HTML code introduces a bogus, worse-than-useless linebreak, which makes the html wikicommand only usuable on large blocks of stuff, instead of inline in the middle of a sentence of whatever. That said, I was in the process of modifying my local copy of FormattingWikiPages to deal with problem no. 1 above, and just decided to overhaul the entire thing, as a way of giving back. There were several details in the editing hints at the bottom of the page when editing any wiki page, that were not in the FormattingWikiPages documents, at least one typo, inconsistent use of bold to highlight wiki markup commands, unclear phrasing in several places, and a number of other issues. So, here is my take on it, use any of it that you like. I did implement big "WARNING:" bits about bugs and other problems, that of course should come out of this version of the wikitext if you want to use it, and the issues get resolved by then. ;-) PS: If posting the wikitext into this ticket mangles it in some way, drop me a line and I'll e-mail you a copy. The preview I just did seems to indicate that cvstrack will render all the wiki commands even inside a ticket, so you can't see the wikisource. I should probably e-mail it. ***************************************************************************************** **Paragraphs** Use *one or more blank lines* to separate paragraphs. You can arbitrarily wrap text within a paragraph (or not bother to wrap it at all), _except_ that {quote:{link:}} commands cannot line wrap; see below for more details. **Indentation of Code** If the first line of a paragraph begins with a *tab* or with *two or more spaces*, then that whole paragraph is shown verbatim (that is, within
...markup in HTML, including the constant-width font with all spacing and line breaks preserved) The formatting rules below _do not apply_ to verbatim paragraphs (other than {quote:}, as explained next). See "Lists", below, for how to indent without
behavior. **HTML** You can insert arbitrary HTML into a wiki page, by surrounding the code to be inserted with *{quote:""}* and *{quote:""}*. Warning: Because text between {quote:"" and ""} is interpreted as HTML, _even inside verbatim paragraphs_, if you need to use the string "{quote:<}html>" in sample code, you must wiki it as "{quote:{quote:}}", or your sample code will be parsed and rendered instead of displayed as written. This does not affect , nor other HTML or XML markup, just "{quote:}". **Boldface and Italics** Text contained between asterisks is rendered *bold.* If you use two or three asterisks in a row, instead of just one, the bold text is also shown at a larger point size. Text between underscores is rendered as an _italics._ All font style markers must start at the beginning of a word (a contiguous text string) and must finish at the end of a word within the same paragraph. You cannot use both at once. However, you can acheive the desired effect like so:{linebreak} {quote:Italicized bold text}{linebreak} but at the cost of a linebreak inserted before the text marked up this way. **Lists** If a line begins with the characters "*{quote:*:}*" followed by a space or tab, then that line becomes an item in a bullet list. Similarly, if the line begins with "*N:*" (where N is any number including a multi-digit number, or 0) then the line becomes an item in an enumeration list. Enumeration items are automatically renumbered so the values of N do not need to be in ascending order. Lines that begin with "*{quote:_:}*" are indented like a bullet list but do not display the bullet. You can use this to indent without getting monospaced fonts and other behaviors of. Make nested lists by adding colons. For example, to make a second level bullet, begin the line with "*{quote:*::}*". **Hyperlinks** Links to other pages are created automatically whenever the *name of another wiki page* is mentioned in the text. (See WikiPageNames.) If you want to put a CamelCase word in your text but you do not want it to become a hyperlink, enclose the name in "{quote: {quote: ...}}". This auto-linking does not happen inside indented verbatim paragraphs. Full *URLs* in the text, such as links to external sites, also automatically become links, but see below for special handling of image links. Such auto-links are created for any URL beginning with "http:", "https:", "ftp:", or "mailto:", without having to use the {quote:{link:}} functionality documented below. *Note:* If the URL ends with ".jpg", ".jpeg", ".gif", or ".png" then the image that the URL points to is displayed inline on the wiki page. You can also create an inline image using markup like this: "{quote: {image: URL}}". Using the {quote: {image:...}} markup allows the image URL to be relative. This allows an image stored in an attachment to be displayed inline. Text of the form "*#NNN*" where the "NNN" is a valid ticket number becomes a hyperlink to the ticket. Text of the form "*[NNN]*" where "NNN" is a valid check-in or milestone number becomes a hyperlink to that check-in or milestone. These hyperlinks only work if the user has permission to read tickets, check-ins, and/or milestones. To create a hyperlink on arbitrary text, use "*{quote: {link: ...}}*" markup. Any text of the form: "{quote: {link: URL PHRASE}}" displays PHRASE as hyperlink to URL. Example:{linebreak} {quote: {link: http://www.google.com Google}} = {link: http://www.google.com Google}{linebreak} The URL can be an absolute URL beginning with a prefix like "http:", or it can be a relative URL referring to another page within the same CVSTrac server. For example, to create a link to a ticket report, one might write: "{quote: {link: rptview?rn=1 Active Tickets}}". Warning: The {quote:{link:}} mechanism cannot handle long links. If the entire {quote:{link:}} command will not fit onto one line in the wiki editing text box, the link will get mangled. If this happens, use http://tinyurl.com to create a shorter, redirect URL. **Horizontal Lines** A horizontal line (the
markup of HTML) is generated whenever four or more "-" or "=" characters appear on a line by themselves:{linebreak} *{quote: ----}* **Other Markup Rules** The special markup "*{quote: {linebreak}}*" will be rendered as a line break or hard return. The content of "*{quote: {quote: ...}}*" markup is shown verbatim, including wiki commands, e.g.:{linebreak} {quote: {quote: {quote: ...}}} ---- #cfe8bd 509 doc active 2005 Nov cpb 2005 Nov cpb 3 3 need online help/user manual There's a lot of features in CVSTrac that people don't know about at first glance because, well, there's no documentation about actually _using_ it. #cfe8bd 513 new active 2005 Nov anonymous 2005 Nov cpb 3 3 svntrac should support more than one svn repository To be functional comparable with cvstrac, svntrac should support somthing like a parent_svn_dir and include all svn repos in this directory. At the moment we can only use one repo, which is the same like one cvs module. #cfe8bd 591 new active 2006 Mar anonymous 2006 Mar drh 3 3 CVSTrac should support HTML headings HTML supports markup for headings (,
, etc.), which basically anyone uses for structuring of non-trivial documents. CVSTrac does not appear to provide for a way to generate such headings. The most common WIKI syntax for headings I can find is that any paragraph which ends and starts with equal signs. Examples: = Hello = (will create
Hello
) == World = (will createHello
) == World === (same as above) #cacae5 600 new active 2006 Apr chorlya 2006 Apr chorlya 3 4 Wrap common HTML form elements in helper functions Since we're adding more markup to forms (label, fieldset, tabindex and accesskey) its getting really ugly with all that markup in code. We should wrap most of the form elements in helper functions and even wrap those in higher level helpers. Such as =cgi_radio_fieldset()=. #cfe8bd 622 new active 2006 May anonymous 2006 May drh 3 3 proper base URL handling when running behind mod_proxy I run cvstrac on a different server than the one actually fielding the request, using Apache mod_proxy to do reverse proxying. This is a fairly common configuration, specially when you are trying to make cvstrac appear as a logical part of a larger site. When serving up a RSS feed, however, cvstrac embeds absolute URLs to the proxied server's URL rather than the user-visible one. The following patch fixes this in my environment (we use Dan Bernstein's {link: http://cr.yp.to/ucspi-tcp.html UCSPI-TCP} rather than inetd to manage connections). It does make the assumption that mod_proxy's =X-Forwarded-Host:= header (the one sent by the browser) will come after the =Host:= header generated by mod_proxy. It is quite likely cvstrac configured to use CGI will need equivalent patching elsewhere to get the same information from an environment variable.*** cgi.c~ Fri May 26 07:20:28 2006 --- cgi.c Wed May 31 16:09:36 2006 *************** *** 2507,2512 **** --- 2507,2514 ---- putenv(mprintf("HTTP_REFERER=%s", zVal)); }else if( strcmp(zFieldName,"host:")==0 ){ putenv(mprintf("HTTP_HOST=%s", zVal)); + }else if( strcmp(zFieldName,"x-forwarded-host:")==0 ){ + putenv(mprintf("HTTP_HOST=%s", zVal)); }else if( strcmp(zFieldName,"content-type:")==0 ){ putenv(mprintf("CONTENT_TYPE=%s", zVal)); }else if( strcmp(zFieldName,"cookie:")==0 ){#cfe8bd 673 new active 2006 Nov anonymous 2006 Nov cpb 3 3 custom block wiki markups should have additional substitutions I am trying to write a custom block markup that would allow inserting inline graphs produced by graphviz, similar to the excellent {link: http://twiki.org/cgi-bin/view/Plugins/DirectedGraphPlugin dot plugin for Twiki}. The way it would work is the external program would take %b, unescape it and run dot/neato/circo on it (depending on =%m=), attach the resulting PNG to the wiki entry (by accessing the CVStrac table directly) and output an == tag linking to it. The program would use a MD5 checksum to avoid rerunning graphviz if it had already been run on the exact same text (the attachment would be in effect a cache). To do this, the program needs: *: the name of the SQLite database (=%B= ?) (although that could be hardcoded in the custom markup declaration) *: the name of the wiki entry or ticket (e.g. =%W=) so it knows which entry to attach it to. *: optionally a list of attachments to the wiki page (=%A= ?) These two substitutions would make truly powerful block markups easier. In the meantime, I will leverage the fact SQLite does not enforce referential integrity to attach the generated PNG nowhere. #cfe8bd 663 new active 2006 Sep cpb 2006 Dec cpb 3 3 check-in diffs (and other things) should have a maxmimum size So a colleague checked in a large number of data files. The resulting check-in diff weighs in at about 50MB. This isn't the first time I've seen this. Given that a "patchset" option is now available, some way to restrict the size of "normal" pages would be nice. #cfe8bd 575 new active 2006 Feb cpb 2007 Jan cpb 3 3 attachments need to be changed to BLOBs SQLite 3 directly supports BLOBs, so we can eliminate the encoding/decoding magic currently used for attachments. This will require a schema upgrade. #cfe8bd 688 todo active 2007 Apr anonymous 2007 Apr cpb 3 3 Login verification in IE 7 Login verification seams not to work with standard setup of Internet Explorer 7 #cfe8bd 718 todo active 2007 Sep anonymous 2007 Sep anonymous 3 3 Assistance with upgrade from 1.1.5 to 2.0.1 Morning, I am preparing to upgrade a cvstrac instance from 1.1.5 to 2.0.1 and im uncertain what the best path to success is. Ive got a testing instance going so i'm going to go and probably break it a few times but in the meantime I figured it wouldn't hurt to seek your input. Ive read the two docs at: http://www.cvstrac.org/cvstrac/wiki?p=DownloadCvstrac http://www.cvstrac.org/cvstrac/wiki?p=CvstracUpgrading I was attempting to compile the attachdump.c prog and failing miserably. Is this tool actually required? [root@crbt-cvstrac-test cvstrac-2.0.1]# gcc -g -O2 -o attachdump /usr/src/cvstrac-2.0.1/attachdump.c /tmp/ccVWOLh2.o(.text+0x288): In function `main': /usr/src/cvstrac-2.0.1/attachdump.c:127: undefined reference to `sqlite_open' /tmp/ccVWOLh2.o(.text+0x2b6):/usr/src/cvstrac-2.0.1/attachdump.c:133: undefined reference to `sqlite_exec' /tmp/ccVWOLh2.o(.text+0x2d2):/usr/src/cvstrac-2.0.1/attachdump.c:138: undefined reference to `sqlite_close' collect2: ld returned 1 exit status Any suggestions you can offer would be appreciated. #cfe8bd 42 doc active 2002 Jun anonymous 2008 Mar drh 3 3 add description of ticket types/et cetera Please, add to the documentation (or include as part of cvstrac binary) explaintations of ticket types (for example what is "action item"), and other similar things. Also, if you have time, add some general recomendation from your own use of the system, some helpful techniques. thank you. #cfe8bd 772 todo active 2008 Dec anonymous 2008 Dec cpb 3 3 How can we know abt next release Hi,{linebreak} Currently, we are using CVSTrac (ver 2.0) in our organization. How can we know about your next release? Practically, it is highly _impossible_ to check each and every day about new release in the internet. Do you have any other approach, in such a way that we'll get the periodic information about cvstrac new release. #cfe8bd 778 new active 2009 Jan anonymous 2009 Jan 3 3 Timeline report: list items and/or commit by one or more usernames It would be very useful to see the (very useful) timeline report by user or list of users (e.g. in some delimited manner). A box in the bottom section would be good for this. Couple of years back, i patched the code in an old cvstrac version to do this, but it would be useful if this was supported in the main release. thx #cfe8bd 770 new active 2008 Nov anonymous 2009 Feb cpb 3 3 reuse the svn revision number in "chng" table The change number in SVNTrac is separated. It's better to reuse the SVN revision as the change number (=cn=) to avoid the difference between change number and SVN revision number. #cfe8bd 796 new active 2009 Apr anonymous 2009 Jun cpb 3 3 Make the allowed html tags list for wiki markups flexible User defined wiki markups are filtered on output and the tags not in the table of the allowed tags are removed. As I understand this is a security feature, when used for an intranet, this can be a limitation. It would be usefull to set the list of the allowed tags through a setup page in order to adjust to each situation's security requirements. As an example, we would like to create a new markup that generates aof a specific class (to be then used with a common stylesheet applied by an Apache front-end). #cfe8bd 310 new active 2004 Apr anonymous 2009 Nov drh 3 3 Provide more "extra" fields All 5 extra fields have been used up for the ACD and SOFTools programs. Please provide at least 5-10 additional extra fields in the CVSTrac system. #e8e8bd 193 new active 2003 Mar anonymous 2016 Nov anonymous 3 2 Seting MIME types Our cvs repository contains various binary files, inclduing some {quote: PowerPoint} files. When browsing the repository cvstrac uses the MIME type text/plain for .ppt files. It would be nice to be able to configure this some how. #cacae5 99 new active 2002 Aug anonymous 2002 Aug 4 4 Cvstrac home or index page not found when project is omitted Cvstrac displays this error page when no project is included in the request URL: ----- *Not Found* Page not found: / ----- We installed cvstrac as a CGI script in the admin directory of our web server. Cvstrac responds correctly to requests like /admin/cvstrac/project1 and /admin/cvstrac/project2. When passed the request /admin/cvstrac it displays the error page. I recommend that cvstrac respond with either an index of available projects or a static HTML page. #cacae5 158 new active 2002 Dec anonymous 2002 Dec drh 4 4 Make ticket page a Wiki page with generalised meta-formatting If the Wiki supported keywords like {SQL: command }, then it would be possible to create Wiki pages that interface with the database. In this scheme, a ticket page might be written in the Wiki like (I don't know any SQL yet): Ticket {SQL: ITEM.number }: ticket dependencies and estimated duration {SQL: ITEM.description } Remarks: {SQL: ITEM.remarks } And editing the page will bring up edit blocks which feed the data back into the database, like the Create New Ticket page. The same idea could apply to reports, so the generated report page could also have an "edit" tag, which brings up the same information in edit blocks for editing the database contents. This would let me perform tasks like create a report for all entries older than 4 weeks along with their priority levels, click [Edit] and directly modify all their priority levels. This would mean that Ticket pages are just Wiki pages with meta structural information, and all Wiki pages can extract and modify SQL database information. This scheme also handles the scenario in the TODO item: * Text above ==== may only be editted by the document owner #cfe8bd 120 new active 2002 Sep anonymous 2003 Oct drh 4 3 make -j fails make -j fails with something _remotely_ similar to "I am too dumb to make page_index.h" To fix, apply this patch (uudecode and gunzip it) or change the "headers:" target in main.mk to "page_index.h headers:" (works with GNU make at least, not sure about BSD make though) begin 644 main.mk.diff.gz M'XL("'J>>CT"`VUA:6XN;6LN9&EF9@"-4<%2@S`4/).O>` M/;3>.RF$DH%`)PE6_]X\H"4P/<@A[^W.9H?LYJ(H@'9`511$$4@FFD!6A%)Z MWKT5;/D1'L/P$:)5$K\F3\]`0_MY>(7XOG^1KB=I&";Q.HGB04K2%&@4QOQ2MDLS8I13:M.H7K:0UGBRA;@\"]?U;[,A7]M2< MJ:SL%],=[31 \>.;$CGA -],2RFX&<]824TQ="IS>$B_[. ;U+E+C/E*_O#F]F9EINVR2W_D#V*6"K)N`P`` ` end #cacae5 263 event active 2003 Nov anonymous 2003 Nov drh 4 4 CGI problem with Opera browser I'm on a Linux system and use the latest Opera browser (version 7.21). I was trying to edit a page on the SQLite Wiki. When I clicked on "Preview Your Changes" I got the editing page back, not the preview. I tried the same thing on Mozilla. The preview worked fine. I submitted the edit and that worked fine too. Then, back in Opera, I went to the cvstrac wiki to create this ticket and had the same problem. Clicking on "Preview Your Changes" just brought the edit page back. Finally, I went back to Mozilla where I've been able to successfully create this ticket. #c8c8c8 303 new active 2004 Mar anonymous 2004 Mar drh 4 5 Milestone and ticket hotlists. Referencing tickets by id can be cumbersome when composing a new ticket. Typically it requires a separate browser tab to search the database. Since some tickets and milestones are referenced more than others it would make sense to make their ids and summaries available when composing a new ticket. If a new column were added to the milestones and tickets tables called hot, by checkmarking the hot column on the edit page for the ticket they could be added to a 'hotlist'. Whenever a field was presented that accepted a list of dependancies (such as the depends on field and the associated check-ins field on the edit ticket page a combo box next to the field could list all 'hotlist' ticket numbers and check-ins. When the page was submitted the entries in the combo box would be merged with the input in the text field. I think this would be particularly useful when designing with milestones, since all milestone check-ins could be marked "hot" and then when reviewing tickets I could target them for a particular release by selecting the version number from the list. Combined with suggestion #302 this would make using the timeline and milestones to plan the future direction of the project much more effective. #cfe8bd 317 new active 2004 May anonymous 2004 May drh 4 3 provide simple test mechanism for email notification I have throughly tested a CVSTrac mail notification script I downloaded and customized (going so far as to run it with fake input as the webserver user. It seems to work fine, except I am receiving no CVSTrac mails, and logging does not appear to work (next bug). It may be relevant to consider actually integrating email notification into the next release, or at least packaging scripts that do mailing which are known to work under a variety of circumstances. #cacae5 332 new active 2004 Jun anonymous 2004 Jun drh 4 4 Shortcuts to favourite reports in the cvstrac page header First: what a great thing cvstrac is. Just right for what I need. Nice to look at as well. Thanks a lot for it! Here's my (minor) quibble: I have a few report types I often use and I find myself having to go to the reports page and then click the report I like there. This always feels like a little detour... ;-) If each report had a check-box 'show in favourites', those reports (with the box checked) could be displayed in an area just below the blue page header box (or in an extra line inside the box). That would allow quick access to these reports. Saves one page-load every time (the load of the 'reports' page). #cfe8bd 361 new active 2004 Dec anonymous 2005 Aug drh 4 3 localisation Hi,
I am interested in a german localisation of cvstrac. Therefore would do the translationwork!
It would be nice to see plain text sourced out to an file #cacae5 450 new active 2005 Aug cpb 2005 Aug cpb 4 4 append remarks could be smarter I'm starting to see where remark handling could be enhanced to have some concept of "replying" to a particular comment. Nothing as sophisticated as message threading, but maybe just filling in with the original remarks text. Something to help out in building context... This would require some way for the ticket formatter to distinguish between individual remark sections... #cacae5 479 new active 2005 Sep anonymous 2005 Sep drh 4 4 Source code files should have remarks/attachments Source code should allow for remarks and attachments to be associated with a particular file. While this sort of thing could be put into the code itself, it generally is not, since it may bother the writer. And even if it were, only programmers would be able to do so. In general, there are 5 types of things in cvstrac: tickets, remarks, attachments, source code files, and wiki pages. Tickets seem to be first-class objects (#123 anywhere refers to a ticket), and Wiki pages seem to be becoming that as well. Remarks and atachments are associated only with a particular ticket or wiki page. But source code seems completely unrelated to these. Does the viewer highlight Ticket references or WikiNames in the code? It probably should not because it may make a mistake. At the same time, associating external documentation with a source file seems valuable. (One could conceive of this becoming a full-featured Literate Programming methodology). I would think that the implementation of this would be to have options on the rlog view such as: the number of attachments, number of remarks, number of tickets against a particular file, a link to the annotate/blame view (Ticket #183), #cacae5 488 new active 2005 Sep anonymous 2005 Sep cpb 4 4 Enhancing derivedfrom (and providing backward compatibility) Currently, we used derivedfrom to record external references as to where where a ticket was derived from (e.g. change request - CRxxx etc) as well as references to other tickets (1.1.4 didn't really state otherwise) . This functionality has now changed in 1.2 . Additionally, derivedfrom can currently only reference one other ticket. I am requesting comments on the suitability of the following changes for inclusion in CVStrac (I'll do the work - however, I don't want to have to maintain my own version and will just use an 'extra' field if the following is not acceptable). *: Add additional xref table for derivedfrom tickets references. *: Preserve derivedfrom field as entered in webform for further display. *: Scan derived from field for any number or #number which hasn't been prefixed or sufixed with letters. Store these references in the new xref table. *: Use xref table to look up derived tickets for use in the ticket view #cacae5 549 new active 2006 Jan anonymous 2006 Jan drh 4 4 Wish: trigger on Wiki changes (e.g. for mail) My team would really appreciate a mail notification on wiki changes. Also, the permission system is great; but still, every Wiki webmaster needs to take measures against illegal content and vandalism. I understand that you would not hard-code mail in here; but could we duplicate or reuse the mechanism that is used for ticket changes? -Karsten #cacae5 572 new active 2006 Feb chorlya 2006 Feb chorlya 4 4 Few usability improvments to HTML markup It would be nice to tidy up our forms a bit. I'm thinking of adding taborder to few forms and adding =