On Mon, 9 Dec 2002 10:13:16 +0000 Toby Dickenson <[EMAIL PROTECTED]> wrote:
> > 2. Any experimental enhancements to the ZMI which rely on using unicode > > must be integrated into the official version in the manner that > > it doesn't affect the behaviour of 'legacy' applications, > > I disagree. I dont want to block a good new feature from Zope 2.x (x>=7) > simply because it uses unicode in a way that is incompatible with the > management_page_charset property. Thats what 'legacy' means. I see. How about that then? 2. Whenever any experimental enhancements to the ZMI which rely on using Unicode is to be integrated, create an new tab and put these features in that page in order: - to provide a choice of not to use new features so that you can avoid serious problems which may be caused by them, thus traditional implementations (ex. 'Contents', 'View', 'Properties' tabs) works fine and their behaviours aren't affected by new features. - to make users be able to distinguish which features are new-and-risky easily, so that users can avoid using potentially hazardous implementation more easily. Maybe it's better to change the bgcolor of these tab and put the warning message on top of the new pages of these features. This is a tentative limitation on UI design, and should be removed after the Unicode Support gets matured enough to handle Unicode object with all languages/encodings. My intension is: - Not to block the integration of new features which use Unicode - Not to make Zope un-usable for Non-Latin-1-language-native users: - At least the essential features should work for anyone. - It's OK if the new nice-to-have features do not work. I revised some parts of my note based on your input. Here's the new one: 1. "management_page_charset" property for non-Latin-1 in ZMI ------------------------------------------------------------------------ Purpose: - Use "management_page_charset" property to use Non-Latin-1 text as Non-Unicode (plain-8bit-string) text in ZMI. Affected application: ZMI only Limitation: - Standard Objects in Zope (such as "title" property) must be Non-Unicode (if using management_page_charset). - All objects in the management page must be plain-8bit-string in order to work in ZMI. - If there is even one Unicode object there, all data will be assumed as 'Latin-1' and non-Latin-1 data cannot be used in any object. - In the current release (original 2.6.0 release) REQUEST.set('management_page_charset','UTF-8') does not work when 'management_page_charset' is set as global property. This limitation will be fixed: the value of REQUEST.set overrides the global property (in 'properties' page only). Homework (new issues): - define the safe steps of implementation of Unicode Support - find a way of smooth migration of MBCS-to-Unicode ------------------------------------------------------------------------ 2. Behaviour of handling of text in ZMI's 'Properties' page. ------------------------------------------------------------------------ When UnicodeType Properties are contained: - encoding of HTTP input data: 'UTF-8' - internal representation: 'UCS-2/UTF-16' if UnicodeType(ex. ustring) 'Latin-1' if not UnicodeType(ex. string) - encoding of HTTP output data: 'UTF-8' When UnicodeType Properties are NOT contained: - encoding of HTTP input data: any (default:Latin-1, can be overridden by 'management_page_charset') - internal representation: same as input (no conversion) - encoding of HTTP output data: same as internal (no conversion) Limitation: - Non-Latin-1 value cannot be used when creating the first Unicode Property. ------------------------------------------------------------------------ 3. Guideline on the future enhancements to the ZMI which rely on using Unicode ------------------------------------------------------------------------ 3.1. Any future enhancements to the ZMI which rely on using Unicode should be carefully defined, examined, evaluated and feasibility-tested so that all issues/limitations can be clarified and the consequent impact of these issues/limitations can be evaluated in order to avoid hassle implementation integrated into the official version. 3.2. Whenever any experimental enhancement to the ZMI which rely on using Unicode is to be integrated, create new tabs and put these features in these pages in order: - to provide a choice of not to use new features so that you can avoid serious problems which may be caused by them, thus traditional implementations (ex. 'Contents', 'View', 'Properties' tabs) works fine and their behaviours aren't affected by new features. - to make users be able to distinguish which features are new-and-risky easily, so that users can avoid using potentially hazardous implementation more easily. Maybe it's better to change the bgcolor of these tabs and put the warning message on top of the new pages of these features. This is a tentative limitation on UI design, and should be removed after the Unicode Support gets matured enough to handle Unicode object with all languages/encodings. ------------------------------------------------------------------------ (Any correction is welcomed) Regards, --- Heiichiro NAKAMURA <[EMAIL PROTECTED]> _______________________________________________ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )