On Wed, Dec 23, 2009 at 16:12, Thomas Mortagne
<[email protected]> wrote:
> On Wed, Dec 23, 2009 at 15:42, Vincent Massol <[email protected]> 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
>
> +1000 (at last :))
>
>> * 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}}
>
> +1 for \
>
>>
>> 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:"
>
> +1

I commented the wrong mail, obviously it's +1 for page="wiki:page"

>
>> * 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
>
> +1
>
>> * It's hard to know for sure but we certainly have various other
>> inconsistencies that exist now when using special reserved chars in
>> references
>
>
> * the escaping itself which become a new special char in references names
>
>>
>> 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.
>
> Backlinks are very difficult in xwiki/1.0, I would would say lets
> migrate backlink for xwiki/2.0 syntax and parents.
>
>>
>> WDYT?
>>
>> Thanks
>> -Vincent
>>
>> _______________________________________________
>> devs mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
>>
>
>
>
> --
> Thomas Mortagne
>



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

Reply via email to