SchoolTool - Architecture: "SchoolTool takes a different architectural approach, aiming to create a freely distributed, reliable and adaptable platform for schools all over the world. The first design decision, and perhaps the most important, was to use Python as our programming language. Python is an open source, dynamic, object-oriented programming language. Its design and syntax stress rapid development, simplicity and clarity. It is a both a good first programming language and appropriate for large complex systems.
Zope 3 is a complete re-write of Zope, the popular web based web application server. It has several characteristics which make it particularly well suited to SchoolTool's requirements. A major design goal of Zope 3 is the implementation of a component architecture which facilitates re-use and re-configuration of pieces of larger applications. This means that if, for example, schools in a certain country needed to create a specialized assessment system, they could fairly easily swap in their own gradebook component without having to re-write the entire application. The component architecture also facilitates integration of other Zope 3 components, such as wikis and other content management systems. Zope 3 has a strong workflow and process definition framework which has many uses in school administration. It has excellent support for internationalization and unicode. For these reasons and more, Zope 3 is particularly well suited to SchoolTools need.