Zotero to CiteDrive

CiteDrive creates a public (shareable) API for .bib files. It would be cool if I could connect Zotero to CiteDrive and "push" some collections to be replicated as CiteDrive projects, which I could then share with my colleagues. This sounds like an interesting Zotero Extension idea, but perhaps something which could be considered for Zotero cloud solution?

References: CiteDrive https://www.citedrive.com/docs/quick-start/
  • I mean, you can get BibTeX data out of Zotero from the Zotero API — Overleaf has built-in Zotero integration and there are plugins for RStudio. You don't need to use some other tool for that.

    If there's a specific feature you want in Zotero, you'd have to say what it is.
  • (RStudio integration is now built in as well. It's very slick)
  • @dstillman, I am using Zotero with BBT locally. When I share the Quarto source file, I need to pass the .bib file along with it. I would ideally like to include the public URL (in the YAML section of my document), which would contain exactly the same keys as I have them in my Zotero library, no authentication, no keys, just the unique public URL. As long as people use this unique address they can render my QMD document and will get all references correctly resolved. I see CIteDrive as Public API for the Zotero collection. Have a look at the CiteDrive documentation. Here's for example, how I would write the header of my QMD file linking to CiteDrive library

    ------
    title: "My cool paper"
    author: John Doe
    bibliography: https://api.citedrive.com/bib/e11efd6c-8176-45d5-9491-69fbcaa12ac3/references.bib?x=eyJpZCI6ICJlMTFlZmQ2Yy04MTc2LTQ1ZDUtOTQ5MS02OWZiY2FhMTJhYzMiLCAidXNlciI6ICIyNzM1IiwgInNpZ25hdHVyZSI6ICJiYWQ0NmE4YzYyOGNkZGM0NDgxY2FhYmExNzQ1MGQ4MGUxYTNhMGE2ZDFiNjJjZjZhOGM3MjA3MmYzNjQ1OTQ0In0=/bibliography.bib
    --------

    The body of the document
  • With RMarkdown or Quarto, it’s also better to USE CSL-JSON or CSL YAML files rather than .bib. When a Markdown/Quarto file is built, the pandoc program that handles the process needs to convert .bib to CSL format, and that’s a lossy process because .bib uses more ad hoc data fields than CSL. Most items that aren’t journals or books (eg, software) will be cited at least a little wrong when using .bib with Markdown/Quarto.
  • Yes, @bwiernik. This is besides the point. CSL-JSON is better, I agree. I want my Zotero exposed in CSL-JSON format as API.
  • edited February 18, 2023
    Yes, and again, Zotero has an API, and you can get CSL-JSON from it. If there's something you want it to do that it doesn't, you should request that, but the idea that you need some other tool to get data out of Zotero is bizarre.
  • edited February 18, 2023
    Ok. @dstillman, I am willing to apologize and close the thread if one more person confirms that what I am talking about, already exists in Zotero: I need to give access to a part of my Zotero library via public URL without any additional authentication by the user. Because today, I pass the local bibliography file along with my drafts. I would love to just pass a public URL, as in the example above.

    As I said, it may not be of core interest to Zotero team to modify the API, so I thought someone might be interested to develop an extension, which would push part of my library to CiteDrive to be then exposed via the URL.
  • Kind of exists. Any version of this would give the recipient read access to your entire library, not just one collection: you can *link* to just one collection, but either would have your library set to be public or would have to include an API key in the link which would give read access to the entire library (you can disable note access). It also won't work for reference files with more than 100 items (which require multiple API calls on the Zotero end).

    But I don't quite understand the use case. This seems significantly worse than just putting the BBT (or R-Studio) -generated references.bib or references.json file in box/Dropbox/Drive/github and linking to that? Going through citedrive involves two APIs and Citedrive reconstitutes the bibtex, as I understand it, so lots of potential for things to break.

    If someone wanted to develop something, though, the natural place would be on the Citedrive end of things: OAuth with the Zotero API and pull in whatever content you specify.
  • edited February 19, 2023
    either would have your library set to be public or would have to include an API key in the link which would give read access to the entire library
    And to be clear, this can be a group library — the standard approach here would be to create a group library, drag some collections to it, and use API links to the library or collection to get the data in the format you want.

    For something like a share link to a specific collection in an otherwise private library, that doesn't exist, but it's something we've long generally planned to add. And that's my point about the framing here — if there's something you want Zotero to do, you should just ask for it.

    But as adamsmith says, just using a BBT-generated file is a much more common approach here.
  • edited February 19, 2023
    Ok. I rest my case
    > just putting the BBT (or R-Studio) -generated references.bib or references.json file in box/Dropbox/Drive/github and linking to that
    This seems to be the DIY citedrive solution I should look into. I don't like making my entire library public. I also would like the file to be updateable, as I develop the draft. So automatic generation via RBBT and subsequent uploading to the cloud service seems to be a plausible solution. Thank you all for your tolerance to my misguided question.
Sign In or Register to comment.