server, either in flat pickle files or in a shelve-based database. Both raise the specter of
concurrent updates, since any number of users out in cyberspace may be accessing the
site at the same time, so PyErrata also introduces file-locking techniques along the way.
I no longer maintain the website described by this extra chapter, and the material itself
is slightly out of date in some ways. For instance, the os.open call is preferred for file
locking now; I would probably use a different data storage system today, such as ZODB;
the code and its chapter may still be in Python 2.X form in the examples package; and
this site might be better implemented as a blog or wiki, concepts and labels that arose
after the site was developed.
Still, PyErrata provides an additional Python website case study, and it more closely
reflects websites that must store information on the server.
Web Scripting Trade-Offs| 1299