forked from science-ation/science-ation
Plug-in Evaluations: Work on user interface. See eval_help.html for current status and 'To Do' List.
This commit is contained in:
parent
97d101d4bb
commit
7fbab3d8e6
@ -23,363 +23,681 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Untitled Document</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<p align="center"><strong>Welcome to Evaluations Help</strong></p>
|
||||
<p><a href="../index.php" title="Return to Evaluations Main page" target="_self">Return to Evaluations</a></p>
|
||||
<p><a href="#intro" target="_self">Introduction:</a> An overview of Evaluations plug-in for SFIAB</p>
|
||||
<p><a href="#install">Installation</a>: How to Install Evaluations plug-in</p>
|
||||
<p><a href="#process" title="Typical sequence of actions when using Evaluations" target="_self">Process:</a> The typical process used in Evaluations plug-in</p>
|
||||
<p><a href="#setup" title="How to set up your evaluations scheme" target="_self">Setup</a>: How to set up the evaluations schemes for your event.</p>
|
||||
<p><a href="#actions" title="Details about each of the administrative actions for Evaluations" target="_self">
|
||||
Step by Step:</a> Details about the administrative actions (steps) in the Evaluations process.</p>
|
||||
<p><a href="#examples" title="Several examples of Evaluations setup" target="_self">Examples:</a> Examples of setting up Evaluations for different types of project evaluations and scoring.</p>
|
||||
<p><a href="#tables" title="Details about the database tables supporting Evaluations" target="_self">Tables:</a> Details about the database tables used in Evaluations.</p>
|
||||
<p><a href="#apperson">Apperson Scanner:</a> How to setup SFIAB to use
|
||||
the Apperson Education Products Benchmark 3000 Scanner.</p>
|
||||
<p> </p>
|
||||
<title>SFIAB Evaluations Help</title>
|
||||
<style type="text/css">
|
||||
.style1
|
||||
{
|
||||
font-size: large;
|
||||
}
|
||||
.style2
|
||||
{
|
||||
font-weight: normal;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<p align="center"><strong>Welcome to Evaluations Help</strong></p>
|
||||
<p><a href="../index.php" title="Return to Evaluations Main page" target="_self">
|
||||
Return to Evaluations</a></p>
|
||||
<p><a href="#intro" target="_self">Introduction:</a> An overview of
|
||||
Evaluations plug-in for SFIAB</p>
|
||||
<p><a href="#install">Installation</a>: How to Install Evaluations plug-in</p>
|
||||
<p><a href="#process" title="Typical sequence of actions when using Evaluations" target="_self">
|
||||
Process:</a> The typical process used in Evaluations plug-in</p>
|
||||
<p><a href="#setup" title="How to set up your evaluations scheme" target="_self">
|
||||
Setup</a>: How to set up the evaluations schemes for your event.</p>
|
||||
<p><a href="#actions" title="Details about each of the administrative actions for Evaluations" target="_self">
|
||||
Step by Step:</a> Details about the administrative actions (steps) in the
|
||||
Evaluations process.</p>
|
||||
<p><a href="#examples" title="Several examples of Evaluations setup" target="_self">
|
||||
Examples:</a> Examples of setting up Evaluations for different types of
|
||||
project evaluations and scoring.</p>
|
||||
<p><a href="#tables" title="Details about the database tables supporting Evaluations" target="_self">
|
||||
Tables:</a> Details about the database tables used in Evaluations.</p>
|
||||
<p><a href="#apperson">Apperson Scanner:</a> How to setup SFIAB to use
|
||||
the Apperson Education Products Benchmark 3000 Scanner.</p>
|
||||
<p> </p>
|
||||
<p>
|
||||
NOTE: The Evaluations plugin should be 'functional' at this time but not
|
||||
secured. Until security is incorporated, it should not be used on real data.
|
||||
I will need James to help implement security.<br />
|
||||
To Do list: (in order of importance - sort of):</p>
|
||||
<ul>
|
||||
<li>Anyone: Add Security so only committe members or perhaps judges can get to this
|
||||
plugin web pages<br />
|
||||
This needs some planning and inputs. Should any judge be
|
||||
allowed to log-in and get to these pages or..<br />
|
||||
should there be some special password for a judge team (or just
|
||||
committee members or ...)</li>
|
||||
<li>Anyone: Add Security. Dennis suggests the following:<br />
|
||||
- Committe members (the administration staff) have access to
|
||||
all of the Evaluations package.<br />
|
||||
- Judges can access the Evalutaion input form (page
|
||||
eval_webentry.php) but can enter data only if:<br />
|
||||
They log in with their password.<br />
|
||||
They can only enter data for teams to
|
||||
which they are assigned.<br />
|
||||
(optionally perhaps every team would be
|
||||
required to have a team leader and only the team leader can enter data)<br /> This needs some planning and inputs.</li>
|
||||
<li>Dennis: Fix so only projects in table judges_teams_timeslots_projects_link are
|
||||
'Linked' into eval_projects and eval_projects_entries. At this time all projects
|
||||
are linked - will only want the 'complete' and assigned to a team projects.</li>
|
||||
are linked - we will only want the 'complete' and assigned to a team projects.</li>
|
||||
<li>Dennis: Make sure it will work with more than one judging round. For now it is
|
||||
set up only for one judging round. It is unknow what will happen if there are
|
||||
more than one round. Perhaps an option during linking to select which
|
||||
round.</li>
|
||||
<li>Dennis: Document the details of using the Apperson Scanners - and how to
|
||||
set up the fair to do so.</li>
|
||||
<li>Anyone: Add to TRUNK version. Dennis cannot do due to not being able
|
||||
to get Trunk fully running - needs help.</li>
|
||||
set up only for one judging round. It is unknow what will happen if there is
|
||||
more than one round. Perhaps an option during linking to select which round.</li>
|
||||
<li>Dennis: Add project number and team numbers to the exported files where
|
||||
usefull. add team_id and project_id to preslug export (for reference)</li>
|
||||
<li>Anyone: Add to TRUNK version. Dennis cannot do due to not being able to get
|
||||
Trunk fully running - needs help.</li>
|
||||
<li>Anyone: Clean up the front end user interface. <ul>
|
||||
<li>Set up for english or french (routines should be in sfiab_common.inc.php -
|
||||
if not, add them there if same as in SFIAB.</li>
|
||||
<li>Set up for English or French (routines should be in sfiab_common.inc.php - if
|
||||
not, add them there if same as in SFIAB.</li>
|
||||
<li>Make the menus and tables etc all look like SFIAB.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>AAnyone: Test with different schemes - perhaps send to those current users
|
||||
who are interested in or currently using a scoreing method.</li>
|
||||
<li>Anyone: Make it a true 'plug-in'. Download and add to SFIAB
|
||||
versus currently 'part of' SFIAB - or not</li>
|
||||
<li>Anyone: Test with different schemes - perhaps we could set up Evaluations
|
||||
for those current users who
|
||||
are interested in or currently using a scoring method.</li>
|
||||
<li>Anyone: Make it a true 'plug-in'. Download and add to SFIAB versus currently
|
||||
'part of' SFIAB - or not</li>
|
||||
<li>Etc.</li>
|
||||
</ul>
|
||||
<p> </p>
|
||||
<p align="center"><strong><a name="intro" id="intro"></a>Introductiong></p>
|
||||
<p align="left">Evaluations is a plug-in to SFIAB. That means you can add it to your current version of SFIAB with
|
||||
minimal changes to your current SFIAB version. No changes will be made to
|
||||
your current SFIAB data. In other words, no matter where you are in the SFIAB process for your event, you can add and take advantage of Evaluations and not worry about it creating problems. If you decide to not use it in the future you can 'unplug' it without any effect on your current setup or data. <br />
|
||||
</p>
|
||||
<p align="left">There are two changes in the configuration of SFIAB that must be implemented
|
||||
during the installing of Evaluations:<br />
|
||||
SFIAB must be configured for judging as follows:<br />
|
||||
- the table config must have an entry with var = 'score_entry_enable' and val = 'yes' <br />
|
||||
- the table judges_teams_timeslots_projects_link must have a field 'score' Float length 5.2 null=yes<br />
|
||||
Configuring SFIAB in this manner will also enable the necessary links in the admin menu and the judges menu for using Evaluations. This is the SFIAB configuration used my one or more fairs in the past.
|
||||
</p>
|
||||
<p align="left">Evaluations provides a very configurable method of capturing 'scores' for your projects. You can configure multiple schemes used for scoring! For each scheme you design the evaluation criteria to use, the weighting for each criteria and the levels (choices) judges can select from for each criteria. With multiple schemes you can design a completely different method of evaluation for each different type of projects (i.e. senior divisions versus junior divisions, team projects, etc.) When your organization changes the way they want you to evaluate projects, just change the Evaluations setup.</p>
|
||||
<p align="left">Evaluations provides several methods of collecting your judge teams (judges) evaluations. Web pages are built for each scheme for entry on the web. CSV files are created for use with scanners or for creating your own forms to be used by the judge teams (judges)</p>
|
||||
<p align="left">And, all the calculations are done for you. Evaluations uses the information in your setup to calculate scores from the entries made by the judges. The code works for all combinations of possible schemes - it all driven by the tables. So, once you can set up your scheme(s) Evaluations can do the math. A unique averaging method is used when you collect more than one evaluation for each project so all the valid data is used, even if one judge team leaves out a mark or makes multiple marks on their evaluations forms (i.e. when using scanners).. </p>
|
||||
<p><br />
|
||||
</p>
|
||||
<p align="center"><strong><a name="process" id="process"></a>Process</strong></p>
|
||||
<p align="left">The process in a nutshell is:</p>
|
||||
<p align="left">1. Install Evaluations plug-in:</p>
|
||||
<p align="left">2. Set up your evaluation schemes, criteria and values:</p>
|
||||
<p align="left">3. After all your projects and judge teams are configured - Link
|
||||
Evaluations to your SFIAB data. </p>
|
||||
<p align="left">4. If required, Export the necessary data for use by external
|
||||
programs or scanners to collect the evaluations:<br />
|
||||
- CSV files are created for download for your use in programming scanners and pre slug of the scanner forms<br />
|
||||
- CSF files can be use to create your own evaluation forms.</p>
|
||||
<p align="left">5. The judge teams (judges) do the evaluations and 'mark' the appropriate level for each of the criteria for the scheme that applies to the project.</p>
|
||||
<ul>
|
||||
<li> Web forms for entries are used for teams who log into the
|
||||
web site. Any committee member can log in, then enter the team number to bring up the projects assigned
|
||||
to that team. </li>
|
||||
<li> The team enters the evaluation for each project assigned.</li>
|
||||
<li> Other methods of collecting evaluations can be
|
||||
implemented using the exported CSV files. </li>
|
||||
</ul>
|
||||
<p align="left">6. The data is collected into a table in Evaluations. </p>
|
||||
<ul>
|
||||
<li>If the judges use a web page the data goes directly into the table. </li>
|
||||
<li>Uploads from a specified CSV file format will also load the table so... no matter what technique you use the data is collected in a standard format for the next steps.</li>
|
||||
</ul>
|
||||
<p align="left">7. The data is processed (a button push). </p>
|
||||
<ul>
|
||||
<li> A score is created for each judge / project evaluation. </li>
|
||||
<li>An average evaluation score is created for each project that is the average of all the evaluations done for the project. </li>
|
||||
</ul>
|
||||
<p align="left">8. If a caucus of the judge team requires some adjustments to the evaluations scores, that is accomplished by the team leader (chair person) - resulting in the final score for the project.</p>
|
||||
<p align="left">9. Reports and or CSV files are available for the final results.</p>
|
||||
<p align="left">10. A tool is provided to facilitate assigning the winners of some of the category awards (1st, 2nd, 3rd prizes and honorable mentions) where those winners simply rely on the ranking results.</p>
|
||||
<p align="left"> </p>
|
||||
<p align="center"><strong><a name="setup" id="setup"></a>Setup</strong></p>
|
||||
<p align="left">It is imperative you understand how to correctly setup Evaluations for your event. With that in mind we will try our best to explain how the setup works and the various options that are available.</p>
|
||||
<p align="left"><strong>Definitions:</strong></p>
|
||||
<p align="center"><a name="intro" id="intro"></a><b>Introduction</b></p>
|
||||
<p align="left">Evaluations is a plug-in to SFIAB. That means you can add it
|
||||
to your current version of SFIAB with minimal changes to your current SFIAB
|
||||
version. No changes will be made to your current SFIAB data. In other
|
||||
words, no matter where you are in the SFIAB process for your event, you can add
|
||||
and take advantage of Evaluations and not worry about it creating problems.
|
||||
If you decide to not use it in the future you can 'unplug' it without any effect
|
||||
on your current setup or data. <br />
|
||||
</p>
|
||||
<p align="left">There are two changes in the configuration of SFIAB that must be
|
||||
implemented during the installing of Evaluations:<br />
|
||||
SFIAB must be configured for judging as follows:<br />
|
||||
- the table config must have an entry with var = 'score_entry_enable' and
|
||||
val = 'yes' <br />
|
||||
- the table judges_teams_timeslots_projects_link must have a field 'score'
|
||||
Float length 5.2 null=yes<br />
|
||||
Configuring SFIAB in this manner will also enable the necessary links in the
|
||||
admin menu and the judges menu for using Evaluations. This is the SFIAB
|
||||
configuration used my one or more fairs in the past.
|
||||
</p>
|
||||
<p align="left">Evaluations provides a very configurable method of capturing
|
||||
'scores' for your projects. You can configure multiple schemes used for
|
||||
scoring! For each scheme you design the evaluation criteria to use, the
|
||||
weighting for each criteria and the levels (choices) judges can select from for
|
||||
each criteria. With multiple schemes you can design a completely different
|
||||
method of evaluation for each different type of projects (i.e. senior divisions
|
||||
versus junior divisions, team projects, etc.) When your organization
|
||||
changes the way they want you to evaluate projects, just change the Evaluations
|
||||
setup.</p>
|
||||
<p align="left">Evaluations provides several methods of collecting your judge teams
|
||||
(judges) evaluations. Web pages are built for each scheme for entry on the
|
||||
web. CSV files are created for use with scanners or for creating your own
|
||||
forms to be used by the judge teams (judges)</p>
|
||||
<p align="left">And, all the calculations are done for you. Evaluations uses the
|
||||
information in your setup to calculate scores from the entries made by the
|
||||
judges. The code works for all combinations of possible schemes - it all driven
|
||||
by the tables. So, once you can set up your scheme(s) Evaluations can do the
|
||||
math. A unique averaging method is used when you collect more than
|
||||
one evaluation for each project so all the valid data is used, even if one judge
|
||||
team leaves out a mark or makes multiple marks on their evaluations forms (i.e.
|
||||
when using scanners).. </p>
|
||||
<p><br />
|
||||
</p>
|
||||
<p align="center"><strong><a name="process" id="process"></a>Process</strong></p>
|
||||
<p align="left">The process in a nutshell is:</p>
|
||||
<p align="left">1. Install Evaluations plug-in:</p>
|
||||
<p align="left">2. Set up your evaluation schemes, criteria and values:</p>
|
||||
<p align="left">3. After all your projects and judge teams are configured - Link
|
||||
Evaluations to your SFIAB data. </p>
|
||||
<p align="left">4. If required, Export the necessary data for use by external
|
||||
programs or scanners to collect the evaluations:<br />
|
||||
- CSV files are created for download for your use in
|
||||
programming scanners and pre slug of the scanner forms<br />
|
||||
- CSF files can be use to create your own evaluation
|
||||
forms.</p>
|
||||
<p align="left">5. The judge teams (judges) do the evaluations and 'mark' the
|
||||
appropriate level for each of the criteria for the scheme that applies to the
|
||||
project.</p>
|
||||
<ul>
|
||||
<li> Web forms for entries are used for teams who log into the web site. Any
|
||||
committee member can log in, then enter the team number to bring up the
|
||||
projects assigned to that team. </li>
|
||||
<li> The team enters the evaluation for each project assigned.</li>
|
||||
<li> Other methods of collecting evaluations can be implemented using the exported
|
||||
CSV files. </li>
|
||||
</ul>
|
||||
<p align="left">6. The data is collected into a table in Evaluations. </p>
|
||||
<ul>
|
||||
<li>If the judges use a web page the data goes directly into the table. </li>
|
||||
<li>Uploads from a specified CSV file format will also load the table so... no
|
||||
matter what technique you use the data is collected in a standard format for the
|
||||
next steps.</li>
|
||||
</ul>
|
||||
<p align="left">7. The data is processed (a button push). </p>
|
||||
<ul>
|
||||
<li> A score is created for each judge / project assignement with complete
|
||||
'captured' data. </li>
|
||||
<li>An average evaluation score is created for each project that is the average of
|
||||
all the evaluations done for the project.</li>
|
||||
<li>These scores can be used as desired by the fair officials </li>
|
||||
</ul>
|
||||
<p align="left">8. If a caucus of the judge team or the official responsible for a
|
||||
particular division requires some adjustments to the
|
||||
evaluations scores, that is accomplished by the team leaders (chair persons or
|
||||
other officials) -
|
||||
resulting in the final scores for the projects in each division.</p>
|
||||
<p align="left">9. Reports and or CSV files are available for the final results.</p>
|
||||
<p align="left">10. A tool is (TBD) provided to facilitate assigning the winners of
|
||||
some of the category awards (1st, 2nd, 3rd prizes and honorable mentions) where
|
||||
those winners simply rely on the divisional ranking results.</p>
|
||||
<p align="left"> </p>
|
||||
<p align="center"><strong><a name="setup" id="setup"></a>Setup</strong></p>
|
||||
<p align="left">It is imperative you understand how to correctly setup Evaluations
|
||||
for your event. With that in mind we will try our best to explain how the
|
||||
setup works and the various options that are available.</p>
|
||||
<p align="left"><strong>Definitions:</strong></p>
|
||||
<p align="left"><strong>Scheme:</strong> A method of evaluating a set of projects -
|
||||
perhaps differently than other projects. For instance you might have a scheme for team projects and another scheme for non-team projects. Or, you might have different schemes for each division in your event. Each scheme has a specific set of criteria, criteria weights and evaluation levels (choices) used to evaluate a project and then to calculate a score for that project. Each project is assigned a scheme. You can have as many schemes as you like. Each scheme has an id, a name and a selection statement. The selection statement is used to select which scheme is used for each project. The selection statement has three parts. the
|
||||
'item', the 'condition' and the 'value' - like 'div > 1'. Each project that matches the selection statement of one of the schemes is assigned that scheme. Here are a couple of examples of schemes:</p>
|
||||
<p align="left">scheme id name selection statement result<br />
|
||||
1 ISEF scoring team = no projects with one student are assigned scheme id 1<br />
|
||||
2 ISEF (Team) team = yes projects with two or more students are assigned scheme id 2</p>
|
||||
<p align="left">scheme id name selection statement result assumes we have 2 categories setup - Junior = 1, Senior =2<br />
|
||||
1 Junior Category cat = 1 projects with category id = 1 (junior) are assigned scheme id
|
||||
1. <br />
|
||||
2 Senior Category cat > 1 projects with category id = 2 or higher are assigned scheme id
|
||||
2. (could use cat = 2 also)</p>
|
||||
<p align="left"><strong><em>'item':</em></strong> The 'item' part can have and of the following values: (more can be added it your request but it requires a code change.)<br />
|
||||
team: If the project has one student then the value of team is 'no'. If the project has more than one student then the value of team is 'yes' <br />
|
||||
cat: This represents the setting of the category_id assigned to the project. You set up categories in SFIAB and each project gets assigned one of those categories. <br />
|
||||
div: This represents the setting of the division_id assigned to the project. You set up divisions in SFIAB and each project gets assigned one of those divisions.<br />
|
||||
grade: This represents the grade of the project's student. For teams, grade is the grade of the team member with the highest grade.<br />
|
||||
|
||||
cwdiv: This represents the Canada wide science fair division id (cwsfdivisionid field in projects).</p>
|
||||
<p align="left"><em><strong>'condition'</strong></em>: You are allowed to use any one of these
|
||||
symbols as the 'condition' part of the scheme selection criteria:<br />
|
||||
= Equal<br />
|
||||
!= Not Equal<br />
|
||||
< Less Than<br />
|
||||
> Greater Than
|
||||
</p>
|
||||
<p align="left"><strong><em>'value:'</em></strong> The 'value' part represents the value of the Field for each project. For instance team can have a value of 'yes' or 'no'. Cat can have values like 0,1,2... - whatever you used for the Category Ids when you set up Age Categories in SFIAB. cwsfdivisionid has values those in Canada should understand.</p>
|
||||
<p align="left">So, you can setup criteria like 'team = yes' or 'div = 1' or 'div < 3' or 'team != no' etc. Except for team (value = 'yes' or 'no) it is important to use a value that is set up for that field in SFIAB else the scheme_id will not be set correctly in Evaluations projects data.</p>
|
||||
<p align="left"><strong>Criteria:</strong> Each evaluation scheme will have a set of criteria. These are what the judge team considers when comparing a project with other projects and with a standard. Examples of criteria are: 'Scientific Thought', 'Skill', 'Thoroughness', 'Teamwork', 'Research Skill', Etc. You create the criteria for each scheme used for your event. In fact you can have different criteria and a different number of criteria for each scheme For instance, elementary school projects may require only two criteria - 'Scientific Approach' 'Completeness' where as a senior school projects will require criteria of more relevance to the project advancing to the next level.</p>
|
||||
<p align="left"><strong>Levels: </strong> Each evaluation scheme will have a set of levels. Levels are like grades. You determine the number of levels your evaluations will have and the value assigned to each level for each scheme. For instance you might have levels of A, B, C, D, F with values of 4,3,2,1,0 for one scheme and levels of Exceptional, Excellent, Very Good , Good, Acceptable with values of 5,4,3,2,1 for another scheme. The values do not have to be a sequence of integers but that works best. There are also optional 'special use' levels you can create that allow you to do error checking on the judges entries and take the appropriate action if the entry has errors. Special use levels are not used in calculating a score. An example is to assign a 'special use' level of 'No Entry' with a value of 0. Then when a scanner or any other process used to collect entries detects that there is no mark for a criteria it can assign the value 0 to the entry and Evaluations knows to 1.) not use that criteria entry in the calculations and 2.) indicate the error in the status for that entry. The short 4 character level_code is then added to the status for that entry. Setting a 'special use' level "MultipleMarks" with a value of 7 would allow the collection process (i.e. a scanner) to set that value when multiple entries are made for a criteria. Evaluations knows to not use that criteria's entry in the calculations and can indicate the error in the status.</p>
|
||||
<p align="left"><strong>Weighting:</strong> Each criteria will have a weighing assigned in such a way that the sum of the weights for all the criteria to be used is = 100. Lets do an example: Say one of your evaluations schemes has 4 levels -L1, L2, L3 and L4 with values of 1,2,3,4 and the scheme as 3 criteria C1, C2 and C3. with weights of 20,30, 50. Note the weights add up to 100. Define level_value as the entry made by the judge for a given criteria. It will be 1,2,3 or 4 in this example. Also define max_level_val as the maximum level value used in calculating a score (i.e. not a 'special use' level) In this example max_level_val = 4. Given all that, a score in this example is calculated as follows:</p>
|
||||
<p align="left">score = ( C1.level_value * C1.weight + C2.level_value * C2.weight + C3.level_value * C3.weight) / ( max_level_val) </p>
|
||||
<p align="left">If all level_values are = 4 (the perfect project), then:</p>
|
||||
<p align="left">perfectscore = (4*20 + 4*30 + 4*50) / 4</p>
|
||||
<p align="left">perfectscore = 80 + 120 + 200) /4</p>
|
||||
<p align="left">perfectscore = 400 / 4 = 100 </p>
|
||||
<p align="left">the lowest score for this scheme will be:</p>
|
||||
<p align="left">lowest score = (1*20 + 1* 30 + 1* 50) / 4 = 25</p>
|
||||
<p align="left">Note: You may enter a criteria with a weight of '0'
|
||||
This allows keeping the number of criteria the same for each scheme. This
|
||||
special case is used to provide compatibility with the Exported CSV files used to
|
||||
pre slug the Apperson Education Products Benchmark 3000 scanners. </p>
|
||||
<p align="left">Setup: Now that you understand (hopefully) the definitions we can explain how you set up 'Evaluations'<br />
|
||||
Note: For now all setup is done in the tables. This will be updated as I create the web pages for setup</p>
|
||||
<p align="left">1.) Decide how many schemes you will need. Most events will use only one scheme, some will want two or more. Enter the schemes in table eval_schemes. enter the item, condition and value in the scheme's selection statement.</p>
|
||||
<p align="left">2.) For each scheme enter a record in eval_criteria for each criteria to be used for that scheme.</p>
|
||||
<p align="left">3.) For each scheme enter a record in eval_levels for each level to be used for that scheme.</p>
|
||||
<p align="left">For an example for ISEF evaluations (2010) see evaluations/db/db.eval.setup.isef.sql.
|
||||
This setup is compatible with the Apperson Education Products Benchmark 3000
|
||||
scanners.</p>
|
||||
<p align="left"> </p>
|
||||
<p align="center"><strong><a name="actions" id="actions"></a>Step By Step Process</strong></p>
|
||||
<p align="center"><a name="install" id="install"></a><strong>Installation</strong></p>
|
||||
<p align="left">To install Evaluations plug-in follow these steps:</p>
|
||||
<ul>
|
||||
<li>If the folder 'plugins' does not exist in your SFIAB website root (along with admin, data, Rmail and other folders) add the folder 'plugins'.</li>
|
||||
<li>Place all the folders and files frome the evaluations package under/in the folder 'plugins'.This will be the main folder 'evaluations' and under that folder many files, and some other folders (like 'db', 'uploads', 'docs'...)</li>
|
||||
<li>Make the evaluations folder 'uploads' writable. How to do that depends on your web server.</li>
|
||||
<li>When you are done you should have this setup of folders
|
||||
<p align="left">'root' (the base folder for sfiab)<br />
|
||||
'admin' the SFIAB admin folder<br />
|
||||
... other SFIAB folders<br />
|
||||
'plugins' ( a folder for all plugins)<br />
|
||||
'evaluations' (the Evaluations plug-in base folder)<br />
|
||||
'db' folder (the Evaluations data base creation and update files and the various default evaluation setup files)<br />
|
||||
'docs' folder (files for information or download)<br />
|
||||
'uploads' folder (uploaded files are placed here while in use - then deleted - folder must be 'writable'.)<br />
|
||||
files... The various files for Evaluations.<br />
|
||||
.....<br />
|
||||
'Rmail' ... or other SFIAB folders.<br />
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">There will be no link in SFIAB to get to the main page for evaluations so.. do the following:<br />
|
||||
- Log into SFIAB as a super user.<br />
|
||||
- In you web browser go to 'SFIAB/plugins/evaluations/eval_index.php'<br />
|
||||
(Where 'SFIAB' is you main browser root name for your SFIAB installation)<br />
|
||||
- If Evaluations is not installed you will be quided through the steps to install and set up Evaluations.</p></li>
|
||||
</ul>
|
||||
<p>What the installation does:</p>
|
||||
<ul>
|
||||
<li>Adds tables to SFIAB database. Tables eval_config, eval_projects, eval_schemes, eval_criteria, eval_levels, eval_projects_entries.</li>
|
||||
<li>Processes any database updates based on the Evaluations revision and sql changes.</li>
|
||||
<li>Proceeds to the set up where:
|
||||
<ul>
|
||||
<li>The only two changes to existing SFIAB database are made:
|
||||
<ul>
|
||||
<li>An entry is made in the SFIAB table 'config' setting var = 'score_entry_enable' with val = 'yes' (if that entry does not already exist).</li>
|
||||
<li>If the SFIAB table 'judges_teams_timeslots_projects_link' does not have the field 'score' then that field is added. Score is entered as Float (5,2) (Floating point 5 digits, 2 after the decimal point. I.E. 100.00 or 44 or 66.66).</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>You may select from one or more pre-configured evaluations schemes or enter your own evaluation scheme, criteria and levels for your event.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Link Evaluations to Data base: For Evaluations to function it must be linked to the SFIAB data. This step creates (or updates) all the linkages so that Evaluations has the necessary information from SFIAB (read only) to accomplish the tasks designed into Evaluations.</p>
|
||||
<p align="left">Assign judge teams (or judges) to the projects they are to evaluate. The default here is to use the judge_team_projects assignments of SFIAB so it is important that these are setup in SFIAB and that you run the 'Link Evaluations' after they are setup to update the Evaluations information. Optionally, you can go thru a completely different assignment of judges to projects. This feature is NOT IMPLEMENTED for revision 100 of Evaluations and will be implemented only if enough requests are generated.</p>
|
||||
<p align="left">Create the evaluations documents or files required to enter the evaluations. This step can do several options.<br />
|
||||
1.) A web form for each evaluation scheme is created automatically for each judge teams' assigned projects. The form will have the following:<br />
|
||||
- an entry for the team (or judge) number doing the evaluation. (one of the judge team members must be logged in.)<br />
|
||||
- an entry (selection) of one of the assigned project numbers.<br />
|
||||
- a web form table is presented with bubbles to mark for the project as follows<br />
|
||||
criteria criteria criteria ....<br />
|
||||
|
||||
level [ ] [ ] [ ]<br />
|
||||
level [ ] [ ] [ ]<br />
|
||||
|
||||
level [ ] [ ] [ ] <br />
|
||||
- a button to submit the evaluation entries</p>
|
||||
<p align="left"> 2.) CSV download files to be used by your organization to create your own web pages, or score forms or to pre slug standard forms or to import to scanners. The files should have enough data to accomplish your process. If not, request additional data be added. (coding changes)<br />
|
||||
|
||||
3.) specific CSV files to be used to:<br />
|
||||
- Load the 'student' data into the Apperson Education Products Benchmark 3000 scanner (requires a specific scheme setup).<br />
|
||||
|
||||
- Pre slug the Apperson Education Products Benchmark 3000 'Science Fair evaluation' forms. </p>
|
||||
<p align="left">Evaluate the projects: During this time the judge teams (or judges) either mark the forms for your event, enter the evaluations on the web page or some other process to capture the required information. For each project, each evaluation they need the following:<br />
|
||||
- project number (this is automatic in web page and Apperson scanner)<br />
|
||||
- Team or judge number (this is required to verify that that team or judge has been assigned to the project.<br />
|
||||
- a list of criteria_id, level_id pairs representing the evaluation of the project. (automatic with Apperson scanner and web page)<br />
|
||||
- other optional items not yet designed.</p>
|
||||
<p align="left">Enter the evaluations: the data from the evaluations is entered into Evaluations tables. This is done by the web page, or an upload from the Apperson Scanner or by an upload of a CSV file(s) created by you with the correct specifications. Details TBD.<br />
|
||||
</p>
|
||||
<p align="left">Calculate the scores: This is simply a button push. It calculates the individual score for each evaluation and... calculated the project's eval_score which is an average all of the evaluations for that project. </p>
|
||||
<p align="left">Enter the final scores: After a caucus of the judge team(s) some adjustment will sometimes be required to the projects scores. This can be accomplished using a Evaluations web page<br />
|
||||
</p>
|
||||
<p align="left"> </p>
|
||||
<p align="center"><strong><a name="examples" id="examples"></a>Examples</strong></p>
|
||||
<p align="left">examples: TBD</p>
|
||||
<p align="left"> </p>
|
||||
<p align="center"><strong><a name="tables" id="tables"></a>Tables</strong></p>
|
||||
<p align="left">Table description TBD for now see the db.eval.full.100.sql file or browse the tables with phpmyadmin.</p>
|
||||
<p align="left">eval_projects: Caution: contains all projects,
|
||||
even those not assigned. (may change this later - or not)</p>
|
||||
<p align="left">eval_projects-entries. A copy of
|
||||
judges_teams_timeslots_projects_links with additional fields
|
||||
( a record for each project - judge team assignment with the scheme_id, and an entry for the selected value_id during judging.</p>
|
||||
<p align="center"><b><a name="apperson"></a>Setup SFIAB to use Apperson Scanner</b></p>
|
||||
<p align="center" style="text-align: left">If you want to use the Apperson Scanner
|
||||
to record evaluation the following SFIAB setup rules must apply:</p>
|
||||
<p align="center" style="text-align: left">The main requirement is that the scanner
|
||||
(and forms) require project numbers form 1 to 9999 and Judge numbers from 1 to
|
||||
9999<br />
|
||||
To accomplish this the following must be true.<br />
|
||||
If the Category digit(s) are removed from the SFIAB project number the
|
||||
resulting numbers must be unique.<br />
|
||||
perhaps differently than other projects. For instance you might have a
|
||||
scheme for team projects and another scheme for non-team projects. Or, you
|
||||
might have different schemes for each division in your event. Each scheme has a
|
||||
specific set of criteria, criteria weights and evaluation levels (choices) used
|
||||
to evaluate a project and then to calculate a score for that project. Each
|
||||
project is assigned a scheme. You can have as many schemes as you like. Each
|
||||
scheme has an id, a name and a selection statement. The selection statement is
|
||||
used to select which scheme is used for each project. The selection
|
||||
statement has three parts. the 'item', the 'condition' and the 'value'.
|
||||
For example
|
||||
'div > 1'. Each part must be separated by one space character. Each project that matches the selection statement of one of the
|
||||
schemes is assigned that scheme. Here are a couple of examples of schemes:</p>
|
||||
<p align="left">scheme id name
|
||||
selection statement
|
||||
result<br />
|
||||
1
|
||||
ISEF scoring
|
||||
team = no
|
||||
projects with one student are assigned scheme id 1<br />
|
||||
2
|
||||
ISEF (Team)
|
||||
team = yes projects with two or
|
||||
more students are assigned scheme id 2</p>
|
||||
<p align="left">scheme id name
|
||||
selection statement
|
||||
result assumes we
|
||||
have 2 categories setup - Junior = 1, Senior =2<br />
|
||||
1
|
||||
Junior Category cat = 1
|
||||
projects with category id = 1 (junior) are assigned scheme id 1. <br />
|
||||
2
|
||||
Senior Category cat > 1
|
||||
projects with category id = 2 or higher are assigned scheme id 2. (could use cat
|
||||
= 2 also)</p>
|
||||
<p align="left"><strong><em>'item':</em></strong> The 'item' part can have and of
|
||||
the following values: (more can be added it your request but it requires a
|
||||
code change.)<br />
|
||||
team: If the project has one student then the value of team is
|
||||
'no'. If the project has more than one student then the value of
|
||||
team is 'yes' <br />
|
||||
cat: This represents the setting of the category_id
|
||||
assigned to the project. You set up categories in SFIAB and each project gets
|
||||
assigned one of those categories. <br />
|
||||
div: This represents the setting of the division_id
|
||||
assigned to the project. You set up divisions in SFIAB and each project
|
||||
gets assigned one of those divisions.<br />
|
||||
grade: This represents the grade of the project's student. For teams,
|
||||
grade is the grade of the team member with the highest grade.<br />
|
||||
cwdiv: This represents the Canada wide science fair division id
|
||||
(cwsfdivisionid field in projects).</p>
|
||||
<p align="left"><em><strong>'condition'</strong></em>: You are allowed to use
|
||||
any one of these symbols as the 'condition' part of the scheme selection
|
||||
criteria:<br />
|
||||
= Equal<br />
|
||||
!= Not Equal<br />
|
||||
< Less Than<br />
|
||||
> Greater Than
|
||||
</p>
|
||||
<p align="left"><strong><em>'value:'</em></strong> The 'value' part represents
|
||||
the value of the Field for each project. For instance team can have a
|
||||
value of 'yes' or 'no'. Cat can have values like 0,1,2... - whatever you used
|
||||
for the Category Ids when you set up Age Categories in SFIAB. cwsfdivisionid has
|
||||
values those in Canada should understand.</p>
|
||||
<p align="left">So, you can setup criteria like 'team = yes' or 'div =
|
||||
1' or 'div < 3' or 'team != no' etc. Except for team (value = 'yes' or
|
||||
'no) it is important to use a value that is set up for that field in SFIAB else
|
||||
the scheme_id will not be set correctly in Evaluations projects data.</p>
|
||||
<p align="left"><strong>Criteria:</strong> Each evaluation scheme will have a set
|
||||
of criteria. These are what the judge team considers when comparing a
|
||||
project with other projects and with a standard. Examples of criteria are:
|
||||
'Scientific Thought', 'Skill', 'Thoroughness', 'Teamwork', 'Research
|
||||
Skill', Etc. You create the criteria for each scheme used for your event.
|
||||
In fact you can have different criteria and a different number of criteria for
|
||||
each scheme For instance, elementary school projects may require only two
|
||||
criteria - 'Scientific Approach' 'Completeness' where as a senior
|
||||
school projects will require criteria of more relevance to the project advancing
|
||||
to the next level.</p>
|
||||
<p align="left"><strong>Levels: </strong> Each evaluation scheme will have a set of
|
||||
levels. Levels are like grades. You determine the number of levels
|
||||
your evaluations will have and the value assigned to each level for each scheme.
|
||||
For instance you might have levels of A, B, C, D, F with values of 4,3,2,1,0 for
|
||||
one scheme and levels of Exceptional, Excellent, Very Good , Good, Acceptable
|
||||
with values of 5,4,3,2,1 for another scheme. The values do not have to be a
|
||||
sequence of integers but that works best. There are also optional 'special use'
|
||||
levels you can create that allow you to do error checking on the judges entries
|
||||
and take the appropriate action if the entry has errors. Special use
|
||||
levels are not used in calculating a score. An example is to assign a 'special
|
||||
use' level of 'No Entry' with a value of 0. Then when a scanner or
|
||||
any other process used to collect entries detects that there is no mark for a
|
||||
criteria it can assign the value 0 to the entry and Evaluations knows to 1.) not
|
||||
use that criteria entry in the calculations and 2.) indicate the error in the
|
||||
status for that entry. The short 4 character level_code is then added to the
|
||||
status for that entry. Setting a 'special use' level "MultipleMarks" with
|
||||
a value of 7 would allow the collection process (i.e. a scanner) to set that
|
||||
value when multiple entries are made for a criteria. Evaluations knows to not
|
||||
use that criteria's entry in the calculations and can indicate the error in the
|
||||
status.</p>
|
||||
<p align="left"><strong>Weighting:</strong> Each criteria will have a weight
|
||||
assigned in such a way that the sum of the weights for all the criteria to be
|
||||
used is = 100. Lets do an example: Say one of your evaluations schemes has
|
||||
4 levels -L1, L2, L3 and L4 with values of 1,2,3,4 and the scheme has 3
|
||||
criteria C1, C2 and C3. with weights of 20,30, 50. Note the weights add up
|
||||
to 100. Define level_value as the entry made by the judge for a given criteria.
|
||||
It will be 1,2,3 or 4 in this example. Also define max_level_val as the
|
||||
maximum level value used in calculating a score (i.e. not a 'special use' level)
|
||||
In this example max_level_val = 4. Given all that, a score in this example is
|
||||
calculated as follows:</p>
|
||||
<p align="left">score = ( C1.level_value * C1.weight + C2.level_value * C2.weight
|
||||
+ C3.level_value * C3.weight) / ( max_level_val) </p>
|
||||
<p align="left">If all level_values are = 4 (the perfect project), then:</p>
|
||||
<p align="left">perfectscore = (4*20 + 4*30 + 4*50) / 4</p>
|
||||
<p align="left">perfectscore = 80 + 120 + 200) /4</p>
|
||||
<p align="left">perfectscore = 400 / 4 = 100 </p>
|
||||
<p align="left">the lowest score for this scheme will be:</p>
|
||||
<p align="left">lowest score = (1*20 + 1* 30 + 1* 50) / 4 = 25</p>
|
||||
<p align="left">Note: You may enter a criteria with a weight of '0'
|
||||
This allows keeping the number of criteria the same for each scheme. This
|
||||
special case is used to provide compatibility with the Exported CSV files used
|
||||
to pre slug the Apperson Education Products Benchmark 3000 scanners. </p>
|
||||
<p align="left">Setup: Now that you understand (hopefully) the definitions we
|
||||
can explain how you set up 'Evaluations'</p>
|
||||
<p align="left">1.) Decide how many schemes you will need. Most events will
|
||||
use only one scheme, some will want two or more. Enter the schemes in the
|
||||
'Create / Edit Schemes' page. </p>
|
||||
<p align="left">2.) For each scheme enter the evaluation criteria to be used for that scheme
|
||||
using the 'Create / Edit Criteria' page.</p>
|
||||
<p align="left">3.) For each scheme enter the evaluatons levels to be used for that scheme
|
||||
in the 'Create / Edit Levels' page.</p>
|
||||
<p align="left">When Evaluations is first installed, schemes, criteria and levels
|
||||
are created for the ISEF evaluations (2010) and to use the Apperson Education
|
||||
Products Benchmark 3000 scanners. You can use these, eliminate the 'teams'
|
||||
scheme or create your own schemes, criteria and levels. </p>
|
||||
<p align="left"> </p>
|
||||
<p align="center"><strong><a name="actions" id="actions"></a>Step By Step Process</strong></p>
|
||||
<p align="center"><a name="install" id="install"></a><strong>Installation</strong></p>
|
||||
<p align="left">To install Evaluations plug-in follow these steps:</p>
|
||||
<ul>
|
||||
<li>If the folder 'plugins' does not exist in your SFIAB website root (along with
|
||||
admin, data, Rmail and other folders) add the folder 'plugins'.</li>
|
||||
<li>Place all the folders and files frome the evaluations package under/in the
|
||||
folder 'plugins'.This will be the main folder 'evaluations' and under that
|
||||
folder many files, and some other folders (like 'db', 'uploads', 'docs'...)</li>
|
||||
<li>Make the evaluations folder 'uploads' writable. How to do that depends on your
|
||||
web server.</li>
|
||||
<li>When you are done you should have this setup of folders
|
||||
<p align="left">'root' (the base folder for sfiab)<br />
|
||||
'admin' the SFIAB admin folder<br />
|
||||
... other SFIAB folders<br />
|
||||
'plugins' ( a folder for all plugins)<br />
|
||||
'evaluations' (the Evaluations
|
||||
plug-in base folder)<br />
|
||||
'db' folder
|
||||
(the Evaluations data base creation and update files and the various default
|
||||
evaluation setup files)<br />
|
||||
&nbs 'docs' folder (files
|
||||
for information or download)<br />
|
||||
'images' folder<br />
|
||||
'uploads' folder (uploaded
|
||||
files are placed here while in use - then deleted - folder must be 'writable'.)<br />
|
||||
files...
|
||||
The various files for Evaluations.<br />
|
||||
.....<br />
|
||||
'Rmail' ... or other SFIAB folders.<br />
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">There will be no link in SFIAB to get to the main page for
|
||||
evaluations so.. do the following:/>
|
||||
- Log into SFIAB as a super user.<br />
|
||||
- In you web browser go to 'SFIAB/plugins/evaluations/eval_index.php'<br />
|
||||
(Where 'SFIAB' is you main browser root name for your SFIAB
|
||||
installation)<br />
|
||||
- If Evaluations is not installed you will be quided through the steps to
|
||||
install and set up Evaluations.</p></li>
|
||||
</ul>
|
||||
<p>What the installation does:</p>
|
||||
<ul>
|
||||
<li>Adds tables to SFIAB database. Tables eval_config, eval_projects, eval_schemes,
|
||||
eval_criteria, eval_levels, eval_projects_entries.</li>
|
||||
<li>Processes any database updates based on the Evaluations revision and sql
|
||||
changes.</li>
|
||||
<li>Proceeds to the set up where:
|
||||
<ul>
|
||||
<li>The only two changes to existing SFIAB database are made:
|
||||
<ul>
|
||||
<li>An entry is made in the SFIAB table 'config' setting var =
|
||||
'score_entry_enable' with val = 'yes' (if that entry does not already exist).</li>
|
||||
<li>If the SFIAB table 'judges_teams_timeslots_projects_link' does not have the
|
||||
field 'score' then that field is added. Score is entered as Float (5,2)
|
||||
(Floating point 5 digits, 2 after the decimal point. I.E. 100.00 or 44 or
|
||||
66.66).</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>You You may select from one or more pre-configured evaluations schemes or enter your
|
||||
own evaluation scheme, criteria and levels for your event. (TBD) For now,
|
||||
the ISEF schemes, criteria and levels are set up.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p style="text-align: center"><b>Using Evaluations</b></p>
|
||||
<p>Link Evaluations to Data base: For Evaluations to function it must be
|
||||
linked to the SFIAB data. This step creates (or updates) all the linkages so
|
||||
that Evaluations has the necessary information from SFIAB (read only) to
|
||||
accomplish the tasks designed into Evaluations.</p>
|
||||
<p align="left">Assign judge teams (or judges) to the projects they are to
|
||||
evaluate. The default here is to use the judge_team_projects assignments of
|
||||
SFIAB so it is important that these assignments are setup in SFIAB and that you run the
|
||||
'Link Evaluations' after they are setup (or if they are changed) to update the Evaluations
|
||||
information. Optionally, you can go through a completely different assignment of
|
||||
judges to projects. This feature is NOT IMPLEMENTED for revision 100 of
|
||||
Evaluations and will be implemented only if enough requests are generated.</p>
|
||||
<p align="left">Create the evaluations documents or files required to enter the
|
||||
evaluations. This step can do several options./>
|
||||
&nbs 1.) A web form 'Evaluations Web Entry' created automatically for
|
||||
each judge teams' assigned projects using the Evaluations and SFIAB setup. The form will have the following:<br />
|
||||
- an entry for the team (or judge)
|
||||
number doing the evaluation. (one of the judge team members must be logged
|
||||
in.)<br />
|
||||
- an entry (selection) of one
|
||||
of the assigned project numbers.<br />
|
||||
- a web form table is presented with bubbles to
|
||||
mark for the project as follows<br />
|
||||
|
||||
criteria criteria criteria
|
||||
....<br />
|
||||
level
|
||||
[ ] [ ]
|
||||
[ ]<br />
|
||||
level
|
||||
[ ] [ ]
|
||||
[ ]<br />
|
||||
level
|
||||
[ ] [ ]
|
||||
[ ] <br />
|
||||
- a button to submit the evaluation
|
||||
entries</p>
|
||||
<p align="left"> 2.) CSV download files to be used by your organization
|
||||
to create your own web pages, or score forms or to pre slug standard forms or to
|
||||
import to scanners. The files should have enough data to accomplish your
|
||||
process. If not, request additional data be added. (coding changes)<br />
|
||||
3.) specific CSV files to be used to:<br />
|
||||
- Load the
|
||||
'student' data into the Apperson Education Products Benchmark 3000 scanner
|
||||
(requires a specific scheme setup).<br />
|
||||
- Pre slug the
|
||||
Apperson Education Products Benchmark 3000 'Science Fair evaluation'
|
||||
forms. </p>
|
||||
<p align="left">Evaluate the projects: During this time the judge teams (or
|
||||
judges) either mark the forms for your event, enter the evaluations on the web
|
||||
page or some other process to capture the required information. For each
|
||||
project, each evaluation the following will be required:<br />
|
||||
- project number (this is automatic in web page and Apperson
|
||||
scanner)<br />
|
||||
- Team or judge number (this is required to verify that that
|
||||
team or judge has been assigned to the project.<br />
|
||||
- a list of criteria_id, level_id pairs representing the
|
||||
evaluation of the project. (automatic with Apperson scanner and web page)<br />
|
||||
- other optional items not yet designed.</p>
|
||||
<p align="left">Enter the evaluations: The data from the evaluations is
|
||||
entered into Evaluations tables. This is done by the web page 'Import
|
||||
Evaluations Data (Apperson Scanner)' or by an upload of a CSV file(s) created by you
|
||||
with the correct specifications. Details TBD.<br />
|
||||
</p>
|
||||
<p align="left">Calculate the scores: This is simply a button push using
|
||||
page "Calculate Scores'. It
|
||||
calculates the individual score for each evaluation and... calculates the
|
||||
project's evaluation scorewhich is an average all of the evaluations for that
|
||||
project. </p>
|
||||
<p align="left">Enter the final scores: After a caucus of the judge team(s) or
|
||||
divisional officials and judges,
|
||||
some adjustment will sometimes be required to the projects scores. This can be
|
||||
accomplished using a Evaluations web page (TBD)<br />
|
||||
</p>
|
||||
<p align="left"> </p>
|
||||
<p align="center"><strong><a name="examples" id="examples"></a>Examplesrong></p>
|
||||
<p align="left">examples: TBD</p>
|
||||
<p align="left"> </p>
|
||||
<p align="center"><strong><a name="tables" id="tables"></a>Tables</strong></p>
|
||||
<p align="left">TablTable descriptions TBD for now see the
|
||||
db.eval.full.100.sql file or browse the tables with phpmyadmin.</p>
|
||||
<p align="left">eval_projects: Caution: contains all projects,
|
||||
even those not assigned. (may change this later - or not)
|
||||
<p align="left">eval_projects-entries. A copy of
|
||||
judges_teams_timeslots_projects_links with additional fields (
|
||||
a record for each project - judge team assignment with the scheme_id, and an
|
||||
entry for the selected value_id during judging.</p>
|
||||
<p align="left"> </p>
|
||||
|
||||
<p align="center"><b><a name="apperson"></a><strong><span class="style1">Setup SFIAB
|
||||
to use Apperson Scanner</span></strong></b></p>
|
||||
<p style="text-align: center">
|
||||
<b>About the Apperson Education Products Benchmark 3000 scanner:</b></p>
|
||||
<p style="text-align: center">
|
||||
<a href="http://www.appersonedu.com/default.aspx" target="_blank">
|
||||
Apperson Education Products</a></p>
|
||||
<p style="text-align: center">
|
||||
</p>
|
||||
<p>
|
||||
<img alt="The Apperson Benchmark 3000 scanner"
|
||||
src="images/BenchMark3000.jpg" style="width: 760px; height: 142px" /></p>
|
||||
<p>
|
||||
Apperson Education Products worked with a regional science fair in New Mexico to
|
||||
develop a special 'Science Fair' Option on their Benchmark 3000 scanner.
|
||||
This option is very robust. You download and import your fair's data into the
|
||||
scanners student database so that means only perfect forms will be scanned
|
||||
without rejection. Forms with multiple marks or missing
|
||||
marks are rejected but the good data is captured. Forms with a judge and exhibit combination not in the student database
|
||||
are also rejected. The scores collected from the forms are exported - then uploaded to
|
||||
your fair's Judges Evaluations for processing on the website. If you are
|
||||
interested in using Apperson Benchmark scanner contact Apperson Education
|
||||
Products. Be sure to ask for the 'Science Fair' add-on option. <b>
|
||||
<br />
|
||||
Here are the requirements to use the Apperson Scanners:<br />
|
||||
- You will require a PC running Microsoft Windows and must have a license for
|
||||
MS Word.
|
||||
<br />
|
||||
- You may have no more than 99 projects in a given project Division.<br />
|
||||
- You must setup Evaluations Schemes, Criteria and Levels as described below.</b></p>
|
||||
<p>
|
||||
<a href="http://www.appersonedu.com/scanners/benchmarktestscanner.aspx"
|
||||
target="_blank">
|
||||
Apperson Education Products - Benchmark 3000</a> </p>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<img alt="Apperson Science Fair Score Form"
|
||||
src="images/AppersonScoreForm.jpg" style="width: 750px; height: 575px" /><br />
|
||||
|
||||
<br />
|
||||
Sample of Form A1308 - the 'science fair' score form from Apperson
|
||||
Education Products<br />
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="center" style="text-align: left">Here is how the process works:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p align="center" style="text-align: left">
|
||||
Data from your fair is used to 'pre-slug' the score forms. A bar code with
|
||||
the project number and judge number (team number) is printed on the form along
|
||||
with other information. The bar code is not shown in the image above - it is
|
||||
printed to the right of the top text box marked 'SAMPLE'. A MS Word document is included in
|
||||
the Evaluations package as well as
|
||||
the file you can export to use with the MS Word document to accomplish this
|
||||
task using a 'Mail Merge' type process. The boxes with the word 'SAMPLE' as well as the box below 'Marking
|
||||
Instruction are available for your text. The supplied MS Word document and
|
||||
the Export file are designed to meet most needs but you can modify the document
|
||||
to meet your fair's needs.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="center" style="text-align: left">
|
||||
Another exported file creates the 'student data' that is loaded into the
|
||||
scanner. That file contains the project numbers and judge number as well as
|
||||
other project and judge identification information. The file is loaded
|
||||
into the scanner program (DataLink) and is used to verify barcodes on the forms
|
||||
with the data in the scanning program.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="center" style="text-align: left">
|
||||
Judges (teams) mark the forms for their assigned projects. The criteria
|
||||
and levels provided are those used by ISEF (as of this publish date).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="center" style="text-align: left">
|
||||
The forms are scanned and data gathered. Forms not matching the student
|
||||
data base are rejected and no data is created. Forms matching the student
|
||||
data base create a data record and are not rejected. Forms with multiple marks
|
||||
in any criteria or missing marks for any criteria are rejected but the data is
|
||||
capatured.
|
||||
<br />
|
||||
- The marks on the forms create numbers corresponding to the 'value_id' as
|
||||
described below. 0 meaning missing mark, 7 meaning multiple marks</p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="center" style="text-align: left">
|
||||
The captured data records are 'exported' from the scanner <strong> at any
|
||||
time in the scanning process -</strong>creating a text file.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="center" style="text-align: left">
|
||||
The text files are 'imported' to SFIAB Evaluations and the data placed in a
|
||||
database table for processing.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="center" style="text-align: left">
|
||||
The 'Calculate Scores' selection in Evaluations processes the data and creates
|
||||
judge (team( scores and a project score based on the imported data.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p align="center" style="text-align: left">If you want to use the Apperson Scanner
|
||||
to record evaluations you must setup SFIAB to meet certain conditions - as
|
||||
follows: </p>
|
||||
<p align="center" style="text-align: left">The main requirement is that the scanner
|
||||
(and forms) require project numbers from 1 to 9999 and Judge numbers from 1 to
|
||||
9999<br />
|
||||
To accomplish this the following must be true: If the Category digit(s) are
|
||||
removed from the SFIAB project number the resulting numbers must be unique.<br />
|
||||
<br />
|
||||
Here is one way to accomplish the above requirements:<br />
|
||||
* Set the Configuration variables in SFIAB as follows:<br />
|
||||
-Allows for the setup of different divisions for each category: =
|
||||
Yes (not sure, perhaps No will also work???)<br />
|
||||
-Project Numbering Format = CDN
|
||||
(Category, Division, Number)<br />
|
||||
* Project Age Categories: The Categories' IDs must be an integer from 1 to 9
|
||||
(usually 1 = Junior, 2 = Senior)<br />
|
||||
* Divisions: The Divisions' IDs must be integers from 1 to 99
|
||||
(Usually Junior = 1 to n, Senior = n+1 to ..(99max)<br />
|
||||
* When creating the Divisions, Create a separate Division ID for each
|
||||
Category even if the Division name is the same.<br />
|
||||
( Do not assign more than one category to a Division)<br />
|
||||
Example:<br />
|
||||
Category
|
||||
Division<br />
|
||||
1 - Junior
|
||||
1 - Animal Science (junior)
|
||||
<br />
|
||||
1 - Junior
|
||||
2 - Chemistry (junior)<br />
|
||||
|
||||
etc ...<br />
|
||||
2 - Senior
|
||||
22- Animal Science (senior)<br />
|
||||
2 - Senior
|
||||
23 - Chemistry<br />
|
||||
etc<br />
|
||||
Thus, project Numbers are never more than 5 digits - i.e. CDDNN
|
||||
where NN is the exhibit sub number in the specific Division. And, when the 'C'
|
||||
is removed the remaining number is still a unique number. Project numbers used
|
||||
in the score form barcode and in the 'student' data are then the SFIAB project
|
||||
number stripped of the first digit (the category digit). However...<br />
|
||||
<b>VERY IMPORTANT - This means there can be no more than 99 projects in a given
|
||||
category-division.</b><span class="style2"><br />
|
||||
</span> If that becomes a problem for your fair, a different
|
||||
SFIAB numbering method could be invented.<br />
|
||||
|
||||
<br />
|
||||
Other methods may also work. If you have a suggestion, let us know.on, let us know.<br />
|
||||
<br />
|
||||
Here is one way to accomplish the above requirements:<br />
|
||||
Configuration variables:<br />
|
||||
-Allows for the setup of different divisions for each category: = Yes
|
||||
(not sure, perhaps No will also work???)<br />
|
||||
-Project Numbering Format = CDN
|
||||
(Category, Division, Number)<br />
|
||||
Project Age Categories: The Categories' IDs must be an integer from 1 to 9
|
||||
(usually 1 = Junior, 2 = Senior)<br />
|
||||
Divisions: The Divisions' IDs must be integers from 1 to 99
|
||||
(Usually Junior = 1 to n, Senior = n+1 to ..(99max)<br />
|
||||
When creating the Divisions, Create a separate Division ID for each
|
||||
Category even if the Division name is the same.<br />
|
||||
( do Not assign more than one category to a Division)<br />
|
||||
Example:<br />
|
||||
Category
|
||||
Division<br />
|
||||
1 - Junior
|
||||
1 - Animal Science (junior)
|
||||
<br />
|
||||
1 - Junior
|
||||
2 - Chemistry (junior)<br />
|
||||
|
||||
etc ...<br />
|
||||
2 - Senior
|
||||
22- Animal Science (senior)<br />
|
||||
2 - Senior
|
||||
23 - Chemistry<br />
|
||||
etc<br />
|
||||
Thus, project Numbers are never more than 5 digits - i.e. CDDNN
|
||||
where NN is the exhibit sub number in the specific Division. And, when the 'C'
|
||||
is removed the remaining number is still a unique number. However...<br />
|
||||
VERY IMPORTANT - This means there can be no more than 99 projects in a given
|
||||
category-division.<br />
|
||||
If that becomes a problem for your fair, a different SFIAB
|
||||
numbering method must be invented.<br />
|
||||
|
||||
<br />
|
||||
Other methods may also work. If you have a suggestion, let us know.<br />
|
||||
<br />
|
||||
Evaluation Schemes You must have 2 - Non-Team and Team (One
|
||||
may work not sure yet)<br />
|
||||
Evaluation Schemes You can have 2 - Non-Team and Team (ISEF
|
||||
eliminated special scoring for teams in 2011 so you may want just one evaluation
|
||||
scheme for all projects.)<br />
|
||||
Evaluation Criteria You must have 6 criteria for each scheme with
|
||||
Ids from 1 to 6 as follows *you can use ISEF weighting or your own)<br />
|
||||
id name
|
||||
weight non team weight team<br />
|
||||
1 -Creative Ability
|
||||
30
|
||||
30
|
||||
25<br />
|
||||
2 -Scientific Thought
|
||||
30
|
||||
30
|
||||
25<br />
|
||||
3 -Thoroughness
|
||||
15
|
||||
12<br />
|
||||
4 -Skill
|
||||
3 -Thoroughness
|
||||
15
|
||||
12<br />
|
||||
5 -Clarity
|
||||
10
|
||||
4 -Skill
|
||||
15
|
||||
12<br />
|
||||
5 -Clarity
|
||||
10
|
||||
10<br />
|
||||
6 -Teamwork
|
||||
6 -Teamwork
|
||||
0
|
||||
16<br />
|
||||
<br />
|
||||
Note: Starting in 2011, ISEF no longer uses the Teamwork criteria - all projects
|
||||
are evaluated using the non-team weights<br />
|
||||
<br />
|
||||
<br />
|
||||
You must have 7 levels for each criteria with Ids from 0 to 6 as follows: (You
|
||||
can use your own level_values but for ISEF the value = id<br />
|
||||
id value name spec_use
|
||||
Spec_use_code<br />
|
||||
0 0 No mark yes
|
||||
NoMk<br />
|
||||
1 1 Acceptable no<br />
|
||||
2 2 Good
|
||||
You must have 7 levels for each criteria with Ids from 0 to 7 (6 not used)
|
||||
as follows: (You could own 'level_values' but for ISEF the level-values are the
|
||||
same as the level_id.
|
||||
</p>
|
||||
<p align="center" style="text-align: left">id value name
|
||||
spec_use Spec_use_code<br />
|
||||
0 0 No mark
|
||||
yes NoMk<br />
|
||||
1 1 Acceptable
|
||||
no<br />
|
||||
3 3 Very Good no<br />
|
||||
4 4 Excellent no<br />
|
||||
5 5 Exceptional no<br />
|
||||
7 7 MultipleMark yes
|
||||
2 2 Good
|
||||
no<br />
|
||||
3 3 Very Good
|
||||
no<br />
|
||||
4 4 Excellent
|
||||
no<br />
|
||||
5 5 Exceptional
|
||||
no<br />
|
||||
7 7 MultipleMark yes
|
||||
MltM<br />
|
||||
Note level_id of 6 is not used<br />
|
||||
Note: level_id of 6 is not used<br />
|
||||
</p>
|
||||
<p align="center" style="text-align: left">
|
||||
IMPORT data from Apperson Scanner:<br />
|
||||
The file created by the scanner has the following format (the import code is
|
||||
designed to use this format)<br />
|
||||
"Apperson_proj_num","Judgeteam_num","CreativeAbility.level_id","ScientificThouth.level_id","Thoroughness.level_id","Skill.level_id","Clarity.level_id","Teamwork.level_id","seq#"<br />
|
||||
where level_id are 0,1,2,3,4,5,7 0 = no mark
|
||||
7 = double mark and seq# is a 6 digit sequence number created by the
|
||||
scanner.<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
wherwhere level_id are 0,1,2,3,4,5,7 0 = no mark
|
||||
7 = double mark and seq# is a 6 digit sequence identifier created by the
|
||||
scanner.<br />
|
||||
<br />
|
||||
</p>
|
||||
<p align="center" style="text-align: left">
|
||||
<br />
|
||||
</p>
|
||||
<p align="center" style="text-align: left">
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
</p>
|
||||
<p align="center">
|
||||
Imp</p>
|
||||
</body>
|
||||
</html>
|
||||
|
BIN
plugins/evaluations/docs/images/AWS.jpg
Normal file
BIN
plugins/evaluations/docs/images/AWS.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 40 KiB |
BIN
plugins/evaluations/docs/images/AppersonScoreForm.jpg
Normal file
BIN
plugins/evaluations/docs/images/AppersonScoreForm.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 76 KiB |
BIN
plugins/evaluations/docs/images/BenchMark3000.jpg
Normal file
BIN
plugins/evaluations/docs/images/BenchMark3000.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
@ -24,43 +24,54 @@
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
|
||||
<head><title>SFIAB Evaluations Calculate scores</title>
|
||||
<head><title>SFIAB Evaluations Calculate Scores</title>
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
include "sfiab_common.inc.php"; // check SFIAB install and get config etc.
|
||||
include "eval_common.inc.php"; // check Evaluations setup and get eval_config
|
||||
include "eval_menu_inc.php";
|
||||
echo "<br />Note: This updates the score field in 'judges_teams_timeslots_projects_link' for every team/project with a 'complete' evaluation entry<br />";
|
||||
echo "<h2>Calculate Scores</h2><br /><br />";
|
||||
echo "<br />";
|
||||
echo "Click the button to Calculate and enter scores values";
|
||||
echo "<form method=\"post\" action=\"eval_calc_scores.php\">";
|
||||
echo "<input type=\"hidden\" name=\"action\" value=\"calc\" />";
|
||||
echo "<br />";
|
||||
echo "<input type=\"submit\" value=\"Calculate Scores\">";
|
||||
echo "</form>";
|
||||
if(!$_POST['action'] == "calc")
|
||||
{
|
||||
echo "</body>";
|
||||
echo "</html>";
|
||||
exit;
|
||||
}
|
||||
echo "<br />All Scores calculated and saved!<br />";
|
||||
echo "<br />Development Note: This updates the score field in 'judges_teams_timeslots_projects_link' for every team/project with a 'complete' evaluation entry<br />";
|
||||
echo " and updates the eval_score (current average) and eval_score_status fields in table eval_projects for every project for which an average score can be calculated.<br />";
|
||||
echo "For test purposes (to be removed later) it lists just the project number for each project, then lists the scores details for the last project in the list.<br /><br /> ";
|
||||
// do all projects that qualify for judging (in the judges_teams_timeslots_projects_link table)
|
||||
$q = mysql_query("SELECT DISTINCT projects_id from judges_teams_timeslots_projects_link");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
if($r->projects_id == 2281){
|
||||
echo "test";
|
||||
$ret_array = calc_scores($r->projects_id); // cal_scores is in eval_common.inc.php
|
||||
if($ret_array == 'error') {
|
||||
echo " error";
|
||||
}
|
||||
else{
|
||||
echo " ".$ret_array[project_num];
|
||||
// put scores in 'judges_teams_timeslots_projects_link'
|
||||
for ($i=0;$i < $ret_array[num_teams]; $i++){
|
||||
$team_id = $ret_array[team_scores][$i][team_id];
|
||||
$score = $ret_array[team_scores][$i][team_score];
|
||||
if (is_null($score)) {$score = "NULL";}
|
||||
$up = mysql_query("UPDATE judges_teams_timeslots_projects_link SET score = ".$score.
|
||||
" WHERE judges_teams_id = '".$team_id."' AND projects_id = '".$r->projects_id."' ");
|
||||
}
|
||||
// update eval_judges table
|
||||
$up = mysql_query("UPDATE eval_projects SET eval_score = '".$ret_array[eval_score]."', eval_score_status = '".$ret_array[eval_score_status]."' WHERE project_id = '".$r->projects_id."' ");
|
||||
}
|
||||
|
||||
$ret_array = calc_scores($r->projects_id); // cal_scores is in eval_common.inc.php
|
||||
if($ret_array == 'error') {
|
||||
echo " error";
|
||||
}
|
||||
else{
|
||||
echo " ".$ret_array[project_num];
|
||||
// put scores in 'judges_teams_timeslots_projects_link'
|
||||
for ($i=0;$i < $ret_array[num_teams]; $i++){
|
||||
$team_id = $ret_array[team_scores][$i][team_id];
|
||||
$score = $ret_array[team_scores][$i][team_score];
|
||||
if (is_null($score)) {$score = "NULL";}
|
||||
$up = mysql_query("UPDATE judges_teams_timeslots_projects_link SET score = ".$score.
|
||||
" WHERE judges_teams_id = '".$team_id."' AND projects_id = '".$r->projects_id."' ");
|
||||
}
|
||||
// update eval_judges table
|
||||
$up = mysql_query("UPDATE eval_projects SET eval_score = '".$ret_array[eval_score]."', eval_score_status = '".$ret_array[eval_score_status]."' WHERE project_id = '".$r->projects_id."' ");
|
||||
}
|
||||
}
|
||||
echo "<br /><br />";
|
||||
// this just prints out the values in the last project
|
||||
// for debug - this just prints out the values in the last project
|
||||
if ($ret_array =="error"){
|
||||
echo $ret_array;
|
||||
}
|
||||
@ -70,9 +81,11 @@ else {
|
||||
$ret_array[team_scores][$i][proj_num] ." score =".$ret_array[team_scores][$i][team_score].
|
||||
" status = ".$ret_array[team_scores][$i][team_status] ."<br />";
|
||||
|
||||
}
|
||||
echo "Project number ".$ret_array[project_num].": score= ".$ret_array[eval_score]." status = ".$ret_array[eval_score_status]."<br />";
|
||||
}
|
||||
echo "Project number ".$ret_array[project_num].": score= ".$ret_array[eval_score]." status = ".$ret_array[eval_score_status]."<br />";
|
||||
}
|
||||
echo "</body>";
|
||||
echo "</html>";
|
||||
exit;
|
||||
|
||||
?>
|
||||
|
@ -21,7 +21,9 @@
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
?>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
|
||||
<head><title>SFIAB Evaluations Criteria Editor</title>
|
||||
<script language="javascript">
|
||||
function confirmClick(msg)
|
||||
{
|
||||
@ -32,6 +34,8 @@ function confirmClick(msg)
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
include "sfiab_common.inc.php"; // check SFIAB install and get config etc.
|
||||
include "eval_common.inc.php"; // check Evaluations setup and get eval_config
|
||||
@ -169,7 +173,8 @@ else
|
||||
echo "</table>";
|
||||
echo "</form>";
|
||||
echo"Scheme ID must exist in Schemes!";
|
||||
|
||||
echo "</body>";
|
||||
echo "</html>";
|
||||
// send_footer();
|
||||
?>
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Export Evaluation Forms</title>
|
||||
<title>SFIAB Evaluations Export</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@ -36,6 +36,7 @@
|
||||
include "sfiab_common.inc.php"; // check SFIAB install and get config etc.
|
||||
include "eval_common.inc.php"; // check Evaluations setup and get eval_config
|
||||
include "eval_menu_inc.php";
|
||||
echo "<h2>Export Data</h2><br /><br />";
|
||||
|
||||
/* Options
|
||||
1. Most information for preslugging scoring forms (one record per project - judgeteam assignment) (includes scheme_id and...
|
||||
|
@ -25,7 +25,7 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Export Evaluation Forms</title>
|
||||
<title>SFIAB Evaluations Import</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@ -33,6 +33,7 @@
|
||||
include "sfiab_common.inc.php"; // check SFIAB install and get config etc.
|
||||
include "eval_common.inc.php"; // check Evaluations setup and get eval_config
|
||||
include "eval_menu_inc.php";
|
||||
echo "<h2>Import Data</h2><br /><br />";
|
||||
echo "This will upload the data from an Apperson Benchmark 3000 scanner and enter the good data into the Evaluations Entries table.<br />";
|
||||
echo "Select a file to upload, then click the 'Upload' button.<br />";
|
||||
echo "The file must conform to the Apperson scanner output format - see Documentation<br />";
|
||||
|
@ -21,7 +21,9 @@
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
?>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
|
||||
<head><title>SFIAB Evaluations Levels Editor</title>
|
||||
<script language="javascript">
|
||||
function confirmClick(msg)
|
||||
{
|
||||
@ -32,6 +34,8 @@ function confirmClick(msg)
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
include "sfiab_common.inc.php"; // check SFIAB install and get config etc.
|
||||
include "eval_common.inc.php"; // check Evaluations setup and get eval_config
|
||||
@ -151,10 +155,7 @@ if($_GET['action']=="edit" || $_GET['action']=="new")
|
||||
echo " <td><input type=\"text\" size=\"12\" name=\"level_name\" value=\"$lvlr->level_name\" /></td>";
|
||||
echo " <td><input type=\"text\" size=\"3\" name=\"spec_use\" value=\"$lvlr->spec_use\" /></td>";
|
||||
echo " <td><input type=\"text\" size=\"4\" name=\"spec_use_code\" value=\"$lvlr->spec_use_code\" /></td>";
|
||||
|
||||
echo "</td>";
|
||||
|
||||
|
||||
echo " <td><input type=\"submit\" value=\"".$buttontext."\" /></td>";
|
||||
echo "</tr>";
|
||||
}
|
||||
@ -182,8 +183,9 @@ else
|
||||
echo "</table>";
|
||||
echo "</form>";
|
||||
echo"Scheme ID Must exist in Schemes!";
|
||||
|
||||
// send_footer();
|
||||
echo "</body>";
|
||||
echo "</html>";
|
||||
exit;
|
||||
?>
|
||||
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
|
||||
<head><title>SFIAB Evaluations Linkup</title>
|
||||
<head><title>SFIAB Evaluations Link</title>
|
||||
<link rel="stylesheet" href="sfiab.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
@ -32,20 +32,20 @@
|
||||
include "sfiab_common.inc.php"; // check SFIAB install and get config etc.
|
||||
include "eval_common.inc.php"; // check Evaluations setup and get eval_config
|
||||
include "eval_menu_inc.php";
|
||||
|
||||
echo "<h2>Link Evaluations and SFIAB Data</h2><br /><br />";
|
||||
echo "<br /><br />";
|
||||
$errors = 0;
|
||||
echo "Click the button to link SFIAB and Evaluations. (Be patient, may take a while)";
|
||||
echo "<form method=\"post\" action=\"eval_link_sfiab.php\">";
|
||||
echo "<input type=\"hidden\" name=\"action\" value=\"link\" />";
|
||||
echo "<br />";
|
||||
echo "<input type=\"submit\" value=\"Link Now\">";
|
||||
echo "</form>";
|
||||
if(!$_POST['action'] == "link")
|
||||
{
|
||||
echo "Click the button to link SFIAB and Evaluations";
|
||||
echo "<form method=\"post\" action=\"eval_link_sfiab.php\">";
|
||||
echo "<input type=\"hidden\" name=\"action\" value=\"link\" />";
|
||||
echo "<br />";
|
||||
echo "<input type=\"submit\" value=\"Link Now\">";
|
||||
echo "</form>";
|
||||
exit;
|
||||
}
|
||||
echo "Starting Link Process - status follows:<br /><br />";
|
||||
echo "Linking Process complete - status follows:<br /><br />";
|
||||
// get the eval_scheme id and eval_schemes.assignto_project_when fields
|
||||
$q=mysql_query("SELECT * FROM eval_schemes");
|
||||
if (!q){
|
||||
|
@ -1,6 +1,4 @@
|
||||
<?php
|
||||
|
||||
|
||||
/* enable or replace this when front end code is added
|
||||
if ($_SESSION['users_type'] =! 'committee'){
|
||||
echo "Not Logged In!<br />";
|
||||
@ -13,18 +11,18 @@ else
|
||||
*/
|
||||
echo "<h1>SFIAB Evaluations Plug-in</h1><br />";
|
||||
echo "<a href=\"../../admin/index.php\">Return to SFIAB Admin </a><br />";
|
||||
echo "<br />";
|
||||
echo "<a href=\"index.php\">Evaluations Menu </a><br /><br />";
|
||||
//echo "<br />";
|
||||
//echo "<a href=\"index.php\">Evaluations Menu </a><br /><br />";
|
||||
echo "<b>Process:</b><br />";
|
||||
echo " * <a href=\"eval_link_sfiab.php\">Link Evaluations to SFIAB</a><br />";
|
||||
echo " * <a href=\"eval_export.php\">Export Evaluations Data (Apperson Scanners data, etc.)</a><br />";
|
||||
echo " * <a href=\"eval_webentry.php\">Evaluations Web Entry</a><br />";
|
||||
echo " * <a href=\"eval_import.php\">Import Evaluation Data (Apperson Scanners)</a><br />";
|
||||
echo " * <a href=\"eval_link_sfiab.php\">Link Evaluations to SFIAB</a> ";
|
||||
echo " * <a href=\"eval_export.php\">Export Evaluations Data (Apperson Scanners data, etc.)</a> ";
|
||||
echo " * <a href=\"eval_webentry.php\">Evaluations Web Entry</a> ";
|
||||
echo " * <a href=\"eval_import.php\">Import Evaluation Data (Apperson Scanners)</a> ";
|
||||
echo " * <a href=\"eval_calc_scores.php\">Calculate Scores</a><br />";
|
||||
echo "<b>Setup and Help:</b><br />";
|
||||
echo " * <a href=\"eval_schemes.php\">Create / Edit Schemes</a><br />";
|
||||
echo " * <a href=\"eval_criteria.php\">Create / Edit Criteria</a><br />";
|
||||
echo " * <a href=\"eval_levels.php\">Create / Edit Levels</a><br />";
|
||||
echo " * <a href=\"eval_schemes.php\">Create / Edit Schemes</a> ";
|
||||
echo " * <a href=\"eval_criteria.php\">Create / Edit Criteria</a> ";
|
||||
echo " * <a href=\"eval_levels.php\">Create / Edit Levels</a> ";
|
||||
echo " * <a href=\"docs/eval_help.html\">Documentation</a><br /><br />";
|
||||
|
||||
?>
|
@ -21,7 +21,9 @@
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
?>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
|
||||
<head><title>SFIAB Evaluations Schemes Editor</title>
|
||||
<script language="javascript">
|
||||
function confirmClick(msg)
|
||||
{
|
||||
@ -32,6 +34,8 @@ function confirmClick(msg)
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
include "sfiab_common.inc.php"; // check SFIAB install and get config etc.
|
||||
include "eval_common.inc.php"; // check Evaluations setup and get eval_config
|
||||
@ -161,7 +165,8 @@ echo "<h2>Schemes Editor</h2><br /><br />";
|
||||
echo "</table>";
|
||||
echo "</form>";
|
||||
echo"You should assign the 'Scheme ID's in numerical order, starting with 1.";
|
||||
|
||||
echo "</body>";
|
||||
echo "</html>";
|
||||
// send_footer();
|
||||
?>
|
||||
|
||||
|
@ -43,6 +43,7 @@ if (($_FILES["file"]["type"] == "text/plain")
|
||||
if ($_FILES["file"]["error"] > 0)
|
||||
{
|
||||
echo "File Selection / upload Error: Return Code: " . $_FILES["file"]["error"] . "<br />";
|
||||
echo "<br /><br /><a href=\"eval_import.php\"> Return </a><br />";
|
||||
exit;
|
||||
}
|
||||
else
|
||||
@ -74,6 +75,7 @@ if (($_FILES["file"]["type"] == "text/plain")
|
||||
fclose($fh);
|
||||
// delete the file
|
||||
unlink($filename);
|
||||
echo "<br /><br /><a href=\"eval_import.php\"> Return </a><br />";
|
||||
exit;
|
||||
}
|
||||
$row++;
|
||||
@ -98,6 +100,7 @@ if (($_FILES["file"]["type"] == "text/plain")
|
||||
fclose($fh);
|
||||
// delete the file
|
||||
unlink($filename);
|
||||
echo "<br />Need to keep trying Ask Dennis to fix <br /><a href=\"eval_import.php\"> Return </a><br />";
|
||||
exit;
|
||||
}
|
||||
if (mysql_num_rows($q) == 6){ // 6 criteria for each judgeteam-project is required to upload Apperson data
|
||||
@ -138,6 +141,7 @@ if (($_FILES["file"]["type"] == "text/plain")
|
||||
fclose($fh);
|
||||
// delete the file
|
||||
unlink($filename);
|
||||
echo "<br /><br /><a href=\"eval_import.php\"> Return </a><br />";
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
@ -25,7 +25,7 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Teams Evaluations Forms</title>
|
||||
<title>SFIAB Evaluations Entry</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@ -33,6 +33,7 @@
|
||||
include "sfiab_common.inc.php"; // check SFIAB install and get config etc.
|
||||
include "eval_common.inc.php"; // check Evaluations setup and get eval_config
|
||||
include "eval_menu_inc.php";
|
||||
echo "<h2>Judges' Project Evaluations</h2><br /><br />";
|
||||
|
||||
/*
|
||||
This is an evaluation form(s) for a team. Here the team can evaluate each project assigned to the team.
|
||||
@ -46,81 +47,54 @@ This is an evaluation form(s) for a team. Here the team can evaluate each projec
|
||||
* continue untill...
|
||||
* Exit the page
|
||||
*/
|
||||
$newteam = false;
|
||||
if($_POST['enter']=="evals") { // come here if have an evaluation entry for a given team and project
|
||||
// get the values saved in the form.
|
||||
$oktoupdate = true; // RFU
|
||||
$project_id = $_POST['project_id']; // save in form
|
||||
$project_num = $_POST['project_num']; // saved in form
|
||||
$team_num = $_POST['team_num']; // saved in form
|
||||
$judges_team_name = $_POST['team_name'];
|
||||
$judges_teams_id = $_POST['team_id'];
|
||||
/*
|
||||
* for each possible critera for the project see if it was entered (will not be a POST entry if slection was made for the post)
|
||||
* the posts have names CR_nnn where nnn is the criteria number. The values are the 'selected' level_id (stored in evals_projects_entries)
|
||||
* if a selection, save it in the database if not set a flag not complete.
|
||||
* return to the form
|
||||
*/
|
||||
$q = mysql_query("SELECT * FROM eval_projects WHERE project_id = '".$project_id."' ");
|
||||
if (!$q OR mysql_num_rows($q) == 0){
|
||||
// what to do here? Should not happen
|
||||
}
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
$scheme_id = $r->scheme_id;
|
||||
}
|
||||
$q = mysql_query("SELECT * FROM eval_criteria WHERE scheme_id = '".$scheme_id."' ");
|
||||
if (!$q OR mysql_num_rows($q) == 0){
|
||||
// what to do here? Should not happen
|
||||
}
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
// skip those that have criteria weight == 0 (compatibility with Apperson Scanner export/import)
|
||||
if ($r->criteria_weight > 0){
|
||||
$criteria_id = $r->criteria_id;
|
||||
$postname= "CR_".$criteria_id;
|
||||
if ($_POST[$postname]){
|
||||
$value_id = $_POST[$postname];
|
||||
// now save this one in the database
|
||||
$status = mysql_query("UPDATE eval_projects_entries SET level_id = '".$value_id."' WHERE judges_teams_id = '".$judges_teams_id."' AND project_id = '".$project_id."' AND criteria_id = '".$criteria_id."' " );
|
||||
// should work but need check if $status == false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if($_POST['selection']=="team_num") {
|
||||
// Get some necessary information: Team_id, All projects (create dropdown list of projects)
|
||||
$team_num = $_POST['team_num'];
|
||||
$qstr_prjs = "SELECT judges_teams_timeslots_projects_link.`year`, judges_teams_timeslots_projects_link.judges_teams_id, judges_teams.num, ".
|
||||
"judges_teams.name, projects.projectnumber, projects.floornumber, projects.title, projects.shorttitle, projects.`language` ".
|
||||
"FROM judges_teams, judges_teams_timeslots_projects_link, projects ".
|
||||
"WHERE judges_teams.id = judges_teams_timeslots_projects_link.judges_teams_id ".
|
||||
"AND judges_teams_timeslots_projects_link.projects_id = projects.id ".
|
||||
"AND judges_teams.num = '$team_num' ";
|
||||
$qprjs=mysql_query($qstr_prjs);
|
||||
if ($qprjs) {
|
||||
$num_projects = mysql_num_rows($qprjs);
|
||||
if ($num_projects > 0 ){
|
||||
$cnt = 0;
|
||||
while($rprjs=mysql_fetch_object($qprjs)) {
|
||||
if($cnt == 0 ){
|
||||
$judges_teams_id = $rprjs->judges_teams_id;
|
||||
$judges_team_name = $rprjs->name;
|
||||
$cnt = 1;
|
||||
}
|
||||
// create an array / fill in the dropdownbox
|
||||
echo "<br />project number ".$rprjs->projectnumber." ".$rprjs->title."floor number=".$rprjs->floornumber;
|
||||
}
|
||||
if ($oktoupdate){
|
||||
/*
|
||||
* for each possible critera for the project see if it was entered (will not be a POST entry if slection was made for the post)
|
||||
* the posts have names CR_nnn where nnn is the criteria number. The values are the 'selected' level_id (stored in evals_projects_entries)
|
||||
* if a selection, save it in the database if not set a flag not complete.
|
||||
* return to the form
|
||||
*/
|
||||
$q = mysql_query("SELECT * FROM eval_projects WHERE project_id = '".$project_id."' ");
|
||||
if (!$q OR mysql_num_rows($q) == 0){
|
||||
// what to do here? Should not happen
|
||||
}
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
$scheme_id = $r->scheme_id;
|
||||
}
|
||||
else{
|
||||
// no projects assigned or incorrect team number.
|
||||
}
|
||||
}
|
||||
$project_num = "";
|
||||
echo "<br /> Enter one of the above listed project numbers<br />";
|
||||
$q = mysql_query("SELECT * FROM eval_criteria WHERE scheme_id = '".$scheme_id."' ");
|
||||
if (!$q OR mysql_num_rows($q) == 0){
|
||||
// what to do here? Should not happen
|
||||
}
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
// skip those that have criteria weight == 0 (compatibility with Apperson Scanner export/import)
|
||||
if ($r->criteria_weight > 0){
|
||||
$criteria_id = $r->criteria_id;
|
||||
$postname= "CR_".$criteria_id;
|
||||
if ($_POST[$postname]){
|
||||
$value_id = $_POST[$postname];
|
||||
// now save this one in the database
|
||||
$status = mysql_query("UPDATE eval_projects_entries SET level_id = '".$value_id."' WHERE judges_teams_id = '".$judges_teams_id."' AND project_id = '".$project_id."' AND criteria_id = '".$criteria_id."' " );
|
||||
// should work but need check if $status == false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if($_POST['selection']=="project_num") {
|
||||
// Create the evaluation form for this project - team combination
|
||||
$project_num = $_POST['project_num']; // just entered or changed
|
||||
$team_num = $_POST['team_num']; // saved in form
|
||||
$judges_team_name = $_POST['team_name'];
|
||||
$judges_teams_id = $_POST['team_id'];
|
||||
if($_POST['enter']=="project_team" || $_POST['selection'] == "team_num") {
|
||||
// Changed the project number and or team number
|
||||
$team_num = $_POST['team_num'];
|
||||
if ($_POST['prev_team_num'] != $team_num){
|
||||
$newteam = true;
|
||||
}
|
||||
}
|
||||
if ($team_num == 0)
|
||||
{
|
||||
@ -133,18 +107,63 @@ if ($team_num == 0)
|
||||
echo "</body></html>";
|
||||
exit;
|
||||
}
|
||||
// have a team number and a list if projects was presented. Get which project to work on.
|
||||
if($project_num == 0){
|
||||
echo "<br /> Have team number data: Number: ".$team_num." Id=",$judges_teams_id." name=".$judges_team_name."<br />";
|
||||
echo "<form method=\"post\" action=\"eval_webentry.php\">";
|
||||
echo "<input type=\"hidden\" name=\"selection\" value=\"project_num\" />";
|
||||
|
||||
// have a team number if get here next gets the selected project from the drop down list
|
||||
if($_POST['project']){
|
||||
$project_num = $_POST['project'];
|
||||
}
|
||||
if ($newteam) {
|
||||
$project_num = 0;
|
||||
}
|
||||
//echo "<br /> Have team number data: Number: ".$team_num." Id=",$judges_teams_id." name=".$judges_team_name."<br />";
|
||||
echo "<form id='form1' name='form1' method=\"post\" action=\"eval_webentry.php\">";
|
||||
echo "<input type=\"hidden\" name=\"enter\" value=\"project_team\" />";
|
||||
echo "<input type=\"hidden\" name=\"team_id\" value=\"$judges_teams_id\" />";
|
||||
echo "<input type=\"hidden\" name=\"team_name\" value=\"$judges_team_name\" />";
|
||||
echo "<input type=\"hidden\" name=\"prev_team_num\" value=\"$team_num\" />";
|
||||
echo "<input type=\"hidden\" name=\"prev_project_num\" value=\"$project_num\" />";
|
||||
echo "<table>";
|
||||
echo "<tr><td>Team Number</td><td><input size=\"5\" type=\"text\" name=\"team_num\" value=\"$team_num\"></td><td> Reload form for new team! </td></tr>";
|
||||
echo "<tr><td>Project Number</td><td><input size=\"5\" type=\"text\" name=\"project_num\" value=\"$project_num\"></td><td><input type=\"submit\" value=\"Enter Project Number\"></td></tr>";
|
||||
echo "<tr><td>Team Number</td><td><input size=\"5\" type=\"text\" name=\"team_num\" value=\"$team_num\"></td></tr>";
|
||||
//echo "<tr><td>Project Number</td><td><input size=\"5\" type=\"text\" name=\"project_num\" value=\"$project_num\"></td><td><input type=\"submit\" value=\"Enter Project Number\"></td></tr>";
|
||||
echo "</table>";
|
||||
echo "</form>";
|
||||
$qstr_prjs = "SELECT judges_teams_timeslots_projects_link.`year`, judges_teams_timeslots_projects_link.judges_teams_id, judges_teams.num, ".
|
||||
"judges_teams.name, projects.projectnumber, projects.floornumber, projects.title, projects.shorttitle, projects.`language` ".
|
||||
"FROM judges_teams, judges_teams_timeslots_projects_link, projects ".
|
||||
"WHERE judges_teams.id = judges_teams_timeslots_projects_link.judges_teams_id ".
|
||||
"AND judges_teams_timeslots_projects_link.projects_id = projects.id ".
|
||||
"AND judges_teams.num = '$team_num' ";
|
||||
$qprjs=mysql_query($qstr_prjs);
|
||||
if ($qprjs) {
|
||||
$num_projects = mysql_num_rows($qprjs);
|
||||
if ($num_projects > 0 ){
|
||||
$cnt = 0;
|
||||
//echo "<form>";
|
||||
echo "<select name=\"project\"><br />";
|
||||
|
||||
while($rprjs=mysql_fetch_object($qprjs)) {
|
||||
if($cnt == 0 ){
|
||||
$judges_teams_id = $rprjs->judges_teams_id;
|
||||
$judges_team_name = $rprjs->name;
|
||||
$cnt = 1;
|
||||
}
|
||||
// fill in the dropdownbox
|
||||
echo "<option value = \"".$rprjs->projectnumber."\" ";
|
||||
if ($project_num == $rprjs->projectnumber) {
|
||||
echo "selected=\"yes\"";
|
||||
}
|
||||
echo ">".$rprjs->projectnumber.": ".$rprjs->title."</option>";
|
||||
//echo "<br />project number ".$rprjs->projectnumber." ".$rprjs->title."floor number=".$rprjs->floornumber;
|
||||
}
|
||||
echo "</select>";
|
||||
echo " <input type=\"submit\" value=\"Select Project or Change Team\"><br />";
|
||||
echo "</form>";
|
||||
}
|
||||
else{
|
||||
// no projects assigned or incorrect team number.
|
||||
}
|
||||
}
|
||||
|
||||
if ($project_num == 0 ) { // if first selection of team number or if changed the team number.
|
||||
echo "</body></html>";
|
||||
exit;
|
||||
}
|
||||
@ -178,23 +197,8 @@ if (!$q OR mysql_num_rows($q) == 0){
|
||||
echo "</body></html>";
|
||||
exit;
|
||||
}
|
||||
echo "<form method=\"post\" action=\"eval_webentry.php\">";
|
||||
echo "<input type=\"hidden\" name=\"selection\" value=\"project_num\" />";
|
||||
echo "<input type=\"hidden\" name=\"team_id\" value=\"$judges_teams_id\" />";
|
||||
echo "<input type=\"hidden\" name=\"team_name\" value=\"$judges_team_name\" />";
|
||||
echo "<table>";
|
||||
echo "<tr><td>Team Number</td><td><input size=\"5\" type=\"text\" name=\"team_num\" value=\"$team_num\"></td><td> Reload form for new team! </td></tr>";
|
||||
echo "<tr><td>Project Number</td><td><input size=\"5\" type=\"text\" name=\"project_num\" value=\"$project_num\"></td><td><input type=\"submit\" value=\"Enter Project Number\">";
|
||||
echo " (for now, enter -1 to select a different judge team)</td></tr>";
|
||||
echo "</table>";
|
||||
echo "</form>";
|
||||
// At this point we have all the data necessary to create the entry form
|
||||
// Get project information for display
|
||||
//$qst = "SELECT projects.projectdivisions_id AS Expr1, projectdivisions.division, projectcategories.category, projects.title AS ptitle, ".
|
||||
// "projects.shorttitle AS pshorttitle, projectcategories.category_shortform, projectdivisions.division_shortform, projects.language ".
|
||||
// "FROM projects, projectcategories, projectdivisions ".
|
||||
// "WHERE projects.projectcategories_id = projectcategories.id AND projects.projectdivisions_id = projectdivisions.id ".
|
||||
// "AND projects.id = '".$project_id."'";
|
||||
|
||||
$qst = "SELECT projects.projectdivisions_id, projectdivisions.division, projectdivisions.division_shortform, projectcategories.category, ".
|
||||
"projectcategories.category_shortform, projects.projectnumber, projects.floornumber, projects.title, projects.shorttitle, ".
|
||||
"projects.`language`, eval_projects.scheme_id, eval_projects.team ".
|
||||
@ -215,22 +219,24 @@ if ($q) {
|
||||
$team = $r->team;
|
||||
}
|
||||
}
|
||||
echo "<br /><b> Project Title: ".$ptitle."</b>";
|
||||
echo "<br /> Project Category: ".$category;
|
||||
echo "<br /><b>Current Evaluation is for:<br />";
|
||||
echo " Team number: ".$team_num."<br />";
|
||||
$IsTeam = "";
|
||||
if ($team == "yes"){ $IsTeam = " (Team Project)";}
|
||||
echo "<br /> Project Division: ".$division.$IsTeam;
|
||||
echo "<br /> Language: ".$language;
|
||||
echo " Project number: ".$project_num ." Title: ".$ptitle.$IsTeam."</b><br />";
|
||||
echo " Project Category: ".$category."<br />";
|
||||
echo " Project Division: ".$division."<br />";
|
||||
echo " Language: ".$language."<br />";
|
||||
// this is for test only at this time. will be used in the Apperson Scanner export and import.
|
||||
// to create the file necessary to preslug the score forms.
|
||||
// Barcode = 1 or 2 for team, 4 digits exn, 4 digits team number, 2 digits checksum?
|
||||
$tempprnum = substr($project_num , 1);
|
||||
if ( strlen($tempprnum) < 4 )
|
||||
{
|
||||
$tempprnum = "0".$tempprnum;
|
||||
}
|
||||
echo "<br /> Scanner Project number: ".$tempprnum;
|
||||
echo "<break />";
|
||||
//$tempprnum = substr($project_num , 1);
|
||||
//if ( strlen($tempprnum) < 4 )
|
||||
// {
|
||||
// $tempprnum = "0".$tempprnum;
|
||||
// }
|
||||
//echo "<br /> Scanner Project number: ".$tempprnum;
|
||||
echo "<br />";
|
||||
$errors = 0;
|
||||
$criteria_row = 0;
|
||||
// First find the longest string in criteria and level names so the table will look nice
|
||||
|
Loading…
Reference in New Issue
Block a user