Hi Vincent,
I do not see the real benefit of B, since as I have already mention, IMO, a
reference should be resolvable by itself outside of a
given syntactical context. Moreover, the canonical reference could be used
in A, on a voluntary basis, for those wanting to ensure unbreakable
inter-wiki references (which is solution 2 without enforcement).
So, I am still +1 for 2, +0 for A (and 1), and -1 for B (and 3) due to the
context issue. However, I might reconsider my vote on B if many show their
interest for it (more easily than I would have for 3).
PS: If we adopt A, it could be worth to have a configuration property
to deactivate some prefixes, allowing some legacy migration more easily.
On Mon, May 6, 2013 at 9:40 AM, Vincent Massol <vincent(a)massol.net> wrote:
  Hi everyone,
 After listening to all discussions and thinking more about it (and talking
 to Thomas), I see only 2 good solutions now:
 Solution A
 ========
 * Don't do anything, i.e. accept that when we add a new prefix handler we
 break users who use the short notation for wikis named after the prefix. We
 would put in the release notes and in the syntax guide that users should
 use the full notation in case they have a wiki named "user" for example
 when we add the "user" prefix (similar to what we say now for all other
 prefixes: "doc", "attach", "url", "mailto", etc).
 * IMO this solution is better than the proposed solution 2, i.e. usage of
  [[label>>doc:extension.Extension.My Macro]]  for links to multiwikis
 which is really too long and too much a change for users
 Solution B
 ========
 * Have a shortcut notation (same as with xwiki/2.0 syntax): [[label>>ref]]
 where ref can be a ref to a doc or to a URL
 * Canonical notation: [[[label>>prefix:reference]]] for links and
 [[[image:…]]] for images
 * This is the only real solution IMO that allows both:
 ** extensibility without breaking existing pages
 ** still preserve the ability to easily and quickly reference documents
 * We already triple characters in our syntax: ((( and {{{. So it's not
 something new to add [[[
 For me it's logical to have a canonical syntax for links/images and a
 simplified one for the main use case of a wiki, which is to create links to
 documents. This is so much the core of a wiki that having a simple syntax
 is a must have.
 Thanks
 -Vincent
 On Apr 30, 2013, at 11:02 AM, Vincent Massol <vincent(a)massol.net> wrote:
 seems clear
that we need to introduce a better syntax for links and images
 in XWiki Syntax 2.2 (in order to cope with use cases such as
 
http://jira.xwiki.org/jira/browse/XRENDERING-290).
 The need is to be able to plug new reference type handlers without 
 breaking
backward compatibility in XWiki Syntax 2.2 (since right now with
 XWiki Syntax 2.0 and 2.1 adding a new type reference handler would break
 backward compatibility).
 So here are various proposals to that effect for XWiki Syntax 2.2 (I've 
 only
kept the interesting proposals from the previous thread). Please vote
 for the one you prefer or add new solutions if you have other better ideas.
 Proposal 1
 =========
 Force XWiki Syntax 2.2 to *ALWAYS* use the full form when creating a 
 link or
image, i.e. all links would need to be written:
 [[label>>type:reference]]
 Examples:
 * [[label>>doc:space.page]]
 * [[label>>doc:wiki:space.page]]
 * [[label>>path:/some/path]]
 * [[
label>>url:http://xwiki.org]]
 * [[label>>user:evalica]]
 * [[image:doc:wiki:space.page@image.png]]
 * [[image:icon:someicon.png]]
 CONS:
 * Harder to write links to documents which is the main use case
 Proposal 2
 =========
 Same as with XWiki Syntax 2.1 but for links or images to subwikis force 
 the user
to use the "doc:" notation
 Examples:
 * [[label>>space.page]] or [[label>>doc:space.page]]
 * [[label>>doc:wiki:space.page]]
 * [[label>>>path:/some/path]]
 * [[
label>>http://xwiki.org]] or [[
label>>>url:http://xwiki.org]]
 * [[label>>user:evalica]]
 * [[image:doc:wiki:space.page@image.png]]
 * [[image:icon:someicon.png]]
 PRO:
 * Still easy to reference docs and images in the current wiki
 * Close to current XWiki Syntax 2.1
 CONS:
 * Harder to write links to documents in subwikis (for workspaces users 
 for
example, see example of 
xwiki.org)
 Proposal 3
 =========
 Always define the type as a link or image parameter, i.e. separate 
 subwiki
notation from type.
 Examples:
 * [[label>>space.page]] or [[label>>space.page||type="doc"]]
 * [[label>>wiki:space.page]] or
[[label>>wiki:space.page||type="doc"]]
 * [[label>>>/some/path||type="path"]]
 * [[
label>>http://xwiki.org]] or [[
label>>>http://xwiki.org 
||type="url"]]
  * [[label>>evalica||type="user"]]
 * [[image:wiki:space.page@image.png]] or 
[[image:wiki:space.page@image.png||type="doc"]]
  * [[image:someicon.png||type="icon"]]
 PRO:
 * Still easy to reference docs
 * Clear separation between subwiki and types
 CONS:
 * Harder to write typed links
 * Harder to write references in non xwiki/2.x syntax that would not 
 support link
parameters
 Thanks
 -Vincent
 
 _______________________________________________
 devs mailing list
 devs(a)xwiki.org
 
http://lists.xwiki.org/mailman/listinfo/devs