Page MenuHomePhabricator

Add button to automatically fix certain constraint violations
Open, LowPublic

Description

For some constraint types, especially Symmetric and Inverse, the usual fix is simple enough that the user script / gadget could offer a single button “fix this” that would fix the constraint violation automatically (in this case, add the statement on the other item).

Event Timeline

This needs serious discussion and design thought from @Jan_Dittrich before we do it. I am worried that if we do this wrong we're going to get too many fixes that should not be done.

@Lydia_Pintscher: But without something like this, it makes it more likely that people will start removing correct statements to make the warning go away. I can easily imagine a user who is less familiar with the interface (and the fact we're expected to enter the same thing twice on two separate pages) seeing a warning, wanting to resolve it, looking at the current page for a way to do it and only being able to find the "remove" link. Then when they try clicking remove (given the lack of any other obvious options), the warning goes away like they wanted.

Yeah I'm not saying we shouldn't have it. We just need to make sure we get it right.

Aside of "it will work", both assumptions (people wrongly delete things and people wrongly by-button-autofix things) seem plausible. So my suggestion would be to see how it is used when people start to (slowly) enable it as gadget and based on it take steps for improvement. So, although it is good to already consider these concerns, let's decide about it, when we know more.

Discussed this briefly with @Sjoerddebruin and he suggested we could roll out this part only to users with a certain edit count or the rollbacker right. That seems sensible to me as a start.

@Nikki suggest tagging all the edits with a specific tag to make them easier to find. We should do that.

It seems to me that new/ low activity users are those most likely to need to be guided like this.

Then again, if we can use a script to tell people that an inverse item should be added, we may as well let a bot add it.

The meta issue is that we currently do not distinguish sufficiently between warnings that "you did something that is clearly wrong; please fix it ASAP" and hints that "there is something else that you might like to do, if you have a minute".

I would love this feature, I frequently add new properties that require a sibling statement (e.g. Steam Application ID requires that you add Steam as a Distribution method for the item) and this would make my life a lot easier :)

Maybe this should be merged with T276876. I would suggest also adding T209559 as parent task.