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

