On 06/29/2010 12:42 PM, Caleb James DeLisle wrote:
> I believe that in order for a new api to be accepted by the community, it
> must be more useful and/or easier to use
> than the api which it replaces.
>
> The old way of getting a document was this:
> $xwiki.getDocument("xwiki:Main.WebHome")
>
> The current way to get a document is this:
> $xwiki.getDocument($services.model.createDocumentReference($context.wiki,
> $space, "WebHome"))
>
> I am quite sure that the user community will choose the former even if it has
> escaping issues.
>
> Lest one think we can bully the community into choosing the latter by
> deprecation or removal of methods, recall
> the dismal sales of Windows Vista even with the control afforded by the
> proprietary license and the awesome power
> Microsoft wields over the market. The user is the boss, their word is law.
>
> My first proposal is that we move to an easier way to handle document names.
I'm +1 for an easier way to handle document names in scripts
(velocity/groovy).
>
>
>
> My second proposal is a possible way to do it.
> I would like velocity and groovy script authors to be able to give a command
> like this:
> xwiki.getDocument(["Main", "WebHome"]);
> or in velocity
> $xwiki.getDocument(["Main", "WebHome"])
>
> To make that possible I am proposing we change the reference model as follows:
> EntityReference extends List<String>
As Thomas said, we could add helper methods like the one you proposed
without changing the model.
Marius
> Each reference has a name which is expressed as a string, it also has a
> reference to the next node and the last
> node. This is a classic example of a LinkedList. The point is that any
> List<String> is a valid (although reletive)
> reference. When a relative reference is passed, it is replaced with a
> complete reference which is completed using
> the document in the context.
>
> As you prepare your -1's please recognize that the community will never go
> for the current model and almost
> anything is better than a rift between the community and the development
> team. If there are any other ideas of
> how to make it that easy, I would be glad to hear them.
>
>
> Caleb
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs