--- loncom/html/adm/helper/course.initialization.helper 2006/10/17 15:04:59 1.17
+++ loncom/html/adm/helper/course.initialization.helper 2007/10/29 19:26:48 1.21
@@ -192,7 +192,7 @@
-
+
Course members can provide feedback about the course. You can choose
who will receive the feedback, such as a different instructor or a
TA. Please enter their LON-CAPA address below, in the
@@ -233,6 +233,84 @@
+
+
+ Existing courses can be cloned when creating new courses.
Cloning will copy the course structure, contents, and most parameters (automatically advancing any date parameters by six months).
+ Names of owners of other courses permitted to clone this course:
+
+
+
+ return &{$helper->{DATA}->{GETVAL}}('cloners');
+
+
+ my ($output,@cloners,%disallowed);
+ my $match_dom = $LONCAPA::match_domain;
+ my $match_uname = $LONCAPA::match_username;
+ if ($val =~ /,/) {
+ @cloners = split(/,/,$val);
+ } else {
+ $cloners[0] = $val;
+ }
+ foreach my $item (@cloners) {
+ next if ($item =~ /^\s*$/);
+ next if ($item eq '*');
+
+ my ($clname,$cldom) = split(/:/,$item);
+ if ($clname eq '*') {
+ if ($cldom =~ /^$match_dom$/) {
+ if (!&Apache::lonnet::domain($cldom)) {
+ $disallowed{'domain'} .= $item.',';
+ }
+ } else {
+ $disallowed{'format'} .= $item.',';
+ }
+ } elsif ($item !~/^($match_uname)\:($match_dom)$/) {
+ $disallowed{'format'} .= $item.',';
+ } else {
+ if (!&Apache::lonnet::domain($cldom)) {
+ $disallowed{'domain'} .= $item.',';
+ } elsif (&Apache::lonnet::homeserver($clname,$cldom) eq 'no_host') {
+ $disallowed{'newuser'} .= $item.',';
+ }
+ }
+ }
+ foreach my $key (keys(%disallowed)) {
+ $disallowed{$key} =~ s/,$//;
+ }
+ if (keys(%disallowed) > 0) {
+ $output.= 'Your input contained the following errors:';
+ if (defined($disallowed{'format'})) {
+ $output .= '- Invalid format: '.
+ ''.$disallowed{'format'}.'
';
+ }
+ if (defined($disallowed{'domain'})) {
+ $output .= '- Domain(s) do(es) not exist: '.
+ ''.$disallowed{'domain'}.'
';
+ }
+ if (defined($disallowed{'newuser'})) {
+ $output .= '- LON-CAPA user(s) do(es) not exist: '.
+ ''.$disallowed{'newuser'}.'
';
+ }
+ $output .= '
';
+ }
+ return $output;
+
+
+ if (&{$helper->{DATA}->{SETVAL}}('cloners', $element->getValue())) {
+
+
+ return 'Users allowed to clone course updated to ' . $element->getValue() .
+ '.';
+ }
+
+
+
+
(Course Coordinators automatically have the right to clone their own courses.)
+
+ - Format: user:domain, where "user" and "domain"
+ are the LON-CAPA username and domain of the user.
- Separate different users with a comma.
- Use *:domain to allow course to be cloned by any course owner in the specified domain.
- Use * to allow unrestricted cloning by all course owners in all domains.
+
+
Your course is now set up. Please select the Finish Course
Initialization button to re-intialize the course with your chosen