overleaf / overleaf/overleaf

Zotero integration: all users should be allowed to refresh Zotero (group) library imports

Open
#1,065 13 comments 8 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement overleaf.com
Dominant language
JavaScript
Stars
18.1k
Forks
2.1k
PR merge metrics
No merged PRs in 30d

Description

Zotero group libraries are shared libraries that many teams use in collaboration. It's great if Overleaf supports them. Right now it doesn't really — only the user who originally added the group library is allowed to refresh it, which defeats the point of using group libraries in the first place.

Steps to Reproduce

  1. User 1 adds a Zotero group library through Add Files > From Zotero
  2. User 2 clicks on zotero.bib, hits 'Refresh' button
  3. "Access Denied: You are not the user who originally imported this file"

Expected Behaviour

Expected behaviour is that at step #2, Overleaf dutifully refreshes the bib file because it is a group library.

Observed Behaviour

What actually happens is an access denied error: "Access Denied: You are not the user who originally imported this file"

Context

Group libraries are shared libraries that multiple users contribute to and that Zotero syncs from multiple user accounts. For Overleaf to restrict refreshing them to just the user who happened to add it defeats the point of the group library.

Technical Info

The Zotero API is designed to enable this kind of use, so Overleaf is here imposing an arbitrary limitation. The issue is made for group libraries (for this is the use case that is most strongly affected), but one might argue that given the collaborative nature of Overleaf, refreshing any imported Zotero file (whether it is a personal or a group library) should be allowed by any user with rights to edit that document. After all refreshing is a harmless one-way import.

Analysis

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by tracing the Add Files > From Zotero import and the Refresh action for zotero.bib, then locate the check that compares the current user with the original importer. Done means an editor can refresh a Zotero group-library import without the access-denied error, with regression coverage for the reported steps.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, authorization, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.