Trapping an IOError during sending the page to the user.
Modifying the example httpd.conf, pointed out by Bryan Stillman.
Version 1.09 Sun Dec 05, 2004
sitecode.MemcachedPath now takes the site name as the first element of the array, to prevent conflicts on multi-site caches.
Fixing a bug where sending a traceback in e-mail failed if the traceback contained a "%" in it.
Adding more information to the e-mail which gets generated on a traceback.
Version 1.08 Tue Nov 30, 2004
Adding ability to send exceptions via e-mail.
Adding ability to call a sitecode function jotwebExceptionHandler() if an exception happened. (Suggested by Duncan McGreggor)
Fixing a formatting bug in SimpleForm vdt_fieldequals.
Version 1.07 Tue Nov 09, 2004
Adding simple memcached support for rendered pages.
Added a "persistent" namespace under "jotweb" in the TAL namespace context.
Adding a MANIFEST.in file to help with bdist_deb.
Turning off the single-instance development mode by default in sample httpd.conf.
Version 1.06 Sat Oct 30, 2004
Adding a short-circuit to handling of syntetic SimpleForm entries.
Made a much prettier page for reporting rendering errors.
Adding an example of an XML page.
Making it so that the SimpleForm checked fields synthetic dictionary works with .get() and [] dictionary access.
Version 1.05 Sat Oct 16, 2004
Fixing a bug that caused the Apache server to report "500" on every render.
Changed the way sitecode is imported so that it properly reports errors in sitecode.
Version 1.04 Sun Sep 19, 2004
SimpleForm has two new special attributes on forms: jotweb_selected_fields and jotweb_checked_fields. These can be used to tell if a field in a form is checked (or otherwise set) or if it's set to a specific value.
jotwebVirtualURIMapper can now return a redirect exception.
Adding a "method()" method to SimpleForm, which returns the type of form request that was used. This prevents someone from manually entering a GET request from then being changed into a POST request, and getting double vales on the next form submission.
Adding validators for multi and single value form fields.
Adding cacheseconds to control the caching of the resulting page.
Adding jotwebutils.TALList to work around path traversal problems with lists in Zope PTs. Zope will convert a path such as "list/0" into an attempt to access the string '0' index of list. Wrap lists you wish to access using TALES expressions in a TALList until I hear back from Fred about a patch to use integral indexes in this case.
Version 1.03 Sat Sep 04, 2004
Fixed a bug in the handling of directories under the "templates" directory.
"CVS" and ".svn" directories are now ignored.
Changed the VirtualURIMapper/Error404 handlers to be called if the filename does not point to a file. Otherwise they were not being called on the directory entry.
Version 1.02 Sun Aug 29, 2004
Added a new option, "JOTWebCodeInDocRoot". If true, in addition to looking in the "code" directory, it will augment the PYTHONPATH with elements in the "html" directory as well.
Version 1.01 Sun Aug 29, 2004
Fixing a problem in the .spec file so that it compiles the .py files.
Adding the "Augmented Path" code and documentation.
Version 1.00 Sat Aug 28, 2004
Initial release.
JOTWeb Version 1 WHATSNEW
Version 1.29 Sun Jul 25, 2004
TEST RELEASE, Probably has problems.
Initial version using Zope 3 TAL.
SimpleForm now returns None on form fields which are not set, Zope 3's TAL cares where SimpleTAL didn't care if a dictionary didn't have a key.
Version 1.28 Mon Apr 26, 2004
Fix to handle Unicode. (By houyuguo)
Version 1.27 Tue Apr 13, 2004
Test now are no longer run as part of the RPM build process.
Added a call to req.send_http_header() to work with older mod_python (Charlie Stevenson)
Fixing nocall: path in SimpleTAL, it requires objects be wrapped in a class that has a ourValue attribute.
Modified the z3pt interface code so that it defines it's own traverser. This traverser calls functions that it finds.
Fix to the .spec file to detect the python version based on the version mod_python uses. (Reported by Evelyn Mitchell)
Fixes to work under mod_python 2.7. (Charlie Stevenson)
Adding a patch to internally generate 404 errors and pass them up to Apache. (Pointed out by Charlie Stevenson)
Added a test to test for side-effects and paths getting run multiple times.
Converting the tests so that they run for both z3pt and SimpleTAL.
Making the z3pt code import from the "zope" namespace instead of "z3pt".
Adding a test that demonstrates the z3pt problem with not calling functions.
Added a test to verify that global TAL variables are available in python code.
Adding the jotweb namespace for gental code.
Version 1.26 Wed Mar 24, 2004
Adding _internal to the setup.py. (Reported by Ury Marshak)
Version 1.25 Sun Mar 22, 2004
Adding the header* global variables. See the last section of the Users Guide section in the Guide Book documentation.
Fixes in passing context to the render code.
Added an entry to the FAQ on how to set up Squid as a reverse proxy.
Version 1.24 Sat Mar 20, 2004
Converted back to using the SimpleTAL rendering as default.
Adding a Psycopg backend for session code.
Misc changes so that the tests succeed now, with SimpleTAL not installed.
If importing crypt fails, try fcrypt. Reported by Juan Antonio.
Set up gental so that you can select a rendering engine.
Conversion to z3pt, all tests succeed.
Adding an _internal package which contains JOTWeb internal code.
Adding a common set of render code and making gental call that.
Fixing math in the test code (Reported by Mooneer Salem) (jafo)
Added "persistent" to the nsroot and changed Mooneer's code to use that. (jafo)
persistentPool class added to jotwebutils.py as a base for persistent database connections (Mooneer Salem)
More misc changes so that the top page renders.
Version 1.23 Sat Oct 11, 2003
Fixed a problem with getting access to TAL local and globals from Python code. (jafo)
Adding patch from Brian Cairns which allows templates to be loaded properly from .xml files when called from a TALES expression, when using the SimpleTAL rendering code.
Added utf-8 encoding to the list of encodings that are imported.
Adding Debian Unstable install instructions and a list of benefits to the introduction. (Suggested by Joseph H. Yao)
Functional difference between returning apache.OK and 200 - apache treats 200 as a failure and appends failure text. Modified jotwebutils.py to use apache.OK when it can (mindlace)
Cached templates bypass type setting; default contenttype added in initialization (hack, FIXME) (mindlace)
Added XHTML sniffing via DOCTYPE as ie won't go into standards- compliant mode if anything precedes
Added a bunch of HTTP_* names for the return codes to jowebutils. (jafo)
Set up namespace entry "result" which contains "contenttype" and "returncode". These can be set to override the content type of the returned document and the code returned to the browser. The returncode defaults to jotwebutils.HTTP_OK (200), and the contenttype is the default as determined normally. (jafo)
Version 1.22 Thu Jul 17, 2003
mod_python importing is still weird. Brian Lenihan did the patch right, but I screwed it up by doing normal Python imports. Fixed imports now. (Reported by Ethan Fremen)
Version 1.21 Wed Jul 16, 2003
Bug in the handler() for jotweb_mod_python. (Reported by icepick (at) icepick.info)
Version 1.20 Tue Jul 15, 2003
Changing the simple form example to not call jotweb.
Changing jotweb library so that it doesn't try importing mod_python. (Patch by Brian Lenihan)
Documentation changes based on new filetypemagic code.
Adding the filetypemagic changes from jotweb_mod_python 1.19 into gental.
Version 1.19 Mon Jul 14, 2003
jotweb_mod_python sets req.content_type appropriately. (Patch from icepick (at) icepick.info)
jotweb_mod_python now detects and appropriately processes xhtml files. (Patch from icepick (at) icepick.info)
Tracebacks are now processed and displayed by cgitb. (Patch from icepick (at) icepick.info)
Removed the True/False in preference for 1/0, since True/False is fairly new. (Reported by icepick (at) icepick.info)
Changing default SimpleSession path to "/" (from None). (patch by Mooneer Salem mooneer(at)translator.cx)
Added vdt_addmessage "validator" which simply adds a message to the validator error list. For allowing custom validators to add to the error list. (patch by Mooneer Salem mooneer(at)translator.cx)
Fixed a bug in the module cache refreshing (reported by Mooneer Salem, mooneer(at)translator.cx)
Changing the session test so that it errors out with an appropriate message if run as root on my laptop, since root can't access the database properly and the message it normally produces makes it sound like a more serious problem.
Version 1.18 Wed Jul 09, 2003
"gental" now does file type magic detection by default and has a mode to disable it.
"gental" now does similar file type autodetection to the mod_python code, so that XML and HTML files are rendered using the appropriate calls.
Fixing a bug in the vdt_realname() validator (located by Mooneer Salem, mooneer(at)translator.cx)
Added code to allow for redirects. (suggested by Mooneer Salem, mooneer(at)translator.cx)
Documentation and example for the above.
The WebContext module cache now watches file mtimes and will re-load a module if it's on-disc file has changed. (suggested by Mooneer Salem, mooneer(at)translator.cx)
Catch SystemExit when building the template in mod_python so that you can short-circuit the processing of a template. (suggested by Mooneer Salem, mooneer(at)translator.cx)
Version 1.17 Sun Jul 06, 2003
"jotwebconfig" name is deprecated in favor of "jotwebnsroot/config". "jotwebnsroot" will now be the root of the namespace for jotweb-related names. Config is the first entry in that. The "jotwebconfig" name still works, but will be deprecated before within the next month.
More changes to the logging code, and submitted patches to SimpleTAL so that it can allow me to pass in a logger to the template compiler.
Updating documentation for the new jotwebutils and nsroot stuff.
Version 1.16 Fri Jul 04, 2003
Fixed an error in the users guide, reported by icepick (at) icepick.info.
Adding a "WebLogger" class and setting up SimpleTAL to use that.
Version 1.15 Thu Jul 03, 2003
Some cleanup of the .spec file after a review.
Fixing sample code and adding examples in the Guidebook config section.
Changing the jotweb_mod_python code to make handling of the mod_python options a little better, based on patch submitted by icepick (at) icepick.info.
Added tests for the above.
Version 1.14 Sat Jun 28, 2003
Adding a patch from Ethan Fremen to auto-detect if a file should be processed as XML or HTML.
Added documentation for the above.
Added a configuration option "filetypemagic" which defaults to true, but can be disabled in the config file.
Version 1.13 Tue Jun 24, 2003
jotweb-mod_python RPM now depends on jotweb of the same version and mod_python 3.0.1 or greater.
Prototype httpd.conf file doesn't set JOTWebDocRoot for VirtualHosts now. Let the DocumentRoot be used instead, to prevent errors.
Put the "import mod_python" in SimpleForm in a try/except so that the base JOTWeb code can be used without mod_python installed.
Added a section to the users guide about Apache integration and the available directives.
Fixing a bug in the python interface to configs.
Version 1.12 Sat Jun 21, 2003
If the request is for an XML file, "compileXMLTemplate" is used.
Adding jotweb.config module and test of it.
Tests now cd into the test base directory before running it.
Enabling test007, now that SimpleTAL functions in a way that allows test007 to succeed. :-)
Adding code to jotweb_mod_python to detect a "jotweb.config" file in the document root and load that.
Added "jotwebconfig" name to the TAL namespace as a global variable.
Added tal global and local variable dictionaries, root and current directories, and the apache request to the config name-space.
Additional documentation.
Version 1.11 Sun Jun 15, 2003
Adding vdt_lengthlist and vdt_numeric validators.
Validators now get '' instead of None if field is not present.
Fixing a bug that would prevent setting user payload immediately after adding user.
Fixing a bug in the PyPgSQL backend that didn't properly enable ACKed new users.
Fixed SimpleSession.processLogout() return value and documentation.
Version 1.10 Fri Jun 13, 2003
Changing the way the request re-initializes for SimpleForm.
Removed the initialize() call from jotweb_mod_python, since it doesn't seem to work.
Changed the form example to use a common form.
Removed the Headers module in favor of the "Request" module, which includes the same methods PLUS a "getRequest()" method.
Updating examles to use POST for form submission.
Buffering up output before sending it, so headers can work.
No longer uses the _initialize_() call, things determine when the req change.
Fixing a bug in the session code, user name was not getting saved, and therefore getUserData was failing.
SimpleSession now has processRemove() vdt_remove() methods.
Adding documentation for the vdt_* routines in SimpleSession docs.
Adding sessionSave and userSave methods in SimpleSesssion.
Added vdt_ccnumber() validator and documentation.
Adding users guide to JOTWeb Guidebook.
Version 1.09 Sun Jun 08, 2003
Added initial code for pyPgSQL database backend.
pyPgSQL database backend now passes tests.
Modified tests so that database information can be passed on command-line and in the environment.
Changing the default to be to allow python: paths.
mod_python integration code now chdir()s to the location of the HTML file before processing the template.
jotweb.auth.Sessions was made into a Package, instead of being a big-ass module.
Generalized the code for testbe-fs.
Adding ACK code to jotweb.auth.Sessions.Backend*
Adding ACK tests to the testbe-*
Initial code for jotweb.auth.Sessions.SimpleSession.
Changed the Headers module so that it uses functions to get the headers, instead of directly exposing the header objects.
Version 1.08 Fri Jun 06, 2003
Adding a doc/README file to point to how to build the documentation and where to find it if you don't want to build it.
Adding the "jotweb.auth" package.
Adding "jotwebutils" package and documentation, and cryptpasswd() and checkcryptpasswd() methods.
Added "-p" "--allowpythonpath" option to "gental" (Reported by Anthony Earl)
Added a "restart Apache after upgrade" thing to the FAQ. (Suggested by Anthony Earl)
Added a auth.Sessions.BackendFilesystem() class.
Extensive tests for the above.
Extensive documentation for the above.
Changing mknewtest so that "stdout" is created empty instead of with a newline.
Version 1.07 Fri Jun 06, 2003
Added a "jotweb-mod_python" package to the RPM, so that you can install jotweb without having to have Apache.
Adding vdt_saferpassword vdt_password and vdt_fieldequals.
Fixing some of the examples to correspond with updates in the backend.
Added a test for multiple tal:attributes substitution, which shows a bug in SimpleTAL.
Forgot to add jotweb.input to the setup.py. (Reported by Anthony Earl)
Main form example wasn't pointing anywhere. (Reported by Anthony Earl)
Adding a few more cases to the attributes example.
Adding a FAQ.
Adding the "input.Headers" module and documentation.
Fixed a bug that prevented getting keys from dictionaries using TAL path access.
Adding a test to verify that you can get keys from dictionaries.
Adding code to allow "python:" TAL paths, if you are using SimpleTAL 3.2 or higher and have the appropriate config entry set.
Adding template caching if SimpleTAL version is >= 3.2.
Version 1.06 Sun Jun 01, 2003
Adding input.SimpleForm, an incredibly powerful and easy to use form validator and processing component.
Adding form input processing example.
Adding documentation using twisted.lore.
Adding comprehensive tests for the SimpleForm validators and other methods.
Completed documentation on validators.
Added the documentation package to the spec file.
Version 1.05 Fri May 30, 2003
Changing the name to JOTWeb.
Tests now clean up after themselves... I forgot to uncomment the remove line from my initial testing of the test system.