Hi,

I had proposed to use the ^ character as attachment delimiter.
Ex: wiki:Space.Page^attachment

However I've just realized while implementing it that it's an "unwise"  
character in an URI
(source: http://www.ietf.org/rfc/rfc2396.txt)

unwise      = "{" | "}" | "|" | "\" | "^" | "[" | "]" | "`"

Allowed punctuations characters are:

mark        = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"

BTW the following are reserved:
reserved    = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","

Note that we use ":" for wiki delimiter but that's okay since we're  
using an opaque URI and thus reserved chars, unreserved chars and  
escaped chars are authorized.

I think it would be better to choose amongst one the valid chars for  
the attachment to prevent future problems.

Of course this means we'll have to make that character forbidden in a  
page name. Actually we could also decide that it's character forbidden  
in an attachment (and use lastIndexOf() instead of indexOf() to  
separate the page name from the attachment name). Or we could double  
it once again...

I propose we use the @ symbol since it's not a char used often in page  
names.

For example:
attach:wiki:[EMAIL PROTECTED]

This raises the discussion of the full FQN we'd like to have when we  
support nested spaces too. For example:

(wiki name) "::" (space name) [ "." (space name)]* "::" (page name)  
["@" (attachment name)]?

Now what about referencing objects and properties using a URI too? Do  
we want that? What would be the use? Right now I don't see a use and  
using an API to access them seems fine to me.

Alternative view
============

We could also only specify the attachment name in the uri and use link  
parameters to specify the document where it's located as in:

[[image:my.png>>document="wiki:Space.Page"]]

This sounds reasonable to me too. I think the real question is whether  
we need a textual representation of an attachment FQN or not.

WDYT?

Thanks
-Vincent

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to