User Tools

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

Site Tools


mantisbt:alternative_custom_field_display_requirements

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
mantisbt:alternative_custom_field_display_requirements [2008/02/04 17:26] darynmantisbt:alternative_custom_field_display_requirements [2008/10/29 04:25] (current) – external edit 127.0.0.1
Line 4: Line 4:
    * **Status**: Work in progress, Draft     * **Status**: Work in progress, Draft 
    * **Associated Issue**: [[http://www.mantisbt.org/bugs/view.php?id=5650|#5650]], [[http://www.mantisbt.org/bugs/view.php?id=4736|#4736]], [[http://www.mantisbt.org/bugs/view.php?id=5744|#5744]]    * **Associated Issue**: [[http://www.mantisbt.org/bugs/view.php?id=5650|#5650]], [[http://www.mantisbt.org/bugs/view.php?id=4736|#4736]], [[http://www.mantisbt.org/bugs/view.php?id=5744|#5744]]
 +
  
  
Line 11: Line 12:
 ===== Introduction ===== ===== Introduction =====
  
 +
 +===== Current Approach =====
 Mantis allows for creation of custom field definitions for bugs. Currently, Mantis allows users to configure when each custom field is displayed and when it is required. The current implementation allows the user to specify the display/require option on 4 conditions; report, update, resolved, closed. The report, resolved, and closed conditions each map to one Status. The update conditions maps to all other statuses. Mantis allows for creation of custom field definitions for bugs. Currently, Mantis allows users to configure when each custom field is displayed and when it is required. The current implementation allows the user to specify the display/require option on 4 conditions; report, update, resolved, closed. The report, resolved, and closed conditions each map to one Status. The update conditions maps to all other statuses.
  
-This feature will allow advanced configuration of custom fields by providing the ability to define complex custom rules using not only any status but also any standard field in scope, any custom field, or any configuration option.  In addition, users will be able to apply these custom rules to standard fields as well as custom fields.+ 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 +===== Proposed Approach ===== 
 +This feature allows advanced configuration of custom fields by providing the ability to define complex custom rules using any standard field which is in scope, any custom field, or any configured values.  In addition, users are able to apply these custom rules to standard fields and custom fields alike  
 + 
 +The feature allows administrators to set custom permission levels depending on the page the field is on.  
 + 
 +  For example, management wants a custom field to be required when opening a bug.  However, after the bug is opened 
 +  that field should only be editable by a manager.  In this case, the rule for the field on the bug_report and  
 +  bug_report_advanced page is that all users have write permissions to the field and the field is required.  The rule  
 +  for the field on all other update pages is that all users have read permissions but only management users have write permissions.   
 + 
 +Standard permissions rules are applied as the default.  Custom permissions are used to override standard field permissions.  
 + 
 +==== Phase 1 ==== 
 +Expand the ability to display/require custom fields on specific pages 
 + 
 +==== Phase 2 ==== 
  
 ===== Implementation Notes ===== ===== Implementation Notes =====
Line 25: Line 53:
  
  
-==== Database Changes ==== 
  
-  * Required database changes to ''mantis_XXX_table'' 
  
 +==== Database Changes ====
  
   * Create Table mantis_config_actions_table   * Create Table mantis_config_actions_table
Line 47: Line 74:
     * field_type enum('string','int','time')     * field_type enum('string','int','time')
   * Create Table mantis_field_rule_definition_table   * Create Table mantis_field_rule_definition_table
- +    * id int(11)  primary key, with auto_increment flag 
-  Create Table mantis_field_rule_definition_table+    * rule_config_id int(11) NOT NULL, 
 +    * comparison_operator enum('==','>','<','<=','!=') NOT NULL, 
 +    comparison_value varchar(75) NOT NULL,
   * Create Table mantis_field_rule_link_table   * Create Table mantis_field_rule_link_table
 +    * id int(11)  primary key, with auto_increment flag
 +    * page_id int(11) NOT NULL,
 +    * field_id int(11) NOT NULL default '0',
 +    * field_name varchar(64) NOT NULL,
 +    * access_level_r smallint(6) NOT NULL,
 +    * access_level_rw smallint(6) NOT NULL,
 +    * UNIQUE KEY `page_id` (`page_id`,`field_id`,`field_name`)
   * Create Table mantis_field_ruleset_action_table   * Create Table mantis_field_ruleset_action_table
 +    * rule_link_id int(11) NOT NULL
 +    * action_id int(11) NOT NULL
 +    * ruleset_id int(11) NOT NULL default '0'
 +    * UNIQUE KEY `rule_link_id` (`rule_link_id`,`action_id`,`ruleset_id`)
   * Create Table mantis_field_ruleset_operators_table   * Create Table mantis_field_ruleset_operators_table
 +    * id int(11)  primary key, with auto_increment flag
 +    * operator enum('&&','||') NOT NULL
   * Create Table mantis_field_ruleset_table   * Create Table mantis_field_ruleset_table
 +    * ruleset_id` int(11) NOT NULL
 +    * id int(11) NOT NULL COMMENT 
 +    * type enum('rule','ruleset') NOT NULL
 +    * PRIMARY KEY  (`ruleset_id`,`id`,`type`)
  
 ==== Configuration ==== ==== Configuration ====
mantisbt/alternative_custom_field_display_requirements.1202163998.txt.gz · Last modified: 2008/10/29 04:31 (external edit)

Driven by DokuWiki