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
--
Denis Gervalle
SOFTEC sa - CEO
eGuilde sarl - CTO
_______________________________________________
devs mailing list
devs(a)xwiki.org