> >
> > I use this methods,
> hasParent(EntityReference expectedParent) and i noticed that
> I can not use string to set EntityReference.
> > Then i must use this before: "#set
> ($reference =
> $services.model.resolveSpace('xwiki:Encyclopédie'))"
> and "$doc.documentReference.hasParent($reference)"
> because
> $doc.documentReference.hasParent('xwiki:Encyclopédie')
> doesn't work.
> > Am I right? Anyway, I
> can understand that.
> 
> There
> is one magic thing about Velocity in XWiki that you need to
> keep
> in mind: it automatically convert
> parameters to the right type (when
> there is
> a converter provided for that type).
> 
> For example the converter for the type
> EntityReference understand the
> following
> syntax: [<entitytype>:]<entityreference> (the
> default entity
> type is "document"
> if you don't provide it) so the space with
> reference "xwiki:Encyclopédie" will
> be the string
> "space:xwiki:Encyclopédie" as in
> hasParent('space:xwiki:Encyclopédie').

Right :-) $doc.documentReference.hasParent('space:xwiki:Encyclopédie') work 
well but I don't understand why we must use "xwiki" in space name.
I suppose I must use all space path.

> 
> >
> >
> Another point about documentation 
> http://extensions.xwiki.org/xwiki/bin/view/Extension/Model+Module#HScriptServiceAPI
> (because I spend a lot of time to identify my issue
> because the "x" characters:
> >
> Create a Document Reference: "#set ($reference =
> $services.model.createDocumentReference("wiki",
> ["space"], "page"))"
> >  but
> >
> $doc.documentReference.spaceReferences.get(0) display
> "Space xwiki:Encyclopédie".
> >
> Reference use "xwiki" but createDocumentReference
> use "wiki"?
> > "wiki"
> is it a wiki name example?
> 
> I don't really understand your example
> $services.model.createDocumentReference("wiki",
> ["space"], "page")
> have
> nothing to do with $doc.documentReference. It just means you
> are
> executing this script on main wiki
> ("xwiki").
> 
> >
> > Another question:
> > What is the difference between:
> $services.model.createDocumentReference and
> services.model.resolveDocument?
> > With
> resolveDocument the Page must exist?
> >
> Can I use CreateDocumentReference if target document
> exist?
> 
> resolveDocument take
> a reference as a String and parse it (it's using
> a DocumentResolver component for this) and find
> what is not provided
> in the String (by
> default from the context) while
> createDocumentReference takes each element of
> the reference separately
> and know nothing
> about reference syntax.
> 
> 

I mean: is it the same utility?
#set ($reference = $services.model.createDocumentReference("wiki", 
["space1","space2"], "page"))
#set ($reference = $services.model.resolveDocument("wiki:space1.space2.page))

> >
> > Last point:
> > I think these 2 simples examples missing
> in: 
> http://extensions.xwiki.org/xwiki/bin/view/Extension/Model+Module#HScriptServiceAPI
> > #set ($reference =
> $services.model.resolveSpace('xwiki:MySpace'))
> > #set ($reference =
> $services.model.resolveSpace('xwiki:MySpace.MyPage'))
> > What do you think?
> 
> Not sure people create space references that
> much but sure why not.

Sorry I wanted to write:
#set ($reference = $services.model.resolveSpace('xwiki:MySpace'))
#set ($reference = $services.model.resolveDocument('xwiki:MySpace.MyPage'))
but mayb it is not necessary because you told me than xwiki automatically 
convert parameters to the right type.

_______________________________________________
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to