[LON-CAPA-cvs] cvs: doc /loncapafiles updatequery.piml
harris41
lon-capa-cvs@mail.lon-capa.org
Sun, 12 May 2002 22:31:41 -0000
harris41 Sun May 12 18:31:41 2002 EDT
Modified files:
/doc/loncapafiles updatequery.piml
Log:
grabbing lonDefDomain, lonHostID, lonAdmEmail, and lonRole
Index: doc/loncapafiles/updatequery.piml
diff -u doc/loncapafiles/updatequery.piml:1.3 doc/loncapafiles/updatequery.piml:1.4
--- doc/loncapafiles/updatequery.piml:1.3 Sun May 12 15:25:15 2002
+++ doc/loncapafiles/updatequery.piml Sun May 12 18:31:41 2002
@@ -1,7 +1,7 @@
<!-- updatequery.piml -->
<!-- Scott Harrison -->
-<!-- $Id: updatequery.piml,v 1.3 2002/05/12 19:25:15 harris41 Exp $ -->
+<!-- $Id: updatequery.piml,v 1.4 2002/05/12 22:31:41 harris41 Exp $ -->
<!--
@@ -31,8 +31,9 @@
<targetroot>/</targetroot>
<files>
<file>
-<target dist='default'>/home/httpd/lonUsers</target>
+<target dist='default'>/</target>
<perlscript mode='fg'>
+$|=1;
print(<<END);
@@ -47,25 +48,31 @@
*********************************************
END
+sleep(3);
</perlscript>
</file>
<file>
-<target dist='default'>/home/httpd/lonUsers</target>
+<target dist='default'>/home/httpd/lonUsers2/</target>
<perlscript mode='fg'>
+$|=1;
unless (-e "<TARGET />") {
print(<<END);
WELCOME TO LON-CAPA!
If you have questions, please visit http://install.lon-capa.org
-or contact sharrison@install.lon-capa.org.
+or contact sharrison\@install.lon-capa.org.
===============================================================================
-The following 3 values are needed to configure LON-CAPA:
+The following 4 values are needed to configure LON-CAPA:
+* Machine Role
* Machine ID Name
* LON-CAPA Domain Name, and
* System Administration E-mail Address.
END
+open(OUT,'>/tmp/loncapa_updatequery.out');
+close(OUT);
+
# query for Machine Role
print(<<END);
**** Machine Role ****
@@ -76,12 +83,48 @@
Access server:
Servers that load-balance high-traffic delivery of educational resources
over the world-wide web.
-1) Will this be a library server? (recommended if this is your
+1) Will this be a library server? (recommended if this is your first install)
2) Or, will this be an access server?
-ENTER A CHOICE OF 1 or 2:
END
+my $flag=0;
+my $r='';
+my $lonRole;
+while (!$flag) {
+ print "ENTER A CHOICE OF 1 or 2:\n";
+ my $choice=<>;
+ chomp($choice);
+ if ($choice==1) {
+ open(OUT,'>>/tmp/loncapa_updatequery.out');
+ print(OUT 'lonRole'."\t".'library'."\n");
+ close(OUT);
+ $lonRole='library';
+ $r='l';
+ $flag=1;
+ }
+ elsif ($choice==2) {
+ open(OUT,'>>/tmp/loncapa_updatequery.out');
+ print(OUT 'lonRole'."\t".'access'."\n");
+ close(OUT);
+ $lonRole='access';
+ $r='a';
+ $flag=2;
+ }
+ else {
+
+ }
+}
# need to recommend a machine ID name (ipdomain.l.somenumber)
+my $hostname=`hostname`; chomp($hostname);
+my $ipdomain='';
+if ($hostname=~/([^\.]*)\.([^\.]*)$/) {
+ $ipdomain=$1;
+}
+my $lonHostID;
+if ($ipdomain) {
+ $lonHostID=$ipdomain.$r.int(1+rand(9)); # should be probably detect against
+ # the hosts.tab
+}
print(<<END);
@@ -91,32 +134,112 @@
we recommend that you use a name based off of your institution;
good examples: "msul1" or "bionetl1";
bad examples: "loncapabox" or "studentsinside"]
-ENTER MACHINE ID NAME:
END
# get machine name
# accept if valid, if not valid, tell user and repeat
+$flag=0;
+while (!$flag) {
+if ($ipdomain) {
+print(<<END);
+ENTER LONCAPA MACHINE ID [$lonHostID]:
+END
+}
+else {
+ print(<<END);
+ENTER LONCAPA MACHINE ID:
+END
+}
+ my $choice=<>;
+ chomp($choice);
+ if ($ipdomain and $choice=~/^\s*$/) {
+ $choice=$ipdomain;
+ open(OUT,'>>/tmp/loncapa_updatequery.out');
+ print(OUT 'lonHostID'."\t".$choice."\n");
+ close(OUT);
+ $flag=1;
+ }
+ elsif ($choice!~/\_/ and $choice=~/^\w+$/) {
+ open(OUT,'>>/tmp/loncapa_updatequery.out');
+ print(OUT 'lonHostID'."\t".$choice."\n");
+ close(OUT);
+ $r='l';
+ $flag=1;
+ }
+ else {
+ print "Invalid input (only alphanumeric characters supported).\n";
+ }
+}
print(<<END);
**** Domain ****
[this does NOT need to correspond to internet address domains,
examples might be "msu" or "bionet" or "vermontcc"]
-ENTER LONCAPA DOMAIN:
END
# get domain name
# accept if valid, if not valid, tell user and repeat
+$flag=0;
+while (!$flag) {
+if ($ipdomain) {
+print(<<END);
+ENTER LONCAPA DOMAIN [$ipdomain]:
+END
+}
+else {
+ print(<<END);
+ENTER LONCAPA DOMAIN:
+END
+}
+ my $choice=<>;
+ chomp($choice);
+ if ($ipdomain and $choice=~/^\s*$/) {
+ $choice=$ipdomain;
+ open(OUT,'>>/tmp/loncapa_updatequery.out');
+ print(OUT 'lonDefDomain'."\t".$choice."\n");
+ close(OUT);
+ $flag=1;
+ }
+ elsif ($choice!~/\_/ and $choice=~/^\w+$/) {
+ open(OUT,'>>/tmp/loncapa_updatequery.out');
+ print(OUT 'lonDefDomain'."\t".$choice."\n");
+ close(OUT);
+ $r='l';
+ $flag=1;
+ }
+ else {
+ print "Invalid input (only alphanumeric characters supported).\n";
+ }
+}
+# get e-mail address
+# accept if valid, if not valid, tell user and repeat
+$flag=0;
+my $lonAdmEmail;
+while (!$flag) {
print(<<END);
**** System Administrator's E-mail ****
E-mail address of the person who will manage this machine
-[should be in the form somebody@somewhere]
+[should be in the form somebody\@somewhere]
ENTER E-MAIL ADDRESS:
END
-# get e-mail address
-# accept if valid, if not valid, tell user and repeat
+ my $choice=<>;
+ chomp($choice);
+ if ($choice=~/\@/) {
+ open(OUT,'>>/tmp/loncapa_updatequery.out');
+ print(OUT 'lonAdmEmail'."\t".$choice."\n");
+ close(OUT);
+ my $lonAdmEmail=$choice;
+ $flag=1;
+ }
+ else {
+ print "Invalid input (this needs to look like an e-mail address!).\n";
+ }
+}
+
+
# update loncapa.conf
}
</perlscript>