Skip to content
GitLab
Next
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • GitLab GitLab
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 44,761
    • Issues 44,761
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1,329
    • Merge requests 1,329
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.orgGitLab.org
  • GitLabGitLab
  • Issues
  • #328226
Closed
Open
Issue created Apr 19, 2021 by Jonas Wälter@wwwjonContributor12 of 12 checklist items completed12/12 checklist items

Project Topics: detach from tags

Initial situation

In GitLab, you can add arbitrary topics to a project in the project settings.

Project settings > General > Topics (screenshot)

image

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):

image

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

  1. GraphQL field: !61250 (merged)
  2. Data migration: !61237 (merged)
  3. Cleanup data migration: !62066 (merged)
  4. ProjectsFinder parameter: !62093 (merged)
  5. Create/update project parameter: !62191 (merged)
  6. API entity project: !62206 (merged)
  7. Remove tags association: !62549 (merged)
  8. Remove tag_list attribute: !63493 (merged)
  9. Data migration (2): !67574 (merged)
  10. Data migration (3): !69199 (merged)
  11. Data migration (4): !70018 (merged)
  12. Clean up data migration: !68925 (merged)

/cc @bufferoverflow

Edited Sep 28, 2021 by Jonas Wälter
Assignee
Assign to
Time tracking