Comments (4)
@MarcoAurelioWM Thanks for reporting. I understand your example and I agree that we should aim to make that possible.
The behaviour you describe is not (yet) the case right now. The CVN get*
functions only add users, not remove.
I will accept this feature request, but I am unsure how to do it.
There is more than 1 reason for a user to be on a whitelist. For example, a user can be on the whitelist because they are a good editor without being an admin, or they can be on the whitelist because they are an admin on a different wiki.
Therefore, the getadmins test.wikipedia
command should not remove all users from the whitelist that are not currently admin on test.wikipedia
. It is more difficult.
The CVN database does have a "reason" field, but it can only contain one value at a time. This means when I run getadmins mediawiki.wikipedia
and then getadmins commons.wikimedia
. It will try to add me ("Krinkle") twice. Once for admin on mediawiki.org, and the latter overwrites it with reason "admin on commons.wikimedia.org".
It looks like we will need to support multiple reasons, which is a big technical change that requires a lot of (volunteer) time and knowledge of databases and C#
. Even then, it is possible that a user can stop being an admin without being a bad user and still be trusted.
For example, if you are initially on the whitelist automatically as an admin, then I would not add you a second time as a good editor. But, if you discontinue being an admin, I would want you to stay on the whitelist. I would not expect you to be removed by default.
Perhaps it should keep the getadmins
function unchanged, and instead recognise when "desysop" happens, and then react by removing from whitelist. That would be simpler and also means you don't have to do the getadmins
command. It would happen automatically.
from labs-countervandalism-cvnbot.
Thank you, @Krinkle, for your detailed reply.
I was assuming that there was one admin and bot list per project (I guess the p=<project>
parameter made me think so; the white/blacklist don't require a p=
parameter so I guess they're indeed global).
I agree that a desysop per se should not harm the user. It can be due to inactivity or resignation (which usually doesn't mean the user is now "bad" and thus can still be kept/moved to the whitelist) or due to a desysop process (which might warrant that at least said user for said project should not even be in the whitelist). However if we have a single database for every project (or the DB just accepts one reason value) then indeed looks a bit more complicated.
Feel free to decline if you think this is an enormous ammount of job that cannot be accomplished at this moment or in the near future. The least I want is to give you people more complicated work. Although I still think it'd be a good idea. Maybe the DBs could have some sort of new values like project
. That said, my MySQL knowledge is rather scarce so apologies if I've said a silly thing.
Thank you.
from labs-countervandalism-cvnbot.
I was wrong. The adminlist and whitelist as separate things. It is true that there is only one reason field, and no per-project whitelist. But, the adminlist is always per-project. A username can be on multiple per-project adminlists, and on the (global) whitelist, for example.
CVNBot14> Krinkle is on commons.wikimedia admin list, added by CVNBot until the end of time ("Auto-download from wiki") and on global whitelist, added by Krinkle until the end of time ("No reason given")
This means it should be fairly easy to remove outdated entries from the admin list. And, since the adminlist has precedence over the whitelist when it comes to filtering and display logic, this could actually change behaviour and be of some use.
However, we would probaly want to first make it so that admins are automatically (also) added to the global whitelist, so that when they are later removed, they at least stay on the general medium filter of good editors unless someone manually removes them there as well. But, at least they would (correctly) no longer be reported by the bot as an "Admin", and no longer subject to the filtering logic applied to admins.
from labs-countervandalism-cvnbot.
I'll decline this per the above. Keeping them on the wl/al respectively seems fine. I'd actually be in favour of merging those two lists.
from labs-countervandalism-cvnbot.
Related Issues (20)
- Secondary account creations are displayed as if the creator's account is being created HOT 2
- Fatal error on quit HOT 1
- Fix unmatched block type errors
- Protection flags displayed inside article name HOT 2
- Greylist should not override Blacklist HOT 2
- Ignore multiple spaces between user name and expiry in list commands
- Can not load webresources due to "SecureChannelFailure#012" occured HOT 2
- Can not load new project due to "The remote server returned an error: (404) Not Found." occured
- Release 1.22 HOT 6
- Unable to reload - returns 404 HOT 1
- Broken CentralAuth URL on accounts created by others HOT 6
- ReactorException: Item has already been added. Key in dictionary: 'watchword' Key being added: 'watchword'
- Error "IRC: Closing Link" should be handled HOT 2
- Consider hiding deletion events in CVN channels HOT 2
- Support running CVNBot on dotnet HOT 3
- #cvn-wikidata loses RCReader connection HOT 1
- Rewrite in Python 3 HOT 3
- Process should exit (or restart) if gone from feed network and source network HOT 2
- Ignore blocks made with 'flood' flag HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from labs-countervandalism-cvnbot.