--- loncom/imspackages/imsimport.pm 2013/07/15 16:13:16 1.42 +++ loncom/imspackages/imsimport.pm 2013/09/23 17:35:05 1.44 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: imsimport.pm,v 1.42 2013/07/15 16:13:16 bisitz Exp $ +# $Id: imsimport.pm,v 1.44 2013/09/23 17:35:05 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -332,12 +332,12 @@ sub display_two { type => 'Content type', addo => 'Additional options', chec => 'Check Import first', - bbus => 'Choose a course to receive bulletin boards and user enrollment', - list => 'A listing of possible course targets will be displayed if import of bulletin boards and/or enrollment is checked above (step 3). If you do not plan to import either of these content types, there is no need to specify a course.', + bbus => 'Choose a course to receive discussion boards and user enrollment', + list => 'A listing of possible course targets will be displayed if import of discussion boards and/or enrollment is checked above (step 3). If you do not plan to import either of these content types, there is no need to specify a course.', chco => 'Choose course:', nreq => 'Not required', - yodo => 'You do not have active course coordinator status in any LON-CAPA courses currently, so bulletin boards and enrollment information included in your IMS package will be discarded, regardless of your import choice for these two items above (step 3).', - ifyo => "If you wish to import bulletin boards and/or user information into LON-CAPA please click 'Exit now' to quit the current IMS import process, and contact your domain coordinator and request a course coordinator role in a LON-CAPA course into which you can upload bulletin boards and/or enroll users.", + yodo => 'You do not have active course coordinator status in any LON-CAPA courses currently, so discussion boards and enrollment information included in your IMS package will be discarded, regardless of your import choice for these two items above (step 3).', + ifyo => "If you wish to import discussion boards and/or user information into LON-CAPA please click 'Exit now' to quit the current IMS import process, and contact your domain coordinator and request a course coordinator role in a LON-CAPA course into which you can upload discussion boards and/or enroll users.", impa => 'Import package', unpa => 'Unpacking of your IMS package failed because an IMS manifest file was not located in the package', proc => 'Processing of your IMS package failed because the file you uploaded could not be unzipped', @@ -543,7 +543,9 @@ sub display_three { my $manifest_result = &Apache::imsprocessor::process_manifest($cms,$tempdir, \%resources,\%items,\%hrefs,\%resinfo,'prepare', \%includedres); + if ($manifest_result eq 'ok') { + my %possibledep; foreach my $res (sort keys %resources) { if ($importareas{$resources{$res}{type}}) { $includedres{$res} = 1; @@ -552,6 +554,13 @@ sub display_three { $resources{$res}{type} eq 'webct.question') { push(@assessmentfiles,$res); } + } elsif ($resources{$res}{usedby}) { + $possibledep{$res} = 1; + } + } + foreach my $res (sort(keys(%possibledep))) { + if ($includedres{$resources{$res}{usedby}}) { + $includedres{$res} = 1; } } foreach my $itm (sort keys %items) { @@ -566,6 +575,7 @@ sub display_three { $manifest_result = &Apache::imsprocessor::process_manifest($cms,$tempdir, \%resources,\%items,\%hrefs,\%resinfo,'build', \%includedres,\%includeditems); + if ($manifest_result eq 'ok') { &Apache::imsprocessor::target_resources(\%resources,\%importareas,\@targets); @@ -584,16 +594,16 @@ sub display_three { &Apache::imsprocessor::process_resinfo($cms,'CSTR',$tempdir,$destdir,\%items,\%resources,\@targets,\@boards,\@announcements,\@quizzes,\@surveys,\@pools,\@groups,\%messages,\@timestamp,\%boardnum,\%resinfo,$udom,$uname,$cdom,$crs,$db_handling,$user_handling,\%total,$seqstem,$seqstem,\@resrcfiles,\@packages,\%hrefs,\@pages,\@sequences,\%randompicks); - my $copy_result = &Apache::imsprocessor::copy_resources('CSTR',$cms,\%hrefs,$tempdir,\@targets,\%urls,$crs,$cdom,$destdir,$timenow,\@assessmentfiles,\%total); + my $copy_result = &Apache::imsprocessor::copy_resources('CSTR',$cms,\%hrefs,\%resources,$tempdir,\@targets,\%urls,$crs,$cdom,$destdir,$timenow,\@assessmentfiles,\%total); &Apache::imsprocessor::build_structure($cms,'CSTR',$destdir,\%items,\%resinfo,\%resources,\@targets,\%hrefs,$udom,$uname,$dirpath,$timenow,$cdom,$crs,\@timestamp,\%total,\@boards,\@announcements,\@quizzes,\@surveys,\@pools,\%boardnum,\@pages,\@sequences,\@topurls,\@topnames,\@packages,\%includeditems,\%randompicks); $r->print("

IMS import completed

"); if ($cms eq 'angel5') { - $r->print($lt{'yims'}.' '.&mt('A total of [quant,_1,sequence], [quant,_2,composite page], and [quant,_3,bulletin board] have been created, and [quant,_4,file] copied.',$total{seq},$total{page},$total{board},$total{file})."\n"); + $r->print($lt{'yims'}.' '.&mt('A total of [quant,_1,sequence], [quant,_2,composite page], and [quant,_3,discussion board] have been created, and [quant,_4,file] copied.',$total{seq},$total{page},$total{board},$total{file})."\n"); } else { - $r->print($lt{'yims'}.' '.&mt('A total of [quant,_1,sequence], [quant,_2,composite page], [quant,_3,bulletin board], [quant,_4,quiz,quizzes], [quant,_5,survey], and [quant,_6,problem] have been created, and [quant,_7,file] copied.',$total{seq},$total{page},$total{board},$total{quiz},$total{surv},$total{prob},$total{file})."\n"); + $r->print($lt{'yims'}.' '.&mt('A total of [quant,_1,sequence], [quant,_2,composite page], [quant,_3,discussion board], [quant,_4,quiz,quizzes], [quant,_5,survey], and [quant,_6,problem] have been created, and [quant,_7,file] copied.',$total{seq},$total{page},$total{board},$total{quiz},$total{surv},$total{prob},$total{file})."\n"); } $r->print('

'.$lt{'plsv'}.' '.$lt{'tseq'}.'

'.$lt{'tfin'}.'

'.$lt{'disp'}.''); my $londocroot = $r->dir_config('lonDocRoot');