SFIAB MAJOR CHANGES BETWEEN VERSIONS Version numbers ending in EVEN numbers are considered 'stable' Version numbers ending in ODD numbers are considered 'testing' 2.1.8-r2 to 2.2.0 (September 2, 2008) Many minor bug fixes Add countries table and update provinces table to contain a country code Import list of countries to countries table Import list of the states for USA into provinces table Add full Content Management ability to create/modify/update any custom pages within SFIAB (eliminates the need to maintain a separate website for your fair!) Add config option for Province/State and Postal Code/Zip Code and update all places to use them Add first aid & cpr fields for data collection of committee/volunteers Add theme support for CSS and admin/config icons Fix some registration list counts to be more accurate Always show school's city in school access login Properly reset scheduler status and add scheduler status/percent to config if required Ignore unassigned jdiv's in the judge scheduler Add config for name pronunciation key in awards ceremony script Add config to filter awards ceremony script by age category Fix extra-long headings in PDF reports (now headings can wrap) Fix check min/max project summary counts when required for project completeness Fix handle min word count =0 (wordcount becomes non-required field) Fix check name check status when required for registration completeness Add a way to unregister projects that have been previously input and marked as registered (just enter the regnum again) Add medic alert and food requirements info to student reports Add a new report option, splitting label_box into label_box and field_box Add option to filter awards management interface by sponsor status (any, confirmed only, unconfirmed only) Rework the jdiv entry page to be cleaner if all jdiv's have been assigned Fix missing i18n's on school access page Disable school feedback form until they enter an email address and update the email headers so reply-to works Fix detection of "assigned" vs "unassigned" judges with discrepencies in multi-year data Display award errors if at least one age category and one divsion are not selected Fix namecheck for multiple students on the same project Fix judge team number auto-creation to disregard previous years team numbers Fix a judge team creation error with apostrophe's in the team name Fix a bug where the scheduler was allowing deleted judges to be scheduled Fix a bug causing multiple SFIABSESSION cookies to be set for different paths Update student tour annealer to be a bit smarter (handle students that dont choose tours better) Allow admin to change project sort field as well as the project number field in the project editor Fix 1x4 and 1x1.333 Avery stock to print properly within the required margins Show judge language on the judge team members list Fix scheduler status for IE7 - http.readyState needs manual reset Fix html entities in the translations editor (so you can on index page - its already at the top! Add schoolaccess page to the page text editor Add support for a short project title (as well as the normal title) Fix some missing config variable types Add registration fee item editor Add optional registration items to student registration Add more options to reports for self nominated awards Fix limits on special awards self nomination Add report to export schools as CSV in format suitable for CSV school importer Add award option to enable/disable self nomination of special awards Add award option to schedule judges or not with the automatic scheduler Fix division saving in the division config in some cases Add school board in brackets to registration list school names Add new paper types 11x17 for reports Add scalable columns to report generator Add mentor info to student report generator Fix multi-line table rows across page breakas Add number checking/parsing to report generator Fix registration fee config variable to be type 'number' (to catch "$20.00" vs "20") Add a preview option to the signature page configuration Fix tour sorting in student report generator Fix disabled divisional checks for special award only judges 2.1.6 to 2.1.8 (January 11, 2008) Fix a bug causing install3 script to FAIL due to existing config data Add new recipients to communication module - school principals, school science heads, and teachers Fix display of partner name field (first last) Fix emergency contact headers in reports Add 'total' option to report generator Add report data and a system report for counting t-shirts of each size Fix report generator grouping logic Fix pagesize settings in all reports (which makes landscape reports work) Fix icon path in table editor Add maxlength support for text area's in tablee ditor Add feature to project numbering for project sort order (so sorts can be different than the display value of the project number) Add feature to project numbering system for non cat/div sequences (X), as well as the number of left-padded digits for sequences (eg. N5) Several text/wording changes for clarity Add feature to parse colum data in the report generator as its extracted from the database Replace reports_acpresentation custom report with report generator version Fix report editor to always have a report type Fix report sorting if no sort field is specified Add option to include registration fee info on signature page Updates to 'important dates' page Add participant name check page for students to double-check their name Reorder/Rename some judge columns for clarity Add option to better handle multi-year judge reports Add project info, timeslots and students to the judge query Add prize amounts to report editor Fix ordering of links on judges main page Add special award selection editor to judge manager Fix judges and tours effort config to be a dropdown with 3 choices insetad of an integer input Add config option to disable cash/scholarship amounts on public winners page Add grade & school of each student to signature page Update PDF logo image for proper scaling Add option for regexp checking on user input fields Fix password expiry mechanism to obey updates to the expiry days config option Fix session variables cleanup on logout Update the development version display in the footer Add feature to whipe out and jdiv groupings and start from scratch Fix 'creating divisional awards' to obey filterdivisionsbycategory Add prize value, and trophy info to default divisional awards template Fix handling of type/stock for custom reports Add extra 'dont run these' checks to all the /scripts files Fix sorting on projects and judges list Fix judge team division groupings to obey filterdivisionbycategory Add tour reports - ALL tours for the committee, tour list for students, student emergency contact info for tour coordinators, and a list of tour assignments for students Add automatic tour assignments Add tour assignment editor Fix judges scheduler to launch correctly Updates to config editor to handle more categories (vertical list, instead of horizontal) Add option for minimum number of words in project description Add option to omit unawarded awards/prizes from awards ceremony script Add minimum size to config editor input size Add primary contact field to award contacts & use in reports Add sponsor information to the report generator awards report Add sponsor info CSV report Add a 'contact us' page to contact committee Add new entries to page text editor to allow customizing some text blurbs Fix ordering of judging team names Add volunteer registraltion modes Fixes/Updates to Avery templates Config editor uses multiple checkboxes instead of multi-select Much more detailed stats on registration list/statistics page Sort school list using city-schoolname, instead of just schoolname Fix a couple PDF issues 2.1.4 to 2.1.6 (Dec 12, 2007) Fix multi-role accounts (so committee and volunteers can have one account with both roles) Fix wording 'input received signature forms' Fix error checking on judges teams timeslots assignments Fix an potential infinite loop on PDF generation Fix judge scheduler detection of more than one divisional award per division/category Fix judge scheduler detection of existing divisional awards when filterdivisionbycategory is used Fix email detection in isEmailAddress() (this was preventing the system from sending most emails!) Refactor common AJAX code into a separate include file Separate awards ceremony script generation to a separate page -- eventually it'll have options on that page New report generation screen that lets you override the default format, stock and year of a report before its created New 'my reports' report manager - each committee member can maintain their own list of reports applicable to them, sorted by categories Add email address to new participant email, and send the new participant email to `emailcontact` if it exists Fix judge special award signup if they've specified they are from a specific special award Fix date of birth complete/incomplete for 0000-00-00 dates Fix MySQL5 query on judging teams management page Add school access codes report to report generator and remove custom report Add more school fields to the report generator Fix fairyear rollover of categories-divisions-links if filtercategoriesbydivision is used Usability updates to award contacts & award sponsors pages 2.1.2 to 2.1.4 (Dec 4, 2007) Add ability to export reports that have been created so they can easily be shared Add more school information columns to the report generator and add a new schools list report Add CURL checks and give errors/warnings if its not there Add external award winners postback (to resubmit the winners to wherever the awards came from) Auto-create sponsors for downloaded awards Add external award source downloader Add external award source manager to manage the external award sources that awards can be downlaoded from Add ability to configure display/require fields for users (committee/volunteer) Add description to awards and add it to the awards ceremony script if it exists Add trophy selection to award prizes (student keeper, student return, school keeper, school reteurn) Add ability for future updates to 'built-in' reports Fix wording for 'open or invite' registration type on schoolaccess page Add new user management system and convert committee members and volunteers to use it Fix logins for users with expired passwords Add ability for DB update script to also run a PHP script before and/or after the DB script is run for the version Add extra error checking for system() calls on install and update to prevent broken installs/updates when system() isnt allowed Add datetime field support for tableeditor Add volunteer registration, and volunteer job description management Add sponsor organization to awards ceremony script Add ability to generate awards ceremony scripts for only certain award types Add ability to generate awards ceremony script for a previous year Rename the SESSION variable cookie name to reduce the possibility of SESSION classes for multiple SFIAB installs running under the same domain. Add more error checking on the image uploader Fix PDF links with the broken Internet Explorer/SSL implementation Allow 'username' to be used insetad of 'email address' for logins for users without email addresses Fix wording for 'project_num_format' variable Add a login/info bar to the header, and cookiecrumb trail for current location Add judges 'invite only' screen to Page Texts editor Add internal document manager for committee documents Make tableeditor backwards compatible with single table (non OO/class based) editors Use FCKEditor for HTML editor for Page Texts (if FCKEditor is found in the /fckeditor folder - needs to be installed manually) Add 'committee members' as possible communication module recipients Fix a project number uniqueness problem with multi-year data Add ability to have multiple email recipients for a single project registration (eg teachers) Replace all 'from' in emails with the FAIRMANAGER - make sure its set Add emails to send students on 'registration complete' and 'registration payment pending' Add award sponsor to winners entry page Add ability for teacher to 'auto-login' as a student that they have already invited Update emails to allow [FAIRNAME] to substitute in body of messages Fix some MySQL report queries Fix ambiguity in the term "# of prizes" vs "# awarded" Rework judge management - judge list 'delete' unlinks from fairyear, judge manager 'delete' deletes completley Fix logo display problem on /config and /admin Add option to view reports from past years Character encoding updates for MySQL 5.x Add judge registration checks for when judge registration is not yet open One-click YSF Affiliation Stats Fix award nomination eligible award list for multi-year data Fix school mailing labels in french Fix config types/config values on rollover/install Fix some register_globals on reliances, and add a .htaccess to disable register globals if possible 2.1.0 to 2.1.2 (Sep 20, 2007) Fix a bug that prevented the rollover script from properly rolling over the award prizes. Add a temporary workaround script to re-roll the award prizes for anyone thats already done it. Add school type report to report generator, so you can create labels for all schools 2.0.12 to 2.1.0 (Sep 11, 2007) New custom report generator implementation and many, many defualt pre-programmed reports Show 'Confirmed Participants' list when its appropriate to do so Show link to Confirmed Participants list immediately after regclose, it will be empty with a notice as to when the list will be available Add required registration fee to forms checkoff page Add three new email recipients to communications module: special award sponsors (confirmed only, unconfirmed only and all) Add 'none' as a tshirt option for the admin student editor Implement hr and vspace in the CSV report generator Auto-focus the input box on the input received forms page In judges division groupings, only show the count of projects that are complete or paymentpending Position project number absolutely on table labels, incase title wraps to two lines preventing the entire label from splitting pages Add page numbers to PDF generated reports Optional parameter to allow/disallow multi-line text fields in PDF reports Fix a bug where the number of students on a project could be greater than the maximum Clarification of "prize" field usage Add special awards judging scheduler, creates judging teams for awards, assigns judges to special awards, obeys judges special awards preferences Update the awards management interface, much more user friendly now Fix a bug where the judge scheduler would have problems if there was 0 judge div groupings Implement web consent restrictions, to allow firstname, lastname and photo to be prevented from being displayed on a per student basis on the public award winners page, and confirmed participants page. Update tour selection reports Fix an few places where we rely on register_globals to be on Add option for winner selection page to show all ELIGIBLE projects for special awards, not just nominated ones (incase the winning project happens to be a proejct that didnt nominate for the award) Updates to scheduler to ignore 'willing chair' for team size of 1 Fix a bug in the project title saving where quote marks were being requoted Create a report with all info required for the sci-tech ontario winners submission Fix a bug where exit() wasnt being called after a few header("Location:") redirects Fix winners page to properly show multi-year data 2.0.10 to 2.0.12 Fix wording on table label and nametag field section pages Respect page margins on school access codes report Update wording that is displayed on screen for 'invite only' judge registration Add option to project editor to manually regenerate the project number Fix a bug in project number generation that was causing some projects to not have project numbers assigned when there was multi-year data in the system Fix wording on judges special awards page Indicate T-Shirt size is in adult sizes Don't let special awards nominations happen until the minimum student/project info is complete Display a notice that the signature page is only available once all other sections are complete Allow the student to not nominate for any special awards and still be 'complete' 2.0.8 to 2.0.10 Fix PDF table bug if there was no table Add email field to judge list, and judge manager Add 'Presented By' to awards ceremony script Add 'School Board' to school manager list Fix bug with showing registration cost breakdown on summary page to respect the config choice yes/no Fix judge manager to keep the show_what persistent when performing other actions (sorting, editing, etc) Add ORDER BY school to school manager, so it sorts by school name Prompt for fields to display on name tags Prompt for fields to display on table labels If school access type is open or openorinvite s how a message on the school access page to tell schools that they dont need to login to register their students Fix school projects report if there are no projects 2.0.6 to 2.0.8 Fix issue with importing default judging questions Add option to delete the uploaded logo Allow committee privateemail to be empty Add location & contact info for tours Revamp configuraton page so it understands what choices are available for each option and gives dropdown lists where available Add two new configuration options: - 'participant_student_tshirt_cost' allows the cost of each fair tshirt to be set (vancouver charges $10 for tshirts, because not all students want them), this also adds a 'none' option to the tshirt selection box, and a note indicating the tshirt cost if the costs is nonzero. - 'regfee_show_info' adds a "Registration Fee Information" to the main student registration page, showing a breakdown of the registration fee computation (including tshirts, per_student and per_project registration, and indicates the total. Add a 'my profile' link on the main nav bar once a committee member logs in Add new configuration variable 'specialawardnomination_aftersignatures'. Default='yes', meaning the behaviour is the same as the default. 'no' means that students can self-nominate for awards before the committee receives their signature form. Update tour selection to dynamically build the list of grades available Make age pulldown selection based on min/max ages, not min/max grades Updates to tableeditor class Fix problem with viewing judges for current year when past year data existed Move judging age preferences to the expertise page, rename to 'divisional preferences' Add the ability for judges to select special awards they would like to judge Add the ability for a judge to specify that they are a judge for a specific award (ie representative from the organization) Add award criteria to winner input page for sanity checks Allow judges to select 'other' awards to judge Make language field required for judges (so we know which team they can be assigned to!) Add new (4th) section to signature page, which allows a postamble for 'additional info' Add new option to ask students for a pronunciation of their name (for awards ceremony) Hide tour capacity from students, filter the tour list by available grades and warn students that they need to choose a grade before a tour Add a new report: judging sheet stickers, 1"x4" to fit exactly on the CWSF Judging Forms to identify the project 2.0.4 to 2.0.6 Add a TCPDF version of the signature page for systems without PDFLib - see wiki for instructions on setting up TCPDF Create PNG version of the logo (as well as GIF) when its uploaded Make the table (yes/no) and electricity (yes/no) questions configurable so regions can turn them off if required Add new participant registration type: "openorinvite" allows you to use the system as if it was OPEN or INVITE however limits cannot be imposed in the inviter since when its reached in the inviter it could easily be bypassed by registering through the 'open' way. Add a tours module that allows students to specify their tour preference, module is off by default 2.0.2 to 2.0.4 Only allow the Password: field in the committee manager to be shown/displayed/edited by someone with superuser access level Add option to turn off the Mentor section for participant registration Add two new projectnumber options: c=category shortform, d=division shortform, eg (JLS01 = Junior, Life Science, Project #01) Add shortform field for age category Fix bug in config editor where it was updating values for ALL years, instead of just the current year! Add a configurable character limit on project title length, default is 100 characters Show school access code in schools list Add ability to create access codes for all schools and to remove access codes from all schools Update generatePassword to accept a password length as a parameter, defaults to 8 Add a project editor and a student editor, accessible by clicking on the project or student links from the "Registration List and Statistics" page Add the project number to the registration list Add an option to forcibly reset the judge scheduelr incase it gets stuck in an inconsistent state Fix incorrect wording on judges expertise page 2.0.0 to 2.0.2 Fix a bug that prevented the admin from adding new judging questions Fix a bug that prevented rolling over years configuration variables from working correctly 1.1.0 to 2.0.0 Add school importer from CSV Add generic mailing label generator Add teacher signature option to signature page Add a AJAX powered translations dropdown for user entered info Add new fields to sponsors table Add new fields to award contacts table Add new fields to schools table Add prize value to prizes table Add a judge management interface with new generic editor class Add a link to return to school access page once logged in and changed pages Add One-Click CWSF registration Add an integegrated help system for admin/config Add a live version checker to check for up-to-date version of SFIAB Add a live language pack installer to install new language packs Add a judge scheduler status page, and when running the scheduler, fork it off in the background Add option to delete a student's registration Add several new reports Fix filename of awards ceremony script Fix the length of several email and phone fields Fix NOTICE reporting in PHP disabled for systems that dont do it globally Fix some missing i18n's Fix many other smaller bugs! 1.0.4 to 1.1.0 More options added to communication module New report - projects/students per school New report - logistical requirements (electricity, tables, etc) Put fair logo in the header Fix issues with student viewer Add judge language to judge list export Fix some issues with judge team assignments CSV reports for nametags Configurable judging questions Students can now logout When rolling over sponsors, keep the old sponsors but set them to 'unconfirmed' Roll over the schools properly Judge division groupings, used for judge scheduler New implementation of judge team assignments (much better!) New implmentation of judge/timeslot scheduler Split configuration variables into multiple 'tabs' of related variables Allow scheduling of projects that are still 'payment pending' Assign project numbers for projects that are 'payment pending' Show dates in pre-defined order instead of chronologically And many other small bugfixes and changes as well as refactoring and simplification of much of the code 1.0.2 to 1.0.4 Check for valid email addresses before sending an email Add a judges list to the judges admin page, allowing removing judges Fix a bug where participant school was not being set for invite or singlepassword types Convert signature page to be database driven, and allow it to be modified. 1.0.0 to 1.0.2 Add a configuration option to not require student personal information, such as address, phone number, etc. Sort the school list alphabetically on the schoolaccess page, and if two schools have the same name, show the city after the school name in brackets Fix sending of manual emails through the communication module Fix a few problems with age category preferences on judges registration Fix some multi-year data problems with areas of expertise and subdivisons Fix the judges list report to properly show the age category preferences Fix the output of the db_update script to look better if run from within a web browser instead of the command line 0.9.8 to 1.0.0 Completed the automated judging scheduler, it now schedules the projects to the teams in available timeslots Add feature to have different divisions for each age category Add feature to exclude awards / prizes from awards ceremony script Allow setting minimum grade = 0 to account for kindergarden participants Auto-set the min/max years in the student Date of Birth selector based on the range of grades Add feature to support school district and school boards in the schools manager When choosing winners for special awards, if special award nominations are not used, simply show all eligible students instead of those who nominated Many many many bugfix / usability fixes Fix the layout in MS Internet Explorer (Inept Exploder) 0.9.6 to 0.9.8 Fixed a bug that stopped the registration number from being sent to participants Add the Translation manager to update translations into different languages Implement limiting of number of participants per school if the registration type is "invite" Update the school's participant inviter system to be much more robust Add configuration option to disable the T-Shirt size question 0.9.4 to 0.9.6 Some typo bug fixes in emails and page texts Implement the judges 'resend password' function Allow creation of 'default prize templates' for awards to use Automatic Judging scheduler and judges team project assignments - THIS IS NOT COMPLETE/FINISHED YET, only use for testing! - Team assignments work, but not taking all parameters into account yet - Schedule is created, but not updated in database Automatic Creating of All Divisional Awards based on the default prize template Add 'required field' stars to both participant and judges registration pages Many other small changes and bugfixes 0.9.2 to 0.9.4 Update LPDF to handle tables without a header row Update LPDF to add a "..." to a table field if all of the text didnt fit in the table field Add project details report - shows info for one project per page, with project details, mentor information, and project summary Add student emergency contact report Fix a few reports to make sure we dont duplicate results for multiple years Add safety question configuration Add the judge inviter to the judge administration section Add Judge Registration Type Judge registration type can now be one of: Open - Anyone can register as a judge Single Password - A password is selected by the committee and is given to any potential judges. The judge must enter this judge registration password before they will be allowed to create an account Invite - Judges must be invited by the committee, judges will not be allowed to create new accounts. Add the ability for schools to invite participants IF participant_registration_type=="invite" Add Participant Registration Type Participant registration type can be one of: 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