Hi,
So, a while back I uploaded quite a bit of data to Wikidata and it worked well: it covered several items, numerous values, with qualifiers and references.
Now I want to correct something (in the references), so I go back to my schema, make a few changes in the hope that this will merge with existing values. I try on a single row before uploading everything.
But when I proceed to the upload, the "wikibase editing result" panel on the left shows "failed edit" for my single line.
I also tried with another line (another item) and get the same result. I also tried to delete the statement/value, in order to re-upload it from scratch, but I also get the same results. When I look at https://editgroups.toolforge.org/, I do not find a trace of the edit.
Any idea what this could be due to?
Thanks!
Nice that you're using the snapshot release and trying out this new error reporting feature!
When you get a "failed edit" in the "Wikibase editing result" facet, then you should be able to find the corresponding error message in the "Wikibase editing result" column. This column should be the last one in your project, at the very far right.
I didn't anticipate that this column might not be visible if you have many columns in your project, so we might need some particular way to help the user discover this column. I am not too sure what this should look like:
- automatically scrolling the grid horizontally to show this column once the Wikibase upload is complete
- adding a sort of bubble (perhaps with a question mark, as in a "tour" feature such as the one considered in In-tool documentation for the records mode · Issue #5174 · OpenRefine/OpenRefine · GitHub) around the facet to explain which column it is coming from
- changing the position of insertion of the column so that it is easier to spot. I think making it the leftmost column is a bad idea as it would not play nicely with the records mode. After the last column used in the schema perhaps?
Thanks for the quick reply @antonin_d.
To be clear, the column is indeed visible. For the line that failed to upload, it reads: "[failed-save] The save has failed."
Ah OK! That's indeed not a very helpful error message. Would you be able to share your project?
I'm interested to see if there would be any more informative message that the API is returning and that we should surface.
Maybe that's possible. How would I do that?
You can export it to an "OpenRefine project archive" with the export menu in the top right corner, and then upload it here or email it to me directly (my address is my first name @ my last name .eu)
Thanks, here it is! Send
Thanks a lot! I tried making an edit from the line where there was an editing error, and on my side it did work:
What I notice is that this edit is the exact inverse of the previous edit on this item, meaning that it's labeled as a "Manual revert" in the history:
https://www.wikidata.org/w/index.php?title=Q128586674&action=history
Therefore I wonder if you might have been prevented from doing this by an "Abuse Filter" which prevents certain types of users from doing certain types of edits. It could be that my account belongs to different user groups, meaning that I don't get blocked by the same filter.
It could also be that the servers were under a heavier load when you tried and that the edit would work again on your side.
One way to test the abuse filter theory would be to craft an edit which is knowingly violating some known filter and checking what the error message looks like in that case - I wouldn't be surprised if it was also "The save has failed".
Thanks for checking. So the first thing is just to wait and try again later?
After manual testing I can confirm that when getting blocked by an abuse filter, the same error message appears in OpenRefine. It's been reported before:
- 'The save has failed' error when uploading edits of wikitext
- Error message unclear when upload to Wikidata fails · Issue #4273 · OpenRefine/OpenRefine · GitHub
It looks like we'd need to make some changes to Wikidata-Toolkit for it to expose the more helpful messages that the MediaWiki API does return (in the following example, when adding a link to a blacklisted website):
{
"errors": [
{
"code": "failed-save",
"module": "wbsetclaim",
"*": "The save has failed."
},
{
"code": "spamblacklist",
"data": {
"spamblacklist": {
"matches": [
"tinyurl.com/some_link"
]
}
},
"module": "wbsetclaim",
"*": "The text you wanted to publish was blocked by the spam filter. This is probably caused by a link to a forbidden external site. The following text is what triggered our spam filter: tinyurl.com/some_link"
},
{
"code": "failed-save",
"data": {
"messages": [
{
"name": "wikibase-api-failed-save",
"parameters": [],
"html": {
"*": "The save has failed."
}
},
{
"name": "spam-blacklisted-link",
"parameters": [
{
"list": [
"tinyurl.com/some_link"
],
"type": "text"
}
],
"html": {
"*": "The text you wanted to publish was blocked by the spam filter.\nThis is probably caused by a link to a forbidden external site.\nThe following text is what triggered our spam filter: tinyurl.com/some_link"
}
}
]
},
"module": "wbsetclaim",
"*": "The save has failed."
}
]
}
If the Abuse Filter is blocking you based on the contents of your edits, there is no point in waiting, the result should stay the same. You might solve the problem by getting higher editing rights on Wikidata (since I seem to be able to make the edits), but I am not sure which ones!
Waiting until today did not improve the situation. I also checked my account and do not see anything listed in the abuse filter or other logs; something should show up, no? As for increasing user rights, I checked the various roles but am not sure what is appropriate. And it all just seems too much for simple edits -- also, it has worked in the past, I used OpenRefine for a bunch of edits (to upload all the data I sent you).
I've started work on exposing better error messages in this case, I'll let you know when you can download a new snapshot release with this improvement included. Once we have that, we should be able to see the real cause behind the error and that should help you get the edits through.
Awesome! Thanks for the help. Happy to test when it's ready.
You can try out this snapshot release:
- For Linux: https://pintoch.ulminfo.fr/791ab8fca4/openrefine-linux-3.9-SNAPSHOT.tar.gz
- For MacOS: https://pintoch.ulminfo.fr/d9132b876a/openrefine-mac-3.9-SNAPSHOT.dmg
- For Windows: https://pintoch.ulminfo.fr/73d08b480c/openrefine-win-with-java-3.9-SNAPSHOT.zip
If you re-attempt your edits with this version of OpenRefine running, the error message in the "Wikibase editing results" should hopefully be more precise.
Ok, I think we have it! .... drum roll, please.........IP bans!
Somehow, OpenRefine does not work in the browser I use to access Wikidata (that's probably something on my side and I will check it out). So I use it in a different browser.
The new snapshot of OpenRefine now shows a far more indicative message, starting with:
[globalblocking-blockedtext-range]
Your IP address is in a range that has been blocked on all Wikimedia Foundation wikis.
The block was made by AmandaNP. The reason given is No open proxies .
Blablabla
And, indeed, if I log in to Wikidata using the same browser as OpenRefine, I am blocked from editing.
Thanks for the help @antonin_d, now we have more precise error messages and we know what the issue is!