Student Forms |
Figure 5-90: The List page of the Student Demographic form
The list page of this student form serves as a directory to all student records. It contains a single data grid which shows some minimal data. The data that is shown, the column, order, and column widths are all user programmable.
You can spot check individual records by moving the focus from the current record for Dustin Adair to any other record. Use the vcr buttons at the bottom, use the scroll bar at the right side of the grid, or use the incremental search method built into every column in the grid. Here is how the incremental search mothod works. For example, suppose you wanted to find a student whose last name is Palm. First, you click anywhere in the Student Name column (this kicks the grid into incremental search mode on the selected column). Next, start entering the desired last name on the keyboard. Figure 5-91 shows the immediate result.
Figure 5-91: The List page after clicking the Student Name column and tapping on the P key
You could continue to enter more letters in the student's name or you could just click on the student's row if it is visible. This incremental search works for any column. Also, you can sort the grid list by any column by just clicking the grid's header, as shown in Figure 5-92.
Figure 5-92: After the First Name column header was clicked, the first names are in ascending order
To flip the first names from ascending order in Figure 5-92 to descending order, as shown in Figure 5-93, tap on the header again.
Figure 5-93: After the First Name column header is clicked again, the first names are in descending order
After the student has been selected on the list page, detailed data on the student can be viewed by clicking on the desired page tab. Figure 5-94 shows the Demographics page.
Figure 5-94: The Demographics page of the student form
You may be wondering about this form, its layout and the choice of data items showing on it. With most software systems that have been produced, the developers do the forms design and decide on layout, contents, and the look of the form. This is not the case with eSchool. All data forms are script-driven. The forms you see actually don't exist anywhere in the usual sense. They are created "on the fly" by an engine that executes a script. Therefore, users can create as many different forms as they like. Users can set their size, the number of page tabs, the page tab headings, and the contents of each of the pages. Data items are put on the form with a drag and drop operation. Items can be moved, resized, or deleted from the form. The data items you see in Figure 5-94 and subsequent pages are ones that I thought would be useful for the task at hand -- validating the imported data before to the download to the handheld. A brief description of form design is given in topic Form Design. A more extensive description is given in the eSchool User Manual.
In Figure 5-94 some of the demographic data items are visible. Of course, any items you add, using the dictionary script directives or the eSchool data dictionary, are not visible on the form unless you add them yourself. However, there is a way to see all the data items that are going to be downloaded to the handheld. I'll describe this below in connection the Grid Data form page.
With the picture of the student, in Figure 5-94, I've jumped the gun a bit. Pictures have to be imported and bound to the students. The picture import needs to be done only once, even though you might import your data daily or weekly.
The Grid Data page, as shown in Figure 5-95, shows the student demographic data that has been selected for the download to the handheld. The steps for constructing the download demographic girds is described in topic Preparing the Export Grids. The grid shows the item order, their captions, and the data values for each of the selected students exactly as it will be downloaded. This is a good place to review the imported demographic data values, the captions, and the item order.
Figure 5-95: The student form, showing the demographic data grid of the data to be downloaded to the handheld
To see all the data in the grid, you can grab the bottom of the form and stretch it in order to make it longer (the gird will stretch correspondingly). It is also possible to use the vertical scroll bars at the side if the grid and scroll down, as shown in Figure 5-96, which shows the bottom of the grid.
Figure 5-96: Scrolling the demographic data grid down to see the rest of the data items
Notice that, at the top of the grid, there is a drop-down list box with the caption Export Grid. As I'll show in topic Preparing the Export Grids, you will be able to build as many export grids as you need for different groups of handheld users. For each export grid you'll be able to select the data items and their order. All these export grids will be available in the drop-down list box, where you now see the entry Full Data, in Figure 5-96. If you decide to have only one such demographic export grid, then the drop-down list will contain only the one grid.
Figure 5-97: Selecting a different Demographic Data export grid
This is an example of composite control that has been placed on a form's page. A composite control is a data object which contains more complex data than can be placed in a simple text box or list box of the type shown on the demographic page in Figure 5-94. Generally, there is a fair amount of programming in the composite control object in order to make it behave the way it does. The contacts page and the schedule page each contain a single composite control that handles all the display and user interaction tasks. Controls are placed on the form page with the form design tools mentioned above. eSchool contains dozens such composite controls which are dropped onto forms. eSchool has similar user-programmable composite objects which are dropped onto Microsoft Word documents so eSchool users can print student lists, rosters, schedules, letters, report cards, etc.
The Contacts page shows all the contacts for the selected person. Figure 5-98 shows Jane Albrecht's four contacts in the upper left grid. Each person is always included as a Self.relationship entry. Its primary use is to provide a way of selecting this person so that his or her phone numbers (the grid on the upper right) and addresses (the grid on the bottom) are displayed.
Figure 5-98: The contacts page shows three grids: the person grid, the phone grid, and the address grid
Moving the focus to any one of the other contact persons directs the contact grids to display the phone numbers and addresses for the selected person. Figure 5-99 shows this when the contact record of Dustin Albrecht father's contact record is chosen by clicking it in the person grid.
Figure 5-99: Clicking on Dustin Albrecht father's grid row makes his phone numbers and addresses appear in the grids
The data you are seeing in the contacts grid is downloaded to the handheld, as shown in Figure 2-7. Bear in mind that, because of space limitations on the handheld, the data grids are very condensed; however, all the data is there!
Each of the data rows in any of the three data grids can be double-clicked to launch a detail form for the selected data entry. For example, double-clicking Jane Albrecht's work phone row, containing the phone number 996-2374, causes a phone form to be launched which shows information about the phone, as shown in Figure 5-100. The phone form shows all the people who are referencing this phone somehow. This idea was implemented on the handhelds as Pocket eSchool's Cross Reference Data Grids.
Figure 5-100: Double-clicking the work phone entry launches a phone detail form on the selected phone
Similarly, double-clicking on an address entry launches an address form which shows more detail on the address. Figure 5-101 shows the result of double-clicking on Jane Albrecht's home address row which contains the street address of 342 Main St. The address form shows lists of all the people at this address. The import processor parses all addresses and puts them into the TIGER (Topologically Integrated Geographic Encoding and Referencing) format that is used by some bus scheduling companies and consultants who do school boundary analyses.
Figure 5-101: Double-clicking the address entry launches an address detail form on the selected address
Finally, double-clicking any person's entry in the person grid launches a person detail form with the selected person displayed. Figure 5-102 shows the result after double-clicking on Jane Albrecht father's person grid entry.
Figure 5-102: Double-clicking on a person's entry launches a person detail form on the selected person
Notice that on Dustin Albrecht's contacts page, both Jane Albrecht and Joan Albrecht are listed as Daughter on the Relationship column. The import processor derived this reverse relationship from the import data's forward relationship using the following supplied information: Jane Albrecht who is a female student and Dustin Albrecht who is Jane Albrecht's father. The import processor uses a relationship cross-reference table, described in topic Managing Relationships, for deriving reverse relationships based on the people's gender, if known or unknown (e.g. parent - child relationships are gender-neutral). When the import processor finds a relationship that is not in the cross-reference table, say, step grandmother, it adds the unknown entry to the table with a reverse relationship that is prefixed with the symbol @. Therefore, while the correct reverse relationship is actually step grandson, step granddaughter, or step grand child, it makes the reverse entry @step grandmother. So, if you see such strange entries in the contact entries for contacts, that is the reason. I need to point out, however, that there is really no need to correct the relationship entry. This is because Pocket eSchool does not have separate data display forms for the people who are the student's contacts (except for siblings who are also in the school). Only the forward contact references, as shown in Figure 2-7, are listed. So, it does not really matter that eSchool's version of the reverse relationships look strange.
The schedule page shows the student's schedule, as shown in Figure 5-103. The schedule grid contains most of the relevant information concerning a student's schedule. For eSchool users, the schedule grid has edit buttons (for entering and editing schedules and requests), which are not present for eSchool PDA Edition.
Figure 5-103: The student form's Schedule page
The schedule can be filtered on various terms with the use of the Term dropdown text box as shown in Figure 5-104. There is also a Today option which shows only today's schedule; past and future schedule records are not displayed.
Figure 5-104: Using the Terms filter drop-down list box to select a different display term.
Figure 5-104 shows the schedule with the Fall semester selected. Pocket eSchool's student schedule form, as shown in Figure 2-70, has a very useful hyperlink feature which allows users to jump to any one of several forms (course, teacher, room, and roster). This is a feature built into the schedule grid -- hyperlinking various related forms. A similar idea was just described for the contacts page above, where double-clicking on a grid row caused another form to be launched relating the data that was double-clicked. Double-clicking in data cells in the schedule grid causes various forms to be launched. This feature is very useful for spot-checking correctness of the master schedule data.
In order to illustrate this linking, consider the second schedule entry -- General Shop I. Double-clicking in the grid cell containing the text General Shop I causes the course form to be launched with General Shop I displayed, as shown in Figure 5-105. Course forms display information about courses. The course form in Figure 5-105 also shows a section grid. It is a list of all the sections scheduled for this course.
Figure 5-105: Double-clicking the General Shop grid schedule cell launches the course form
Similarly, double-clicking on the teacher's name launches the teacher form with the teacher selected, as shown in Figure 5-106.
Figure 5-106: Double-clicking the Rembold, Curtis teacher cell launches the teacher form
With eSchool, rooms also have forms. Double-clicking on the room's name launches the room form with the room selected, as shown in Figure 5-107.
Figure 5-107: Double-clicking the Shop room cell launches the room form
Finally, double-clicking any of the section-specific columns, such as the start date, end date, meeting days, meeting period, or meeting term, launches the section form with the selected section displayed, as shown in Figure 5-108.
Figure 5-108: Double-clicking the Start Date cell for the Shop section, launches the section form
This section form is important for checking the entire academic side of the data and is described further in topic Course and Section Forms.
The class data grid, as shown in Figure 5-109, contains most of the class schedule information as well as all the course-specific data that was imported for each student.
Figure 5-109: The Class Data Grid page, showing the schedule and class-specific data
In The Relational Inline Example, Figure 5-35 showed the /AddItem dictionary directives which added marks, credits, absence and tardy values, and period attendance. Figure 5-40 has a screen shot of the in-line data that was imported.
If a lot of such class-specific data has been imported, then the grid will not able to display all the data at once. To see the data at the right side of the grid, the horizontal scroll bars are used, as shown in Figure 5-110,
Figure 5-110: Using the horizontal scroll bar on the grid to scroll it to the right to see hidden data
Using the scroll bar, as shown in Figure 5-110, makes the course name column disappear. To see the course name column and to continue to be able to scroll, the grid's splitter option to split the grid into two or more independently horizontally scrolling grids with rows locked to each other, can be used. Figure 5-111 shows this feature.
Figure 5-111: Using the splitter bar to split a grid into two independently scrolling grids
To make this split happen, put your mouse cursor on the splitter bar (the small black rectangle in the lower left corner of the grid) and drag it to the left. As you drag the splitter bar, the grid will split into the two grids, shown in Figure 5-111
The Script Data page is described in topic Scripting data for the Handheld. The Gradekeeping and Discipline modules for the handheld are presently in development.