home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / unix / admin / 6828 < prev    next >
Encoding:
Internet Message Format  |  1992-12-29  |  4.4 KB

  1. Path: sparky!uunet!zaphod.mps.ohio-state.edu!howland.reston.ans.net!paladin.american.edu!gatech!usenet.ins.cwru.edu!agate!stanford.edu!rutgers!psuvax1!news.ecn.bgu.edu!garrot.DMI.USherb.CA!garrot!bussiere
  2. From: bussiere@tohi.DMI.USherb.CA (Luc Bussieres)
  3. Newsgroups: comp.unix.admin
  4. Subject: Re: How to write a "turnin" utility??
  5. Message-ID: <BUSSIERE.92Dec29152330@tohi.DMI.USherb.CA>
  6. Date: 29 Dec 92 20:23:34 GMT
  7. References: <1992Dec28.213900.14908@organpipe.uug.arizona.edu>
  8. Sender: usenet@DMI.USherb.CA (Pour courrier Usenet)
  9. Organization: Universite de Sherbrooke, Dept. de Mathematiques et
  10.     d'Informatique.
  11. Lines: 93
  12. In-Reply-To: dave@bigdog.engr.arizona.edu's message of 28 Dec 92 21:39:00 GMT
  13. Nntp-Posting-Host: tohi
  14.  
  15.  
  16.     There is a utility made by purdue university that is name
  17. turnin. There is 2 programs (and not setuid scripts) one to be use by
  18. the students and the other one by the teacher. Here is a short
  19. description of both program. I can't remember the exact name of the
  20. anonymous ftp server where I get those file but it was contaning
  21. "pucc".
  22.  
  23. Turnin(1L) and project(1L) provide administration of electronic
  24. submissions for a large number of classes.  These tools may be applied
  25. to any type of course (programming, art & design, word processing, etc.)
  26. which requires `students' to submit `projects' to an `instructor'.
  27.  
  28. A `student' is any login name on a UNIX system.  Multiple logins under
  29. the same uid are handled correctly.  The environment variables USER and
  30. LOGNAME are consulted (in that order) to determine which login name is
  31. submitting the file.
  32.  
  33. A `project' is a broad term for a group of submissions, one per login
  34. name, which will be collected over time.  These may then be processed
  35. by running a shell command for each project.   Submitted files are
  36. stored in a tar(1) format archive.  Large archives are kept compressed,
  37. but nether user nor administrator will see this detail.
  38.  
  39. An `instructor' is a supervising login name.  This login is able to
  40. limit the collection time for any `project' and issue grade commands.
  41.  
  42. The user interface to turnin(1L) is quite simple and obvious.  The user
  43. simply runs
  44.  
  45.     $ turnin files
  46.  
  47. to submit files.  If the request is ambiguous turnin will request
  48. information from stdin.  Command line options are provides to suppress
  49. such prompting.  Some profs use a simple (1 line) shell script to force
  50. the course option on the user.  For example cs444 might use a script
  51. `sub444' which read:
  52.  
  53.     #!/bin/sh turnin -c cs444 "$@"
  54.  
  55. to `simplify' the user environment.
  56.  
  57. The user interface to project(1L) also quite simple.  The administrator
  58. may enable a project with the -e option:
  59.  
  60.     project -e btrees
  61.  
  62. would enable a project called `btrees' and disable a project with the
  63. -d option:
  64.  
  65.     project -d queues
  66.  
  67. After submissions for a project are complete (or even while some are
  68. still coming in) the instructor may use the -g option to scan the
  69. submitted files with a shell command.  The shell command is run once
  70. for each login name who has submitted files.  Some percent (%) escapes
  71. are substituted before the command is given to the shell.
  72.  
  73.     project -g "echo %u" queues
  74.  
  75. would scan the project `queues' and echo the login name of each user
  76. who has submitted files.
  77.  
  78. Of course there are other options to project, but these three are by
  79. far the most common.
  80.  
  81.  
  82. Setting up the system.
  83.  
  84. The superuser must install 3 files in the user-accessible portion of
  85. the UNIX system.
  86.  
  87. The binaries for project and turnin should be installed in the system's
  88. default search path in something like /usr/local/bin or /usr/custom/bin.
  89. The project binary should be mode 0755 (or 0711), the turnin binary
  90. should be mode 04755 (or 04711) and owned by the superuser.  This is
  91. because turnin must set-effective-uid to the target instructor on the
  92. fly.  (It could be setuid to a single instructor, but the program is
  93. useful to many instructors.)
  94.  
  95. There is a configuration file which should be superuser-writable only
  96. (mode 0644, owned by the superuser).  This file tells the system which
  97. logins are available to accept projects.  This file is installed in a
  98. lib directory, usually /usr/local/lib or /usr/custom/lib, and is called
  99. turnin.cf.  This file contains a colon-separated list of data very much
  100. like the passwd file; there is a manual page for these fields
  101. (turnin.cf.5L).
  102.  
  103. --
  104. Luc Bussieres ---- Analyste - Dept. de Mathematiques et d'Informatique
  105. Universite de Sherbrooke     
  106. Internet : luc.bussieres@dmi.usherb.ca
  107. Tel: (819) 821-7981
  108.