aboutsummaryrefslogtreecommitdiff
path: root/boca-1.5.0/doc/ADMIN.txt
diff options
context:
space:
mode:
Diffstat (limited to 'boca-1.5.0/doc/ADMIN.txt')
-rw-r--r--boca-1.5.0/doc/ADMIN.txt319
1 files changed, 319 insertions, 0 deletions
diff --git a/boca-1.5.0/doc/ADMIN.txt b/boca-1.5.0/doc/ADMIN.txt
new file mode 100644
index 0000000..ed76a16
--- /dev/null
+++ b/boca-1.5.0/doc/ADMIN.txt
@@ -0,0 +1,319 @@
+How to create a contest
+-----------------------
+(Last updated: 10/Oct/2011 by cassio@ime.usp.br)
+
+1) Log in as "system", empty password.
+
+2) Click on "Options" and change the password of
+the user "system" to something secret and safe.
+
+3a) (Most likely you don't)
+If you have an import file, click on "Import",
+choose the file, click to Send it and go to step 4.
+Note that many follow steps will be already complete.
+However, take a time to look at them and verify if
+everything is ok.
+
+3b) Click on "Contest" and create a new contest
+(do it by choosing the "new" item of the combo).
+
+4) Change/Verify the information of the new created
+contest and click on "Send". Then click on
+"Activate" to make the new contest activated
+(after that you will be automatically logged off).
+Here some explanation about available fields:
+* Name: name of the contest
+* Start date: when the contest will begin
+* Duration: how many minutes the contest have
+* Stop answering: number of minutes from which
+teams don't receive the information if their
+runs were accepted or not. Usually choose 285
+for fifteen minutes without answers to teams.
+* Stop scoreboard: number of minutes from which
+the scoreboard becomes frozen (to keep the winner
+secret :-). Usual value: 240.
+* Penalty: number of minutes a team is penalized
+for each time it submits a code that is not
+accepted (this minutes are counted only if the
+team receives an YES for the corresponding problem,
+as done in ACM-ICPC like contests). Usual value: 20.
+* Max file size allowed for teams: for security reasons.
+If you know that source code files are larger, choose
+another value.
+* Contest main site number: which is the main site
+of the contest (in case of multi-site contests). Usually 1.
+IF RUNNING MULTIPLE SITES, BE SURE TO USE THE CORRECT
+NUMBERS HERE ASSIGNED BY WHOEVER IS COORDINATING
+THE MULTI-SITE CONTEST!!
+* Contest local site number: which is the number of the
+current site of the contest (in case of multi-site contests).
+IF RUNNING MULTIPLE SITES, BE SURE TO USE THE CORRECT
+NUMBERS HERE ASSIGNED BY WHOEVER IS COORDINATING
+THE MULTI-SITE CONTEST!!
+
+5) Log in as "admin", empty password.
+
+6) Click on "Options" and change the password of
+the user "admin" to something secret and SAFE!!
+
+7) (This can be probably skipped if they are already included)
+Include any answers for submissions that you might
+like to have in addition to the standard ones.
+Click on "Answers" and use the two fields to input
+the answers. Already pre-included are:
+1 YES
+2 NO - Compilation error
+3 NO - Runtime error
+4 NO - Time limit exceeded
+5 NO - Presentation error
+6 NO - Wrong answer
+7 NO - If possible, contact staff
+Even the pre-included ones can be changed, but that is not
+recommended.
+
+If you make some mistake, you can re-insert the answer
+even without deleting it. Just fill up the fields again,
+repeating the answer number (first field). In this case
+the database record will be updated. But take care: any
+changes with the contest running will affect all records
+of the contest. Do not delete any record during the contest
+unless you really know what you are doing. The updates
+cascade on the database, removing or updating everywhere
+needed.
+
+8) Include the contest languages. Use the "Languages"
+item for it. Each language is defined by a number,
+a name and two scripts: one for compiling and running
+the submitted codes and one for verifying if the
+output generated is equilavent to the judge's output.
+The scripts should be any executable file permitted
+in the computer that will run the autojudging
+environment (pay attetion on CRs or CRLFs for EOLs.
+This causes problems in some systems).
+It's also possible to import the language
+information from a file.
+The scripts are available together with BOCA in the
+"bits" example directory of the documentation. Usually
+values are:
+1 C C.run compare.sh
+2 C++ Cpp.run compare.sh
+3 Java Java.run compare.sh
+
+Remember, all these scripts are available on "bits" directory.
+Take some minutes to look into those script files, because
+they have path specifications for some executables, such as gcc,
+g++, javac, etc. These paths must be fixed (if needed) before
+uploading the file to BOCA. Usually the default values work
+just fine. If you find any trouble with the scripts, let me
+know.
+If you make some mistake, you can re-insert the language
+even without deleting it. Just fill up the fields again,
+repeating the language number (first field). In this case
+the database record will be updated. But take care: any
+changes with the contest running will affect all records
+of the contest. Do not delete any record during the contest
+unless you really know what you are doing. The updates
+cascade on the database, removing or updating everywhere
+necessary.
+
+
+9) Include the problems. Click on "Problems" and
+use the form available there. The fields are:
+* Number: number of the problem. Start with 1.
+* Name: nickname of the problem. Good choices are
+problem letters: A, B, C, D, etc.
+Problem fullname: the complete name of the problem.
+Problem basename: the name of the sourcecode file
+expected, without the extension. This is essential
+for Java programmers, who must use this name as the
+main class name.
+* Descfile: a file containing the description of the
+problem. It can be a html file, pdf file, etc. It
+will become available to the teams during the contest.
+You may leave this field empty.
+* Inputfile: file with the input to be used when
+judging the submission of this problem
+(it's possible to have troubles with CRs and CRLFs
+for EOLs when using multiple OSes).
+* Solfile: file with the correct output for this problem
+when executed with the inputfile. This is the file
+that will be compared with the output generated by
+the team's code (again, it's possible to have problems
+with CRs and CRLFs for EOLs when using multiple OSes).
+* Time-limit: maximum number of seconds the code should
+spend trying to solve this problem.
+* Color name: name of the color for this problem. It will
+be used if the balloon figure cannot be displayed.
+* Color (RGB): enter the rgb value, in the standard HTML
+format for colors, for this problem. E.g. 000000 is black,
+FFFFFF is white, FF0000 is red, 00FF00 is green and so on.
+Colors are interesting because BOCA presents the balloons
+with the problem colors. Nevertheless, they are not essential.
+
+If you make some mistake, you can re-insert the problem
+even without deleting it. Just fill up the fields again,
+repeating the problem number (first field). In this case
+the database record will be updated. But take care: any
+changes with the contest running will affect all records
+of the contest. Do not delete any record during the contest
+unless you really know what you are doing. The updates
+cascade on the database, removing or updating everywhere
+needed.
+
+
+10) Include the users. There are five types of users
+that can be used: admin, team, judge, staff and score.
+admin: manage the contest. He(she) has access to every
+clarification, run, logs, tasks, etc of the contest.
+It is him(her) that starts and ends the competition
+(although it can be done automaticly by the system).
+You don't need to have more than one or two admin accounts.
+judge: responsible for judging the submission and
+answering the clarification. It's used to have from
+three to eight judges. Note that admins, judges and
+staff must have well formed passwords.
+staff: responsible for printing files, delivery
+balloons, helping teams with hardware problems, etc.
+Normally one staff account (for the chief staff person)
+is enough.
+score: account with the scoreboard. It has no other
+privilegies. This account is good for making the coachs
+informed about the results and for making the results
+available to remote people. A few score accounts are
+enough.
+team: here is where the contest happens. These accounts
+are for the teams. The passwords are not so important
+if we restrict the access of each team by IP addresses.
+The same thing may be done for the other users too
+(and it's a good practice to improve security).
+The users can be imported by a text file too. See
+IMPORT.txt for details.
+The fields presented in the "Users" item are:
+* User site number: number of the site of the user. Usually 1.
+* User number: number of the user (used internally
+by the system). Usually equals the team number.
+* Username: nickname of the user. Used to be
+team1, team2, team30, judge1, judge2, admin1, staff1, etc.
+It's possible to have the same usernumber and username
+in different sites. In a single site contest, all user numbers
+and usernames must be distinct.
+* ICPC ID: ID Number of team in the ICPC System.
+* Type: type of the user (team, judge, staff, admin, score)
+* Enabled: is the user enabled?
+* Multilogins: can the user make more than one connection
+at the same time? It's not a problem to allow that if
+the users are restricted by IP numbers.
+* User full name: complete name of the user. In case of teams,
+it's convinient to put the institution name plus the team
+nickname here.
+* User description: some detail about the user, like students names.
+This field is optional.
+* User IP: if set, it restricts from where the user can log in
+the system. It is recommended to restrict the logins by IP numbers.
+If using Maratona Linux, the IP number is 10.0.99.X for the
+team numbered X.
+* Password: password of the user. You may leave it blank for the
+team users as each team user is restricted by IP. Choose good
+password for admins, judges and staff.
+
+If you make some mistake, you can alter the user fields.
+Click on the user number in the table and proceed to its
+fields below in the page. Edit them and resubmit. Note that,
+if you do not fill a new password, the old password is kept.
+IMPORTANT WARNING: for users, it is possible to click on
+a number for editting the information. All other admin flips
+regarding problems, answers, languages, etc do not follow the
+same idea. If you click on those number, the corresponding
+record will be removed, together with all database information
+related to that record. So DO NOT REMOVE ANYTHING DURING
+THE CONTEST.
+
+
+11) Configure the site data in the "Site" item. The fields
+are:
+* Site number: number of the site, with a "new" item to create
+new sites. This is not necessary for single contests.
+* Name: name of the site
+* Public IP: internet IP address of this site for communicating
+with the others. Not needed for single contests.
+* Start date, End date, stop answering, stop score: equivalent
+to admin's contest page. Usually the default values are enough.
+* Runs/clars that will be judged here: for multi-site contest,
+it defines which runs/clars will be judged in this site. It
+is a list of site numbers, separated by commas. For a single
+site contest, just leave the site number here.
+* Tasks that will be treated here: same meaning of the
+previous field. For single contests or multi-site contest
+it's used to have each site treating its tasks. So leave here
+* the number of the site.
+* Active: is the site active? I hope yes.
+* Autoend: should the contest ends automaticly at the defined
+* time? Usually yes.
+* Globalscore: should the scoreboard be propagated to all sites?
+Not needed for single contests.
+* Autojudge: do not use this option for a contest. It is under
+development/test.
+* Scorelevel: detail level of information on the scoreboard.
+0 means no details while 4 means maximum detail. 2 is a good
+choice, although, for single contests, 3 and 4 are also ok and
+more informative. A negative number means the same as its
+absolute value counterpart, but keeps the problem names hidden
+(useful when the same problem set is used in sites with very
+distinct start times).
+
+Furthermore, there are buttons for: start the contest,
+end the contest, delete completely (and without undo) the
+runs, clarifications and tasks of the site, disable logins,
+enable logins and force all users to log off.
+
+The start and stop buttons should not be used as the contest
+start and stop are automatic. They are just for special
+purpose, like a energy fault. In this case, you may, when
+energy supply become stable again, use the "Stop at" field and
+button to indicate when the contest should have stopped and
+then the "start now" button to re-start the contest. This will
+make the BOCA see this interval time as they never happened,
+and all penalty and time calculations will be made correctly.
+
+The "delete all" fields (delete all clars, delete all runs and
+delete all tasks, delete all bkps) are useful (AND IMPORTANT!)
+for cleaning everything up just after finished the warmup.
+Between the warmup and the real contest, you
+do not need to create another BOCA contest. Just erase all warmup
+problems, all clars, all tasks and all runs (keeping the languages,
+users and answers). Now, reenter the contest information (start
+date and duration, insert the real contest problems and you are
+ready.
+
+12) It's all done.
+
+Important Note
+--------------
+Any deletion of problems, languages, answers, users, etc will
+promptly delete all records related. So deleting an answer
+will remove all runs with that answer. Deleting a problem
+will delete all clarifications and runs related to that
+problem. This way, it's not recommended to remove any of these
+things during the contest.
+
+Contacts and Copyrights
+-----------------------
+BOCA Copyright (c) 2003- Cassio Polpo de Campos (cassio@ime.usp.br)
+http://www.ime.usp.br/~cassio/boca
+
+////////////////////////////////////////////////////////////////////////////////
+//BOCA Online Contest Administrator
+// Copyright (C) 2003-2012 by BOCA Development Team (bocasystem@gmail.com)
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+////////////////////////////////////////////////////////////////////////////////