<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>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:&nbsp;<a href="https://github.com/wichert/experimental.utf8id">https://github.com/wichert/experimental.utf8id</a> . Since all current browsers will interpret URLs as UTF-8 strings this will create beautiful URLs and gets us out of the ASCII-jail.&nbsp;Based on the result so far I want to suggest that we officially allow more flexible object ids for Zope 4.</div><div><br></div><div>Dieter Mauer tried something similar five (!!) years ago:&nbsp;<a href="https://github.com/zopefoundation/Zope/commit/40f1a4af3605204de7d803afe11f6cbbc97e0ccd">https://github.com/zopefoundation/Zope/commit/40f1a4af3605204de7d803afe11f6cbbc97e0ccd</a>&nbsp;. 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).</div><div><br></div><div>I want to propose that we do the following:</div><div><br></div><div><ol class="MailOutline"><li>Allow arbitrary str object ids in Zope 4 based on Dieter's work.</li><li>Configure standard name choosers, normalizers, etc. used to generate ids for content to create UTF-8 object ids.</li></ol><div><br></div><div>Wichert.</div><div><br></div><div><br></div></div><div><br></div></body></html>