Diff for /doc/loncapafiles/updatequery.piml between versions 1.35 and 1.42

version 1.35, 2005/02/06 07:57:57 version 1.42, 2005/10/26 19:38:15
Line 70  you must contact lon-capa\@lon-capa.org. Line 70  you must contact lon-capa\@lon-capa.org.
 3) DEVELOPMENT - you want to do software (not content!) development with  3) DEVELOPMENT - you want to do software (not content!) development with
                  this workstation and eventually link it with the                   this workstation and eventually link it with the
                  workstations of other LON-CAPA software developers.                   workstations of other LON-CAPA software developers.
 4) PRESERVE the existing hosts.tab and domain.tab  4) RUNNING YOUR OWN CLUSTER - this machine is not in the standard LON-CAPA
                 (/home/httpd/lonTabs/hosts.tab and                   clusters and won't be in the future and you want the existing
                  /home/httpd/lonTabs/domain.tab)                   hosts.tab and domain.tab files to be left alone.
                    (This choice is unlikely what you want to select.)
 END  END
 # Option number 26 will install rawhide_hosts.tab, but  # Option number 26 will install rawhide_hosts.tab, but
 # the typical user does not want to be part of an intensive  # the typical user does not want to be part of an intensive
Line 196  while (!$flag) { Line 196  while (!$flag) {
 }  }
   
 # need to recommend a machine ID name (ipdomain.l.somenumber)  # need to recommend a machine ID name (ipdomain.l.somenumber)
 my $hostname=`hostname`; chomp($hostname);  my $hostname=`hostname -f`; chomp($hostname);
 my $ipdomain='';  my $ipdomain='';
 if ($hostname=~/([^\.]*)\.([^\.]*)$/) {  if ($hostname=~/([^\.]*)\.([^\.]*)$/) {
   $ipdomain=$1;    $ipdomain=$1;
Line 206  if ($hostname=~/([^\.]*)\.([^\.]*)$/) { Line 206  if ($hostname=~/([^\.]*)\.([^\.]*)$/) {
   
 **** Domain ****  **** Domain ****
 [this does NOT need to correspond to internet address domains,  [this does NOT need to correspond to internet address domains,
  examples might be "msu" or "bionet" or "vermontcc"]   good examples might be "msu" or "bionet" or "vermontcc",
    bad examples are "physics" (too general)
      or "michiganstateuniversity" (too long)
      or "msuedu" (internet domain, just make it "msu")
      or "msuphysics" (only if there is a good reason to limit)
      or "mydomain" (what is that?)
    Please make this name short AND descriptive of your organization.
    Note that the domain is very hard to change later.
    Double-check with the LON-CAPA group at MSU if this domain is 
    going to be part of the main production cluster, since it needs
    to be unique.]
 END  END
   
 # get domain name  # get domain name
Line 227  END Line 237  END
   my $choice=<>;    my $choice=<>;
   chomp($choice);    chomp($choice);
   my $bad_domain_flag=0;    my $bad_domain_flag=0;
   my @bad_domain_names=('raw','userfiles','priv','adm','uploaded');    my @bad_domain_names=('res','raw','userfiles','priv','adm','uploaded',
    'editupload');
   foreach my $bad (@bad_domain_names) {    foreach my $bad (@bad_domain_names) {
     $bad_domain_flag=1 if $choice eq $bad;      $bad_domain_flag=1 if $choice eq $bad;
   }    }
     if ($choice=~/capa/i) {
        $bad_domain_flag=1;
     }
   if ($ipdomain and $choice=~/^\s*$/) {    if ($ipdomain and $choice=~/^\s*$/) {
     $choice=$ipdomain;      $choice=$ipdomain;
     open(OUT,'>>/tmp/loncapa_updatequery.out');      open(OUT,'>>/tmp/loncapa_updatequery.out');
Line 238  END Line 252  END
     close(OUT);      close(OUT);
     $lonDefDomain=$choice;      $lonDefDomain=$choice;
     $flag=1;      $flag=1;
   }    } elsif (length($choice)>12) {
   elsif ($choice!~/\_/ and $choice=~/^\w+$/) {      print "Name too long\n";
     } elsif (length($choice)<2) {
       print "Name too short\n";
     } elsif ($bad_domain_flag) {
       print "Invalid input ('$choice' conflicts with LON-CAPA namespace).\n";
       print "Please try something different than '$choice'\n";
     } elsif ($choice!~/\_/ and $choice=~/^\w+$/) {
     open(OUT,'&gt;&gt;/tmp/loncapa_updatequery.out');      open(OUT,'&gt;&gt;/tmp/loncapa_updatequery.out');
     print(OUT 'lonDefDomain'."\t".$choice."\n");      print(OUT 'lonDefDomain'."\t".$choice."\n");
     close(OUT);      close(OUT);
     $lonDefDomain=$choice;      $lonDefDomain=$choice;
     $r='l';      $r='l';
     $flag=1;      $flag=1;
   }    } else {
   elsif ($bad_domain_flag) {  
     print "Invalid input ('$choice' conflicts with LON-CAPA namespace).\n";  
     print "Please try something different than '$choice'\n";  
   }  
   else {  
     print "Invalid input (only alphanumeric characters supported).\n";      print "Invalid input (only alphanumeric characters supported).\n";
   }    }
 }  }
Line 296  if ($lonDefDomain) { Line 311  if ($lonDefDomain) {
 [this does NOT need to correspond to internet address names;  [this does NOT need to correspond to internet address names;
  this name MUST be unique to the whole LON-CAPA network;   this name MUST be unique to the whole LON-CAPA network;
  we recommend that you use a name based off of your institution;   we recommend that you use a name based off of your institution;
  good examples: "msul1" or "bionetl1";   good examples: "msul1" or "bioneta2";
  bad examples: "loncapabox" or "studentsinside"]   bad examples: "loncapabox" or "studentsinside".
    Note that machine names are very hard to change later.]
 END  END
 # get machine name  # get machine name
 # accept if valid, if not valid, tell user and repeat  # accept if valid, if not valid, tell user and repeat
Line 315  END Line 331  END
 }  }
   my $choice=&lt;&gt;;    my $choice=&lt;&gt;;
   chomp($choice);    chomp($choice);
   if ($lonHostID and $choice=~/^\s*$/) {    if ($choice=~/capa/i) {
       print "Invalid input (names containing 'capa' are reserved).\n";
     } elsif ($lonHostID and $choice=~/^\s*$/) {
     $choice=$lonHostID;      $choice=$lonHostID;
     open(OUT,'&gt;&gt;/tmp/loncapa_updatequery.out');      open(OUT,'&gt;&gt;/tmp/loncapa_updatequery.out');
     print(OUT 'lonHostID'."\t".$choice."\n");      print(OUT 'lonHostID'."\t".$choice."\n");
     close(OUT);      close(OUT);
     $lonHostID=$choice;      $lonHostID=$choice;
     $flag=1;      $flag=1;
   }    } elsif (length($choice)>15) {
   elsif ($choice!~/\_/ and $choice=~/^\w+$/) {      print "Name too long\n";
     } elsif (length($choice)<4) {
       print "Name too short\n";
     } elsif ($choice!~/\_/ and $choice=~/^\w+$/) {
     open(OUT,'&gt;&gt;/tmp/loncapa_updatequery.out');      open(OUT,'&gt;&gt;/tmp/loncapa_updatequery.out');
     print(OUT 'lonHostID'."\t".$choice."\n");      print(OUT 'lonHostID'."\t".$choice."\n");
     close(OUT);      close(OUT);
     $lonHostID=$choice;      $lonHostID=$choice;
     $flag=1;      $flag=1;
   }    } else {
   else {  
     print "Invalid input (only alphanumeric characters supported).\n";      print "Invalid input (only alphanumeric characters supported).\n";
   }    }
 }  }
