Creating Web-Based Classroom Tools with Zope

Student Teacher Online Applications (STOA) is a web-based K-12 environment built on Zope/CMF, Python and MySQL. In its second year of deployment, STOA is now used by over 800 students, faculty and administrators to manage student schedules and class rosters, to report attendance, to post assignments, notes and handouts, to turn in work, and to write and print student progress reports. This case study will discuss the process of developing a Zope/CMF web application, along with the advantages and pitfalls of Zope/CMF we encountered in implementing STOA. STOA was developed at Canterbury in response to the lack of viable other options. The school had deployed the Manhattan project for an academic year to generally positive reviews. However, when we attempted to address feature requests and improvements we found the code to be unwieldy to manage. Zope was selected for several reasons, including its Python roots. The case study will briefly discuss the options available and our reasoning for choosing Zope. While both developers were extremely familiar with Python, Zope had a steep learning curve. Concepts such as aquisition, TALES and Python integration, and external procedures all took time to learn and understand. The case study will detail some of the central ideas we took away from the process so that new developers will have a brief introduction. After the first year of deployment several key components were extracted into a STOA Zope product which extends CMF types. The process of creating the product will be discussed, with specific attention paid to aspects not covered in the Zope/CMF documentation. Other items discussed will include the use of workflow and roles, scaling the application while adding services, and administrative issues. Finally, the issue of revision control and developer coordination in Zope will be discussed. After breaking the live instance one too many times, we tackled the issue of creating a staging server and development process. The details of this will be discussed. STOA is presently a stable, successfully implemented Zope application. While STOA relates to a particular problem domain, the lessons learned from it’s development apply to Zope and CMF in general.

date:2004-03-24 00:00:58