Currently Zope has two rules for object ids: 1) they must be str instances, and
2) they must only consist of alphanumerics and a few extra characters. I have
been playing around recently with trying to relax those rules to allow more
flexible object ids, specifically allowing UTF-8 object ids. That seems to be
entirely doable, and I made a simple package which monkey-patches Zope to do
this: https://github.com/wichert/experimental.utf8id . Since all current
browsers will interpret URLs as UTF-8 strings this will create beautiful URLs
and gets us out of the ASCII-jail. Based on the result so far I want to suggest
that we officially allow more flexible object ids for Zope 4.
Dieter Mauer tried something similar five (!!) years ago:
. His approach differs a bit from mine: I added checks to make sure ids are
valid UTF-8 and still disallow some characters, while he allows everything
except a slash (/). That has the advantage of easily supporting things like
binary user ids (for example GUIDs from Active Directory users).
I want to propose that we do the following:
Allow arbitrary str object ids in Zope 4 based on Dieter's work.
Configure standard name choosers, normalizers, etc. used to generate ids for
content to create UTF-8 object ids.
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -