should contain. If the config doesn't find those variables for the current
year, they are automatically copied in from year=-1. This means that
we can update a database and add new config variables and not have to manually
add each variable to the current year. It also means someone can't mess
up the system and accidentally delete config variables, because they
will be recreated.
looking any further. This significantly reduces the timeslot scheduling time.
In most cases we reach 0 in a couple thousand iterations, but we need high
effort because some timeslot scheduling problems are hard to assign.
prevent a project from getting too many judges in a row, and also a judge from
judging 2 projects at the same time (which would be more of a problem).
Still need to write a verifier to check all the results. But the annealer
tests look pretty good. Unfortunately it takes a pretty long time to run. :(
all issues EXCEPT that the timetable scheduler may assign two judging teams
to the same project at the same time. I will fix that soon. But everything
else should now work.
in the scheduler so we can only select judges that are NOT already part of a
judging team
- Fix a numbering issue where sometimes an divisional team created by the
scheduler wouldn't get created because of conflicting team numbers. Now, use
MAX(num) to find the highest team number and increment team numbers from that
number.
- Missing: Having a project judged more than once by different judging teams is
untested, I don't htink it'll work properly, still working on that part.
- Missing: Auto updating the configuration if any of the variables are missing.
- Missing: A way to preserve judging questions (like willing_chair), so the
user doesn't delete them and break the scheduler, OR, notice saying that the
question has been deleted and the scheduler won't use the chair calculations,
then we need a way to add them back in with the click of a button.
Separate the 'requirement check' into a separate file and run it on both the config page, and as a double check on the actual annealer page incase they decide to manually type in the address or bookmark or somkething.
If specialawardnomination is set to "none" (fair doesnt use special award self-nominations) then the pick winners page will instead show all projects that are eligible for the award to choose a winner, instead of those that are nominated for it (which is none).
Thanks Justin!
Update i18n function to accept a third parameter, which is an array that describes the arguments in the string to make translation much easier
Update some of the config/admin pages to make sure i18n is properly used, and that argument descriptions are set
Update invitation system to keep track of the number that have been invited and not allow the school to invite more than they are allowed
Update the schools editor, to allow specifying the max number of projects and whether the max is total for the school, or per age category
Add required fields to the schools table
Update the config variable for special awards registration to allow turning special awards registration off
Create scheduler configuration page to handle setup parameters for the automatic judge team assignments
Create the annealer to handle the actual assignments of judges to judging teams based on the lowest cost function of each individual team. Currently takes into account: a) age category preference, b) divisional areas of expertise. still requires: years of experience, language preference, and 'team captain' scheduling.
Open - Anyone can register.
Single password - Same password for all schools, they tell the
students that will register what the password is.
School password - One password per school, they tell the students
that will register what the password is. School is
pre-selected based on their school password. This will allow
eventually the ability to restrict participation numbers on
a per school basis
Invite - The teachers at the schools must 'invite' the students
to register by logging in as the school and creating
accounts for each student. The student then logs in and
finishes entering all of their information. This will allow
eventually the ability to restrict participation numbers on
a per school basis
Bump version number (0.9.3-svn)
1) add (preliminary) special awards nominations for students
2) add css right-margin to summarytable class
3) add new table for projets-specialawards-link
4) move projects.inc.php from admin/ to / (so particpant registration can use it)
judging for. Can now auto-create judging teams based on awards list (one team per award).
db bumped to v6
moved judges_teams to judges_teams_members
judges_teams is now the new interface