[LON-CAPA-dev] Re: automatic enrollment
Stuart Peter Raeburn
lon-capa-dev@mail.lon-capa.org
Fri, 12 Mar 2004 15:55:55 -0500
Hon-Kie,
H. K. Ng writes:
> Hi Guy,
>
>
>> > Question1: Where do I look for what happened? I checked the usual logs
>> http
>> > and lonnet.
>>
>> /home/httpd/perl/logs/autoenroll.log
>
> I guess it never went to the point of writing into the log. The log file
> does not exists. The message came from lonpopulate.pm and after the
> following lines. It looks like it was not able to put the info into
> environment??
The autoenroll.log file is only written to (and created, if necessary) when
LONCAPA::Enrollment::update_LC() is called by Autoenroll.pl, i.e., when you
run enrollment as an automated process from the command line (or cron). By
contrast, when you update enrollment in a single course via the "Update
Roster Now" web interface, output is sent to the browser, instead of being
written to the autoenroll.log file.
>
> my $reply = &Apache::lonnet::put('environment',\%cenv,$dom,$crs);
> if ($reply !~ /^ok$/) {
> $response = "There was a problem processing your requested changes.
> The automated enrollment settings for this course have been left
> unchanged.<br/>";
>
This is not the origin of the message. The line reponsible for generating
the message you reported was line 1769 of lonpopulate.pm
if ($reply{$crs} > 0) {
($changecount,$response) =
&LONCAPA::Enrollment::update_LC($dom,$crs,$updateadds,$updatedrops,$autostar
t,$autoend,$authtype,$autharg,\@allcourses,\%LC_code,\$logmsg,\$newusermsg,"
updatenow");
} else {
$response = "There was a problem retrieving institutional class
list data for the course sections and crosslisted courses which contribute
enrollment to this course. No updates have been carried out, and the
roster remains unchanged.";
}
This message was triggered because the number of registered students
reported by localenroll::fetch_enrollment() for the course you were updating
was zero.
The message you identified above
> my $reply = &Apache::lonnet::put('environment',\%cenv,$dom,$crs);
> if ($reply !~ /^ok$/) {
about failing to write to the environment is generated when storage of
automated enrollment settings such as first and last auto-enrollment dates
fails. The "Update Roster Now" routine would not generate this type of
message because it does not attempt to store anything in a course's
environment.db file.
Stuart
Stuart Raeburn
MSU LON-CAPA support/development