I still prefer solution 2. I'm fine with A. Regarding B, I think it is technically a very good solution but it makes the wiki syntax more cryptic. The first wiki syntaxes were simple and natural. You could understand constructs like: * item * item _underline_ , /italics/ , -strikethrough- without even reading the syntax help. I don't think many will understand the difference between [[[ and [[ links without reading the XWiki syntax help. While when looking at [[label>>doc:foo:Bar.Page]] you may understand right away that it's a link to a document (in a different wiki). Thanks, Marius On Mon, May 6, 2013 at 3:55 PM, Denis Gervalle <[email protected]> wrote:
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 <[email protected]> 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 <[email protected]> wrote:
Hi devs,
Following this thread http://markmail.org/thread/vw3derowozijqalr it 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:[email protected]]] * [[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:[email protected]]] * [[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:[email protected]]] or [[image:wiki:[email protected]||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 [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Denis Gervalle SOFTEC sa - CEO eGuilde sarl - CTO _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs