Topics: case sensitivity
Current situation
On the Explore topics page, you can browse through topics and the associated projects (see docs). This is a great way to search for the most used topics and find corresponding projects.
In settings of a project, you can select existing topics or create new topics and assign them to the project (see docs). Due to the fact that users can create new topics themselves, an inconvenience has arisen over the years: There are a lot of topics that are actually the same, except for the case sensitivity. Just a few examples:
-
javascript(2710 projects),JavaScript(967 projects),Javascript(467 projects),JAVASCRIPT(11 projects),javaScript(6 projects) - see API result -
gitlab(787 projects),GitLab(126 projects),Gitlab(58 projects),GITLAB(1 projects) - see API result -
docker(3894 projects),Docker(905 projects),DOCKER(12 projects) - see API result -
java(3261 projects),Java(1242 projects),JAVA(42 projects) - see API result -
api(2934 projects),API(1022 projects),Api(57 projects) - see API result -
android(2025 projects),Android(1257 projects),ANDROID(5 projects) - see API result -
html(1306 projects),HTML(672 projects),Html(54 projects) - see API result -
css(1140 projects),CSS(600 projects),Css(26 projects) - see API result
Actually, these are always the same topics, but because of the difference in upper/lower case, they show up as separate topics with separate counters. If you search for a project that uses JavaScript, and you browse to the JavaScript topic, you will miss all projects that have the topic javascript instead. That' s a pity!
Proposal
So we need to do something urgently to solve this problem! I propose the following steps:
-
Ensure that no new non-unique (case insensitive) topics can be created. - !79826 (merged) -
Discuss and decide how to merge the existing synonymous topics - #351871 (comment 830292330) -
Merge the existing synonymous topics. - !81503 (merged) -
Ensure that the URL https://gitlab.com/explore/projects/topics/<topic name>works case insensitive because then there's at most one topic with that case insensitive name - !84064 (merged) -
Extend topicmodel with atitle(see #351871 (comment 837067750)) - !84386 (merged) -
Use titleon Topic detail page and on topic search - !85679 (merged)