ok, after discussing this with Thomas, here's our new proposal below.
First some terminology:
[[label>>target||params]]
Rules:
* This is for XWiki Syntax 2.1 only
* The target part is there to specify what the link is targeting. QueryString and Anchors
do not serve to specify the target. They're just used at render time to control the
display. Hence the rationale why they are specified as link params and not as part of the
target. Note that for an interwiki link, the interwiki alias is part of the target since
it serves to specify the target.
* We name the param "queryString" so that it's clear what it is. We can
always change it later on with no backward compat issues if we want something more
isolated from URLs but we don't see the need now. The user has to write a valid query
string including any URL-encoding required.
* Example: [[label>>doc:docReference||queryString="a=b&c=d"
anchor="anchor"]]
I'm going to start implementing this now. Please comment quickly if you don't
agree.
Thanks a lot
-Vincent
On Sep 20, 2010, at 3:10 PM, Vincent Massol wrote:
Hi,
The discussion started in
http://xwiki.markmail.org/thread/hqvmy34jfknb2waa but since
it's an important decision I'm making it a full thread here.
The idea is to know how we want to represent query string and anchors in links to
documents in XWiki Syntax 2.1.
In 2.0 we were using: [[label>>whatever?queryString#anchor]]
The proposal is to move query string and anchor to a link parameter.
It be done like this:
[[label>>doc:mypage||parameters="a=b&c=d" anchor="..."]]
We could decide to use another syntax for parameters (ie query string) such as:
[[label>>doc:mypage||parameters="a=b,c=d" anchor="..."]]
This would make it a little bit less URL-specific.
The pros of this approach are:
- no need for the user to escape the ? and # characters in document names
- makes the syntax a little bit less "magic" and more formal
The cons:
- Takes a bit longer to write
- A new syntax to learn
WDYT?
Thanks
-Vincent