New permissions are cool but have screwed a few of us over pretty bad :(

While I'm guessing I'll be in a minority here, I've used another plugin called "skills" which on my server has essentially allowed me to set up the purchasing of permissions. Users would spend in-game money to obtain certain abilities, one of them being spawning a mini, another being reduced cooldown of the mini, the last being unlimited fuel for the mini.

While your plugin right now does allow me to do all of those things, anyone who has previously purchased those skills no longer have those permission anymore. What this has forced me to do is go through every person's skills and MANUALLY apply the new permissions you have set with this update. 

Love that there is some updates to this plugin, but please please PLEASE be more considerate when changing permissions this drastically in the future as this has caused a lot of headaches for my self and other admins that I also help set up these permissions for. 

Just wanted to give my 2 cents here as this update has really pushed me away from wanting to use this plugin anymore and more towards something else that potentially wouldn't change their permissions so drastically. 

Also while the answer for any server that had VIP packages with reduced cool downs for minis would be that the "group" would receive a new permission, the plugin "skills" isn't like that as it applys a permission ONLY when that skill is purchased and not again in the future. 

Please be more considerate in the future if you are to change permissions like this though :)

I don't know what you're talking about. The v3.1.0 release was backwards compatible, it only added new permissions. This plugin follows semantic versionsing, so backwards incompatible changes only occur in major version releases, the last being v3 which was released 8 months ago and has clear documentation regarding the upgrade caveats.

If you are talking about the v3.0.0 release, providing feedback 8 months later is a bit too late. That being said, if migrating was an issue for you, if you had stated that before doing the migration, I would be open to adding a config option to enable some sort of legacy mode that allows the old permissions to work.

If you are seeing a backwards incompatibility in v3.1.0 compared to previous 3.x versions, please clarify what was changed because it was an accident.

You are probably right, we haven't updated this plugin in a good long time prior to this so that is something that I completely missed if that had changed.

This updated though had forced me to update while the previous ones had not.

For example what has changed for me is this, previously where I would have had the top tier cooldown it would have had this permission before:

spawnmini.tier9

Now that permission has moved to:

spawnheli.spawnmini.cooldown.spawn.tier9

 

I think my issue here is that we were FORCED to update in order to get our spawning of mini's to be functional again and you are right, I didn't take the time to check previous updates which would have led me onto this.

This is also the case for the other admins in which I helped set their permissions for skills up, they didn't need to update until now so we just haven't.



Merged post

Also, this has led me to figure out a better option for my skills going forward in the future which is to create an oxide group for each individual skill level (while yes this will create 40+ groups) it would have been a very easy fix for me to apply if I would have done this in the past. This would give me the ability to change the permissions even if I were to swap plugins to something completely different with little work on my part to fix.

 

So there is at least something positive that has come of this :) 

 

Thank you for your quick reply as well

That makes sense. I'm aware that it can take server owners months to get around to updating plugins, sometimes even years. I am always very considerate and make backwards incompatible updates only as a last resort. I can probably count on one hand the number of backwards incompatible updates I've made to the nearly hundred plugins I maintain across uMod and GitHub. Most devs will instead make backwards incompatible changes constantly ("delete config", "delete lang file", any change that requires manual action besides updates the .cs file is a backwards incompatibility).

In many cases, it is far easier to make a backwards incompatible change than to make a backwards compatible one, but I always choose backwards compatible if it can be done, even if it takes me hours of additional development, because I know it could save hundreds of hours of server owners' time collectively.

I understand that permissions are tricky because they can persist for a long time and can be referenced by other plugins, which is why the documentation page still shows the v2 to v3 migration instructions and calls out specifically what you said above. Hopefully you were able to read that admidst this update to simplify the upgrade process.

Thank you again WhiteThunder for your help with this as its appreciated!!

 

Your care and thought for taking care of backwards compatibility is also appreciated here as well.

 

I'm looking into your instructions on the v2 to v3 now and will let you know if I have any issues and questions with that as well.

 

Thank you again!