On Dec 24, 2009, at 10:53 AM, Vincent Massol wrote:

>
> On Dec 24, 2009, at 10:47 AM, Flavius Olaru wrote:
>
>> What about the \ character? Shouldn't be escaped also?
>
> Yes I forgot that rule. You can have \ in any reference name by  
> escaping it too: \\
>
> Thanks
> -Vincent
>
>>
>> On Thu, Dec 24, 2009 at 11:43 AM, Vincent Massol  
>> <[email protected]> wrote:
>>
>>> To be even more precise, with the algorithm I currently have the
>>> following rules apply:
>>>
>>> * An attachment name cannot contain a "@" (it has to be escaped)
>>> * A page name cannot contain a "." (it has to be escaped)
>>> * A space name cannot contain a ":" (it has to be escaped)
>>>
>>> The general rule is that a given entity reference name cannot  
>>> contain
>>> the separator for separating from its parent entity reference (it  
>>> has
>>> to be escaped).
>>>
>>> These are pretty simple rules IMO (and this is one reason why you
>>> cannot "skip" an entity reference separator as in "wiki:page").
>>>
>>> Thanks
>>> -Vincent
>>>
>>> On Dec 23, 2009, at 3:42 PM, Vincent Massol wrote:
>>>
>>>> Hi,
>>>>
>>>> Since I'm writing the new Model part for Entity References  
>>>> (document
>>>> and attachment for now but we can imagine objects and object
>>>> properties later on). I'd like to propose 2 things:
>>>>
>>>> * A syntax for escaping special characters in references
>>>> * Some changes to the supported reference syntax
>>>>
>>>> Escapes
>>>> =======
>>>>
>>>> I'd like to propose using the backslash (i.e. \ ) character.
>>>> For example: "a page name with \: some \. special \@ characters"
>>>>
>>>> Rationale:
>>>> * it's a well known char for escapes, all devs know about it
>>>> * using "~" would be confusing with the wiki syntax
>>>>
>>>> Known issue:
>>>> * when in the velocity macro you need to be careful to use a double
>>>> escape since \ is the velocity char for escaping. Ex:
>>>>
>>>> {{velocity}}
>>>> [[label>>specia...@page-name]]
>>>> {{/velocity}}
>>>>
>>>> Breakages
>>>> =========
>>>>
>>>> Since we'll know have a generic factory/serializer for all entity
>>>> types we need to make the syntax more consistent. This means that
>>>> the following syntax will not work anymore:
>>>>
>>>> * ex: "wiki:page". This would be interpreted as a document with a
>>>> page of "page" and a space of "wiki:"
>>>> * When using the "default" factory, only default values would be
>>>> used (right now it's a mix between current doc values and default
>>>> values). Suggested defaults: "xwiki" for Wiki, "XWiki" for space,
>>>> "WebHome" for page and "" for attachment name. Note that one idea  
>>>> is
>>>> to make these defaults configurable in the xwiki config file
>>>> * It's hard to know for sure but we certainly have various other
>>>> inconsistencies that exist now when using special reserved chars in
>>>> references
>>>>
>>>> We have 2 options here:
>>>> * Make XE 2.2 not backward compatible for some references.  
>>>> Advertise
>>>> it in the release notes and explain to users how they should change
>>>> their names if they use "exotic" names
>>>> * Create an automatic converter, for example as a database migrator
>>>> that would read all documents in the wiki, call getLinks() on each
>>>> document, send the links to the old parser (would need to extract  
>>>> it
>>>> somewhere and ensure it behaves as now) and send the link to the  
>>>> new
>>>> parser and compare. If there's a difference, escape the char and
>>>> save. This would also need to be done for document parent
>>>> references, the backlink table and all object properties that allow
>>>> wiki syntax or velocity. Note that it wouldn't fix any generated
>>>> name (using velocity for ex).
>>>>
>>>> The automatic converter option is really hard to do so I'm leaning
>>>> more towards the first solution. That would need to be properly
>>>> handled since it could potentially cause quite a few broken links.
>>>>
>>>> WDYT?
>>>>
>>>> Thanks
>>>> -Vincent
>>>>
>>>
>>> _______________________________________________
>>> devs mailing list
>>> [email protected]
>>> http://lists.xwiki.org/mailman/listinfo/devs
>>>
>>
>>
>>
>> -- 
>> Cu stima,
>> Flavius Olaru
>> _______________________________________________
>> devs mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
>

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

Reply via email to