Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjust the requirement for uploading images directly to Wikidata #149

Open
kunfang98927 opened this issue Aug 29, 2024 · 4 comments
Open

Comments

@kunfang98927
Copy link
Contributor

Recently I have been studying the image upload function of UMIL, mainly trying to upload the user's image to wikidata directly through the pop-up window of UMIL. I learned how to use the "upload" API here: https://www.mediawiki.org/wiki/API:Upload

But I got the following error:

{'error': 
    {'code': 'permissiondenied', 
     'info': 'The action you have requested is limited to users in one of the groups: [[Wikipedia:Autoconfirmed users|Autoconfirmed users]], [[Wikipedia:Administrators|Administrators]], [[Wikipedia:User access levels#Confirmed|Confirmed users]].'
...
}

This error is related to my wikipedia user group. Specifically, only Autoconfirmed users, Administrators and Confirmed users can upload files. Currently, the user group of my account is User, which doesn't have the right to call the upload API. Please look up complete user rights for different user group here: https://www.wikidata.org/wiki/Special:ListGroupRights, and user access here: https://www.wikidata.org/wiki/Wikidata:User_access_levels.

Among these user permissions, the easiest to obtain should be Autoconfirmed users. According to Autoconfirmed users:

Although the precise requirements for autoconfirmed status vary according to circumstances, most Wikidata user accounts that are more than four days old and have more than 50 edits are considered autoconfirmed.

So I made at least 50 edits (translations of some entries) with my own account to see if it would automatically become an Autoconfirmed user. However, my account has now become an "Implicit member of: Autoconfirmed users" but still has not become an Autoconfirmed user. It is more difficult to become a "Confirmed user" and "Administrator". To become an "Administrator", you need to apply and go through a vote. "Administrators" can authorize "Confirmed users".

Therefore, one of my concerns is that no matter we decide to apply for an "administrator" account or be an "auto-confirmed user", we should not allow our UMIL users to submit edits to Wikidata directly through UMIL. Because we need to be responsible for any edits submitted to Wikidata through DDMAL's account. Unless UMIL users submit edits to our UMIL server first, and then our DDMAL members review the content before submitting it to Wikidata.

Based on the above, do you have any comments and suggestions @fujinaga @dchiller @yinanazhou? My point of view is that if we decide that we must review the content uploaded by UMIL users, we can first develop a function that allows users to upload images to the UMIL server.

@kunfang98927
Copy link
Contributor Author

An easier thing to do is to add new instrument names to Wikidata, which doesn't require special user permissions like uploading images does. Maybe I can develop the feature to add new instrument names before we discuss the specifics of uploading images.

@kunfang98927
Copy link
Contributor Author

kunfang98927 commented Aug 30, 2024

Here is some details related to calling wikidata & wikimedia commons APIs. In UMIL, we want to edit/upload something to wikidata & wikimedia.

1. Add an instrument name

call wikidata API with an action of wbsetlabel:

{
    "action": "wbsetlabel",
    "id": <wikidata_id>,
    "value": <value>,
    "language": <language>,
    ...
}

2. Add a new image for an instrument (regardless of whether there is already an image in Wikidata)

  • Step 1: upload image to wikimedia by calling wikimedia commons API of upload. This step won't bond the image to any wikidata entity.
{
    "action": "upload", 
    "filename": <image_name_in_wikimedia>,
    "file": <file>,
    ...
}
  • Step 2: bond the uploaded image to the musical instrument entity by calling wikidata API with an action of wbcreateclaim.
{
    "action": "wbcreateclaim", 
    "entity": <wikidata_id>, 
    "property": "P18", # Property for "image"
    "value": f'"{image_name_in_wikimedia}"',  # The value should be in quotes
    ...
}

3. Create a new page for an instrument which doesn't exist in wikidata

call wikidata API with an action of wbeditentity:

{
    "action": "wbeditentity",
    "format": "json",
    "new": "item",
    "data": <json_data>,
    ...
}

@fujinaga
Copy link
Member

@kunfang98927 Thank you for the detailed explanation. We can discuss this further at the lab meeting today, but I think the actual update to Wikidata should be assigned to specific people in the lab (or some other trustworthy people) and not all registered users, who can update information (upload name and pictures of instruments) on UMIL but not directly to Wikidata. We can discuss things like, if that's the case (e.g., we upload the pictures for them), why don't people do that themselves without using UMIL? (My answer would be: they can. But they don't need to become Autoconfirmed users.)

@kunfang98927
Copy link
Contributor Author

kunfang98927 commented Aug 30, 2024

Yes. I agree that UMIL can provide more convenience for users who are not Autoconfirmed users to update information to wikidata.

Another thing to be discussed is: how can we ensure that the images which are uploaded by UMIL registered users don't have any copyright issues. People in our lab can only know whether the content is proper but have no idea about the copyright information.

The easiest way to upload image to wikimedia is through Upload Wizard. Before uploading the image there are a lot of questions related to copyright should be answers by the uploader.

Here is the file uploading rules of wikimedia:

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants