--- loncom/interface/loncreatecourse.pm 2003/08/30 18:49:10 1.29 +++ loncom/interface/loncreatecourse.pm 2008/11/18 19:14:22 1.112 @@ -1,7 +1,7 @@ # The LearningOnline Network # Create a course # -# $Id: loncreatecourse.pm,v 1.29 2003/08/30 18:49:10 www Exp $ +# $Id: loncreatecourse.pm,v 1.112 2008/11/18 19:14:22 jms Exp $ # # Copyright Michigan State University Board of Trustees # @@ -25,93 +25,63 @@ # # http://www.lon-capa.org/ # -# (My Desk -# -# (Internal Server Error Handler -# -# (Login Screen -# 5/21/99,5/22,5/25,5/26,5/31,6/2,6/10,7/12,7/14, -# 1/14/00,5/29,5/30,6/1,6/29,7/1,11/9 Gerd Kortemeyer) -# -# 3/1/1 Gerd Kortemeyer) -# -# 3/1 Gerd Kortemeyer) -# -# 2/14,2/16,2/17,7/6 Gerd Kortemeyer -# -package Apache::loncreatecourse; +### -use strict; -use Apache::Constants qw(:common :http); -use Apache::lonnet; -use Apache::loncommon; -use Apache::lonratedt; -use Apache::londocs; +=head1 NAME -# -------------------------------------------- Return path to profile directory +Apache::loncreatecourse.pm -sub propath { - my ($udom,$uname)=@_; - $udom=~s/\W//g; - $uname=~s/\W//g; - my $subdir=$uname.'__'; - $subdir =~ s/(.)(.)(.).*/$1\/$2\/$3/; - my $proname="$Apache::lonnet::perlvar{'lonUsersDir'}/$udom/$subdir/$uname"; - return $proname; -} - -# ================================================ Get course directory listing - -sub crsdirlist { - my ($courseid,$which)=@_; - unless ($which) { $which=''; } - my %crsdata=&Apache::lonnet::coursedescription($courseid); - my @listing=&Apache::lonnet::dirlist - ($which,$crsdata{'domain'},$crsdata{'num'}, - &propath($crsdata{'domain'},$crsdata{'num'})); - my @output=(); - foreach (@listing) { - unless ($_=~/^\./) { - push (@output,(split(/\&/,$_))[0]); - } - } - return @output; -} +=head1 SYNOPSIS -# ============================================================= Read a userfile +Allows domain coordinators to create new +courses and assign course coordinators. -sub readfile { - my ($courseid,$which)=@_; - my %crsdata=&Apache::lonnet::coursedescription($courseid); - return &Apache::lonnet::getfile('/uploaded/'.$crsdata{'domain'}.'/'. - $crsdata{'num'}.'/'.$which); -} +This is part of the LearningOnline Network with CAPA project +described at http://www.lon-capa.org. -# ============================================================ Write a userfile +=head1 SUBROUTINES -sub writefile { - my ($courseid,$which,$data)=@_; - my %crsdata=&Apache::lonnet::coursedescription($courseid); - $ENV{'form.output'}=$data; - return &Apache::lonnet::finishuserfileupload( - $crsdata{'num'},$crsdata{'domain'}, - $crsdata{'home'}, - 'output',$which); -} +=over -# ============================================================= Copy a userfile +=item handler() -sub copyfile { - my ($origcrsid,$newcrsid,$which)=@_; - return &writefile($newcrsid,$which,&readfile($origcrsid,$which)); -} +=item print_course_creation_page() + +=item create_course() + +=item print_intro_page() + +=item upload_batchfile() + +=item process_batchfile() + +=back + +=cut + +package Apache::loncreatecourse; + +use strict; +use Apache::Constants qw(:common :http); +use Apache::lonnet; +use Apache::loncommon; +use Apache::londocs; +use Apache::lonlocal; +use Apache::lonuserutils; +use Apache::lonclonecourse; +use LONCAPA::batchcreatecourse; +use LONCAPA; # ===================================================== Phase one: fill-in form sub print_course_creation_page { my $r=shift; - my $defdom=$ENV{'request.role.domain'}; - my %host_servers = &Apache::loncommon::get_library_servers($defdom); + my $crstype = 'Group'; + if ($env{'form.phase'} eq 'courseone') { + $crstype = 'Course'; + } + my $defdom=$env{'request.role.domain'}; + my %host_servers = &Apache::lonnet::get_servers($defdom,'library'); my $course_home = '
+ +ENDDOCUMENT + + } elsif ($crstype eq 'Group') { + $r->print(<-Course Title: - +
-Course Home Server:$course_home +
-Course ID/Number (optional) - +
-$lt{'cngr'} | $lt{'cegr'} |
---|---|
-Map: - -Select Map + +$lt{'smap'} -Do NOT generate as standard course -(only check if you know what you are doing): - - -
-First Resource (standard courses only):
-Blank
+
+
+$lt{'fres'} Assessment Parameters+ |
+
+ + + + + + + +$lt{'asov'}. + |
+
-Open all assessments:
-
+
+
+
-Set course policy feedback to Course Coordinator: - -
-Set content feedback to Course Coordinator:
-
+
+
+
-Disable student resource discussion:
-
-Disable student use of chatrooms:
-
+
+
+
-Students need access key to enter course: - +
--Username: -
-Domain: $domform -
-Immediately expire own role as Course Coordinator: - +
+
- - + +
++ + +
-