Change getLevel(whatever it is called?) to take an optional bool saying that gods should fall into the 'top' level. Vote allocation, for example, would be done with this flag 'flase' (gods don't get extra votes). Most other things would probably want the flag 'true'.
I think that this type of thing demonstrates that there is a metaphor clash at work here. Levels and Permissions should be in principle orthagonal concepts. And they could/would be too, except for the fact that we would have to maintain groups with 25k members. Since it has historically been unweildy to make the groups handle levels weve ended going the other equally bad but easier to handle route and made level the system handle permissions.
IMO this means that we end up hardcoding lots of exceptions and weird rules into the codebase which then causes problems when we get to situations like right now where we would like to enhance the level system but cant easily becuase the level system isnt just a level system its also a permissions system.
The solution to this mess IMO is the proposal I made earlier about changing how the isApproved() mechanism works. To recap in a paragraph the idea is to add the ability for isApproved() to use logic based rules (via evalling htmlcode style rule nodes) to determine permissions. This simple extension would provide the flexibility to implement pretty much the complete requirements for all of our Approval needs. Thus we would define the level-group Saints as being a rule based on XP like wise for all the other levels. The CanApprove group would then include the rules for all levels above 5 plus gods. Etc etc.
I really think that if we go ahead with the level/experience change it aught to go along with a comprehensive upgrade and reworking of the permissions system as well, so that once and for all the two are disentangled and cleanly interfaced to each other.
Cheers
First they ignore you, then they laugh at you, then they fight you, then you win.
-- Gandhi
In reply to Re^2: Todo list should additional levels be added
by demerphq
in thread Todo list should additional levels be added
by ysth
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |