From: Arnie P. v. a. <we...@ma...> - 2009-11-02 17:07:54
|
Log Message: ----------- Allow reduced scoring to be enabled or disabled for individual assignments. Default is disabled. Modified Files: -------------- webwork2/lib/WeBWorK/DB/Record: UserSet.pm Revision Data ------------- Index: UserSet.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/DB/Record/UserSet.pm,v retrieving revision 1.21 retrieving revision 1.22 diff -Llib/WeBWorK/DB/Record/UserSet.pm -Llib/WeBWorK/DB/Record/UserSet.pm -u -r1.21 -r1.22 --- lib/WeBWorK/DB/Record/UserSet.pm +++ lib/WeBWorK/DB/Record/UserSet.pm @@ -37,6 +37,7 @@ due_date => { type=>"BIGINT" }, answer_date => { type=>"BIGINT" }, published => { type=>"INT" }, + enable_reduced_scoring => { type=>"INT" }, assignment_type => { type=>"TEXT" }, attempts_per_version => { type=>"INT" }, time_interval => { type=>"INT" }, @@ -46,9 +47,9 @@ problem_randorder => { type=>"INT" }, version_last_attempt_time => { type=>"BIGINT" }, problems_per_page => { type=>"INT" }, - hide_score => { type=>"ENUM('N','Y','BeforeAnswerDate')" }, - hide_score_by_problem => { type=>"ENUM('N','Y')" }, - hide_work => { type=>"ENUM('N','Y','BeforeAnswerDate')" }, + hide_score => { type=>"ENUM('N','Y','BeforeAnswerDate')" }, + hide_score_by_problem => { type=>"ENUM('N','Y')" }, + hide_work => { type=>"ENUM('N','Y','BeforeAnswerDate')" }, time_limit_cap => { type=>"ENUM('0','1')" }, restrict_ip => { type=>"ENUM('No','RestrictTo','DenyFrom')" }, relax_restrict_ip => { type=>"ENUM('No','AfterAnswerDate','AfterVersionAnswerDate')" }, |
From: Arnie P. v. a. <we...@ma...> - 2009-11-02 17:08:28
|
Log Message: ----------- Allow reduced scoring to be enabled or disabled for individual assignments. Default is disabled. Modified Files: -------------- webwork2/lib/WeBWorK/DB/Record: Set.pm Revision Data ------------- Index: Set.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/DB/Record/Set.pm,v retrieving revision 1.22 retrieving revision 1.23 diff -Llib/WeBWorK/DB/Record/Set.pm -Llib/WeBWorK/DB/Record/Set.pm -u -r1.22 -r1.23 --- lib/WeBWorK/DB/Record/Set.pm +++ lib/WeBWorK/DB/Record/Set.pm @@ -35,6 +35,7 @@ due_date => { type=>"BIGINT" }, answer_date => { type=>"BIGINT" }, published => { type=>"INT" }, + enable_reduced_scoring => { type=>"INT" }, assignment_type => { type=>"TEXT" }, attempts_per_version => { type=>"INT" }, time_interval => { type=>"INT" }, |
From: Arnie P. v. a. <we...@ma...> - 2009-11-02 17:09:39
|
Log Message: ----------- Allow reduced scoring to be enabled or disabled for individual assignments. Default is disabled. Modified Files: -------------- webwork2/lib/WeBWorK/Utils: Tasks.pm Revision Data ------------- Index: Tasks.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/Utils/Tasks.pm,v retrieving revision 1.18 retrieving revision 1.19 diff -Llib/WeBWorK/Utils/Tasks.pm -Llib/WeBWorK/Utils/Tasks.pm -u -r1.18 -r1.19 --- lib/WeBWorK/Utils/Tasks.pm +++ lib/WeBWorK/Utils/Tasks.pm @@ -81,7 +81,8 @@ $set->open_date(time()); $set->due_date(time()); $set->answer_date(time()); - $set->published(0); + $set->published(0); + $set->enable_reduced_scoring(0); $set->hardcopy_header(""); return($set); } @@ -96,7 +97,8 @@ $set->open_date(time()); $set->due_date(time()); $set->answer_date(time()); - $set->published(0); + $set->published(0); + $set->enable_reduced_scoring(); $set->hardcopy_header(""); $set->version_id(1); $set->attempts_per_version(0); |
From: Arnie P. v. a. <we...@ma...> - 2009-11-02 17:10:32
|
Log Message: ----------- Allow reduced scoring to be enabled or disabled for individual assignments. Default is disabled. Modified Files: -------------- webwork2/lib/WeBWorK/ContentGenerator/Instructor: ProblemSetDetail.pm Revision Data ------------- Index: ProblemSetDetail.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator/Instructor/ProblemSetDetail.pm,v retrieving revision 1.75 retrieving revision 1.76 diff -Llib/WeBWorK/ContentGenerator/Instructor/ProblemSetDetail.pm -Llib/WeBWorK/ContentGenerator/Instructor/ProblemSetDetail.pm -u -r1.75 -r1.76 --- lib/WeBWorK/ContentGenerator/Instructor/ProblemSetDetail.pm +++ lib/WeBWorK/ContentGenerator/Instructor/ProblemSetDetail.pm @@ -38,7 +38,7 @@ # but they are functionally and semantically different # these constants determine which fields belong to what type of record -use constant SET_FIELDS => [qw(set_header hardcopy_header open_date due_date answer_date published restrict_ip relax_restrict_ip assignment_type attempts_per_version version_time_limit time_limit_cap versions_per_interval time_interval problem_randorder problems_per_page hide_score:hide_score_by_problem hide_work)]; +use constant SET_FIELDS => [qw(set_header hardcopy_header open_date due_date answer_date published enable_reduced_scoring restrict_ip relax_restrict_ip assignment_type attempts_per_version version_time_limit time_limit_cap versions_per_interval time_interval problem_randorder problems_per_page hide_score:hide_score_by_problem hide_work)]; use constant PROBLEM_FIELDS =>[qw(source_file value max_attempts)]; use constant USER_PROBLEM_FIELDS => [qw(problem_seed status num_correct num_incorrect)]; @@ -56,7 +56,7 @@ # FIXME: in the long run, we may want to let hide_score and hide_work be # FIXME: set for non-gateway assignments. right now (11/30/06) they are # FIXME: only used for gateways -use constant SET_FIELD_ORDER => [qw(open_date due_date answer_date published restrict_ip relax_restrict_ip assignment_type)]; +use constant SET_FIELD_ORDER => [qw(open_date due_date answer_date published enable_reduced_scoring restrict_ip relax_restrict_ip assignment_type)]; # use constant GATEWAY_SET_FIELD_ORDER => [qw(attempts_per_version version_time_limit time_interval versions_per_interval problem_randorder problems_per_page hide_score hide_work)]; use constant GATEWAY_SET_FIELD_ORDER => [qw(version_time_limit time_limit_cap attempts_per_version time_interval versions_per_interval problem_randorder problems_per_page hide_score:hide_score_by_problem hide_work)]; @@ -138,6 +138,16 @@ 0 => "No", }, }, + enable_reduced_scoring => { + name => "Reduced Scoring Enabled", + type => "choose", + override => "all", + choices => [qw( 0 1 )], + labels => { + 1 => "Yes", + 0 => "No", + }, + }, restrict_ip => { name => "Restrict Access by IP", type => "choose", |
From: Arnie P. v. a. <we...@ma...> - 2009-11-02 17:10:56
|
Log Message: ----------- Allow reduced scoring to be enabled or disabled for individual assignments. Default is disabled. Modified Files: -------------- webwork2/lib/WeBWorK/ContentGenerator/Instructor: ProblemSetList.pm Revision Data ------------- Index: ProblemSetList.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator/Instructor/ProblemSetList.pm,v retrieving revision 1.108 retrieving revision 1.109 diff -Llib/WeBWorK/ContentGenerator/Instructor/ProblemSetList.pm -Llib/WeBWorK/ContentGenerator/Instructor/ProblemSetList.pm -u -r1.108 -r1.109 --- lib/WeBWorK/ContentGenerator/Instructor/ProblemSetList.pm +++ lib/WeBWorK/ContentGenerator/Instructor/ProblemSetList.pm @@ -86,14 +86,15 @@ use constant HIDE_SETS_THRESHOLD => 500; use constant DEFAULT_PUBLISHED_STATE => 1; +use constant DEFAULT_ENABLED_REDUCED_SCORING_STATE => 0; use constant ONE_WEEK => 60*60*24*7; use constant EDIT_FORMS => [qw(cancelEdit saveEdit)]; use constant VIEW_FORMS => [qw(filter sort edit publish import export score create delete)]; use constant EXPORT_FORMS => [qw(cancelExport saveExport)]; -use constant VIEW_FIELD_ORDER => [ qw( select set_id problems users published open_date due_date answer_date) ]; -use constant EDIT_FIELD_ORDER => [ qw( set_id published open_date due_date answer_date) ]; +use constant VIEW_FIELD_ORDER => [ qw( select set_id problems users published enable_reduced_scoring open_date due_date answer_date) ]; +use constant EDIT_FIELD_ORDER => [ qw( set_id published enable_reduced_scoring open_date due_date answer_date) ]; use constant EXPORT_FIELD_ORDER => [ qw( select set_id filename) ]; # permissions needed to perform a given action @@ -166,6 +167,11 @@ size => 4, access => "readwrite", }, + enable_reduced_scoring => { + type => "checked", + size => 4, + access => "readwrite", + }, assignment_type => { type => "text", size => 20, @@ -312,7 +318,8 @@ open_date due_date answer_date - published + published + enable_reduced_scoring )} = ( "Select", "Edit<br> Problems", @@ -324,7 +331,8 @@ "Open Date", "Due Date", "Answer Date", - "Visible", + "Visible", + "Reduced Scoring<br> Enabled" ); ########## set initial values for state fields @@ -533,6 +541,7 @@ ########## first adjust heading if in editMode $prettyFieldNames{set_id} = "Edit All <br> Set Data" if $editMode; + $prettyFieldNames{enable_reduced_scoring} = 'Enable Reduced<br>Scoring' if $editMode; print CGI::p({},"Showing ", scalar @visibleSetIDs, " out of ", scalar @allSetIDs, " sets."); @@ -861,6 +870,74 @@ return $result } +sub enable_reduced_scoring_form { + my ($self, $onChange, %actionParams) = @_; + + return join ("", + "Make ", + CGI::popup_menu( + -name => "action.enable_reduced_scoring.scope", + -values => [ qw(none all selected) ], + -default => $actionParams{"action.enable_reduced_scoring.scope"}->[0] || "selected", + -labels => { + none => "", + all => "all sets", +# visible => "visible sets", + selected => "selected sets", + }, + -onchange => $onChange, + ), + CGI::popup_menu( + -name => "action.enable_reduced_scoring.value", + -values => [ 0, 1 ], + -default => $actionParams{"action.enable_reduced_scoring.value"}->[0] || "1", + -labels => { + 0 => "disable", + 1 => "enable", + }, + -onchange => $onChange, + ), + " reduced sccoring.", + ); +} + +sub enable_reduced_scoring_handler { + my ($self, $genericParams, $actionParams, $tableParams) = @_; + + my $r = $self->r; + my $db = $r->db; + + my $result = ""; + + my $scope = $actionParams->{"action.enable_reduced_scoring.scope"}->[0]; + my $value = $actionParams->{"action.enable_reduced_scoring.value"}->[0]; + + my $verb = $value ? "enabled" : "disabled"; + + my @setIDs; + + if ($scope eq "none") { # FIXME: double negative "Make no sets hidden" might make professor expect all sets to be made visible. + @setIDs = (); + $result = "No change made to any set."; + } elsif ($scope eq "all") { + @setIDs = @{ $self->{allSetIDs} }; + $result = "Reduced Scoring $verb for all sets."; + } elsif ($scope eq "visible") { + @setIDs = @{ $self->{visibleSetIDs} }; + $result = "Reduced Scoring $verb for visable sets."; + } elsif ($scope eq "selected") { + @setIDs = @{ $genericParams->{selected_sets} }; + $result = "Reduced Scoring $verb for selected sets."; + } + + # can we use UPDATE here, instead of fetch/change/store? + my @sets = $db->getGlobalSets(@setIDs); + + map { $_->enable_reduced_scoring("$value") if $_; $db->putGlobalSet($_); } @sets; + + return $result + +} sub score_form { my ($self, $onChange, %actionParams) = @_; @@ -1023,6 +1100,7 @@ $newSetRecord->due_date(time + 2*ONE_WEEK ); $newSetRecord->answer_date(time + 2*ONE_WEEK ); $newSetRecord->published(DEFAULT_PUBLISHED_STATE); # don't want students to see an empty set + $newSetRecord->enable_reduced_scoring(DEFAULT_ENABLED_REDUCED_SCORING_STATE); $db->addGlobalSet($newSetRecord); } elsif ($type eq "copy") { return CGI::div({class => "ResultsWithError"}, "Failed to duplicate set: no set selected for duplication!") unless $oldSetID =~ /\S/; @@ -1498,6 +1576,7 @@ $newSetRecord->due_date($dueDate); $newSetRecord->answer_date($answerDate); $newSetRecord->published(DEFAULT_PUBLISHED_STATE); + $newSetRecord->enable_reduced_scoring(DEFAULT_ENABLED_REDUCED_SCORING_STATE); # gateway/version data. these should are all initialized to '' # by readSetDef, so for non-gateway/versioned sets they'll just @@ -2020,6 +2099,7 @@ my $setSelected = $options{setSelected}; my $publishedClass = $Set->published ? "Published" : "Unpublished"; + my $enable_reduced_scoringClass = $Set->enable_reduced_scoring ? 'Reduced Scoring Enabled' : 'Reduced Scoring Disabled'; my $users = $db->countSetUsers($Set->set_id); my $totalUsers = $self->{totalUsers}; @@ -2109,6 +2189,7 @@ $fieldValue = $self->formatDateTime($fieldValue) if $field =~ /_date/; $fieldValue =~ s/ / /g unless $editMode; $fieldValue = ($fieldValue) ? "Yes" : "No" if $field =~ /published/ and not $editMode; + $fieldValue = ($fieldValue) ? "Yes" : "No" if $field =~ /enable_reduced_scoring/ and not $editMode; push @tableCells, CGI::font({class=>$publishedClass}, $self->fieldEditHTML($fieldName, $fieldValue, \%properties)); #$fakeRecord{$field} = CGI::font({class=>$publishedClass}, $self->fieldEditHTML($fieldName, $fieldValue, \%properties)); } |
From: Arnie P. v. a. <we...@ma...> - 2009-11-02 17:11:28
|
Log Message: ----------- Allow reduced scoring to be enabled or disabled for individual assignments. Default is disabled. Modified Files: -------------- webwork2/lib/WeBWorK/ContentGenerator: Problem.pm Revision Data ------------- Index: Problem.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator/Problem.pm,v retrieving revision 1.219 retrieving revision 1.220 diff -Llib/WeBWorK/ContentGenerator/Problem.pm -Llib/WeBWorK/ContentGenerator/Problem.pm -u -r1.219 -r1.220 --- lib/WeBWorK/ContentGenerator/Problem.pm +++ lib/WeBWorK/ContentGenerator/Problem.pm @@ -415,6 +415,14 @@ # don't do anything just yet, maybe we're a professor and we're # fabricating a set or haven't assigned it to ourselves just yet } + # When a set is created enable_reduced_scoring is null, so we have to set it + if ( $set and $set->enable_reduced_scoring ne "0" and $set->enable_reduced_scoring ne "1") { + my $globalSet = $db->getGlobalSet($set->set_id); + $globalSet->enable_reduced_scoring("0"); # defaults to disabled + $db->putGlobalSet($globalSet); + $set = $db->getMergedSet($effectiveUserName, $setName); + } + # obtain the merged problem for $effectiveUser my $problem = $db->getMergedProblem($effectiveUserName, $setName, $problemNumber); # checked |
From: Arnie P. v. a. <we...@ma...> - 2009-11-02 17:11:52
|
Log Message: ----------- Allow reduced scoring to be enabled or disabled for individual assignments. Default is disabled. Modified Files: -------------- webwork2/lib/WeBWorK/ContentGenerator: ProblemSet.pm Revision Data ------------- Index: ProblemSet.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator/ProblemSet.pm,v retrieving revision 1.93 retrieving revision 1.94 diff -Llib/WeBWorK/ContentGenerator/ProblemSet.pm -Llib/WeBWorK/ContentGenerator/ProblemSet.pm -u -r1.93 -r1.94 --- lib/WeBWorK/ContentGenerator/ProblemSet.pm +++ lib/WeBWorK/ContentGenerator/ProblemSet.pm @@ -73,7 +73,14 @@ $db->putGlobalSet($globalSet); $set = $db->getMergedSet($effectiveUserName, $set->set_id); } - + + # When a set is created enable_reduced_scoring is null, so we have to set it + if ($set->enable_reduced_scoring ne "0" and $set->enable_reduced_scoring ne "1") { + my $globalSet = $db->getGlobalSet($set->set_id); + $globalSet->enable_reduced_scoring("0"); # defaults to disabled + $db->putGlobalSet($globalSet); + $set = $db->getMergedSet($effectiveUserName, $set->set_id); + } my $publishedText = ($set->published) ? "visible to students." : "hidden from students."; my $publishedClass = ($set->published) ? "Published" : "Unpublished"; @@ -310,8 +317,9 @@ print CGI::p(CGI::a({href=>$hardcopyURL}, "Download a hardcopy of this homework set.")); + my $enable_reduced_scoring = $set->enable_reduced_scoring; my $reducedScoringPeriod = $ce->{pg}->{ansEvalDefaults}->{reducedScoringPeriod}; - if ($reducedScoringPeriod > 0) { + if ($reducedScoringPeriod > 0 and $enable_reduced_scoring) { my $dueDate = $self->formatDateTime($set->due_date()); my $reducedScoringPeriodSec = $reducedScoringPeriod*60; # $reducedScoringPeriod is in minutes my $reducedScoringValue = $ce->{pg}->{ansEvalDefaults}->{reducedScoringValue}; |
From: Arnie P. v. a. <we...@ma...> - 2009-11-02 17:12:07
|
Log Message: ----------- Allow reduced scoring to be enabled or disabled for individual assignments. Default is disabled. Modified Files: -------------- webwork2/lib/WeBWorK/ContentGenerator: ProblemSets.pm Revision Data ------------- Index: ProblemSets.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator/ProblemSets.pm,v retrieving revision 1.92 retrieving revision 1.93 diff -Llib/WeBWorK/ContentGenerator/ProblemSets.pm -Llib/WeBWorK/ContentGenerator/ProblemSets.pm -u -r1.92 -r1.93 --- lib/WeBWorK/ContentGenerator/ProblemSets.pm +++ lib/WeBWorK/ContentGenerator/ProblemSets.pm @@ -158,6 +158,18 @@ } } + foreach my $set (@sets) { + # make sure enable_reduced_scoring is set to 0 or 1 + if ( $set and $set->enable_reduced_scoring ne "0" and $set->enable_reduced_scoring ne "1") { + my $globalSet = $db->getGlobalSet($set->set_id); + $globalSet->enable_reduced_scoring("0"); # defaults to disabled + $db->putGlobalSet($globalSet); + $set = $db->getMergedSet($effectiveUser, $set->set_id); + } else { + die "set $set not defined" unless $set; + } + } + # gateways/versioned sets require dealing with output data slightly # differently, so check for those here debug("Begin set-type check"); |
From: Arnie P. v. a. <we...@ma...> - 2009-11-02 17:14:19
|
Log Message: ----------- Allow reduced scoring to be enabled or disabled for individual assignments. Default is disabled. Modified Files: -------------- webwork2/lib/WeBWorK: PG.pm Revision Data ------------- Index: PG.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/PG.pm,v retrieving revision 1.76 retrieving revision 1.77 diff -Llib/WeBWorK/PG.pm -Llib/WeBWorK/PG.pm -u -r1.76 -r1.77 --- lib/WeBWorK/PG.pm +++ lib/WeBWorK/PG.pm @@ -93,7 +93,7 @@ $envir{texDisposition} = "pdf"; # in webwork2, we use pdflatex # Problem Information - # ADDED: courseName, formatedDueDate + # ADDED: courseName, formatedDueDate, enable_reduced_scoring $envir{openDate} = $set->open_date; $envir{formattedOpenDate} = formatDateTime($envir{openDate}, $ce->{siteDefaults}{timezone}); @@ -106,6 +106,7 @@ $envir{problemValue} = $problem->value; $envir{sessionKey} = $key; $envir{courseName} = $ce->{courseName}; + $envir{enable_reduced_scoring} = $set->enable_reduced_scoring; # Student Information # ADDED: studentID |
From: Arnie P. v. a. <we...@ma...> - 2009-11-02 17:15:45
|
Log Message: ----------- Allow reduced scoring to be enabled or disabled for individual assignments. Default is disabled. Modified Files: -------------- webwork2/lib/WebworkSOAP/Classes: UserSet.pm Revision Data ------------- Index: UserSet.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WebworkSOAP/Classes/UserSet.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -Llib/WebworkSOAP/Classes/UserSet.pm -Llib/WebworkSOAP/Classes/UserSet.pm -u -r1.3 -r1.4 --- lib/WebworkSOAP/Classes/UserSet.pm +++ lib/WebworkSOAP/Classes/UserSet.pm @@ -11,6 +11,7 @@ _ATTR due_date $string due_date _ATTR answer_date $string answer_date _ATTR published $string published + _ATTR enable_reduced_scoring $string enable_reduced_scoring _ATTR assignment_type $string assignment_type _ATTR attempts_per_version $string attempts_per_version _ATTR time_interval $string time_interval @@ -34,6 +35,7 @@ $self->{due_date} = SOAP::Data->type( 'string', $data->due_date ); $self->{answer_date} = SOAP::Data->type( 'string', $data->answer_date ); $self->{published} = SOAP::Data->type( 'string', $data->published ); + $self->{enable_reduced_scoring} = SOAP::Data->type( 'string', $data->enable_reduced_scoring ); $self->{assignment_type} = SOAP::Data->type( 'string', $data->assignment_type ); $self->{attempts_per_version} = SOAP::Data->type( 'string', $data->attempts_per_version ); $self->{time_interval} = SOAP::Data->type( 'string', $data->time_interval ); |
From: Arnie P. v. a. <we...@ma...> - 2009-11-02 17:16:17
|
Log Message: ----------- Allow reduced scoring to be enabled or disabled for individual assignments. Default is disabled. Modified Files: -------------- webwork2/lib/WebworkSOAP/Classes: GlobalSet.pm Revision Data ------------- Index: GlobalSet.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WebworkSOAP/Classes/GlobalSet.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -Llib/WebworkSOAP/Classes/GlobalSet.pm -Llib/WebworkSOAP/Classes/GlobalSet.pm -u -r1.3 -r1.4 --- lib/WebworkSOAP/Classes/GlobalSet.pm +++ lib/WebworkSOAP/Classes/GlobalSet.pm @@ -8,6 +8,7 @@ _ATTR due_date $string due_date _ATTR answer_date $string answer_date _ATTR published $string published + _ATTR enable_reduced_scoring $string enable_reduced_scoring _ATTR assignment_type $string assignment_type _ATTR attempts_per_version $string attempts_per_version _ATTR time_interval $string time_interval @@ -29,6 +30,7 @@ $self->{due_date} = SOAP::Data->type( 'string', $data->due_date ); $self->{answer_date} = SOAP::Data->type( 'string', $data->answer_date ); $self->{published} = SOAP::Data->type( 'string', $data->published ); + $self->{enable_reduced_scoring} = SOAP::Data->type( 'string', $data->enable_reduced_scoring ); $self->{assignment_type} = SOAP::Data->type( 'string', $data->assignment_type ); $self->{attempts_per_version} = SOAP::Data->type( 'string', $data->attempts_per_version ); $self->{time_interval} = SOAP::Data->type( 'string', $data->time_interval ); |