Linking "Possible values" for List custom fields to another custom fields of same type.
I hope that this feature is not too complex to implement, and other redmine users should find it useful.
To point to idea of extending Redmine with this feature, I have to explain the use case first.
We have multiple (almost hundered) projects that share same settings regarding custom fields, roles, ... Those projects have defined complex workflow, that limits users to change some Custom fields. As you know tweaking workflow is tricky bussines, so we prefer that all projects share same set of custom fields.
Right now we have to track define new custom field that will be reference to contract with customer. Each project should have list of their own contract numbers. One of solutions is to use Category field, but that field is already used for another purpose.
I think that it will be very useful to implement following solution:
In the phase of creating New Custom Field (List type), it would be nice to have two options for "Possible values":
- Static list of Possible values (1)
- Linked list of Possible values (2)
Those options mutually exclusive. Effective list of possible values is formed as distinct union of Static and Linked list of Possible values.
First (1) one already exists.
Second (2) should have link to another Custom Field of the same type, but on another entity (Issues, Spent Time and Projects).
If creating Custom field of type List for Issues or Spent Time, it would be nice to link to possible values of Custom field (type list) at Owning Project level.
If creating Custom field of type List for Projects, it would be nice to link to possible values of Custom field (type list) at Parent Project level.
In this way our problem with contract numbers will be solved in the way that each Project have custom field (type list) with valid Contract numbers for that project. Let's name it Projects_Contract_IDs.
Issues will have Custom field (type list) named for example Issue_Contract_ID. That Issue_Contract_ID links values to Project level Custom field named Projects_Contract_IDs.
With this feature, we can manage more similar projects very flexible, simply by changing values for custom fields on Project level.
Custom fields on Subproject level, Issue level and Timelog level simply inherits values from Custom fields from Project level.