[Zope-dev] allowable object ids

Dieter Maurer dieter@handshake.de
Sun, 24 Nov 2002 19:30:10 +0100


Jamie Heilman writes:
 > Turns out you can create objects with an id of . or .. although you
 > can't access them.
That's because they have a special interpretation in
URL references (the kind of things browsers are handling).

  "." means "ignore me", and ".." means "drop the latest URL segment".
  This is the same meaning as they have in widely used file
  systems (on Unix and Windows).

These are interpreted by the browser; they will not reach the Web server.
(However, "un/restrictedTraverse" interprets it in the same way).

 > You can't create objects with ids containing +
 > or % or a host of other characters though (and btw the error message
 > you get when you try is horrid, those characters are not illegal in
 > URLs
"%" is illegal (unescaped) because it is the escape
character.

 > I'm
 > currious, why aren't arbitrary characters allowed in object ids?
I cannot tell you precisely.

  My guess:

    It was an initial simplification to avoid URL quoting at
    many places. With the given restriction, you can use
    ids directly in URLs -- no need to escape parts of them.

    I hope (and expect) that the restriction will be dropped
    when Zope becomes unicode based.
    Not because I miss characters like "+?/..." but because
    international letters should be allowed in ids.


Dieter