| | @@ -30,16 +30,16 @@ |
| 30 | 30 | <a href="fileformat.wiki#tktchng">Ticket Change Artifacts</a>. |
| 31 | 31 | One or more ticket change artifacts are associated with each |
| 32 | 32 | ticket. A ticket is created by a ticket change artifact. |
| 33 | 33 | Each subsequent modification of the ticket is a separate artifact. |
| 34 | 34 | |
| 35 | | -The "push", "pull", and "sync" algorithms shared ticket change artifacts |
| 35 | +The "push", "pull", and "sync" algorithms share ticket change artifacts |
| 36 | 36 | between repositories in the same way as every other artifact. In fact, |
| 37 | 37 | the sync algorithm has no knowledge of the meaning of the artifacts it |
| 38 | 38 | is syncing. As far as the sync algorithm is concerned, all artifacts are |
| 39 | | -alike. After the sync has occurs, the individual repositories must try |
| 40 | | -to make sense of the meaning of the various artifacts for themselves. |
| 39 | +alike. After the sync has occurs, the individual repositories must |
| 40 | +make sense of the meaning of the various artifacts for themselves. |
| 41 | 41 | |
| 42 | 42 | <h2>Interpretation Of Ticket Change Artifacts</h2> |
| 43 | 43 | |
| 44 | 44 | Every ticket change artifact contains (among other things) |
| 45 | 45 | |
| | @@ -53,16 +53,16 @@ |
| 53 | 53 | ticket change artifact is encountered, values are either replaced |
| 54 | 54 | or appended, according to a flag on the name/value pair. The current |
| 55 | 55 | values for the fields of a ticket are the values that remain at the |
| 56 | 56 | end of the replay process. |
| 57 | 57 | |
| 58 | | -To create a new ticket, on has merely to insert a ticket change |
| 59 | | -artifact with a randomly generated ticket UUID. The ticket UUID |
| 60 | | -is a random 40-character lower-case hexadecimal number. New |
| 61 | | -ticket UUIDs should be chosen using good randomness so that two |
| 62 | | -ore more users do not accidently cause a conflict by generating |
| 63 | | -the same UUID. The name/value pairs on the initial ticket change |
| 58 | +To create a new ticket, one inserts a ticket change |
| 59 | +artifact with a new UUID. The ticket UUID |
| 60 | +is a random 40-character lower-case hexadecimal number. The "tktnew" |
| 61 | +page in the fossil web interface creates new ticket UUIDs |
| 62 | +using a good source of randomness to insure uniqueness. |
| 63 | +The name/value pairs on the initial ticket change |
| 64 | 64 | artifact are the initial values for the fields in the ticket. |
| 65 | 65 | |
| 66 | 66 | Amending a ticket means simply creating a new artifact with the |
| 67 | 67 | same ticket UUID and with name/value pairs for those fields which |
| 68 | 68 | are changing. Fields of the ticket which are not being modified |
| | @@ -98,15 +98,24 @@ |
| 98 | 98 | Each repository defines its own TICKET table in its database. There is |
| 99 | 99 | one row in the TICKET table for each unique ticket UUID. The |
| 100 | 100 | names of columns in the TICKET table correspond to the names in |
| 101 | 101 | the name/value pairs of ticket change artifacts. When running the replay |
| 102 | 102 | algorithm, if a name/value pair is seen which has no corresponding column |
| 103 | | -in the TICKET table, then that name/value pair is ignored. |
| 103 | +in the TICKET table, then that name/value pair is ignored. Columns can |
| 104 | +be added or removed from the TICKET table at any time. Whenever the |
| 105 | +TICKET table is modified, the replay algorithm automatically reruns |
| 106 | +to repopulate the table using the new column names. Note that the TICKET |
| 107 | +table schema and content is part of the local state of a respository |
| 108 | +and is not shared with other repositories during a sync, push, or pull. |
| 104 | 109 | |
| 105 | 110 | Each repository also defines scripts used to generate web pages for |
| 106 | 111 | creating new tickets, viewing existing tickets, and modifying an |
| 107 | 112 | existing ticket. These scripts consist of HTML with an embedded |
| 108 | | -scripts written an a TCL-like language called "TH1". Each fossil |
| 109 | | -repository is create with default scripts. There is currently no |
| 113 | +scripts written an a TCL-like language called "TH1". Every new fossil |
| 114 | +repository is created with default scripts. There is currently no |
| 110 | 115 | documentation on the TH1 langauage. Administrators wishing to |
| 111 | 116 | customize their ticket entry, viewing, and editing screens should |
| 112 | | -modify the default scripts to suit their needs. |
| 117 | +modify the default scripts to suit their needs. These screen generator |
| 118 | +scripts are part of the local state of a repository and are not shared |
| 119 | +with other repositories during a sync, push, or pull. |
| 120 | + |
| 121 | +<i>To be continued...</i> |
| 113 | 122 | |