MODiX icon indicating copy to clipboard operation
MODiX copied to clipboard

Channel Category Designations

Open JakenVeina opened this issue 5 years ago • 0 comments

Per conversations in Discord, this is a pretty popular idea, that should improve user experience in configuring channels a fair bit.

Currently, Channel Designations must be applied to individual channels separately. We should enhance the Channel Designations system to have channels inherit designations from their parent Category Channel.

Guidelines for implementation:

  1. Only some designations should be allowable on Category Channels, which is probably best implemented with an [AllowOnCategories] (or similarly-named) attribute upon values in the DesignatedChannelType enum. We don't necessarily need to PREVENT other designations from being added to Category Channels, but only those that are allowed should be "inherited" by child channels.

  2. The various Get and Has methods on DesignatedChannelsService must be modified to include inherited designations, Hopefully, this doesn't include database changes, but if you find yourself doing a bunch of additional queries against the database to retrieve designations for related channels, we should probably discuss adding some additional info. Alternatively, channel designations, which are damn-near unchanging, are a GREAT candidate for caching, so this might be the time to go ahead and implement that.

  3. The Bot/Commands frontend should need almost nothing changed, except maybe some additional error messages, if we decide to throw errors for non-category designations on category channels.

  4. The Web frontend definitely needs to be enhanced to compensate for the added complexity in the designations system. Right now category channels aren't assignable at all, so at a minimum, that needs to be enhanced. Additionally, right now there's only a "by designation" perspective available. There almost certainly needs to be a "by channel" perspective as well, where users can visualize the category/child relationships, and also have a visualization of what designations are inherited, and which ones are assigned directly. These additional enhancements don't necessarily need to be part of this Issue/PR.

JakenVeina avatar Jan 29 '20 05:01 JakenVeina