version 1.19, 2007/01/19 14:23:46
|
version 1.22, 2007/06/15 23:02:09
|
Line 795 sub process_dynamic_metadata {
|
Line 795 sub process_dynamic_metadata {
|
# Get the statistical data - Use a weighted average |
# Get the statistical data - Use a weighted average |
foreach my $type (qw/avetries difficulty disc/) { |
foreach my $type (qw/avetries difficulty disc/) { |
my $studentcount; |
my $studentcount; |
|
my %course_counted; |
my $sum; |
my $sum; |
my @Values; |
my @Values; |
my @Students; |
my @Students; |
# |
# |
# Old data |
# New data |
foreach my $coursedata (values(%{$resdata->{'statistics'}}), |
|
values(%{$resdata->{'stats'}})) { |
|
if (ref($coursedata) eq 'HASH' && exists($coursedata->{$type})) { |
|
$studentcount += $coursedata->{'stdno'}; |
|
$sum += ($coursedata->{$type}*$coursedata->{'stdno'}); |
|
push(@Values,$coursedata->{$type}); |
|
push(@Students,$coursedata->{'stdno'}); |
|
} |
|
} |
|
if (exists($resdata->{'stats'})) { |
if (exists($resdata->{'stats'})) { |
foreach my $identifier (sort(keys(%{$resdata->{'stats'}}))) { |
foreach my $identifier (sort(keys(%{$resdata->{'stats'}}))) { |
my $coursedata = $resdata->{'stats'}->{$identifier}; |
my $coursedata = $resdata->{'stats'}->{$identifier}; |
|
next if (lc($coursedata->{$type}) eq 'nan'); |
|
$course_counted{$coursedata->{'course'}}++; |
$studentcount += $coursedata->{'stdno'}; |
$studentcount += $coursedata->{'stdno'}; |
$sum += $coursedata->{$type}*$coursedata->{'stdno'}; |
$sum += $coursedata->{$type}*$coursedata->{'stdno'}; |
push(@Values,$coursedata->{$type}); |
push(@Values,$coursedata->{$type}); |
Line 819 sub process_dynamic_metadata {
|
Line 813 sub process_dynamic_metadata {
|
} |
} |
} |
} |
# |
# |
# New data |
# Old data |
|
foreach my $course (keys(%{$resdata->{'statistics'}})) { |
|
next if (exists($course_counted{$course})); |
|
my $coursedata = $resdata->{'statistics'}{$course}; |
|
if (ref($coursedata) eq 'HASH' && exists($coursedata->{$type})) { |
|
next if (lc($coursedata->{$type}) eq 'nan'); |
|
$studentcount += $coursedata->{'stdno'}; |
|
$sum += ($coursedata->{$type}*$coursedata->{'stdno'}); |
|
push(@Values,$coursedata->{$type}); |
|
push(@Students,$coursedata->{'stdno'}); |
|
} |
|
} |
if (defined($studentcount) && $studentcount>0) { |
if (defined($studentcount) && $studentcount>0) { |
$data{$type} = $sum/$studentcount; |
$data{$type} = $sum/$studentcount; |
$data{$type.'_list'} = join(',',@Values); |
$data{$type.'_list'} = join(',',@Values); |
Line 828 sub process_dynamic_metadata {
|
Line 833 sub process_dynamic_metadata {
|
# |
# |
# Find out the number of students who have completed the resource... |
# Find out the number of students who have completed the resource... |
my $stdno; |
my $stdno; |
foreach my $coursedata (values(%{$resdata->{'statistics'}}), |
my %course_counted; |
values(%{$resdata->{'stats'}})) { |
|
if (ref($coursedata) eq 'HASH' && exists($coursedata->{'stdno'})) { |
|
$stdno += $coursedata->{'stdno'}; |
|
} |
|
} |
|
if (exists($resdata->{'stats'})) { |
if (exists($resdata->{'stats'})) { |
# |
# |
# For the number of students, take the maximum found for the class |
# For the number of students, take the maximum found for the class |
Line 846 sub process_dynamic_metadata {
|
Line 846 sub process_dynamic_metadata {
|
} |
} |
if ($current_course ne $coursedata->{'course'}) { |
if ($current_course ne $coursedata->{'course'}) { |
$stdno += $coursemax; |
$stdno += $coursemax; |
|
$course_counted{$coursedata->{'course'}}++; |
$coursemax = 0; |
$coursemax = 0; |
$current_course = $coursedata->{'course'}; |
$current_course = $coursedata->{'course'}; |
} |
} |
Line 855 sub process_dynamic_metadata {
|
Line 856 sub process_dynamic_metadata {
|
} |
} |
$stdno += $coursemax; # pick up the final course in the list |
$stdno += $coursemax; # pick up the final course in the list |
} |
} |
|
# check for old data that has not been run since the format was changed |
|
foreach my $course (keys(%{$resdata->{'statistics'}})) { |
|
next if (exists($course_counted{$course})); |
|
my $coursedata = $resdata->{'statistics'}{$course}; |
|
if (ref($coursedata) eq 'HASH' && exists($coursedata->{'stdno'})) { |
|
$stdno += $coursedata->{'stdno'}; |
|
} |
|
} |
$data{'stdno'}=$stdno; |
$data{'stdno'}=$stdno; |
# |
# |
# Get the context data |
# Get the context data |
Line 991 sub portfolio_metadata {
|
Line 1000 sub portfolio_metadata {
|
} |
} |
} |
} |
} # End of ($token->[0] eq 'S') |
} # End of ($token->[0] eq 'S') |
|
|
|
if (!exists($metacache{'domain'})) { |
|
$metacache{'domain'} = $dom; |
|
} |
} |
} |
return (\%metacache,$metacache{'courserestricted'},\%addedfields); |
return (\%metacache,$metacache{'courserestricted'},\%addedfields); |
} |
} |