CyberChair - Log of changes & Messages, last changed: 17 October 2002

22 July 2000A new version of the sources was made available whereby absolute references are prepended by the site-URL, so that links for site-URLs with subdirectories also work (thanks Michael Philippsen)
31 July 2000Added meta tag to prevent caching of documents.
Made other footers. (thanks Marino Miculan).
15 September 2000 Submission in phase 1 - no history.
There may be a small inconvience with the submission process. The submission form for phase 1 used to be a static html file. In order to ease the distribution and customization, in the current distribution the form is generated by a script: .../Your_CGIBIN/ (the list of conference topics is what differs from conference to conference).
When a submission form is not accepted because fields are missing or the email address is not typed the same twice, the submitter is told to go back and make corrections. However, the phase1-generation script is then activated again, which produces an empty form!
This is not very user friendly. Since papers are usually submitted very close to the deadline, people may get a little bit upset if things don't work as they should.
The easiest way to correct this, is to create a plain phase 1 html file by going to phase 1, letting the script generate the phase 1 form, saving the contents of the page as e.g. phase1.html in the directory .../submit, and changing the following link in .../submit/index.html:
<a href="/Your_CGIBIN/"><h3>Step 1<br>Abstract submission</h3></a>
<a href="phase1.html"><h3>Step 1<br>Abstract submission</h3></a>
Further, remove or comment out (by surrounding it by <!-- and -->) the following meta tag:
<meta HTTP-EQUIV="pragma" CONTENT="No Cache">
This may reduce the level of frustration for submitters of papers...

November 1, 2000 - This has now been solved by making the feedback appear in a new window.

17 September 2000Replaced a few files because of a minor security issue. If you downloaded CyberChair before this date, drop me an email, and I'll send you some instructions.
20 October 2000File .../adm/ added the line "sys.path.append('crontab')" below the line "sys.path.append(../cgi-bin')", so that the imported module genabstracts can be found.
23 October 2000Added an extra field in the download form for the cases where CyberChair is to be installed in a subdir. Otherwise, the constants 'servername' and conference_url in file get the wrong value.
24 October, functions header2() and simpleheader2(), first line: Add subdirectory of URL after URL of website (if the submission url contains a subdirectory.

24 November 2000 - Not all (static) html files worked when a subdirectory is used in the URL of the submission site. This has been corrected. (Thanks Dirk Peters.)
1 November, function showphase1form, last line: Corrected the email address. The login name of the maintainer was filled in, instead of the email address.
2 November 2000html/cyberstyle.css, corrected the line starting with "body {background-image: url(" to include the servername in the URL.
24 November 2000Corrected .../cgi-bin/ and .../cgi-bin/ In case authors did not select at least one of the main topics, no feedback was shown on the screen and no feedback was sent by email. The latter problem caused the authors to not know how to submit their paper in step 2, because they do not know the login name and password.
27 December 2000Added empty file .../submitted/PaperReviewerDir/PaperReviewers, so that the script .../adm/crontab/ also works when no papers have yet been assigned to reviewers
28 December 2000File .../adm/ changed the line
"from reviewerfieldnames import *" into "from revinfodatafieldnames import *", changed "from time import time, ctime" into "from time import time, ctime, sleep" and added the statement "sleep(1)" after the line starting with "send_email", to avoid flooding the email server with many messages at the same time.
19 February 2001Removed the following line from the file
This is not needed in case no files are being uploaded. Otherwise, in case the number of reviewers exceeds the maximum number of open files per process, the script doesn't work. Without this line the default "application/x-www-form-urlencoded" is used
7 March 2001Changed the author's email addres from some try/except clauses (,,, into maintaineremail (defined in
4 June 2001Changed function makePaperReviewersDict (cgi-bin/ When assigning papers to reviewers, empty lines could not be dealt with if they were followed by non-empty lines. Changes:
  • Add from generic import nrOfReviewers after the function definition
  • Change for f in range (1, len(aForm) + 1): into for f in range (1, nrOfReviewers() + 1):
  • Add if not aForm.has_key(k): continue after the line "k = str(f)"
5 June 2001 Python 2.1 is now also supported. Calls to regsub.gsub were changed into re.sub(), while the import regsub was either replaced by import re or removed because it was not used.
9 September 2001 According to the RFCs, a Date field was added to ../cgi-bin/ (although there are only a few systems that bounce messages in case a Date field is not included).
29 November 2001 Changed script .../adm/crontab/ If an author submits a file with .PS or .PDF as file extension, instead of .ps or .pdf, the script .../adm/crontab/ doesn't detect it.
To solve this, use string.lower():
change copyfile (sourcedir + key + suffix, targetdir + str(pNr) + suffix
into: copyfile (sourcedir + key + suffix, targetdir + str(pNr) + string.lower(suffix).
15 January 2002 Corrected some scripts in the adm directory:
    from genReviewers import getKeys instead of from genreviewers import getKeys
    from constantsNew import paperFilesDir instead of from constantsNew import paperDir
    Replace if not os.path.exists(paperDir): by if not paperExists(key):
    Include new function:
    def paperExists(key):
        exists = 0
        extensions = ['.pdf', '.ps', '.gz', '.zip', '.tar', '.Z', '.tgz', '.doc']
        for ext in extensions:
            if os.path.exists(paperFilesDir + key + ext):
                exists = 1
        return exists
  • line 510:
    writeExpertiseFile() instead of writeExpertiseFile(expertiseList)
    from genReviewers import getKeys instead of from genreviewers import getKeys
17 October 2002 Added the following .htacess file to directories basicinfo, adm, and submitted (which is a bypass to prevent access to those directories with a browser, in case a submission site was not configured correctly:

<Limit GET>
deny from all