892ed11dc23adf5ebc35babd5e62993778f3e4b7
chmalee
  Thu Feb 5 10:18:34 2026 -0800
Add some documentation to hgCustom indicating we have hubspace now, refs #37013

diff --git src/hg/hgCustom/hgCustom.c src/hg/hgCustom/hgCustom.c
index 6503c2fc046..b1d04bdcaf6 100644
--- src/hg/hgCustom/hgCustom.c
+++ src/hg/hgCustom/hgCustom.c
@@ -131,34 +131,36 @@
 " <A TARGET=_BLANK HREF='../goldenPath/help/hic.html'>hic</A>,\n"
 " <A TARGET=_BLANK HREF='../goldenPath/help/interact.html'>interact</A>,\n"
 " <A TARGET=_BLANK HREF='../FAQ/FAQformat.html#format5'>MAF</A>,\n"
 " <A TARGET=_BLANK HREF='../FAQ/FAQformat.html#format12'>narrowPeak</A>,\n"
 " <A TARGET=_BLANK HREF='../FAQ/FAQformat.html#format10'>Personal Genome SNP,</A>\n"
 " <A TARGET=_BLANK HREF='../FAQ/FAQformat.html#format2'>PSL</A>,\n"
 " or <A TARGET=_BLANK HREF='../goldenPath/help/wiggle.html'>WIG</A>\n"
 " formats.<br>\n"
 " <ul>\n"
 " <li>You can paste just the URL to the file, without a \"track\" line, for bigBed, bigWig, bigGenePred, CRAM, BAM and VCF.<br></li>"
 " <li>To configure the display, set\n"
 " <A TARGET=_BLANK HREF='../goldenPath/help/customTrack.html#TRACK'>track</A>\n"
 " and"
 " <A TARGET=_BLANK HREF='../goldenPath/help/customTrack.html#BROWSER'>browser</A>\n"
 " line attributes as described in the \n"
-" <A TARGET=_BLANK HREF='../goldenPath/help/customTrack.html'>User's Guide</A>.<br>\n"
+" <A TARGET=_BLANK HREF='../goldenPath/help/customTrack.html'>User's Guide</A>.\n"
 " Examples are\n"
-" <A TARGET=_BLANK HREF='../goldenPath/help/customTrack.html#EXAMPLE1'>here</A>.\n"
-" If you do not have web-accessible data storage available, please see the\n"
+" <A TARGET=_BLANK HREF='../goldenPath/help/customTrack.html#EXAMPLE1'>here</A>.</li>\n"
+" <li>If you do not have web-accessible data storage available, you can use our Hub Space feature\n"
+" (available from the blue bar under My Data -> Track Hubs, and then selecting the\n"
+" &quot;Hub Upload&quot; tab), or read the\n"
 " <A TARGET=_BLANK HREF='../goldenPath/help/hgTrackHubHelp.html#Hosting'>Hosting</A> section of the Track Hub Help documentation.\n<br><br></li>"
 " </ul>\n"
 " Please note a much more efficient way to load data is to use\n"
 " <A TARGET=_BLANK HREF='../goldenPath/help/hgTrackHubHelp.html'>Track Hubs</A>, which are loaded\n" 
 " from the <A TARGET=_BLANK HREF='hgHubConnect'>Track Hubs Portal</A> found in the menu under My Data.\n"
 );
 }
 
 void addCustomForm(struct customTrack *ct, char *err, boolean warnOnly)
 /* display UI for adding custom tracks by URL or pasting data */
 {
 char *dataUrl = NULL;
 char buf[1024];
 
 boolean isUpdateForm = FALSE;
@@ -325,31 +327,31 @@
     cgiTableField("&nbsp");
 else
     {
     puts("<TD ALIGN='RIGHT'>");
     puts("Or upload: ");
     cgiMakeFileEntry(hgCtDataFile);
     cgiTableFieldEnd();
     jsInline(
             "$(\"[name='hgt.customFile']\").change(function(ev) { \n"
             "   var fname = ev.target.files[0].name; \n"
             "   var ext = fname.split('.').pop().toLowerCase(); \n"
             "   var warnExts = ['bigbed', 'bb', 'bam', 'bigwig', 'bw', 'jpeg', 'pdf', 'jpg', 'png', 'hic', 'cram'];\n"
             "   if (warnExts.indexOf(ext) >= 0) {\n"
             "       alert('You are trying to upload a binary file on this page, but the Genome Browser server needs access to binary files via the internet.'+"
             "          ' Therefore, you will need to store the files on a web server, then paste the URLs to them on this page, or upload a text file with \"track\" lines '+"
-            "          ' and configuration settings that point to the file URLs. Please read the documentation'+"
+            "          ' and configuration settings that point to the file URLs, or upload your binary files to our Hub Space feature, available under My Data -> Track Hubs -> Hub Upload. Please read the documentation'+"
             "          ' referenced at the top of this page or contact us for more information.');\n"
             "       $(\"[name='hgt.customFile']\")[0].value = '';"
             "   }\n"
             "});\n"
             );
     }
 
 if (!isUpdateForm)
     {
     cgiSimpleTableFieldStart();
     if (warnOnly)
 	{
 	cgiMakeButtonWithOnClick("ContinueWithWarn", "Continue with Warning", NULL, "return submitClick(this);");
 	printf("&nbsp;");
 	jsInline(