Versioned Track Hubs

From Genecats
Revision as of 17:43, 15 December 2017 by Brianlee (talk | contribs) (Intro to examples of trackDb doc structure.)
Jump to navigationJump to search

Overview

This page exists as a reminder to engineers on how to approach the new versioned track hub documentation.

How to work with the 'versioned' track hub settings

1) Since every trackDb setting in the doc is now assigned a level (described in the intro of the trackDbHub doc)...

-> When you add a new setting, you will need to set it to 'level-new'.

Next time the doc is versioned, we will evaluate the new settings for assignment to a level.

2) As the doc is now parsed by hubCheck to verify settings...

-> After adding a setting to the doc, you will need to run hubCheck -settings to see if your addition is formatted correctly.

To list all settings (with levels) on genome-test, run

hubCheck -settings -test


The README.txt in the trackDb docs dir has been extended to include these steps with the new information in step 3.

cat ~kent/src/hg/htdocs/goldenPath/help/trackDb/README.txt

Also see the long comment at the top of trackDbLibrary.shtml for details

head -n 125 ~kent/src/hg/htdocs/goldenPath/help/trackDb/trackDbLibrary.shtml

Discussion

The versioning applies to the hub spec only. If a new setting is added, the 'meat' is indeed in the trackDbLibrary.shtml file, but the level is set in the trackDbHub.html file (only needed if we are supporting the setting for hub use). All new hub-able settings should be set at (surprisingly) 'level-new'. And developer should validate their doc file changes for correct format using 'hubCheck -settings -version=<your-file> such as http://hgwdev-<user>/goldenPath/help/trackDb/trackDbHub.v1.html The option -test will use the version on dev.

Examples

Here's a way to try to help show how these pages work:

    (shared text)
trackDbLibrary.shtml  ---> trackDbDoc.html
      \------------------> trackDbHub.v#.html
                               /|\  /|\ 
trackDbDoc.css -----------------|    |
trackDbDoc.js------------------------|
 (shared style & JavaScript)

The page uses JavaScript Classes making things a bit more confusing than a normal page.