Make note about unicode hacks

git-svn-id: http://svn.plone.org/svn/plone/plone.principalsource/trunk@26103 3b4cdb85-528f-c531-b63d-5919d5b1aa08
This commit is contained in:
optilude 2009-03-23 09:39:47 +00:00
parent 509511eac9
commit dd1fa6c1eb
1 changed files with 16 additions and 1 deletions

View File

@ -18,4 +18,19 @@ They are registered as named vocabularies, so you can do::
The underlying source (see source.py) implements the IQuerySource interface
from z3c.formwidget.query. This means that it can be used for a query-select
widget, including the one in plone.formwidget.autocomplete.
widget, including the one in plone.formwidget.autocomplete.
A note about unicode
--------------------
The source attempts to make it safe to do a __contains__ check, a getTerm()
lookup, and searches using unicode strings. This is somewhat constrained by
the underlying plugins. In particular, the standard ZODBGroups plugin is
incapable of searching for groups with unicode titles or ids, and returns
a list of *all* groups if passed a unicode string. As such, the source
forces all unicode strings used to search for groups to UTF-8 (searching for
users is unaffected).
Also, remember that tokens should be 7-bit ASCII strings. getTermByToken() is
forgiving in that it silently encodes a unicode string to utf-8, but really
you should only pass unicode to this method.