Possible Improvements

This is a general catalogue of suggestions for how this software may be improved in the future. Some pieces of software are given their own pages because of the number of suggested improvements.

Note: Current feedback on testing being done in preparation for Spring 2010 can be given at Winter2010ScriptTestingFeedback.

Miscellaneous Scripts and Programs

  • In announce, the command "date --rfc-822" incorrectly leaves two spaces between the day name and date number whenever the date is a single digit. A real perl solution should be used instead of relying on a separate program. NOTE: It was noticed on Dec 6, 2009, that this is the case on cpu-solaris using /software/gnu/bin/date, but cpu-linux has a version of date that does this correctly. Until an updated date command is available in a convenient location on all systems, this is being fixed by always sshing to a linux cpu to grab the date....
  • file_filter needs to be executable on any system...
  • setgid perl scripts don't seem to be able to change their module paths in any reasonable fashion. However, they can be hardcoded into the file via 'use lib'. Therefore, these Perl scripts could be generated to include the module path via a Makefile... frown
  • createUniqueFile and createUniqueDirectory should lock the containing directory to ensure conflict avoidance.
  • createUniqueFile and createUniqueDirectory should verify the new file exists before outputting the name, and should dump to standard error and die otherwise.
  • The quota checking script relies on exact formatting of diskquota, which is bad. A fix which only works on the server student.cs (not the cpu servers): /software/accounts/maintenance/currentdisk +fs +p | grep $userid which can be piped to cut -f1,2,5 -d: to extract relevant fields. This command can be added to the PATH with /bin/showpath accounts:guru accounts.
  • The acknowledge script ideally would be potentially applied only to particular sections, in the event that different sections of a course have different requirements.
  • All scripts should truncate usernames to 8 characters and convert to lower case. This is at least partially done, but needs to be verified absolutely.
  • The makeStarLine program should perhaps be in the util directory instead of rst-files; it also should make correct use of terminalwidth, which it currently does not.
  • The RSS feed generated by announce is sometimes malformed, with closing </p> tags in the description.
  • It looks like terminalwidth can be replaced with /software/.admin/bins/bin/resize and that resize behaves more smoothly. Need to verify it will be on all systems... and it's behaviour as no man page is present for it.
  • Create a flag (-d?) in get_classlist_info to allow duplicate information to be returned. This could potentially condense a check for repeating students like get_classlist_info -r -t '*' term '090[15]' userid term | cut -f1 -d: | sort | uniq -c | egrep '^[ ]*2' | awk '{print $2;}' to get_classlist_info -d -r -t '*' term '090[15]' userid | sort | uniq -c | egrep '^[ ]*2' | awk '{print $2;}' (not that it's that much shorter, but it makes the intent more clear).
  • The moss script family is not up to code; it needs to be brought in line with the newer ISG standards.
  • The login script should touch $HOME. That way, it can be determined more straightforwardly if a user has not been involved in the course for a long time.
  • termcode should treat "month year" as another output format, and provide the ability to translate between code styles; ie, termcode [ [{from}] {to}] {term specifier}


  • The man page for timestamp should clarify the stamp is generated with GNU date; date '+%m%dHELPM%S. So, two digits for each of month, day, hour, minute, second, in order.
  • Documentation shouuld be generated with xsltproc instead of the flaky program xmlto.
  • Provide style sheets that format nicely for man pages and web; both are uglyish at the moment.
Topic revision: r49 - 2010-04-30 - TerryVaskor
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback