Forwarding mail since somehow we lost the mailinglist recipient
---------- Forwarded message ----------
From: vincent(a)massol.net <vincent(a)massol.net>
Date: Mon, Oct 20, 2014 at 2:26 PM
Subject: Re: [xwiki-devs] [VOTE] New Link and Image syntax for XWiki Syntax
2.2
To: "Ecaterina Moraru (Valica)" <valicac(a)gmail.com>
On 20 Oct 2014 at 11:54:26, Ecaterina Moraru (Valica) (valicac(a)gmail.com
(mailto:valicac@gmail.com)) wrote:
 Anyway, I think is less needed to want to have a custom label when you 
are
referring an user. I wouldn't want to be forced to duplicate the user's
name, but instead just use his username and the display would fill all the
data (last name, first name, maybe avatar).
Labels are always optional so no worries here...
  Can we have something like:
[[~user='evalica']]? 
This is not going to work as "~" is our escape character ;)
  or [[user:xwiki:XWiki.evalica]] even better would be
[[user:incubator:evalica]] (to cover the local users).
This is what's already in all proposals since all the proposal are of the
form "user<separator><reference to the user>".
  Maybe [[@user=evalica]] 
This would be Solution 14:
* [[label>>wiki:space.page]]
* [[label>>@doc=wiki:space.page]]
* [[label>>@path=/some/path]]
* [[
label>>http://xwiki.org]]
* [[label>>@url=http://xwiki.org]]
* [[label>>@user=evalica]]
* [[image:wiki:space.page@image.png]]
* [[image:@doc=wiki:space.page@image.png]]
* [[image:@icon=someicon.png]]
So we would recognize a Resource Type by the fact that it's enclosed
between "@" on the left and "=" on the right.
  or [[@evalica]]. 
Could be possible, it would mean:
- delegate the parsing of the full link reference to each Resource Type
Parser so that they have a new method to decide if they can handle the
reference or not. If not, then it goes to the next Resource Type parser.
Ideally we would need to define an order too.
- no doc starting with '@' or should be escaped with '~@'
- the other Resource Types cannot start with "@"
- important performance hit since each full link reference would need to be
passed to all Resource Type parsers (and each one would reparse it) before
fallbacking to a doc reference or a URL.
  I hope I don't digress to much, my intention is to
give you ideas :) 
Thanks
-Vincent
 Thanks,
 Caty
 On Mon, Oct 20, 2014 at 12:30 PM, vincent(a)massol.net(mailto: 
vincent(a)massol.net)
wrote:
  >
 >
 >
 >
 > On 20 Oct 2014 at 11:27:03, Ecaterina Moraru (Valica) (valicac(a)gmail.com
(mailto:valicac@gmail.com)(mailto:valicac@gmail.com)) wrote:
  >
 > > On Fri, Oct 17, 2014 at 6:36 PM, vincent(a)massol.net(mailto:
vincent(a)massol.net)
  > > wrote:
 > >
 > > > I’ve read again both threads. Not an easy decision...
 > > >
 > > > Some thoughts:
 > > >
 > > > * I don't like any of the proposed solutions so far because they
all make
  > > > it harder to create links than what
user already do in XWiki Syntax 
2.0 or
  > > > 2.1
 > > > * Solution 2 (forcing using the "doc" prefix when creating links
to
 > > > subwikis) is the solution that gathered the most votes. However 
when
I
  > > > think about solution 2 I think about
xwiki.org(http://xwiki.org) 
and all the links I create
  > > > every week from one wiki to another and
I can't refrain from 
thinking that
  > > > it's going to make more complex to
create them.
 > > > * I can understand why some didn't like my proposal to have a
shortcut
  > > > syntax for links and a canonical one
for typed references. 
Basically it's
  > > > too complex for users.
 > > >
 > > > In order to be complete, there's another possibility which is to
change
  > > > the delimiter for wikis or for
reference types. Obviously it 
wouldn't be
  > > > possible to change the delimiter for
wikis (i.e. the ":" in
 > > > "wiki:space.page") so remains the option to change the delimiter
for
 > > > reference types.
 > > >
 > > > Here are some ideas for exploring this direction:
 > > >
 > > > Solution 10
 > > > ===========
 > > >
 > > > * [[label>>wiki:space.page]]
 > > > * [[label>>doc::wiki:space.page]]
 > > > * [[label>>path::/some/path]]
 > > > * [[
label>>http://xwiki.org]]
 > > > * [[
label>>url::http://xwiki.org]]
 > > > * [[label>>user::evalica]]
 > > > * [[image:wiki:space.page@image.png]]
 > > > * [[image:doc::wiki:space.page@image.png]]
 > > > * [[image:icon::someicon.png]]
 > > >
 > > > PROs:
 > > > * Syntax remains the shorter possible for links to docs and URLs
 > > > * Adding a new reference type doesn't break existing links/images
 > > >
 > > > CONs:
 > > > * When using typed links/images, it's bit longer to type
("::" 
instead of
  > > > ":")
 > > > * Small change of syntax for users but the majority of users use the
 > > > shorthand notation
 > > > * Still a URI! (even if a weird one)
 > > > * Force to escape the ":" (with "~:") for spaces or
documents 
starting
  > > > with ":"
 > > >
 > > > Solution 11
 > > > ===========
 > > >
 > > > Using URL-like notation:
 > > >
 > > > * [[label>>wiki:space.page]]
 > > > * [[label>>doc://wiki:space.page]]
 > > > * [[label>>path:///some/path]]
 > > > * [[
label>>http://xwiki.org]]
 > > > * [[
label>>https://xwiki.org]]
 > > > * [[
label>>url://http://xwiki.org]]
 > > > * [[label>>user://evalica]]
 > > > * [[image:wiki:space.page@image.png]]
 > > > * [[image:doc://wiki:space.page@image.png]]
 > > > * [[image:icon://someicon.png]]
 > > >
 > > > Compared to solution 10:
 > > >
 > > > PROs:
 > > > * Uses a notation closer to a URL (could be a CONs too!)
 > > >
 > > > CONs:
 > > > * One more character to type "://" vs "::"
 > > > * A bit strange when linking to URLs using the typed syntax ("url://
 > > > 
http://xwiki.org")
 > > > * Need to use the typed syntax for URLs other than "http" and
"https"
  > > > (e.g. for specific URL schemes, like
"ftp": "url://ftp://192.168.0.1 
")
  > > >
 > > > Solution 12
 > > > ===========
 > > >
 > > > Then there are other possible notations such as:
 > > >
 > > > * [[label>>wiki:space.page]]
 > > > * [[label>>doc#wiki:space.page]]
 > > > * [[label>>path#/some/path]]
 > > > * [[
label>>http://xwiki.org]]
 > > > * [[
label>>url#http://xwiki.org]]
 > > > * [[label>>user#evalica]]
 > > > * [[image:wiki:space.page@image.png]]
 > > > * [[image:doc#wiki:space.page@image.png]]
 > > > * [[image:icon#someicon.png]]
 > > >
 > > > Solution 13
 > > > ===========
 > > >
 > > > Or:
 > > >
 > > > * [[label>>wiki:space.page]]
 > > > * [[label>>doc=wiki:space.page]]
 > > > * [[label>>path=/some/path]]
 > > > * [[
label>>http://xwiki.org]]
 > > > * [[
label>>url=http://xwiki.org]]
 > > > * [[label>>user=evalica]]
 > > > * [[image:wiki:space.page@image.png]]
 > > > * [[image:doc=wiki:space.page@image.png]]
 > > > * [[image:icon=someicon.png]]
 > > >
 > >
 > > I like this solution the most. It looks like a parameter.
 >
 > Yes this is why I suggested it. It looks "natural". However this is
also why I don't like that much, it's too magical, because it's not a
parameter and thus it's misleading! It's a reference...
  >
 > > Can I put
 > > something (single quotes, double quotes) like
[[label>>user='evalica']]?
  >
 > No, you cannot, it's a refefence…
 >
 > Thanks
 > -Vincent
 >
 > >
 > > Thanks,
 > > Caty
 > >
 > >
 > >
 > > >
 > > > Personally I'm still hesitating but seen that the majority of use
cases
  > > > are for links to documents, I think
I'd like a solution that 
doesn't change
  > > > the shorthand syntax for linking to
documents.
 > > >
 > > > So I'm still ok with Solution A (i.e. don't do anything) and
baring 
that,
  > > > solution 10 also seems acceptable to
me, seen that we don't use the 
typed
  > > > syntax that often so simple users
won't see their habits changed.
 > > >
 > > > WDYT?
 > > >
 > > > Thanks
 > > > -Vincent
 > > >
 > > >
 > > > On 30 Apr 2013 at 11:02:46, Vincent Massol (vincent(a)massol.net
(mailto:vincent@massol.net)(mailto:
  > > >
vincent@massol.net(mailto:vincent@massol.net))) 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: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(http://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@xwiki.org(mailto:devs@xwiki.org)
 > > 
http://lists.xwiki.org/mailman/listinfo/devs
 > >
 > _______________________________________________
 > devs mailing list
 > devs@xwiki.org(mailto:devs@xwiki.org)
 > 
http://lists.xwiki.org/mailman/listinfo/devs