--- loncom/metadata_database/LONCAPA/lonmetadata.pm 2011/05/29 19:10:10 1.31 +++ loncom/metadata_database/LONCAPA/lonmetadata.pm 2012/03/15 21:54:58 1.37 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonmetadata.pm,v 1.31 2011/05/29 19:10:10 raeburn Exp $ +# $Id: lonmetadata.pm,v 1.37 2012/03/15 21:54:58 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -93,7 +93,7 @@ FULLTEXT idx_language (language), FULLTEXT idx_owner (owner), FULLTEXT idx_copyright (copyright)) -TYPE=MYISAM; +ENGINE=MYISAM; =cut @@ -384,7 +384,7 @@ sub create_metadata_storage { $text .= 'idx_'.$colname.' ('.$colname.')'; push (@Columns,$text); } - $request .= "(".join(", ",@Columns).") TYPE=MyISAM"; + $request .= "(".join(", ",@Columns).") ENGINE=MyISAM"; return $request; } @@ -463,7 +463,8 @@ sub store_metadata { $mdata->{$fname} eq '') { push(@MData,'NULL'); } else { - push(@MData,$mdata->{$fname}); + push(@MData, $field->{type} eq 'DATETIME' ? + sqltime($mdata->{$fname}) : $mdata->{$fname}); } } else { push(@MData,undef); @@ -759,11 +760,12 @@ sub process_reseval_data { # # Process every stored element while (my ($storedkey,$value) = each(%{$evaldata})) { - my ($source,$file,$type) = split('___',$storedkey); - $source = &unescape($source); + my (@keycomponents) = split('___',$storedkey); + my $type=pop(@keycomponents); + my $file=&unescape(pop(@keycomponents)); + my $source = &unescape(join('___',@keycomponents)); $file = &unescape($file); $value = &unescape($value); - " got ".$file."\n ".$type." ".$source."\n"; if ($type =~ /^(avetries|count|difficulty|stdno|timestamp)$/) { # # Statistics: $source is course id @@ -918,6 +920,10 @@ sub process_dynamic_metadata { $data{$type.'_list'} = join(',',@{$resdata->{$type}}); } } +# +# NOTE: usage is named sequsage elsewhere in LON-CAPA +# The translation happens here +# if (defined($resdata->{'usage'}) && ref($resdata->{'usage'}) eq 'ARRAY') { $data{'sequsage'} = scalar(@{$resdata->{'usage'}}); @@ -969,18 +975,18 @@ sub dynamic_metadata_storage { my $courseid = $data->{'course'}; my $sections = $data->{'sections'}; my $numstu = $data->{'num_students'}; - my $urlres = $data->{'urlres'}; - my $key = $courseid.'&'.$sections.'&'.$numstu.'___'.$urlres.'___stats'; + my $part = $data->{'part'}; + my $symb = $data->{'symb'}; + my $key = $courseid.'&'.$sections.'&'.$numstu.'&'.$part.'___'.$symb.'___stats'; $Store{$key} = 'course='.$courseid.'&'. 'sections='.$sections.'&'. 'timestamp='.time.'&'. - 'stdno='.$data->{'num_students'}.'&'. + 'part='.$part.'&'. + 'stdno='.$numstu.'&'. 'avetries='.$data->{'mean_tries'}.'&'. - 'difficulty='.$data->{'deg_of_diff'}; - if (exists($data->{'deg_of_disc'})) { - $Store{$key} .= '&'.'disc='.$data->{'deg_of_disc'}; - } + 'difficulty='.$data->{'deg_of_diff'}.'&'. + 'disc='.$data->{'deg_of_disc'}; return %Store; }