Overview of Features
The standard installation of SchoolTool includes:
- Customizable student and teacher demographics and other personal data;
- Contact management for teachers, students, and their guardians;
- Teacher gradebooks;
- Schoolwide assessment data collection and report card generation;
- Class attendance and daily participation grades;
- Calendars for the school, groups, individuals, and resource booking;
- Tracking and management of student interventions.
Demographics and Personal Data
- A school can customize the fields of demographic and other data stored for each person.
- Each field can store textual, date, boolean (yes/no) data, or a selection from a list of defined choices.
- Fields can be assigned specifically to teachers, students, administrators, or all people.
- Use SchoolTool’s gradebook for calculating point or percentage based grades.
- SchoolTool provides a spreadsheet-style gradebook for each class section.
- Each gradebook can be organized as multiple worksheets.
- Assignments and activities can be organized and weighted by categories, such as “Exam” or “Lab,” which can be customized for each site.
- Point-based scores can be converted to grades using flexible, customizable “score systems.”
- Scores are viewable by students, if they are given permission to log into SchoolTool.
- Scores can be exported to .xls spreadsheet format.
Schoolwide Assessment Data Collection and Report Card Generation
- Grades, comments, and other teacher-generated data can be collected schoolwide and aggregated using the SchoolTool gradebook interface.
- Standard report cards can be generated as PDF documents for individual students, groups, or the whole school.
- Customized report cards can be designed using an HTML-like markup language.
Class Attendance and Daily Participation Journal
- For each meeting of a class section, teachers can mark students absent, tardy, or assign a numeric participation score.
- The average participation score can be included in Gradebook calculations.
- Absence and tardy data can be included in report cards and other provided school attendance reports.
Calendars for the School, Groups, and Individuals
- SchoolTool automatically creates a web-based calendar for every person, group, resource, and section. There is also a school-wide calendar that can be displayed on the front page of SchoolTool.
- Person calendars are private. By default, group and class section calendars are visible only to members.
- Like iCal, Google Calendar, and other popular calendaring applications, SchoolTool allows users to “overlay” events from other calendars on their personal calendar. For example, by default, a student sees events from all sections they are enrolled in and the school-wide calendar.
- Calendars are aware of the school timetable; by default new events will start and end at the beginning and end of class periods.
- Users can create single or repeating events. Teachers can edit section events to note tests, assignments, and other class information.
Tracking and Management of Student Interventions
- Use the Intervention system to create goals and track progress collaboratively between students, teachers, parents, and other stakeholders.
- 100% free and open source software stack:
- Python programming language;
- Zope 3 component architecture;
- Zope Object Database (ZODB);
- ReportLab PDF generation.
- Importing and Exporting Data: SchoolTool provides a variety of ways to import data into the system, in addition to its web interface. All the major components of the school, including people, timetables, courses, and section enrollment, can be imported from and exported to .xls spreadsheets. People, groups, section enrollments, and other objects can also be imported from comma separated value (CSV) files. For testing and evaluation, a spreadsheet for a school of 1000 students is provided.
- Security: Our custom security model manages permissions based both on role (e.g., teacher, school adminitrator) and relationships (e.g., between a specific teacher and student). A detailed view of permissions on specific objects in SchoolTool’s core model is available through the web interface. Basic customization of some key aspects of the security policy can be done through the web by the site manager. Complete customization is possible through XML configuration files.
- Test-driven development: SchoolTool includes a comprehensive test suite, including unit and functional tests. Python “doctests” double as narrative developer documentation.
- Installation and upgrades: are managed via the Ubuntu packaging system and Launchpad.net. Two-step production server deployment on Ubuntu Linux. One-step bugfix upgrades within SchoolTool release versions. Major releases synchronized to Ubunutu releases.
- Internationalization: SchoolTool is completely translatable. New translations can be contributed via the Rosetta system on Launchpad.net.
- Web server: SchoolTool contains its own server for easy testing and simple deployments. For sites requiring a encrypted (SSL) connection, we recommend using Apache as a secure proxy. See Apache configuration.
- Virtual servers: For schools in a predominantly Windows or other non-Ubuntu environment, we recommend running SchoolTool on a dedicated virtual server, running Ubuntu Server Edition. Regardless of the host operating system, running SchoolTool on its own virtual server isolated from other services is a good security precaution.
- Consistent programming style: For readability and easier modification, SchoolTool conforms to the official PEP 8 Style Guide for Python Code.
- LDAP Integration: Authenticate against an LDAP server, including one-step setup with Zentyal server.
- Single sign-on: SchoolTool supports using Central Authentication Service (CAS) for single sign-on with other enterprise applications such as Moodle and Drupal. CAS requires a separate authentication server; we have been using RubyCAS in this role at a test site. The CAS server can be easily configured to authenticate against your LDAP server or another external database. If you are interested in using CAS or LDAP authentication, contact the SchoolTool team via Launchpad, email or IRC.