On Wed, Feb 17, 2010 at 10:45, Jerome Velociter <[email protected]> wrote:
Hi,
I'd like to suggest the following strategy for now:
* We modify all our vm files to use references (by using the ModelScriptService, see below) * We introduce APIs taking References in api.* (ex: api.Document, api.XWiki) * We _don't_ deprecate existing APIs in api.*. This means we allow users to use the older string APIs for ease of use
Hello Vincent,
Before I can make up my mind, I would like to know:
* What will be the strategy for velocity code in wiki pages (here you mention only .vm pages - will the strategy be voted again for wiki pages?)
* Considering we use the same strategy for wiki pages, and since we do not deprecate the old APIs that manipulate strings, what will be the 'recommanded' way of say getting a document ? (the one we would advertise on xwiki.org code examples for example)
To summarize: * String based methods: helper methods for users * EntityReference based methods: what we are supposed to use or anyone that want to write proper code
OK, that's what I wanted to know :) I share this vision, and would be -1 to deprecate string based APIs (unless of course replaced with new string based helpers). I think it's important that we keep (velocity) simple scripting accessible to non-developers and that was my concern. You don't want to force users to know/understand what a reference resolver is for instance. As for what we do for velocity code in our own wiki pages (not .vms), I would tend to think we should keep it simple to read for users (so with string based APIs) but I'm a bit undecided. Jerome
Thanks, Jerome