On 09/18/2012 10:44 AM, Curtis Hovey wrote: > On 09/17/2012 04:35 PM, Deryck Hodge wrote: >> I'd like to use information_type for a few reasons. >> >> >> **Consistency with other parts of the code** >> >> It doesn't make sense to me to have different names for things that >> are basically the same concept in our code. it's simpler and more >> consistent to stick with information_type. Other devs who come along >> won't have to get their head around how visibility and >> information_type are related, even basically the same, yet somehow >> different. > > I am -0 with this. It disagrees with PersonVisibility. Do you want to > replace PersonVisiblity with InformationType too. > > InformationType represents the content the content of an artefact. > Projects and teams are not documents/parts. I agree that three of the > enums do work with projects and teams, but two imply the project or team > exists to create maleware or phishing scams. We will not except that. > Projects and team might use a base class or subclass that only contains > the three sensible enums. Otherwise the db and applications needs > constraints to ensure non-sense is not excepted.
The crux of the issue is that one true InformationType enum really duplicates my flawed logic for bugs and branch information types. I did not consider blueprints and the case for planning work in secret temporarily, which is why we had to add another enum. There are groups of people interacting with a project and they use different information types. * Project Creators use Public, Proprietary, and Embargoed for planning. * Project Community uses Public, Private (user), Private Security Project, teams, and blueprints originate from the creators, so they can only be Public, Proprietary, and Embargoed Bug can be reported by the community and create branches to address these bugs, so they use Public, Private (user), Private Security The creators also work with these bug types and they also create the bug types that they use for planning. We might thing of this as CreatorInformationTypes and CommunityInformationTypes. We might think if bugs and branches using a union of both types, but other objects just use the first type. There are two other types of groups that interact with projects that we should not forget: * Project Customers use Public and Proprietary * Project Contractors use Public, Proprietary, Embargoed, and Private Security. -- Curtis Hovey http://launchpad.net/~sinzui
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mailing list: https://launchpad.net/~launchpad-dev Post to : launchpad-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-dev More help : https://help.launchpad.net/ListHelp