Hi,

On Mon, Apr 18, 2011 at 09:30, Marius Dumitru Florea <
[email protected]> 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
> > [email protected]
> > http://lists.xwiki.org/mailman/listinfo/devs
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to