Page MenuHomePhabricator

Create an API which returns a specific user's current Wikipedia Library access eligibility
Closed, ResolvedPublic3 Estimated Story PointsFeature

Description

With EBSCO Discovery Service being integrated into Earwig's Copyvio Detector, we may need to first check if a user has access to TWL before being able to run the check. Showing contents of publications from EBSCO for users without TWL access might be a legal/copyright issue; we don't know if we have or if we can get permission for that.

Regardless of the ways in which we might excerpt content, we would ideally display a TWL-proxied link to the source, which would not be useful for users who aren't eligible to access the library, so this information would help target that link to the users who can use it.

TWL currently only has a per-partner user list API - the scope of this task would be to create an API which takes a username and returns their current library eligibility.

Event Timeline

Chlod renamed this task from Ability to check if a user has TWL access through API to Add ability to check if a user has TWL access through API.Aug 20 2024, 2:22 AM
Samwalton9-WMF renamed this task from Add ability to check if a user has TWL access through API to Create an API which returns a specific user's currently Wikipedia Library access eligibility.Aug 20 2024, 9:26 AM
Samwalton9-WMF updated the task description. (Show Details)

We're in contact with EBSCO to understand what their requirements are around excerpting content into Copyvios. Regardless, this API would still be useful for providing the proxied links to the right users.

One consideration is whether the API should be public or not. I'm inclined to say that it's fine to be public - library eligibility is based on public information so I don't see any harm.

Samwalton9-WMF renamed this task from Create an API which returns a specific user's currently Wikipedia Library access eligibility to Create an API which returns a specific user's current Wikipedia Library access eligibility.Aug 20 2024, 9:35 AM
Samwalton9-WMF moved this task from Inbox to Product backlog on the Moderator-Tools-Team board.

A quick note on this - a quick win here is to check if the user has 500 edits / 6 months tenure and just not hit the API if not. This information might be retrievable via the notification the TheWikipediaLibrary extension sends (or do the same checks).

@Samwalton9-WMF for implementing a real "live" check in TWL: are there any privacy/legal concerns over making this status available publicly? I only ask because we've had hesitation to publish similarly correlated public user data for wikilink in the past.

@Samwalton9-WMF for implementing a real "live" check in TWL: are there any privacy/legal concerns over making this status available publicly? I only ask because we've had hesitation to publish similarly correlated public user data for wikilink in the past.

I don't think so - we're only using public information to make this determination. The only 'hidden' information is whether we have granted the user a block exemption, which doesn't feel particularly sensitive.

A quick note on this - a quick win here is to check if the user has 500 edits / 6 months tenure and just not hit the API if not. This information might be retrievable via the notification the TheWikipediaLibrary extension sends (or do the same checks).

I think we need a little more information about how this integration works in copyvios
https://github.com/earwig/copyvios

The 500 edit 6 month check could potentially be done directly in copyvios just as easily as in the wikipedia library extension.

@Samwalton9-WMF for implementing a real "live" check in TWL: are there any privacy/legal concerns over making this status available publicly? I only ask because we've had hesitation to publish similarly correlated public user data for wikilink in the past.

I don't think so - we're only using public information to make this determination. The only 'hidden' information is whether we have granted the user a block exemption, which doesn't feel particularly sensitive.

a note to self to follow up with questions about wikilink user data that we don't publish due to privacy concerns - it my memory it is similar to this and makes life more complicated that we didn't get the go ahead to publish it.

A quick note on this - a quick win here is to check if the user has 500 edits / 6 months tenure and just not hit the API if not. This information might be retrievable via the notification the TheWikipediaLibrary extension sends (or do the same checks).

I think we need a little more information about how this integration works in copyvios
https://github.com/earwig/copyvios

The 500 edit 6 month check could potentially be done directly in copyvios just as easily as in the wikipedia library extension.

This could make sense, but I wonder what the rate of logins is - do you have any data on this yet @Chlod @Earwig? It might not be a large number of requests (i.e. dozens per day?). Since this check is likely to determine whether we display partner content to users I do think it needs to follow the library's definition of an eligible editor as closely as possible.

@Samwalton9-WMF for implementing a real "live" check in TWL: are there any privacy/legal concerns over making this status available publicly? I only ask because we've had hesitation to publish similarly correlated public user data for wikilink in the past.

I don't think so - we're only using public information to make this determination. The only 'hidden' information is whether we have granted the user a block exemption, which doesn't feel particularly sensitive.

a note to self to follow up with questions about wikilink user data that we don't publish due to privacy concerns - it my memory it is similar to this and makes life more complicated that we didn't get the go ahead to publish it.

If I recall the distinction is that for Wikilink we need data on the list of users who have access to each partner, including those where users have an individual account or access code, and I believe we discussed publishing lists of which users have accounts registered where was a potential privacy/security risk. In this case all we're sharing is whether an account is eligible to use the library in general, which anyone could determine with a couple of simple queries.

jsn.sherman set the point value for this task to 3.Oct 15 2024, 3:28 PM

@Samwalton9-WMF for implementing a real "live" check in TWL: are there any privacy/legal concerns over making this status available publicly? I only ask because we've had hesitation to publish similarly correlated public user data for wikilink in the past.

I don't think so - we're only using public information to make this determination. The only 'hidden' information is whether we have granted the user a block exemption, which doesn't feel particularly sensitive.

a note to self to follow up with questions about wikilink user data that we don't publish due to privacy concerns - it my memory it is similar to this and makes life more complicated that we didn't get the go ahead to publish it.

thanks!

This could make sense, but I wonder what the rate of logins is - do you have any data on this yet @Chlod @Earwig? It might not be a large number of requests (i.e. dozens per day?). Since this check is likely to determine whether we display partner content to users I do think it needs to follow the library's definition of an eligible editor as closely as possible.

I only looked at 24 hrs of traffic, but it looks like about 100/day.

Samwalton9-WMF moved this task from QA to Done on the Moderator-Tools-Team (Kanban) board.

Tested with a few eligible, and not, users. LGTM!