Client API?

What is the best practice to write bidirectional Zotero extensions that read/write to the local database? (I can't use the server API due to privacy concerns).

A while ago I wrote a program to import data into Zotero
https://gist.github.com/danbe/6547077
This worked reasonably well to import a large number of files, but FF has no future, so it makes no sense to extend this.

What I need to do is search, add/delete tags, notes, files etc.

At the moment, the only way to get at the data seems to be direct access to he database, of course this is very risky and one way only, as Zotero locks the db, so I have to make a copy even if I only want to read. Also, this doesn't really work for writing, and I'd basically have to re-write all the relevant parts of Zotero in my own program.

The http connector has some of the functionality already, but it is write-only. Are there any plans to create a more powerful client API?

Has a decision been made for the next platform? Electron or Qt?


  • Are there any plans to create a more powerful client API?
    It'd be better to post this to zotero-dev, but, briefly, one thing I've explored is having the Zotero client provide a subset of the web API locally, so you'd be able to write a tool that worked with zotero.org or the local Zotero client depending on the endpoint you used. No ETA for that, and it'd be read-only first, but that's probably the most likely option.
    Has a decision been made for the next platform? Electron or Qt?
    The current plan is Electron, yes.

    For further discussion or other technical questions, feel free to post to zotero-dev.
  • That sounds promising, thank you. Even if it is read-only, it would be a very good starting point to turn my collection of hacks into something more portable. I'll check in on the dev list.
Sign In or Register to comment.