--- loncom/interface/loncreatecourse.pm 2003/09/03 21:24:32 1.33
+++ loncom/interface/loncreatecourse.pm 2006/08/19 01:21:22 1.97
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Create a course
#
-# $Id: loncreatecourse.pm,v 1.33 2003/09/03 21:24:32 www Exp $
+# $Id: loncreatecourse.pm,v 1.97 2006/08/19 01:21:22 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -25,20 +25,8 @@
#
# 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;
@@ -47,112 +35,21 @@ use Apache::lonnet;
use Apache::loncommon;
use Apache::lonratedt;
use Apache::londocs;
-
-# -------------------------------------------- Return path to profile directory
-
-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;
-}
-
-# ============================================================= Read a userfile
-
-sub readfile {
- my ($courseid,$which)=@_;
- my %crsdata=&Apache::lonnet::coursedescription($courseid);
- return &Apache::lonnet::getfile('/uploaded/'.$crsdata{'domain'}.'/'.
- $crsdata{'num'}.'/'.$which);
-}
-
-# ============================================================ Write a userfile
-
-sub writefile {
- (my $courseid, my $which,$ENV{'form.output'})=@_;
- my %crsdata=&Apache::lonnet::coursedescription($courseid);
- return &Apache::lonnet::finishuserfileupload(
- $crsdata{'num'},$crsdata{'domain'},
- $crsdata{'home'},
- 'output',$which);
-}
-
-# ============================================================= Copy a userfile
-
-sub copyfile {
- my ($origcrsid,$newcrsid,$which)=@_;
- return &writefile($newcrsid,$which,&readfile($origcrsid,$which));
-}
-
-# =============================================================== Copy a dbfile
-
-sub copydb {
- my ($origcrsid,$newcrsid,$which)=@_;
- $which=~s/\.db$//;
- my %origcrsdata=&Apache::lonnet::coursedescription($origcrsid);
- my %newcrsdata= &Apache::lonnet::coursedescription($newcrsid);
- my %data=&Apache::lonnet::dump
- ($which,$origcrsdata{'domain'},$origcrsdata{'num'});
- return &Apache::lonnet::put
- ($which,\%data,$newcrsdata{'domain'},$newcrsdata{'num'});
-}
-
-# ========================================================== Copy all userfiles
-
-sub copyuserfiles {
- my ($origcrsid,$newcrsid)=@_;
- foreach (&crsdirlist($origcrsid,'userfiles')) {
- ©file($origcrsid,$newcrsid,$_);
- }
-}
-# ========================================================== Copy all userfiles
-
-sub copydbfiles {
- my ($origcrsid,$newcrsid)=@_;
- foreach (&crsdirlist($origcrsid)) {
- if ($_=~/\.db$/) {
- unless
- ($_=~/^(nohist\_|discussiontimes|classlist|versionupdate)/) {
- ©db($origcrsid,$newcrsid,$_);
- }
- }
- }
-}
-
-# ======================================================= Copy all course files
-
-sub copycoursefiles {
- my ($origcrsid,$newcrsid)=@_;
- ©userfiles($origcrsid,$newcrsid);
- ©dbfiles($origcrsid,$newcrsid);
-}
+use Apache::lonlocal;
+use Apache::londropadd;
+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 $crstype = 'Group';
+ if ($env{'form.phase'} eq 'courseone') {
+ $crstype = 'Course';
+ }
+ my $defdom=$env{'request.role.domain'};
my %host_servers = &Apache::loncommon::get_library_servers($defdom);
my $course_home = '\n";
my $domform = &Apache::loncommon::select_dom_form($defdom,'ccdomain');
- my $bodytag=&Apache::loncommon::bodytag('Create a New Course');
- my $helplink=&Apache::loncommon::help_open_topic('Create_Course','Help on Creating Courses');
my $cloneform=&Apache::loncommon::select_dom_form
- ($ENV{'request.role.domain'},'clonedomain').
+ ($env{'request.role.domain'},'clonedomain').
&Apache::loncommon::selectcourse_link
- ('ccrs','clonecourse','clonedomain');
- my $coursebrowserjs=&Apache::loncommon::coursebrowser_javascript();
- $r->print(<
+
+
+
+
+
+
+
-Course Title:
-
+$lt{'stat'}
+
+
+
-Course Home Server:$course_home
+
+
-Course ID/Number (optional)
-
+
+
-Map:
-
-Select Map
+
+$lt{'smap'}
-Do NOT generate as standard course
-First Resource
+$lt{'fres'}
+
+
+
+
+
+
+
+
+
+
+Course Information
+$lt{'cinf'}
+$lt{'iinf'}
+($lt{'toin'})
+($lt{'csli'})
+($lt{'cscs'})
Course Content
+$lt{'crco'}
-
-
+Completely new course Clone an existing course $lt{'cncr'} $lt{'cecr'}
-(only check if you know what you are doing):
-
-
(standard courses only):
-Blank
+
+
+($lt{'ocik'}):
+
+
($lt{'stco'}):
+
-Syllabus
+
-Navigate
+
-Course ID:
+
+
+
-Domain:
-$cloneform
-Additional settings, if specified below, will override cloned settings.
+
+$lt{'asov'}.
Assessment Parameters
+$lt{'assp'}
+$lt{'mssg'}
+
+
+$lt{'cmmn'}
+
+
+$lt{'acco'}
+
+
+$lt{'rshm'}
+$lt{'aens'}
+$lt{'aesc'}
+
+$lt{'aadd'} + + +
+$lt{'audr'} + + +
+$lt{'dacu'} +$enroll_table +
+$lt{'dacc'} +$access_table +
+$lt{'psam'}.
+$krbform
+
+$intform
+
+$locform
+
+$lt{'nech'}
+$lt{'nccl'}
+
+
+
+$lt{'ndcl'}
+
+
+
+$lt{'irsp'} + + +
-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: - + +
+ +
+
-$lt{'cngr'} | $lt{'cegr'} |
---|---|
-Username: + +$lt{'smap'}
-Domain: $domform
+
+
-Immediately expire own role as Course Coordinator:
-
+$lt{'fres'} |
+
+ + + + +$lt{'asov'}. + |
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
++
+
- - + +
++ + +
-