User Tools

  • Logged in as: anonymous (anonymous)
  • Log Out

Site Tools


mantisbt:global_categories_requirements

This is an old revision of the document!


Global Categories Requirements

Author: John Reese

Introduction

Categories in Mantis are specific to a single project, and can only be used by issues in that project. But there are many times, especially in organizations with many different projects, that it would be very useful to have not only shared sets of categories, but inherited categories from parent projects as well. This would greatly simplify and automate multiple project administration.

Current Approach

In the current Mantis system, all shared categories must either be created or copied between projects and subprojects by hand. Modifying one category means manually modifying every other project that category exists in to reflect the same change. There is also no way to handle global categories other than to copy categories from one project to every other project. Adding a new project or subproject later means more work to copy categories to it as well.

Proposed Approach

Categories should be able to created in a global configuration and will be available for All Projects. When assigning a category to an issue, the category list should include all global categories, as well as categories from all parent projects (and parents' parent projects, etc.). Preferably, global categories and inherited categories should be separated from project-specific categories, and all categories listed should contain the associated project's name in brackets. For example, a category list could look like so:

General
Unknown
---
[Parent] Database
[Parent] Documentation
---
[Child] Interface
[Child] Language

Individual projects should be able to choose if they should inherit parents' categories or not, and if they should inherit global categories or not. Default settings would be to inherit globals, but not parents'.

Database Changes

  • add id int(10) field on project_category_table with auto_increment flag to keep unique category_id values.
  • project_id field on project_category_table will use value '0' to denote global categories that can be shared by all projects.
  • category field on bug_table will change to category_id int(10) as foreign key to project_category_table.
  • add inherit_categories_global tinyint(4) field on project_table to denote whether the project will inherit global categories .
  • add inherit_categories_parents tinyint(4) field on project_table to denote whether the project will inherit categories from parent projects.
  • Admin update script will need to add id values to each category, and update all bugs to use the new category_id

Feedback

Any feedback should be placed below.

mantisbt/global_categories_requirements.1185589678.txt.gz · Last modified: 2008/10/29 04:30 (external edit)

CC Attribution-Noncommercial-Share Alike 4.0 International Driven by DokuWiki