--- loncom/automation/Autocreate.pl 2020/07/18 00:16:00 1.20.2.1 +++ loncom/automation/Autocreate.pl 2019/07/26 02:28:28 1.21 @@ -2,7 +2,7 @@ # # Automated Course Creation script # -# $Id: Autocreate.pl,v 1.20.2.1 2020/07/18 00:16:00 raeburn Exp $ +# $Id: Autocreate.pl,v 1.21 2019/07/26 02:28:28 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -175,7 +175,7 @@ sub process_xml { closedir(DIR); my %courseids = (); print $fh "Sending to batch - auto,$dom,$dcname,$dcdom ".join(":",@requests)."\n"; - my ($result,$logmsg,$clonemsg,$keysmsg,$codesref,$instcodesref) = + my ($result,$logmsg,$keysmsg,$codesref,$instcodesref) = &LONCAPA::batchcreatecourse::create_courses(\@requests,\%courseids,'auto',$dom,$dcname,$dcdom); my $outcome; if ($result ne '') { @@ -184,8 +184,8 @@ sub process_xml { if ($logmsg ne '') { $outcome .= $logmsg."\n"; } - if ($clonemsg ne '') { - $outcome .= $clonemsg."\n"; + if ($keysmsg ne '') { + $outcome .= $keysmsg."\n"; } print $fh $outcome; @@ -214,6 +214,22 @@ sub process_xml { } $output =~ s/:$//; &unset_dc_env(); + if (ref($instcodesref) eq 'HASH') { + if (keys(%{$instcodesref}) > 0) { + &Apache::lonnet::devalidate_cache_new('instcats',$dom); + if (&Apache::lonnet::shared_institution($dom)) { + my %servers = &Apache::lonnet::internet_dom_servers($dom); + my %thismachine; + map { $thismachine{$_} = 1; } &Apache::lonnet::current_machine_ids(); + if (keys(%servers)) { + foreach my $server (keys(%servers)) { + next if ($thismachine{$server}); + &Apache::lonnet::remote_devalidate_cache($server,['instcats:'.$dom]); + } + } + } + } + } return $output; } @@ -251,7 +267,7 @@ sub set_dc_env { $env{'user.home'} = &Apache::lonnet::homeserver($dcname,$dcdom); if ($defdom ne '') { $env{'request.role.domain'} = $defdom; - } + } return; }