Notes About Branch deltify-tkt-blobs

The purpose of the deltify-tkt-blobs branch is to improve handling of tickets with long text fields. This topic was initially brought up in the forum post "RFC: Better machinery for tickets with elaborated description".

The primary motivating example is a TICKET table with description column, accompanied by customized /tktnew, /tktview and /tktedit pages, that let a user to make arbitrary edits to ticket's description. A TICKET table may have several such columns, but for brevity any of such columns will be denoted as Description in the following.

For such ticket schema this branch brings-in three improvements:

  1. Deltification of artifacts that hold edits of a ticket's Description, which enables more compact storage (and thus reduces disk usage).
    See check-ins 0f4a0fe82a, c3e7ed3089

  2. Improvement to the /tkthistory page: when appropriate, changes to the Description fields are rendered as unified diffs.
    See check-ins b75a9d0fa3, b2049d643b

  3. Resolving an issue with redundant back-references originating from outdated/superseded values within TICKET table. See check-ins 668e45baff, 4d5ded5eea and forum thread a6ba08e926.

How to use it

Items 1 and 2 from the above are "opt-in" features. These are activated only when a TICKET table contains a phony INTEGER column "baseline for $name", where $name stands for the name of the actual column provisioned for the aforementioned frequently changing text (e.g. "description"). This phony column "baseline for $name" is used for internal bookkeeping and must not be used by the user.

Also in this branch

Check-in 4bb91f38a8 adds id attributes to the list items on the /tkthistory pages, and check-in 7afd4db3d3 adds highlighting to the list item that is being navigated to.

Check-in 2d0b2bda87dd fixes a missing </li>, and check-in 0dd5451d7f53 removes redundant PRE tags on the /wdiff pages.