d060b70a11099fb693b769c781796b6b577715fb
angie
  Fri Nov 1 12:47:25 2024 -0700
If sessionDataDir is in hg.conf, make a new UI option to request that the Auspice JSON output files don't expire after two days, using sessionDataDir/hgPhyloPlace/ for storage.

diff --git src/hg/hgPhyloPlace/hgPhyloPlace.c src/hg/hgPhyloPlace/hgPhyloPlace.c
index b8a242d..242ea18 100644
--- src/hg/hgPhyloPlace/hgPhyloPlace.c
+++ src/hg/hgPhyloPlace/hgPhyloPlace.c
@@ -267,30 +267,38 @@
     char *phyloPlaceTree = cartOptionalString(cart, "phyloPlaceTree");
     cgiMakeDropListWithVals("phyloPlaceTree", treeChoices->descriptions, treeChoices->protobufFiles,
                             treeChoices->count, phyloPlaceTree);
     }
 puts("</p><p>");
 printf("Number of samples per subtree showing sample placement: ");
 int subtreeSize = cartUsualInt(cart, "subtreeSize", 50);
 struct dyString *dy = dyStringCreate("Number of samples in subtree showing neighborhood of "
                                      "placement (max: %d", MAX_SUBTREE_SIZE);
 if (microbeTraceHost() != NULL)
     dyStringPrintf(dy, "; max for MicrobeTrace: %d)", MAX_MICROBETRACE_SUBTREE_SIZE);
 else
     dyStringAppend(dy, ")");
 cgiMakeIntVarWithLimits("subtreeSize", subtreeSize, dy->string, 5, 10, MAX_SUBTREE_SIZE);
 puts("</p><p>");
+char *sessionDataDir = cfgOption("sessionDataDir");
+if (isNotEmpty(sessionDataDir))
+    {
+    puts("Prevent subtree Auspice JSON files from expiring after two days: ");
+    boolean subtreePersist = cartUsualBoolean(cart, "subtreePersist", FALSE);
+    cgiMakeCheckBox("subtreePersist", subtreePersist);
+    puts("</p><p>");
+    }
 cgiMakeOnClickSubmitButton(CHECK_FILE_OR_PASTE_INPUT_JS(seqFileVar, pastedIdVar),
                            "submit", "Upload");
 char *exampleFile = phyloPlaceOrgSettingPath(org, "exampleFile");
 if (isNotEmpty(exampleFile))
     {
     puts("&nbsp;&nbsp;");
     cgiMakeOnClickSubmitButton("{ loadingImage.run(); return true; }",
                                "exampleButton", "Upload Example File");
     if (sameString(org, "wuhCor1"))
         {
         puts("&nbsp;&nbsp;");
         puts("<a href='https://github.com/russcd/USHER_DEMO/' target=_blank>More example files</a>");
         }
     }
 puts("</p>");