On Tue, Jun 2, 2009 at 22:11, Thomas Mortagne <[email protected]> wrote:
> On Tue, Jun 2, 2009 at 16:25, Asiri Rathnayake
> <[email protected]> wrote:
>> Hi Devs,
>>
>> Currently DocumentNames generated by DocumentNameFactory contains the fully
>> qualified document name at all times. And when they are serialized using
>> DocumentNameSerializer, they result in the fully qualified document name
>> string like "wiki:space.name".
>>
>> The problem with this is that new xwiki components using
>> DocumentAccessBridge cannot use relative document names. For an example,
>> "parent" field of a document cannot be set w.r.t the current wiki because
>> the "wiki:" part is always appended by default (by the serializer). So we
>> need a mechanism to specify "what kind of document name" we mean (relative
>> or absolute).
>>
>> We can achive this in many ways:
>>
>> 1. Allow pasing a Serializer into methods which takes in a DocumentName.
>>
>> 2. Allow associating a Serilizer with a DocumentName.
>>
>> 3. Use Execution as a means of passing the preferred Serializer
>>
>> 4. Use a flag inside DocumentName (ABSOLUTE, WIKI_RELATIVE, SPACE_RELATIVE)
>> which will be intepretted by the Serializer appropriately whenever a
>> DocumentName is serialized.
>>
>> None of the above approaches are perfectly clean. But the fourth approach
>> seems to make more sense.
>>
>> I'm +1 for 4.
>
> Not that there is a CompactDocumentNameSerializer
> (DocumentNameSerializer componenet with hint "compact"). It serialize
> the given DocumentName depending of the context: if the DocumentName
> wiki is the name that the current wiki, it's not serialized, same for
> space.

Actually it does not handle space yet as far as i can see in the code
but it should.

>
> So there is already a way to serialize a relative document name by
> making setting the context correctly. This serializer is used in
> XWikiDocument#getUniqueLinkedPages for example.
>
>>
>> Thanks.
>>
>> - Asiri
>> _______________________________________________
>> 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