What would be the advantage? You can handle this in your templates and I don’t think all-lowercase tags are appropriate for every language. But as an option it could be useful, I guess.
At the moment you can add three tags—tag, Tag and TAG. It could happen that over time or different users working on one site use different cases for the same word.
When using autocomplete in the panel, filterBy and pluck in controllers / routes / templates, all three tags are handled as being different ones, although they are intended to be the same.
Maybe instead of forcing all lowercase tags, it would be better to have an option to ignore the case when using filterBy and / or pluck. I found a tweet of @bastianallgeier from 2015 supporting this idea but am not able to find this feature anywhere. Maybe I’m missing something here ?
A way to store this kind of information all lowercase makes sense if other services consume your Kirby 3 data. Fixing your template and controllers isn’t enough then as the data quality stays lower and thus will might cause troubles in future. I will upvote @LeBen’s ideas.
I am against the storage of “tags” in lower case letters, because in the German language there are many words, which have a different meaning with upper and lower case letters,
e.g. “Paar” (one men and one girl/woman) and “paar” (some).
Storing the same word would make the contents indistinguishable.
The suggestion of @texnixe is better to do this in the code.
I will also upvote this as an option that would be nice to have. As regards data quality, upper and lower case letters are not the only problems when it comes to using consistent tags, though, think typos. To be on the safe side, you would actually have to limit tags to a given set. I would like to keep the distinction of upper and lower case letters as the default, though.
@anon77445132 I think those cases are really negligible, nobody would ever use paar as a tag.
because in the German language there are many words, which have a different meaning with upper and lower case letters
I know. That’s why I suggested it as an option (that already existed in Kirby 2). Using letters with diacritic marks is another problem (especially in German where words can have completely different meanings with or without diacritic marks) why tags can’t be used as freely anyways (for example in URLs).
On a sidenote:
“Paar” (one men and one girl)
An interpersonal couple is not limited to man and woman. Especially a “man” (“Mann”) and a “girl” (“Mädchen”) seem to be an inappropriate example to me.
But think of changing a running one language website to a website with adding e.g. the German language. In this case you will need to control your complete code handling tags.
If you have coded in a way, I said, your change will be more easy, I think.
I will answer end of this weekend, at the moment I’m not at home, sorry.
But I agree, my example was not good, but at that moment, I hat not enough time to look for a better example. It will be added…
and in the frontend, I now have two filters for each i.e “statement” and “Statement” which is not wanted (especially because they’re all being text-transform: uppercase'd).
Do I use an update hook (and manually update all the existing content to be lowercase) or do you think there is a way to quickly add the option to ignore the case?
Finally decided to go with option 3, since I realized I have to urlencode() the tags anyways to make for a nicer set of parameters – also like this I don’t have to touch any existing data and potentially delete anything by mistake