61a71c293d9ad89a53d4d8f7729915015a7ab9dd lrnassar Thu Oct 28 09:33:19 2021 -0700 Adding links, updating format, and changing wording for hubConnect page. Refs #28324 diff --git src/hg/hgHubConnect/hgHubConnect.c src/hg/hgHubConnect/hgHubConnect.c index a1c5b5f..67c511c 100644 --- src/hg/hgHubConnect/hgHubConnect.c +++ src/hg/hgHubConnect/hgHubConnect.c @@ -255,43 +255,42 @@ struct hubConnectStatus *hub, *nextHub; for(hub = hubList; hub; hub = nextHub) { nextHub = hub->next; // if url is not in publicHash, it's unlisted */ if (!((publicHash != NULL) && hashLookup(publicHash, hub->hubUrl))) { unlistedHubCount++; slAddHead(&unlistedHubList, hub); } } hubList = NULL; // hubList no longer valid -puts("

If have a new hub URL, you can add it here, then connect/disconnect " - " as needed. Other users will not see your hub.

" - "

To share your hub with others, connect it below, then save a session " - "from the Genome Browser (\"My Data > My Sessions\"). " - " You can put the session link " - "into a manuscript or send it to others. This means that you can always update the session later. " - "Users who click the session link will lose their own Genome Browser " - "configuration, connected hubs and custom tracks.

" - "

If you want to avoid overriding their sessions, construct a link for others with " - "the hubUrl argument, like this: " - "https://genome.ucsc.edu/cgi-bin/hgTracks?db=hg38&hubUrl=URL_TO_HUB" +puts("

Enter hub URLs below to connect hubs. Hubs connected this way are not accessible to " + "other users by default.

If you wish to share your hub you can create a " + "session link. " + "First, connect the hub and configure the tracks image as desired, then navigate to " + "My Sessions (My Data > My Sessions). " + "The resulting stable link can be added to publications and shared freely. You, as the author, " + "also have the power to update the session contents freely.

" + "

Alternatively, you may build a link with the hub URL to allow users to retain their browser " + "configuration, connected hubs, and custom tracks.

" "

" - "

Contact us if you want to add a hub to the list of public hubs.

\n" + "

Contact us if you wish to submit a hub to the list of public hubs.

\n" ); if (unlistedHubCount == 0) { // nothing to see here printf("No Unlisted Track Hubs"); printf(""); puts(""); // return from within DIV and FROM is probably not a good idea puts(""); // tabSection and .unlistedHubs return; } // time to output the big table. First the header puts( " " @@ -401,51 +400,53 @@ * hubCheck utility on a hub and load a hub with the udcTimeout and measureTiming * variables turned on */ { // put out the top of our page char *hubUrl = cartOptionalString(cart, "validateHubUrl"); // the outer div for all the elements in the tab puts("
"); char *hubUrlVal = ""; if (hubUrl != NULL) hubUrlVal = catThreeStrings(" value='", hubUrl, "'"); puts("
"); puts("

Create your own hub

"); -puts("For information on making track hubs, please see the following pages: \n " +puts("For information on making track hubs, see the following pages: \n " "\n" - "Example hub URL: http://genome.ucsc.edu/goldenPath/help/examples/hubDirectory/hub.txt"); + "
You may also contact us if you have any " + "issues or questions on hub development."); puts("
"); // .tabSection puts("
"); puts("

Check a hub for errors

"); printf(""); -printf("\n", hubUrlVal); +printf("\n", hubUrlVal); printf("\n"); -puts("
When debugging a hub, it is sometimes helpful to check it for errors. " - "With the button above, you can validate the hub's configuration files, including hub.txt, " +puts("
Use the URL bar above to check a hub for errors. This will " + "validate the hub's configuration files, including hub.txt, " "genomes.txt and trackDb.txt. " - "A hierarchical tree of tracks is presented with any errors in red. A hub " + "It will also present a hierarchical tree of tracks with any errors in red. A hub " "with no errors still shows the tree which can be used to explore the track hierarchy. " "Hub error checking will always refresh the files and never use our remote file cache (see below)." "
\n " ); puts("
"); // .tabSection puts("
"); puts("

Enable Genome Browser debugging modes

"); puts("
These apply to all connected hubs. By default, caching is activated and track load times are not shown, but you can change these settings when debugging your hub.
"); puts("
"); puts("
"); // output the udcTimeout button char *noCacheLabel = "Deactivate (Always refresh)"; char *timeout = "5"; @@ -488,41 +489,41 @@ jsOnEventById("click", "hubValidateButton", "makeIframe(event)"); } void printSearchAndFilterBoxes(int searchEnabled, char *hubSearchTerms, char *dbFilter) /* Create the text boxes for search and database filtering along with the required * javscript */ { printf("\n", "../cgi-bin/hgHubConnect"); if (searchEnabled) { cgiMakeHiddenVar(hgHubDoSearch, "on"); cgiMakeHiddenVar(hgHubDbFilter, ""); cartSaveSession(cart); - printf("The list below can be filtered on words in the description pages or assemblies.
" + printf("The list below can be filtered on words in the hub description pages or by assemblies.
" "Search terms: " " \n", hubSearchTerms!=NULL?hubSearchTerms:""); printf("\n"); } printf("Assembly: " " \n" + "type=\"text\" size=\"15\" value=\"%s\" placeholder='e.g. hg38'> \n" "\n", hgHubDbFilter, dbFilter!=NULL?dbFilter:""); puts("
"); } void printSearchTerms(char *hubSearchTerms) /* Write out a reminder about the current search terms and a note about * how to navigate detailed search results */ { printf("Displayed list restricted by search terms: %s\n", hubSearchTerms); puts("\n"); @@ -1219,39 +1220,38 @@ addPublicHubsToHubStatus(cart, conn, publicTable, statusTable); if (measureTiming) printf("Time of addPublicHubsToHubStatus: %ld
", (clock1000()-lastTime)); // build full public hub lookup hash, taking each URL to struct hubEntry * for that hub struct hash *hubLookup = buildPublicLookupHash(conn, publicTable, statusTable, pHash); puts("
"); puts("
"); printf( "

" "Track data hubs are collections of external tracks that can be added to the UCSC Genome Browser. " - "Click \"Connect\" below to show the \"Genomes\" page with all assemblies covered by a hub. " - "Hub tracks then show up under the hub's own blue bar track group under the browser graphic, " - "as well as under \"Genome Browser > Configure\". See the " + "Click Connect to attach a hub and redirect to the assembly gateway page. " + "Hub tracks will then show up in the hub's own blue bar track group under the browser graphic. " + "See the " "" - "User's Guide. " + "User's Guide for more. " "

" "

Track Hubs are created and maintained by external sources." - " The public hubs below were submitted to us, we have performed " - " basic quality checks. UCSC is not responsible for their content.

" + " UCSC is not responsible for their content.

" ); char *hubSearchTableName = hubSearchTextTableName(); int searchEnabled = sqlTableExists(conn, hubSearchTableName); printSearchAndFilterBoxes(searchEnabled, hubSearchTerms, dbFilter); struct hash *searchResultHash = NULL; struct slName *hubsToPrint = NULL; if (searchEnabled && !isEmpty(hubSearchTerms)) { printSearchTerms(hubSearchTerms); // Forcing checkDescriptions to TRUE right now, but we might want to add this as a // checkbox option for users in the near future. bool checkDescriptions = TRUE; @@ -1515,31 +1515,31 @@ "close
"); puts("
"); if (isEmpty(hubUrl)) printf("Please wait, loading and checking hub, this can take 15 seconds to several minutes."); else { puts("

"); puts("  

"); jsOnEventByIdF("click", "reloadButton", "reloadIframe()"); jsOnEventByIdF("click", "closeButton", "closeIframe()"); jsOnEventByIdF("click", "windowX", "closeIframe()"); printf("
Finished checking %s
", hubUrl); doValidateNewHub(hubUrl); - puts("

Our command line tool hubCheck " + puts("

Our command line tool hubCheck " "can be used to obtain the same output from a Unix command line.

"); } puts("
"); // margin 10px puts("
"); // ui-dialog-titlebar puts("
"); // ui-dialog cartWebEnd(); return; } cartWebStart(cart, NULL, "%s", pageTitle); printIncludes(); if (cartVarExists(cart, hgHubDoHubCheck)) {