In my Tue, 25 Nov 2008 08:30:19 -0500 email: Implemented as a free-form value field similar to target? A comma-seperated list of tags? Perhaps once we have per-bug/comment attribute searching it would be easier to have a 'create-attribute' becommand, e.g. be create-attribute [-valid=X,Y,Z] [bugdir|bug|comment] [NAME] [DEFAULT] We could ship some suggested configuration scripts to set people up, and keep the core code more general/flexible. Plan: Extend and make more consitent the settings_property() attributes. Create becommand/(create/remove)-attribute for logic-less attributes. Create a few mix-ins for logic-ed attributes Usage example: Goal: set up for `be depends BUGA BUGB`, `be depends --tree BUGA`, etc Procedure: be set --apend mixins bug:dependency Where we've defined becommands/depends.py, but it is hidden until the mixin is activated libbe/mixins/bug/dependency.Mixin (inheriting from BugMixin) to parse/generate comma seperated dependency uuids for saving/loading pretty-print the dependency list (e.g. uuid->shortname) walk the dependency tree and check target bug status. With more complicated mixins, there could be inter-mixin dependencies, e.g. a dependency tracker that searches depends based on bug.status might depend on the base dependency mixin. This way people who need it could make rich interfaces without confusing the people who don't. How does that sound?