Hi,
On Mon, Apr 18, 2011 at 09:30, Marius Dumitru Florea <
mariusdumitru.florea(a)xwiki.com> wrote:
  On 04/18/2011 09:49 AM, Vincent Massol wrote:
  Hi Marius,
 On Apr 18, 2011, at 8:38 AM, Marius Dumitru Florea wrote:
> On 04/18/2011 09:14 AM, Vincent Massol wrote:
>>
>> On Apr 18, 2011, at 7:27 AM, Marius Dumitru Florea wrote:
>>
>>> On 04/17/2011 11:02 PM, Vincent Massol wrote:
>>>> Hi Marius,
>>>>
>>>> On Apr 13, 2011, at 4:37 PM, Marius Dumitru Florea wrote:
>>>>
>>>>> Hi devs,
>>>>>
>>>>> Do we have a specification for what a tag is inside XWiki? On
>>>>> 
http://extensions.xwiki.org/xwiki/bin/view/Extension/Tag+Application
 >>>>> tags are defined as keywords
but no constraints are specified.
>>>>>
>>>>> I'd like to enforce this two constraints on tags:
>>>>> * tags can't have leading and trailing white space characters
>>>>
>>>
>>>> I'm not sure if you mean using space as a separator or not here. If
 space is used as a separator then it should be allowed to use quotes (such
 as: "<space>*tagvalue<space>*").
 >>>
>>> Since some users want to be able to use space inside a tag, only 
leading
 >>> and trailing space will be removed.
For instance:
>>>
>>> "  Word of mouth , foo   " ->   2 tags "Word of mouth"
and "foo"
>>
>
>> How do I enter leading spaces if I want? I'd like to be able to enter 
*any* character in any part of the tag name.
 
 I need valid use cases. I know it's nice to be able to do everything but
 it's not worth to implement the quotes and the escaping character if no
 one will ever used them in real life. How many tags did you see with
 leading or trailing spaces? How many containing a comma? 
  
  Well we can say the exact same thing for document
names... Consistency is 
 good. Should we do the same and forbid document names with
leading/trailing
 spaces? (it's been asked before I think, although I'm tempted to say no to
 this, except in UI which could trim spaces).
 IMO tags are different. Page names are closer to free text.
  Tags are 99% keywords and IMO it's best to
establish some simple rules:
 * no leading or trailing spaces
 * no comma inside
 rather than implementing something that is useful in 1% of the cases.
 Now, I didn't started this thread to re-implement or re-design the tags
 UI. 
  
  It's not about UI but you *did* start the
thread about starting a spec 
 for tags and specs cannot be imprecise, they need 100%
conciseness.
 I'm fine if we decide we'll never need to enter trailing/leading spaces 
nor use the separator but it has to be brought to the table and discussed,
 otherwise this spec will just be a joke.
 I agree.
 
I also think that trailing / leading spaces are useless in tags. They're
more often a mistake than an intentional choice. Thus I'm +1 to
automatically remove them and say they're not allowed as part of the tags
specifications.
Guillaume
   BTW you
haven't defined what the separator is. Is the separator the one 
 defined in the
Tag class property? If so it can be anything and there needs
 to be a way to enter it IMO. Imagine I choose space as the separator and I
 want to enter "word of mouth". I should be allowed to, either by using
 quotes or by escaping.
 I see your point. I thought the separator was fixed because the UI says
 "Comma separated tags". I just tested and it seems pipe character | is
 also used as separator. If I enter "foo|bar,end" the UI displays 2 tags
 but the value of the XWiki.TagClass object is "foo|bar|end" (so actually
 I entered 3 tags).
 IMO the fact that you can change the separator is an implementation
 detail. We now use a Static List to store the list of tags but this can
 change. The way we store the tags shouldn't influence the way we define
 tags. The separator is *not* part of the tags specification because we
 could have an UI that allows you to input tags only one by one and we
 could store tags in separate fields.
 So IMO the specification should only say:
 * tags' case is used only for display
 * tags don't have leading or trailing spaces
 And in our implementation, *because* we input and store tags using a
 single field, we can define a separator and a way to escape that
 separator. I prefer comma as separator and backslash as escaping.
  I just wanted to fix the current way of inputting
tags which is not
 consistent:
 * regarding leading and trailing spaces:
 "  foo, bar" ->  "  foo" and "bar"
 * regarding case:
 "foo,bar,fOo" ->  removing "fOo" removes "foo" also.
  
  Fixing is a different topic. This is not what you
asked. You asked for a 
 spec. Once we have defined it, then you can restrict
yourself to
 implementing only part of it if you don't have time/will to implement it
 fully. My point is that the spec has to be known and since you started the
 spec thread we might as well brainstorm on it, no?
 Sure. Let's see what others have to say about this.
 Thanks,
 Marius
 Thanks
 -Vincent
> Thanks,
> Marius
>
>>
>> Some questions:
>> * Can the user uses quotes to enter any character, for ex " word ".
 Alternatively the space could be escaped with a char, for ex \
 >> * How can the user use quotes, is there
an escape char, for ex: my tag 
 with a \"
 >> * Same question for entering the tag
separator character. For ex if 
 comma is the separator, can I enter: tag with \, in
the name
 >>
>> Thanks
>> -Vincent
>>
>>>>> * tags' case is saved but case is ignored when comparing two tags
 (once
 >>>>> you defined a tag
"news" you can't define a new tag "News"; the 
 existing
 >>>>> tag is reused; tag's case
is used only for display)
>>>>
>>>
>>>> If we don't consider case I'm not sure we should use display
using 
 the first tag entered. For example someone entered "http". Someone
else
 wants to add HTTP. Should we display http or HTTP?
 >>>> I'm fine with displaying http
provided the UI allows to renamed the 
 tag case.
 >>>
>>> If you click on the tag you go to Main.Tags page where you have an
>>> option to rename the tag (that is specified in the query string).
>>>
>>> Thanks,
>>> Marius
>>>
>>>>
>>>> Otherwise ok for me.
>>>>
>>>>> Optionally, we could enforce that tags can't contain white
spaces.
>>>>
>>>> See above.
>>>>
>>>> Thanks
>>>> -Vincent
>>>>
>>>>>
>>>>> WDYT?
>>>>>
>>>>> If no one is against it then I'd like to change the UI to apply
 these
 
>>>> constraints.
>>>>
>>>> Thanks,
>>>> Marius 
 _______________________________________________
 devs mailing list
 devs(a)xwiki.org
 
http://lists.xwiki.org/mailman/listinfo/devs  
_______________________________________________
 devs mailing list
 devs(a)xwiki.org
 
http://lists.xwiki.org/mailman/listinfo/devs