Line 567  This is now the current configuration of Line 587  This is now the current configuration of
 10) Allow only secure connections: $securestatus   10) Allow only secure connections: $securestatus 
 11) Everything is correct up above  11) Everything is correct up above
 END  END
 my $hbug=-1;  
 my $dbug=-1;  
 {  
   my $v=$perlvar{'lonHostID'};  
   $hbug=0;  
   $hbug=1 if $v=~/\W/;  
   $hbug=1 if $v=~/\_/;  
 }  
 {  
   my $v=$1;  
   $dbug=0;  
   $dbug=1 if $v=~/\W/;  
   $dbug=1 if $v=~/\_/;  
 }  
   
 if ($hbug) {  
   print "**** ERROR **** ".  
  "Invalid lonHostID (should only be letters and/or digits)\n";  
 }  
 if ($dbug) {  
   print "**** ERROR **** ".  
  "Invalid lonDefDomain (should only be letters and/or digits)\n";  
 }  
   
   my $error='';
   foreach my $v ($perlvar{'lonDefDomain'},$perlvar{'lonHostID'}) {
      if (length($v)>16) { $error.="\nName $v too long"; }
      if (length($v)<2) { $error.="\nName $v too short"; }
      if ($v=~/capa/i) {
    if ($v!~/^oucapa\d+$/ && 
       ($v!~/^capa\d+$/ && $perlvar{'lonDefDomain'} eq 'uwsp')) {
    $error.="\nName $v contains 'capa'"; 
    }
      }
      foreach my $bad ('res','raw','userfiles','priv','adm','uploaded',
    'editupload') {
         $error.="\nName $v reserved." if $v eq $bad;
      }
      if ($v=~/\W/) { $error.="\nName $v contains special characters"; }
   }
   if ($domainDescription!~/^[\(\)\-\w\s,]+$/) {
      $error.="\nDomain Description contains special characters";
   } 
   foreach my $v ($perlvar{'lonExpire'},$perlvar{'lonLoadLim'}) {
      unless ($v=~/^[\d+\.]+$/) { $error.="\nNumber expected instead of $v"; }
   }
   unless (($perlvar{'lonRole'} eq 'library') || ($perlvar{'lonRole'} eq 'access')) {
      $error.="\nInvalid Role";
   }
   if ($error) { print "\n*** ERRORS: $error\n"; }
   print(&lt;&lt;END);    print(&lt;&lt;END);
 ENTER A CHOICE OF 1-10 TO CHANGE, otherwise ENTER 11:  ENTER A CHOICE OF 1-10 TO CHANGE, otherwise ENTER 11:
 END  END
Line 715  END Line 738  END
     }      }
     ($securestatus,$securenum)=&securesetting(%perlvar);      ($securestatus,$securenum)=&securesetting(%perlvar);
   }    }
   elsif ($choice==11) {    elsif (($choice==11) && (!$error)) {
     $flag=1;      $flag=1;
   }    }
   else {    else {
       print "Invalid input.\n";
   }    }
 }  }
     open(OUT,"&gt;$confdir$filename") or      open(OUT,"&gt;$confdir$filename") or
Line 737  END Line 760  END
 <target dist='default'>loncom/hosts.tab</target>  <target dist='default'>loncom/hosts.tab</target>
 <perlscript mode='fg'>  <perlscript mode='fg'>
 unless (-l "<TARGET />") {  unless (-l "<TARGET />") {
   my $hostname=`hostname`;chomp($hostname);    my $hostname=`hostname -f`;chomp($hostname);
   $date=`date -I`; chomp($date);    $date=`date -I`; chomp($date);
   $lonHostID=$perlvar{'lonHostID'};    $lonHostID=$perlvar{'lonHostID'};
   $lonHostID=~s/\W//g;    $lonHostID=~s/\W//g;

Removed from v.1.35  
changed lines
  Added in v.1.42


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>