-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 - --On 28. Dezember 2006 20:43:34 +0100 Tino Wildenhain <tino@wildenhain.de> wrote:
Andreas Jung schrieb:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
as mentioned in an earlier I was working on several encoding and webdav issues related to the Zope 3 ZPT integration in Zope 2.10. I backported the changes to the 2.10 branch.
The changes include an in-place migration of all ZopePageTemplate instances to unicode (through a custom __setstate__() implemenetation). The migration code tries to sniff the encoding (it knows about ISO-8859-15 and UTF-8). A custom "preferred" encoding can be specified through the environment variable $ZPT_PREFERRED_ENCODING.
You should rather use config param default-zpublisher-encoding as a default, maybe with a fallback to (hopefully once obsolete) MANAGE_PAGE_CHARSET property.
The zpublisher-encoding usually must not have something to do with the encoding of ZPTs. The manage_page_charset would make sense since it can be specific to a particular subfolder. However we can't use acquisition with the phase where the migration happens (__setstate__()).
I know that this migration is a big hammer (for a minor release) however I have not found another solution to deal with the outstanding issues in a reasonable and sane way. Therefore this migration must be tested. I am thinking about a beta release for 2.10.2 in order to get the stuff tested (I am also aware of the fact that most people don't test betas :-))
The sniffing could work however. Maybe we should have some warnings printed on console during zope start? Or even a "configureme" parameter which stopps zopes start when there is a non empty storage to migrate?
Zope will raise an exception if it can't autodetect the encoding. However the current implementation does not store the changes back. So the original data in the ZODB remains untouched until the user clicks on 'Save'. Andreas -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (Darwin) iD8DBQFFlCHaCJIWIbr9KYwRAlSkAKDI8gpFGq4qnjFs9NRymg3tw5fElQCfXQSF y4sF5VjpOW0mU3qfSMNSfMg= =pDVE -----END PGP SIGNATURE-----