Diff for /loncom/interface/statistics/lonproblemstatistics.pm between versions 1.79 and 1.80

version 1.79, 2004/04/01 20:02:56 version 1.80, 2004/04/01 21:14:32
Line 101  my @Fields = ( Line 101  my @Fields = (
              align => 'right',               align => 'right',
              color => '#FFFFE6',               color => '#FFFFE6',
              selectable => 'no',               selectable => 'no',
              selected => 'yes',               defaultselected => 'yes',
            },             },
            { name   => 'container',             { name   => 'container',
              title  => 'Sequence or Folder',               title  => 'Sequence or Folder',
Line 109  my @Fields = ( Line 109  my @Fields = (
              color  => '#FFFFE6',               color  => '#FFFFE6',
              sortable => 'yes',               sortable => 'yes',
              selectable => 'no',               selectable => 'no',
              selected => 'yes',               defaultselected => 'yes',
            },             },
            { name   => 'title',             { name   => 'title',
              title  => 'Title',               title  => 'Title',
Line 118  my @Fields = ( Line 118  my @Fields = (
              special  => 'link',               special  => 'link',
              sortable => 'yes',                sortable => 'yes', 
              selectable => 'no',               selectable => 'no',
              selected => 'yes',               defaultselected => 'yes',
            },             },
            { name   => 'part',              { name   => 'part', 
              title  => 'Part',               title  => 'Part',
              align  => 'left',               align  => 'left',
              color  => '#FFFFE6',               color  => '#FFFFE6',
              selectable => 'no',               selectable => 'no',
              selected => 'yes',               defaultselected => 'yes',
            },             },
            { name   => 'num_students',             { name   => 'num_students',
              title  => '#Stdnts',               title  => '#Stdnts',
Line 136  my @Fields = ( Line 136  my @Fields = (
              graphable => 'yes',               graphable => 'yes',
              long_title => 'Number of Students Attempting Problem',               long_title => 'Number of Students Attempting Problem',
              selectable => 'yes',               selectable => 'yes',
              selected => 'yes',               defaultselected => 'yes',
            },             },
            { name   => 'tries',             { name   => 'tries',
              title  => 'Tries',               title  => 'Tries',
Line 147  my @Fields = ( Line 147  my @Fields = (
              graphable => 'yes',               graphable => 'yes',
              long_title => 'Total Number of Tries',               long_title => 'Total Number of Tries',
              selectable => 'yes',               selectable => 'yes',
              selected => 'yes',               defaultselected => 'yes',
            },             },
            { name   => 'max_tries',             { name   => 'max_tries',
              title  => 'Max Tries',               title  => 'Max Tries',
Line 158  my @Fields = ( Line 158  my @Fields = (
              graphable => 'yes',               graphable => 'yes',
              long_title => 'Maximum Number of Tries',               long_title => 'Maximum Number of Tries',
              selectable => 'yes',               selectable => 'yes',
              selected => 'yes',               defaultselected => 'yes',
            },             },
            { name   => 'min_tries',             { name   => 'min_tries',
              title  => 'Min Tries',               title  => 'Min Tries',
Line 169  my @Fields = ( Line 169  my @Fields = (
              graphable => 'yes',               graphable => 'yes',
              long_title => 'Minumum Number of Tries',               long_title => 'Minumum Number of Tries',
              selectable => 'yes',               selectable => 'yes',
              selected => 'yes',               defaultselected => 'yes',
            },             },
            { name   => 'mean_tries',             { name   => 'mean_tries',
              title  => 'Mean Tries',               title  => 'Mean Tries',
Line 180  my @Fields = ( Line 180  my @Fields = (
              graphable => 'yes',               graphable => 'yes',
              long_title => 'Average Number of Tries',               long_title => 'Average Number of Tries',
              selectable => 'yes',               selectable => 'yes',
              selected => 'yes',               defaultselected => 'yes',
            },             },
            { name   => 'std_tries',             { name   => 'std_tries',
              title  => 'S.D. tries',               title  => 'S.D. tries',
Line 191  my @Fields = ( Line 191  my @Fields = (
              graphable => 'yes',               graphable => 'yes',
              long_title => 'Standard Deviation of Number of Tries',               long_title => 'Standard Deviation of Number of Tries',
              selectable => 'yes',               selectable => 'yes',
              selected => 'yes',               defaultselected => 'yes',
            },             },
            { name   => 'skew_tries',             { name   => 'skew_tries',
              title  => 'Skew Tries',               title  => 'Skew Tries',
Line 202  my @Fields = ( Line 202  my @Fields = (
              graphable => 'yes',               graphable => 'yes',
              long_title => 'Skew of Number of Tries',               long_title => 'Skew of Number of Tries',
              selectable => 'yes',               selectable => 'yes',
              selected => 'no',               defaultselected => 'no',
            },             },
            { name   => 'num_solved',             { name   => 'num_solved',
              title  => '#YES',               title  => '#YES',
Line 213  my @Fields = ( Line 213  my @Fields = (
              graphable => 'yes',               graphable => 'yes',
              long_title => 'Number of Students able to Solve',               long_title => 'Number of Students able to Solve',
              selectable => 'yes',               selectable => 'yes',
              selected => 'yes',               defaultselected => 'yes',
            },             },
            { name   => 'num_override',             { name   => 'num_override',
              title  => '#yes',               title  => '#yes',
Line 224  my @Fields = ( Line 224  my @Fields = (
              graphable => 'yes',               graphable => 'yes',
              long_title => 'Number of Students given Override',               long_title => 'Number of Students given Override',
              selectable => 'yes',               selectable => 'yes',
              selected => 'yes',               defaultselected => 'yes',
            },             },
            { name   => 'num_wrong',             { name   => 'num_wrong',
              title  => '#Wrng',               title  => '#Wrng',
Line 235  my @Fields = ( Line 235  my @Fields = (
              graphable => 'yes',               graphable => 'yes',
              long_title => 'Percent of students whose final answer is wrong',               long_title => 'Percent of students whose final answer is wrong',
              selectable => 'yes',               selectable => 'yes',
              selected => 'yes',               defaultselected => 'yes',
            },             },
            { name   => 'deg_of_diff',             { name   => 'deg_of_diff',
              title  => 'DoDiff',               title  => 'DoDiff',
Line 247  my @Fields = ( Line 247  my @Fields = (
              long_title => 'Degree of Difficulty'.               long_title => 'Degree of Difficulty'.
                            '[ 1 - ((#YES+#yes) / Tries) ]',                             '[ 1 - ((#YES+#yes) / Tries) ]',
              selectable => 'yes',               selectable => 'yes',
              selected => 'yes',               defaultselected => 'yes',
            },             },
            { name   => 'deg_of_disc',             { name   => 'deg_of_disc',
              title  => 'DoDisc',               title  => 'DoDisc',
Line 258  my @Fields = ( Line 258  my @Fields = (
              graphable => 'yes',               graphable => 'yes',
              long_title => 'Degree of Discrimination',               long_title => 'Degree of Discrimination',
              selectable => 'yes',               selectable => 'yes',
              selected => 'no',               defaultselected => 'no',
            },             },
 );  );
   
Line 270  my @SeqFields = ( Line 270  my @SeqFields = (
              special  => 'no',               special  => 'no',
              sortable => 'no',                sortable => 'no', 
              selectable => 'yes',               selectable => 'yes',
              selected => 'no',               defaultselected => 'no',
            },             },
            { name   => 'items',             { name   => 'items',
              title  => '#Items',               title  => '#Items',
Line 281  my @SeqFields = ( Line 281  my @SeqFields = (
              graphable => 'no',               graphable => 'no',
              long_title => 'Number of Items in Sequence',               long_title => 'Number of Items in Sequence',
              selectable => 'yes',               selectable => 'yes',
              selected => 'no',               defaultselected => 'no',
            },             },
            { name   => 'scoremean',             { name   => 'scoremean',
              title  => 'Score Mean',               title  => 'Score Mean',
Line 292  my @SeqFields = ( Line 292  my @SeqFields = (
              graphable => 'no',               graphable => 'no',
              long_title => 'Mean Sequence Score',               long_title => 'Mean Sequence Score',
              selectable => 'yes',               selectable => 'yes',
              selected => 'no',               defaultselected => 'no',
            },             },
            { name   => 'scorestd',             { name   => 'scorestd',
              title  => 'Score STD',               title  => 'Score STD',
Line 303  my @SeqFields = ( Line 303  my @SeqFields = (
              graphable => 'no',               graphable => 'no',
              long_title => 'Standard Deviation of Sequence Scores',               long_title => 'Standard Deviation of Sequence Scores',
              selectable => 'yes',               selectable => 'yes',
              selected => 'no',               defaultselected => 'no',
            },             },
            { name   => 'scoremax',             { name   => 'scoremax',
              title  => 'Score Max',               title  => 'Score Max',
Line 314  my @SeqFields = ( Line 314  my @SeqFields = (
              graphable => 'no',               graphable => 'no',
              long_title => 'Maximum Sequence Score',               long_title => 'Maximum Sequence Score',
              selectable => 'yes',               selectable => 'yes',
              selected => 'no',               defaultselected => 'no',
            },             },
            { name   => 'scoremin',             { name   => 'scoremin',
              title  => 'Score Min',               title  => 'Score Min',
Line 325  my @SeqFields = ( Line 325  my @SeqFields = (
              graphable => 'no',               graphable => 'no',
              long_title => 'Minumum Sequence Score',               long_title => 'Minumum Sequence Score',
              selectable => 'yes',               selectable => 'yes',
              selected => 'no',               defaultselected => 'no',
            },             },
            { name   => 'scorecount',             { name   => 'scorecount',
              title  => 'Score N',               title  => 'Score N',
Line 336  my @SeqFields = ( Line 336  my @SeqFields = (
              graphable => 'no',               graphable => 'no',
              long_title => 'Number of Students in score computations',               long_title => 'Number of Students in score computations',
              selectable => 'yes',               selectable => 'yes',
              selected => 'no',               defaultselected => 'no',
            },             },
            { name   => 'countmean',             { name   => 'countmean',
              title  => 'Count Mean',               title  => 'Count Mean',
Line 347  my @SeqFields = ( Line 347  my @SeqFields = (
              graphable => 'no',               graphable => 'no',
              long_title => 'Mean Sequence Score',               long_title => 'Mean Sequence Score',
              selectable => 'yes',               selectable => 'yes',
              selected => 'no',               defaultselected => 'no',
            },             },
            { name   => 'countstd',             { name   => 'countstd',
              title  => 'Count STD',               title  => 'Count STD',
Line 358  my @SeqFields = ( Line 358  my @SeqFields = (
              graphable => 'no',               graphable => 'no',
              long_title => 'Standard Deviation of Sequence Scores',               long_title => 'Standard Deviation of Sequence Scores',
              selectable => 'yes',               selectable => 'yes',
              selected => 'no',               defaultselected => 'no',
            },             },
            { name   => 'countmax',             { name   => 'countmax',
              title  => 'Count Max',               title  => 'Count Max',
Line 369  my @SeqFields = ( Line 369  my @SeqFields = (
              graphable => 'no',               graphable => 'no',
              long_title => 'Maximum Number of Correct Problems',               long_title => 'Maximum Number of Correct Problems',
              selectable => 'yes',               selectable => 'yes',
              selected => 'no',               defaultselected => 'no',
            },             },
            { name   => 'countmin',             { name   => 'countmin',
              title  => 'Count Min',               title  => 'Count Min',
Line 380  my @SeqFields = ( Line 380  my @SeqFields = (
              graphable => 'no',               graphable => 'no',
              long_title => 'Minumum Number of Correct Problems',               long_title => 'Minumum Number of Correct Problems',
              selectable => 'yes',               selectable => 'yes',
              selected => 'no',               defaultselected => 'no',
            },             },
            { name   => 'count',             { name   => 'count',
              title  => 'Count N',               title  => 'Count N',
Line 391  my @SeqFields = ( Line 391  my @SeqFields = (
              graphable => 'no',               graphable => 'no',
              long_title => 'Number of Students in score computations',               long_title => 'Number of Students in score computations',
              selectable => 'yes',               selectable => 'yes',
              selected => 'no',               defaultselected => 'no',
            },             },
            { name   => 'KR-21',             { name   => 'KR-21',
              title  => 'KR-21',               title  => 'KR-21',
Line 402  my @SeqFields = ( Line 402  my @SeqFields = (
              graphable => 'no',               graphable => 'no',
              long_title => 'KR-21 reliability statistic',               long_title => 'KR-21 reliability statistic',
              selectable => 'yes',               selectable => 'yes',
              selected => 'no',               defaultselected => 'no',
            },                        },           
 );  );
   
Line 415  sub parse_field_selection { Line 415  sub parse_field_selection {
         $ENV{'form.fieldselections'} = [];          $ENV{'form.fieldselections'} = [];
         foreach my $field (@Fields) {          foreach my $field (@Fields) {
             next if ($field->{'selectable'} ne 'yes');              next if ($field->{'selectable'} ne 'yes');
             if ($field->{'selected'} eq 'yes') {              if ($field->{'defaultselected'} eq 'yes') {
                 push(@{$ENV{'form.fieldselections'}},$field->{'name'});                  push(@{$ENV{'form.fieldselections'}},$field->{'name'});
             }              }
         }          }
     }      }
     #      #
       # Make sure the data we are plotting is there
       my %NeededFields;
       if (exists($ENV{'form.plot'}) && $ENV{'form.plot'} ne '' &&
           $ENV{'form.plot'} ne 'none') {
           if ($ENV{'form.plot'} eq 'degrees') {
               $NeededFields{'deg_of_diff'}++;
               $NeededFields{'deg_of_disc'}++;
           } elsif ($ENV{'form.plot'} eq 'tries statistics') {
               $NeededFields{'mean_tries'}++;
               $NeededFields{'std_tries'}++;
               $NeededFields{'problem_num'}++;
           } else {
               $NeededFields{$ENV{'form.plot'}}++;
           }
       }
       #
     # This should not happen, but in case it does...      # This should not happen, but in case it does...
     if (ref($ENV{'form.fieldselections'}) ne 'ARRAY') {      if (ref($ENV{'form.fieldselections'}) ne 'ARRAY') {
         $ENV{'form.fieldselections'} = [$ENV{'form.fieldselections'}];          $ENV{'form.fieldselections'} = [$ENV{'form.fieldselections'}];
Line 429  sub parse_field_selection { Line 445  sub parse_field_selection {
     # Set the field data and the selected fields (for easier checking)      # Set the field data and the selected fields (for easier checking)
     undef(%SelectedFields);      undef(%SelectedFields);
     foreach my $field (@Fields) {      foreach my $field (@Fields) {
         next if ($field->{'selectable'} ne 'yes');          if ($field->{'selectable'} ne 'yes') {
         $field->{'selected'} = 'no';              $field->{'selected'} = 'yes';
           } else {
               $field->{'selected'} = 'no';
           }
           if (exists($NeededFields{$field->{'name'}})) {
               $field->{'selected'} = 'yes';
               $SelectedFields{$field->{'name'}}++;
           }
         foreach my $selection (@{$ENV{'form.fieldselections'}}) {          foreach my $selection (@{$ENV{'form.fieldselections'}}) {
             if ($selection eq $field->{'name'} || $selection eq 'all') {              if ($selection eq $field->{'name'} || $selection eq 'all') {
                 $field->{'selected'} = 'yes';                  $field->{'selected'} = 'yes';
Line 470  select sections, maps, and output. Line 493  select sections, maps, and output.
 ###############################################  ###############################################
 ###############################################  ###############################################
 sub CreateInterface {  sub CreateInterface {
       #
     &parse_field_selection();      &parse_field_selection();
       #
     my $Str = '';      my $Str = '';
     $Str .= &Apache::lonhtmlcommon::breadcrumbs      $Str .= &Apache::lonhtmlcommon::breadcrumbs
         (undef,'Overall Problem Statistics','Statistics_Overall_Key');          (undef,'Overall Problem Statistics','Statistics_Overall_Key');

Removed from v.1.79  
changed lines
  Added in v.1.80


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>