Teams are very much like Categories, except they contain Members instead of Items. Another name for "Team" might be "Group". Once you have created a set of Teams, Members can join these and advertise themselves to the community as individuals. They can also be reviewed and rated, according to the rating attributes associated with the Team. How you define your Teams is entirely up to you. Teams are organized with the same kind of hierarchical structure that defines Categories. Every Team, except a topmost Team, will have a parent Team to which it belongs, and each Team may be assigned an Editor who can handle reviews submitted on the Members who belong to that Team.
Once you have entered a Team into the Team table, and it has been allocated a Team ID of, say, 8, then you can navigate to the Team detail page via the browsable Member pages, or you can enter the URL to the Team detail page directly into your browser, like so:
As with the other "Creating a Container" pages in this documentation, we cover here the procedure associated with adding a Team from the Database control panel, though you can also use the Team Browser in the admin area to create records. If you're not sure how to get to the Database control panel, see Creating a Category.
From the Database menu on the Database control panel, select "Add" for the action and "Team" for the table. Click on the submit button to have the right frame load. You'll then see the following form elements (example input values have been added for clarity, and are explained below):
You can see that the input fields for this container are virtually identical to the ones for the corresponding Category form. This is not surprising as Category, Team, and YellowPage tables are all realizations of the Container concept discusssed in UNDERSTANDING THINGS & CONTAINERS. The only difference here is the appearance of the Invitation Only field (discussed below) which can be used to stop Members from enrolling themselves into your Teams.
The following summary of the Team fields which appear both on the Add Team and Modify Team pages is mainly a rehash of the same information found in the corresponding section for Categories (but for purposes of self-containment, is presented here again). Note that the last 2 fields displayed above--Is Validated and Invitation Only--only appear when the Administrator or an Editor is logged in.
When you name a Team, you name it locally. That is, you provide the name of the
Team relative to some parent Team. In the example, "Critics"
is the parent Team, and "Baseball" is the name of the new Team. The full name of
the newly-created Team will be "Critics/Baseball". Clearly, you cannot
include a / in your Team name (as / is the Team delimiter), otherwise you will
get an error message.
The column is Team.name
In addition to the Team fields shown above, there may be other non-Team fields which appear on the Add Team and Modify Team pages. The Administrator is able to modify the collection of rating attributes (or types) associated with a Team (which we term a Rating Template), so an extra form element will be present to handle this. As the form element is identical to the one shown in the corresponding section for Categories we'll just refer you to it instead of re-presenting it here: Editable Non-Category Fields. Each of the Container types, Category, Team, and Yellow Page use the same table to determine the elements of their Rating Template, namely the RatingType table, so the treatment is uniform for all Container types.
Notes relating to Editor assignment would be the same as those presented in the section for Editable Non-Category Fields with the exception that Editor assignment is carried out by directly loading the Add page for the TeamEditor table.
If you need to add extra fields to the Team table you can do this. For detailed information on the process of adding columns to existing tables, see ADDING COLUMNS TO A TABLE.
If you add columns which are used by some Teams and not others you can test for the column value before displaying it in any template which receives Team information. For example, if you add a Team.conditions column that you expect enrolling Members to observe you can test with something like this:
[% team = alias.team_info %] [% IF team.conditions %] PLEASE OBSERVE: [% team.conditions %] [% END %]
Note: in practice you will have to search for the relevant team hash to reference. It might, for example, be current_level.team_info which is buried in a team loop somewhere within one of the Template-Toolkit templates used for the browsable Team pages.
Copyright © 2004 Random Mouse Software. All Rights Reserved.