Cart editing: Difference between revisions
(Created page with "If we make a new superTrack and move an existing track into it, then we have a problem with old sessions, ones that predate this change: If you load an old saved session, the...") |
No edit summary |
||
Line 1: | Line 1: | ||
If we make a new superTrack and move an existing track into it, then we have a problem with old sessions, ones that predate this change: | If we make a new superTrack and move an existing track into it, then we have a problem with old sessions, ones that predate this change: | ||
If you load an old saved session | If you load an old saved session with a certain track on and it was saved before the superTrack-move, then the track disappears. There is no error at all. | ||
This is because the | This is because the superTrack is not set to "show" in the old cart. | ||
Cart editing solves this. Cart editing consists of two parts: | Cart editing with "cartVersion" solves this. Cart editing consists of two parts: | ||
* | * A version number for trackDb, always written into all saved carts, so we can distinguish old from new carts. | ||
* | * A piece of C code (in cartEdit.c called from cart.c) that adds a new cart variable, always when a cart that is loaded, anytime or anywhere from any CGI and that cart is is older than the current trackDb. | ||
So, before you move a track into a new superTrack you must do one thing: | So, before you move a track into a new superTrack you must do one thing: | ||
ask an engineer to add code to cartEdit.c | ask an engineer to add code to cartEdit.c | ||
Specific details? | |||
Then wait until the code goes out the normal way to the RR. After the release, any time, you can do these two things: | Then wait until the code goes out the normal way to the RR. After the release, any time, you can do these two things: | ||
Line 18: | Line 19: | ||
1) increase the version number in the top-level trackDb.ra file, at the top | 1) increase the version number in the top-level trackDb.ra file, at the top | ||
2) add the superTrack and move the old track into it | 2) add the superTrack and move the old track into it | ||
See ticket: | |||
https://redmine.soe.ucsc.edu/issues/26719 |
Revision as of 18:40, 1 June 2021
If we make a new superTrack and move an existing track into it, then we have a problem with old sessions, ones that predate this change:
If you load an old saved session with a certain track on and it was saved before the superTrack-move, then the track disappears. There is no error at all.
This is because the superTrack is not set to "show" in the old cart.
Cart editing with "cartVersion" solves this. Cart editing consists of two parts:
- A version number for trackDb, always written into all saved carts, so we can distinguish old from new carts.
- A piece of C code (in cartEdit.c called from cart.c) that adds a new cart variable, always when a cart that is loaded, anytime or anywhere from any CGI and that cart is is older than the current trackDb.
So, before you move a track into a new superTrack you must do one thing:
ask an engineer to add code to cartEdit.c Specific details?
Then wait until the code goes out the normal way to the RR. After the release, any time, you can do these two things:
1) increase the version number in the top-level trackDb.ra file, at the top 2) add the superTrack and move the old track into it
See ticket:
https://redmine.soe.ucsc.edu/issues/26719