Zotero-better-bibtex: BBT does not support connector mode

Created on 3 Feb 2015  路  15Comments  路  Source: retorquere/zotero-better-bibtex

Pull export seems broken in the latest standalone zotero versions (0.7.9 and 0.7.10). When running
wget http://localhost:23119/better-bibtex/library?library.bibtex
I now get the response

--2015-02-03 10:08:41-- http://localhost:23119/better-bibtex/library?library.bibtex Resolving localhost (localhost)... 127.0.0.1 Connecting to localhost (localhost)|127.0.0.1|:23119... connected. HTTP request sent, awaiting response... 404 Not Found 2015-02-03 10:08:41 ERROR 404: Not Found.

Pull export still works (sort of), using the wget command above, in Zotero for Firefox where I still have Better Bibtex version 0.7.7 (not restarted for a while): After running Zotero standalone (and closing it) I need to uncheck/check the "Enable http export" button in Zotero for Firefox to get the pull export working again.

Thanks for a great piece of software!
Henrik

bug

Most helpful comment

You can't run both ZF and ZS simultaneously. You will either get a lockout
like this, or you'll corrupt your references.

All 15 comments

My pleasure. So there are two problems if I understand you correctly:

  1. BBT for Firefox only works sort of.
  2. BBT for standalone (ZS) keeps resetting the http export to off.

Right? Let's tackle these.

  1. In what way does it work sort of? Is there anything specifically that fails, or does it work but with random failures? Can you open a separate issue for this?

The rest will concern diagnosing 2 (pull export fails for ZS).

Steps:

  1. Please set http export to ON, then uninstall BBT, restart ZS, open about:config from Preferences -> Advanced, and look up the value for extensions.zotero.httpServer.enabled. It should say true
  2. Install BBT and restart ZS. Go into about:config, check for extensions.zotero.httpServer.enabled again. It should still say true
  3. Go to the BBT preferences. There ought to be _no_ option Enable export by HTTP

If any of these steps fail, please go into Preferences-> Advanced, check enable after restart, restart, go into Preferences -> Better BibTeX, verify that Enable export by HTTP is visible, then to the Advanced tab, click View output, select-all, paste into a text file, and drop that into https://dbinbox.com/allthatisthecase

I can't reproduce the problem locally, so I'll need your help to debug this. It looks like the http preference gets reset, but I really can't yet think of a reason why.

I followed the steps you suggested regarding ZS, with the result that pull export works again. It seems that uninstalling / reinstalling BBT has fixed this. I have done the same in Zotero Firefox and the issue has gone away there as well.

Just to confim, before uninstalling BBT, extensions.zotero.httpServer.enabled was true in ZS, but export didn't work.
After reinstalling the config entry remained unchanged, but export worked again.

I'll keep an eye on this and will report back if this happens again (and try to capture a debug output). In the meantime, I think this issue may be closed (unless it can be reproduced somehow...).

Thanks again!

The only cause I think that could behind this is plugin load order. What other ZS extension do you have installed?

I've also got Zotfile (4.1.2) and Zutilo (1.2.10) installed.

Alright, I've added those to the test suite in a randomized load order; if they cause interference, it'll crop up at some point.

I ran into this issue again today. Here is the debug output:

[JavaScript Error: "NS_ERROR_STORAGE_BUSY: Component returned failure code: 0x80630001 (NS_ERROR_STORAGE_BUSY) [mozIStorageService.openDatabase]" {file: "chrome://zotero/content/xpcom/db.js" line: 1119}]

version => 4.0.25.2, platform => Linux x86_64, oscpu => Linux x86_64, locale => en-US, appName => Zotero, appVersion => 4.0.25.2

(5)(+0055888): GET /better-bibtex/library?library.bibtex HTTP/1.1
User-Agent: Wget/1.15 (linux-gnu)
Accept: _/_
Host: localhost:23119
Connection: Keep-Alive

(5)(+0000000): HTTP/1.0 404 Not Found
X-Zotero-Version: 4.0.25.2
X-Zotero-Connector-API-Version: 2
Content-Type: text/plain

No endpoint found

Something is locking one of your zotero databases. Could you try a full restart of your computer?

Restarting firefox fixed this (for the time being), so it seems that the locking process was ZF.
Before this happened, I had used Zotero firefox to import some citations, then started ZS.
I have tried to reproduce this, but don't get the same error again just now.

You can't run both ZF and ZS simultaneously. You will either get a lockout
like this, or you'll corrupt your references.

The behaviour I see is that ZF is automatically closing the database when ZS is started (or prevents ZS from starting if it cannot do this) - I understand that this is the expected behaviour of Zotero to prevent any database corruption.

Ah, you're using ZF in connector mode. Hmm. That is not currently supported by BBT, and I think it might have some dangerous edge cases with Zotfile too. This is not an easy fix. I'll think about it, but there's no short-term solution.

OK, that makes sense. Thanks for the explanation.
As far as I can see, connector mode is the default behaviour for ZF if ZS is used at the same time.
I'll stick to using ZS only, for the time being.

That seems to be the case. I'm trying to figure out connector mode, but none of this is part of the published API, so I need to decode the use of the IPC mechanism from the sources.

I'm making slow progress on this, but no ETA yet.

Was this page helpful?
0 / 5 - 0 ratings