Project Topics: detach from tags
Initial situation
In GitLab, you can add arbitrary topics to a project in the project settings.
In the backend, these topics are managed as so-called Tags
, which are also used for CI runners and CI builds. And also in the frontend, the term tag
is sometimes used instead of topic
. E.g. on the Explore projects
page, you can filter the projects by topic using the parameter tag
instead of topic
:
http://gdk.test:3000/explore/projects?tag=topic1
And on the Project overview
page, you can see the topics as well as the real tags (git tags):
Ideas
We want to give a boost to the use of project topics and have several ideas:
- extend API functionality for topics
- add
Expore topics
page - make input of topics more convenient using autocomplete or a selection component
- add automatic suggestions of suitable topics
- ...
But before we can tackle these ideas as Community contribution, the confusion between topics and tags should be resolved first.
Proposal
The existing Tag
and Tagging
models are used for CI runners (taggable_type=Ci::Runner
) and CI builds (taggable_type=CommitStatus
) in the form of tags and are alienated for project topics (taggable_type=Project
). In the context of projects, the term "tags" is used for topics as well as git tags, which is confusing.
Therefore, we propose to detach project topics from the Tag
model and introduce a separate Topic
model for project topics only.
Before we start tackling this as Community contribution, we want to clarify if this idea is in your sense. groupproject management WDYT?
Implementation
-
GraphQL field: !61250 (merged) -
Data migration: !61237 (merged) -
Cleanup data migration: !62066 (merged) -
ProjectsFinder parameter: !62093 (merged) -
Create/update project parameter: !62191 (merged) -
API entity project
: !62206 (merged) -
Remove tags
association: !62549 (merged) -
Remove tag_list
attribute: !63493 (merged) -
Data migration (2): !67574 (merged) -
Data migration (3): !69199 (merged) -
Data migration (4): !70018 (merged) -
Clean up data migration: !68925 (merged)
/cc @bufferoverflow