--- loncom/homework/essayresponse.pm	2014/12/22 17:04:03	1.123
+++ loncom/homework/essayresponse.pm	2019/02/19 14:24:01	1.126
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # essay (ungraded) style responses
 #
-# $Id: essayresponse.pm,v 1.123 2014/12/22 17:04:03 raeburn Exp $
+# $Id: essayresponse.pm,v 1.126 2019/02/19 14:24:01 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -68,7 +68,7 @@ sub start_essayresponse {
                 ($Apache::lonhomework::type eq 'anonsurveycred')) {
                 $hiddendraft = '<input type="hidden" name="HWDRAFT'.$part.'_'.$id.'" value="yes" />';
             } else {
-                $result = &draft_row($part,$id,$ncol,$uploadedfiletypes.'essayresponse');
+                $result = &draft_row($part,$id,$ncol,$uploadedfiletypes,'essayresponse');
 	    }
 	    if ($ncol > 0) {
                 $result .= &get_collab_row($part,$id,$coll,$ncol);
@@ -226,16 +226,30 @@ sub end_essayresponse {
 				      &escape($crsid));
 			my $essayurl=
 			    &Apache::lonnet::declutter($ENV{'REQUEST_URI'});
-			my ($adom,$aname,$apath)=
-			    ($essayurl=~/^($LONCAPA::domain_re)\/($LONCAPA::username_re)\/(.*)$/);
-                        $apath=&escape($apath);
-			$apath=~s/\W/\_/gs;
-			&Apache::lonnet::put('nohist_essay_'.$apath,
-					 { $akey => $response },$adom,$aname);
-		    }
+                        if ($essayurl eq 'lib/templates/simpleproblem.problem') {
+                            my %crsinfo = &Apache::lonnet::coursedescription($crsid);
+                            my $cdom = $crsinfo{'domain'};
+                            my $cnum = $crsinfo{'num'};
+                            my ($map,$id,$res) = &Apache::lonnet::decode_symb($symb);
+                            if ($map =~ m{^\Quploaded/$cdom/$cnum/\E(default(?:|_\d+)\.(?:sequence|page))$}) {
+                                my $apath = $1.'_'.$id;
+                                $apath=~s/\W/\_/gs;
+                                my $akey = join('.',&escape($name),&escape($domain));
+                                &Apache::lonnet::put('nohist_essay_'.$apath,
+                                                     { $akey => $response },$cdom,$cnum);
+                            }
+                        } else {
+			    my ($adom,$aname,$apath)=
+			        ($essayurl=~/^($LONCAPA::domain_re)\/($LONCAPA::username_re)\/(.*)$/);
+                            $apath=&escape($apath);
+			    $apath=~s/\W/\_/gs;
+			    &Apache::lonnet::put('nohist_essay_'.$apath,
+                                                 { $akey => $response },$adom,$aname);
+                        }
+                    }
                 }
             }
-	} 
+        }
     } elsif ($target eq 'edit') {
 	$result.=&Apache::edit::end_table();