Locations and Projects
Locations are used to partition a single kind of activity into multiple
analogous activities. Imagine an art show
for both adults and children where you wanted to define
separate activities for judging the kids and judging the adults.
One way to do this would be to:
- Do a Create Activity with Base Name
set to Judge and Location set to Adults.
- Do another with Base Name
set to Judge and Location set to Kids.
- You would now have 2 activities that could be selected on
Make Signup Schedule: Judge, Adults
and Judge, Kids.
Projects are used to group together different kinds
of activities. For example, if you
had a Write Brochure activity, a Contact Local Businesses activity,
a Do Town-Wide Mailing activity, and a Publicity Chair
activity, you might want to give them all the same project name, say Publicity.
How Locations and Projects Can Enhance Ease-of-use
Planning ahead to define locations and projects requires a little extra work.
The ease-of-use benefits from that extra work are:
- On the signup pages, you can list activities by location and by project. You can also
choose to have an activity name vs. time grid, per location.
- You can search for signups and people based on the locations and projects on which
they have worked.
- You can email to everyone associated with a location or project,
just by entering its name.
- The Email Announcement->Insert each recipient's dropdown menu has items
to send a table describing everyone associated with a location or project.
- When editing activities or schedule items, you can quickly
select all the rows associated with a location or project.
- As described in the next section, category requests and locations make it easy
to create a schedule for assigning people to jobs in a work shift.
Category Requests and Locations
You use the Category Request signup style when you want people
to request a job category and then have an admin assign them to a specific job in that category.
Also this feature is designed to make it easy
to keep tentative schedule assignments private until you are ready to share them.
after someone signs up for a job category and you have used
the admin-signup page
to *move* her to a specific job, the signup is still shown at the job category in her
Your Signups list and when a List All Signups is done. It is only after you have *approved* the
request that the specific job is shown in these places.
(Self-signup schedules always show signups and signup counts just at the job category).
Creating Categories and Specific Jobs
When you do a Create Activity with the Category Request
signup style, there is special support for creating its specific jobs.
Setting its Location field to a comma-separated list
of locations will cause Create Activity to create a location-suffixed activity for each location in the list.
Additionally each such specific job will have its Self-Signups property set to Not Allowed, and its
Signup Style property set to Immediate.
Note that you can create more involved shift schedules "manually". For instance, you can expose specific schedule
items to senior people via conditional activities.
Spot/Signup Counts and Sub-Categories
The number of signups for a Category Request schedule item is the sum
of the signup requests and approved signups anywhere within the category.
On the other hand, the # of Spots for such an item is normally the sum of its specific-item spots.
But if a category allows unlimited signups or has no specific-item slots,
the entered value remains its # of Spots setting.
You can create
sub-category request schedule items in a category (e.g.
Election Official, North and Election Official, South).
The specific items of a sub-category are those whose Locations start with the sub-category's Location.
That is, if a sub-category's location is ABC, its
specific items are those whose locations start with ABC.
Sub-category counts work like category counts.
For example, suppose Election Official, North&South Precinct 1&2
are your four specific items, and each has 2 spots with 1 filled. Also suppose there
are 2 pending requests at Election Official, North. Then:
- Election Official would be 6 of 8.
- Election Official, North would be 4 of 4.
- Election Official, South would be 2 of 4.
- Election Official, North Precinct 1 would be of 1 of 2; and so on.
Definition and Applicability
You create a conditional activity by setting Self-Signups to Matches Role.
A conditional activity will be
included on a person's self-signup page only if the person's registration
info contains a matching role:
- A role of xxx matches any activity whose Base Name is xxx.
- A role of the form ^xxx matches any activity whose Base Name starts with xxx.
- A role of the form xxx^yyy matches any activity whose Base Name is xxx and whose
Location starts with yyy.
- A role of the form xxx^yyy$ matches any activity whose Base Name is xxx and whose
Location is yyy.
In general, you should consider using conditional activities only if
your group manages people in terms of roles in the real world.
Otherwise in practice, you will not be able to maintain accurate Roles data inside
A Fancy Example, and a Simplified Version
Suppose you are signing up ushers for a performance series and have 2 kinds
of ushers: Ushers and Senior Ushers. Suppose as well
that Senior Ushers can signup for both jobs,
but Ushers should not signup as Senior Ushers.
Thus you want the self-signup page of ushers to not include any
Senior Usher schedule items.
To accomplish this, you could:
- Create conditional activities named Usher and Usher (Senior).
- In your people data base, set the Roles field of each usher to
- In your people data base, set the Roles field of each senior usher to
^Usher. (In other words, this will match both activities because they
both start with "usher").
In this basic case, you could
achieve the same effect by setting up Usher as an unconditional
activity — since everyone can signup for it. That is, you could:
- Create a regular activity named Usher and a conditional
activity named Senior Usher.
- In your people data base, include no conditional
activities in the Roles fields of plain ushers.
- In your people data base, include Senior Usher in
the Roles field of each senior usher.
A judged contest is one in which an entrant's result is determined
by evaluation. (Note that the Judged Contest feature
can be applied to situations other than contests. For example, it
could be used to tabulate employee-performance evaluations).
Setting Up and Using a Judged Contest
To create1 a judged contest (say an essay-writing contest):
- Create an event in the usual way and then
rename the default schedule from Volunteer Signup to Author Signup.
(This is done via Make Signup Schedule->Do Setup Action->Update Props).
- Create a signup form named Essay Entry Form.
Put any fields2 you want in it, but include at least one field of type
For this contest, an entrant is scored on originality and composition,
so include two Computed fields: Originality and Composition.
- Create an activity named Essay Contest,
set its type to Contest (judged), set its form to Essay Entry Form, and
create a schedule item for this activity in the usual way.
- If desired, customize the contest as described below.
A person, say Tom Jefferson, would enter the contest by clicking on the event's
Author Signup link on Self-Signup Home, and
then signing up for the Essay Contest activity.
Judges would later score Tom Jefferson's entry by clicking
on the event's Judge Essay Contest link,
and then signing up for the Tom Jefferson,
Essay Contest activity4.
- When you create your own contest, you can choose whatever names you want
for the elements you create. And except for the
names shown in green, you can edit the names of the elements PRESTO creates for you.
- An example of another field might be: Entrant's Age. (You might
also want to setup an anonymous entry name, as described in the next section).
- The value of a Computed field is the
average of the scores that judges entered into their scorecards for that field.
- This kind of activity is
called a Scorecard. A Scorecard and its schedule item are automatically
created when an entrant signs up, and automatically deleted if an entrant withdraws.
You cannot directly create or delete them.
Customizing a Contest
By default, the Scorecard activity for scoring a contest entry
is named person's name, contest's name
(as in Tom Jefferson, Essay Contest).
If you want judging
to be anonymous, include a required field in Essay Contest Form whose
name2 starts with E:.
For example, suppose that Tom Jefferson typed "Declaration of Independence" into
the E:Essay Title field, then the scorecard for his entry would be named
Declaration of Independence, Essay Contest.
When you created the Essay Contest activity, PRESTO automatically created
4 elements for you. These elements influence what judges see.
Thus before a contest is judged, you should look over these 4 elements and
make any updates needed to fit your situation.
These elements are:
- A schedule named Judge Essay Contest.
- A signup form named Essay Contest Scorecard, which is
the form displayed when a judge clicks on a Score this Entry button.
PRESTO creates it by copying1 each Computed field in Essay Entry Form,
except that it sets each such field to Required and
Self-Signup Can Enter It, and prepends J:
to its name2.
You may now modify these fields or add others if desired. For example,
if you want a blank J: field to default to 0 rather than trigger an error
message, make it Optional.
- An activity named *** SCORING RULES ***, Essay Contest.
You should put in its
description any scoring guidelines you want to provide judges.
- The schedule item in Judge Essay Contest for
*** SCORING RULES ***, Essay Contest.
Each scorecard's # of Spots and Target Date will be set from this element.
In this context, these two fields mean the maximum number of times the entry should be
judged3 and the deadline for scoring the entry.
- If you later want to rename or add Computed fields to
Essay Entry Form, you must make the matching changes to
Essay Contest Scorecard yourself.
- When a contest form is displayed by a non-administrator,
the labels for any E: and J:
fields will not include these prefix characters.
- If you want a judge to score only certain entries, set
the *** SCORING RULES *** activity's
to Matches Role and put the entry names of each entry she should
judge into the Roles field of her registration form.
Viewing the Results of a Contest
To view an entrant's scores so far, click on the entrant's Essay Contest signup
on the Admin-Signup page.
You can also create and view contest reports.
Note that people with Observer or Agent privilege can also view contest scores
and any contest reports you create.
To create a contest report (say Essay Results Summary):
- Click on Make/Output Report->Do Setup Actions->CREATE REPORT
and enter Essay Results Summary.
- Use Add Column to give the report at least 2 columns: Contestant and Score.
- Set the value of the Contestant column to Person's->Name.
- Assuming Originality counts for 60% and Composition 40% of each
entrant's score, set the value of the Score column to:
(!s.originality! * .6) + (!s.composition! * .4)
- Make the Contestant column Unsorted and the Score column Descending.
To generate this report:
- Go to the Output Report or Make/Output Report page.
- Select Essay Results Summary from the dropdown menu in its title line.
- Temporarily change the report's layout and/or its scope as desired.
- If the report's scope is context dependent (e.g. Current Event), setup
the desired context (e.g make the event containing the contest the current event).
- Click on an Output Report button.
If you had multiple contests with the same scoring columns and wanted to view results
of just one of them, the Current Event scope would not suffice. You would have to:
- Select Search Results... from the Report Scope dropdown menu.
- Set the Search form's Activity Field to Essay Contest and click on Use Results.