--- loncom/metadata_database/parse_activity_log.pl 2004/08/19 21:08:46 1.3 +++ loncom/metadata_database/parse_activity_log.pl 2004/08/25 15:55:17 1.4 @@ -2,7 +2,7 @@ # # The LearningOnline Network # -# $Id: parse_activity_log.pl,v 1.3 2004/08/19 21:08:46 matthew Exp $ +# $Id: parse_activity_log.pl,v 1.4 2004/08/25 15:55:17 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -99,7 +99,7 @@ if (! defined($domain) || $domain eq '') ## Set up logging code my $logthis = \¬hing; if ($log) { - my $logfile = "/tmp/parse_activity_log.log.".time; + my $logfile = $perlvar{'lonDaemons'}.'/tmp/parse_activity_log.log.'.time; print STDERR "$0: logging to $logfile".$/; if (! open(LOGFILE,">$logfile")) { die "Unable to open $logfile for writing. Run aborted."; @@ -183,20 +183,20 @@ my $res_table_def = 'PRIMARY KEY' => ['res_id'], }; -my $action_table = $prefix.'actions'; -my $action_table_def = -{ id => $action_table, - permanent => 'no', - columns => [{ name => 'action_id', - type => 'MEDIUMINT UNSIGNED', - restrictions => 'NOT NULL', - auto_inc => 'yes', }, - { name => 'action', - type => 'VARCHAR(100)', - restrictions => 'NOT NULL'}, - ], - 'PRIMARY KEY' => ['action_id',], -}; +#my $action_table = $prefix.'actions'; +#my $action_table_def = +#{ id => $action_table, +# permanent => 'no', +# columns => [{ name => 'action_id', +# type => 'MEDIUMINT UNSIGNED', +# restrictions => 'NOT NULL', +# auto_inc => 'yes', }, +# { name => 'action', +# type => 'VARCHAR(100)', +# restrictions => 'NOT NULL'}, +# ], +# 'PRIMARY KEY' => ['action_id',], +#}; my $machine_table = $prefix.'machine_table'; my $machine_table_def = @@ -227,8 +227,8 @@ my $activity_table_def = { name => 'student_id', type => 'MEDIUMINT UNSIGNED', restrictions => 'NOT NULL',}, - { name => 'action_id', - type => 'MEDIUMINT UNSIGNED', + { name => 'action', + type => 'VARCHAR(10)', restrictions => 'NOT NULL',}, { name => 'idx', # This is here in case a student type => 'MEDIUMINT UNSIGNED', # has multiple submissions during @@ -240,12 +240,17 @@ my $activity_table_def = { name => 'action_values', type => 'MEDIUMTEXT', }, ], - 'PRIMARY KEY' => ['res_id','time','student_id','action_id','idx'], + 'PRIMARY KEY' => ['time','student_id','res_id','idx'], + 'KEY' => [{columns => ['student_id']}, + {columns => ['time']},], }; -my @Activity_Table = ($activity_table_def); -my @ID_Tables = ($student_table_def,$res_table_def, - $action_table_def,$machine_table_def); - +my @Activity_Table = ($activity_table_def); + +#my @ID_Tables = ($student_table_def,$res_table_def, +# $action_table_def,$machine_table_def); + +my @ID_Tables = ($student_table_def,$res_table_def,$machine_table_def); + ## ## End of table definitions @@ -443,7 +448,7 @@ sub process_courselog { $time_this->('split_and_error_check'); my $student_id = &get_id($student_table,'student',$student); my $res_id = &get_id($res_table,'resource',$res); - my $action_id = &get_id($action_table,'action',$action); +# my $action_id = &get_id($action_table,'action',$action); my $sql_time = &Apache::lonmysql::sqltime($time); # if (! defined($student_id) || $student_id eq '') { @@ -452,9 +457,9 @@ sub process_courselog { if (! defined($res_id) || $res_id eq '') { $warningflag.='res_id'; } - if (! defined($action_id) || $action_id eq '') { - $warningflag.='action_id'; - } +# if (! defined($action_id) || $action_id eq '') { +# $warningflag.='action_id'; +# } if ($warningflag ne '') { print $error_fh 'full log entry:'.$log.$/; print $error_fh 'error on chunk:'.$chunk.$/; @@ -470,7 +475,8 @@ sub process_courselog { my $row = [$res_id, qq{'$sql_time'}, $student_id, - $action_id, + "'".$action."'", +# $action_id, qq{''}, # idx $machine_id, $values]; @@ -619,9 +625,11 @@ sub get_filename { sub create_tables { foreach my $table (@ID_Tables,@Activity_Table) { my $table_id = &Apache::lonmysql::create_table($table); +# print STDERR "Unable to create table ".$table->{'id'}.$/; +# print STDERR join($/,&Apache::lonmysql::build_table_creation_request($table)).$/; if (! defined($table_id)) { warn "Unable to create table ".$table->{'id'}.$/; - warn &Apache::lonmysql::build_table_creation_request($table).$/; + warn join($/,&Apache::lonmysql::build_table_creation_request($table)).$/; return 0; } }