Project History
The SchoolTool project, from 2000 to the present.
2000
SchoolTool was conceived in Cape Town by Mark Shuttleworth, and The Shuttleworth
Foundation hired a team of developers and systems analysts to work
on the project.
2002
The development team, using a Java platform and relational database
design, created a pre-alpha platform. Mark terminated the project as
it was distracting more and more resources from the core focus of
the Foundation, and appeared not to be headed in the envisaged
direction.
2003
SchoolTool was reborn, using the Python
programming language. Mark decided to cut the code
himself, trying to recreate the good old garage days when he could
spend all day working on the code that ultimately became his first
startup, Thawte. However, as he wrote: "It took me (two months) to
realise that times have changed - life's too good these days. Try as I
might I don't have the self-discipline to shut out the rest of the
world when the phone keeps ringing, email keeps flooding in (although I
did learn to ignore most of that, a useful exercise) and there are
limitless opportunities to do fun stuff. I quite enjoy life as a
retired cosmonaut with some financial security, but that enjoyment
comes at the expense of focus."
Mark subsequently hired a leading developer in the Zope community,
Steve Alexander, and the firm Programmers of Vilnius to manage the
design of SchoolTool's core architecture, based on Python and the Zope
Object Database. In the 4th quarter, they completed three
milestone releases of the core SchoolTool server and a wxPython desktop
client.
2004
Providence, Rhode Island-based
teacher and developer Tom Hoffman succeeded Steve Alexander as
SchoolTool project manager. Etria LLP was added to the SchoolTool development team.
In the fall of 2004, the development
team developed an XHTML web interface as the primary user interface for
SchoolTool. The team also began to move
SchoolTool onto the now stable Zope 3 platform.
SchoolBell was conceived as a separate product that would package SchoolTool's calendaring functionality for non-school organizations.
SchoolTool milestones 4, 5 and 6, as well as SchoolTool and SchoolBell 0.7 and 0.8 were released during 2004.
At this time Mark apparently regained the focus he lamented losing in 2003 and launched Canonical Ltd. and Ubuntu Linux, which quickly became one of the most popular Linux distributions in the world.
2005
The
spring of 2005 saw, at long last, the first production releases of
software by the SchoolTool project. SchoolBell 1.0 was released
on March 15, 2005 as a general purpose shared calendar server.
SchoolTool 0.11 was released in August 2005 and is being tested and
used in several schools around the world.
During
the summer of 2005, the Center for Innovative Communities and Arlington
County Public
Schools (Va., USA) adopted SchoolTool as the basis of CanDo, a
competency tracking system for use at career centers around the
state. Long time teacher and open source advocate Jeff Elkner
coordinated the project, with students Paul Carduner and Eldar
Omuraliev writing code. In the fall of 2005, CanDo was deployed
for testing and use at the Arlington Career Center and other sites around Virginia.
Project manager Tom Hoffman spread the word about SchoolTool with presentations in the US and Europe, including at the O'Reilly Emerging Technology Conference, PyCon, the Northeast Linux Symposium, the National Educational Computing Conference, T+L2, (all in the US) and the II Congreso de Software Libre in Valencia, Spain, the First International Conference on Open Source Systems in Genoa, Italy, EuroPython (presented by Albertas Agejevas), and Open Source for Education in Europe in Heerlen, The Netherlands.
Also in 2005, Canonical released Edubuntu, a version of Ubuntu Linux specifically aimed at schools, which includes SchoolTool, and LaunchPad, a set of tools for open source development, which are used by SchoolTool.
2006
2006 was a tricky year for the project, trying to move from a calendar-oriented application to the much more complex suite of applications that make up a student information system. Our aim was to beta test this suite in several schools around the world. Unfortunately we did not achieve that goal, and in analyzing the weaknesses of our development process, decided to proceed with more narrowly focused partnerships in Lithuania and Belgium, with local developers working closely with specific schools to complete, deploy and test SchoolTool through the first half of 2007.
2007
Overview
Code
We've now got running code being tested or used in production for our major components:
- Demographics: Ignas wrote a simpler demographics package to meet the needs of the Vilnius Lyceum and CanDo. It is being used at both sites. There is still a lot of functionality to be built on this base--primarily reports--but the foundation is solid.
- Gradebook: Alan Elkner picked up development of the gradebook module Stephan Richter started last year. It is currently used by Jeff Elkner. Ian Benson will be using it to gather data from maths teachers in eight schools in the UK using his Tizard curriculum. The CanDo competency-based gradebook is also being used in production in the Arlington Career Academy.
- Attendance: Ignas has implemented a "journal" attendance and grading application for the Vilnius Lyceum, which allows teachers to enter a grade for each meeting of the class or mark and absence. The Computer Science department at the Lyceum is currently testing this. Going forward, this will become the standard SchoolTool attendance system.
- Calendaring: The calendaring code has been cleaned up and improved with input from CanDo and testing at Vilnius Lyceum. It needs more testing and tightening in real use.
Other ongoing code issues:
- Interoperability. We funded initial LDAP integration via the Tizard project; Ignas is doing further work on it for use at Vilnius Lyceum. We are planning on supporting CAS for single-sign-on with popular PHP apps used in schools like Moodle. We've got a simple CAS implementation already using existing open source code.
- Releases. As you know, the Zope 3 world was in turmoil this year, especially regarding packaging, and particularly for us the (non-)release of Zope 3.4. Once it is released we will stick with Zope 3.4 as long as possible, because a lot of the burden of packaging Zope 3 and related components for Ubuntu and Debian has fallen upon us.
We have worked under Brian Sutherland's direction on a set of Ubuntu packages for the past six months. We had a set of packages ready for Gutsy but they could not be included in the distribution due to the non-release of Zope 3.4. We subsequently created a new snapshot and developed some scripts to generate packages using the Launchpad PPA, which makes the packaging process much easier going forward. Unfortunately, we also discovered an arcane bug in the PPA, which is now being addressed, but in the meantime, we haven't done a full public release. Since our installation story is now just "apt-get install schooltool", there is no sense in making a release until the packages work.
Big pieces missing from the code:
- Dealing with the passage of time, terms, history. For example, when a student transfers between classes during a term, they can't simply be deleted from the old section, we need to retain the records from that section and keep it integrated in reports for the term. These are issues that touch all parts of the application and will be Ignas's main development priority in 2008.
- Reports. A general release of SchoolTool will at minimum have to have a large set of standard report templates. In 2008 we'll be writing a lot of custom reports for partner schools and deriving standard ones for general distribution.
- More ways to get data in and out from other applications.