Civcraft / NameLayer

Do not open issues here; open them on the maintained fork @ DevotedMC
https://github.com/DevotedMC/NameLayer
BSD 3-Clause "New" or "Revised" License
4 stars 14 forks source link

Link command that doesn't cause ranks to be inherited #187

Closed not-nocturnal closed 8 years ago

not-nocturnal commented 8 years ago

Feature suggestion/nice-to-have

Obviously there are more important things on the developers' agenda right now, but I think this would be a very useful tool for linking groups in a far safer and more flexible way than is currently available.

What I'm suggesting is a variant of /nllink that has its own permission, doesn't inherit players' ranks from the supergroup, and only adds them as member on the subgroup. It should require the permission on both groups when linking, and only on one when unlinking. A good default would probably be mods (same as /nlip and /nllm).

With the regular link command, you need* to be an owner on both groups you wish to link. Furthermore, as ranks are inherited in the subgroup, you're also handing the subgroup to other owners on the supergroup, limiting its use to cases where you trust them. With other ranks being inherited, you need to consider what permissions this will grant them on the subgroup, and in many cases will require you to tailor either the subgroup's permissions or the supergroup's ranks, which can be impractical in complex group hierarchies.

With a non-inheriting link command, you wouldn't need to be an owner on either group, but simply have its permission on both. For example, this would let you, with approval, link your private group as a subgroup to your nation's citizens group, without surrendering it to the owners of the supergroup, or having to tailor the permissions of inherited ranks you don't control.

The regular link command is also fairly useless for cooperation for the same reasons. An example would be if you are cooperating with another nation in a war, and wish to allow all of their citizens access to your snitch group. With the current command, this is impossible without surrendering ownership of your group to the other party: a risk that most nations probably wouldn't be willing to take.

However, a non-inheriting link command in the above situation makes it convenient and safe. I invite a mod from their group to mine, they run the command to link the groups, and we can then cooperate. It's fairly safe both ways, too; the worst they could do is blanket add members to their own group, which they could likely do anyway with /nlip. Either side could easily unlink, too.

*technically not a requirement, but assigning the regular command's permission to a lower rank lets a player of that rank elevate themself to owner, so it essentially implicates ownership.

Edit: the cooperation case in this would also require subgroups being able to have multiple supergroups, though the first use case of sharing private groups with a pre-existing group still works.

ProgrammerDan commented 8 years ago

I think this is a close variant of my "option 1" in #188

Maxopoly commented 8 years ago

This is pretty much what was implemented with NameLayer 2.6 perm rework