New plugin: ZoteroQuickLook

1235789
  • edited November 13, 2010
    Hi mronkko
    Thx for your fine work :-)
    I tested your 1.1beta and its working.

    win7
    ff 3.6.12
    zotero 2.1b3.r7323
    macomfort 1.5.0.0.

    cheers
    mads
  • Works for me.

    Ubuntu 10.04, FF 3.6.12, Zotero 2.0.9, gloobus-preview 0.4.5

    Splendid.

    Thanks.

    duff
  • Once a couple of people confirm that this works with Zotero 2.1 and FF4, I will publish the update to Mozilla Extensions Directory.
  • Doesn't work for me with Zotero 2.1 and FF4... What other information can I provide you with? It's installed but when I press the space bar nothing happens...

    Thanks for the great plugin!
  • Greg: I would need debug output from you to diagnose the issue. Can you switch debug mode on and do "Real-time debug output" described on this page:

    http://www.zotero.org/support/debug_output

    Just launch Firefox and post what you get.
  • Here you go ... I only posted the stuff until the last reference to Quicklook. Let me know if you need the other stuff too. It's just very long and would only fit in something like 5 posts....

    zotero(3): Using data directory /Users/greg/Documents/library/Zotero

    zotero(3): Opening database 'zotero'

    zotero(5): PRAGMA locking_mode=EXCLUSIVE

    zotero(3): pdftotext-MacIntel not found -- PDF indexing disabled

    zotero(5): SELECT version FROM version WHERE schema='userdata'

    zotero(5): Beginning DB transaction

    zotero(3): Beginning Notifier event queue

    zotero(5): SELECT version FROM version WHERE schema='system'

    zotero(3): Updating custom tables

    zotero(5): DELETE FROM itemTypesCombined

    zotero(5): DELETE FROM fieldsCombined

    zotero(5): DELETE FROM itemTypeFieldsCombined

    zotero(5): DELETE FROM baseFieldMappingsCombined

    zotero(5): INSERT INTO itemTypesCombined SELECT itemTypeID, typeName, display, 0 AS custom FROM itemTypes UNION SELECT customItemTypeID + 10000 AS itemTypeID, typeName, display, 1 AS custom FROM customItemTypes

    zotero(5): INSERT INTO fieldsCombined SELECT fieldID, fieldName, NULL AS label, fieldFormatID, 0 AS custom FROM fields UNION SELECT customFieldID + 10000 AS fieldID, fieldName, label, NULL, 1 AS custom FROM customFields

    zotero(5): INSERT INTO itemTypeFieldsCombined SELECT itemTypeID, fieldID, hide, orderIndex FROM itemTypeFields UNION SELECT customItemTypeID + 10000 AS itemTypeID, COALESCE(fieldID, customFieldID + 10000) AS fieldID, hide, orderIndex FROM customItemTypeFields

    zotero(5): INSERT INTO baseFieldMappingsCombined SELECT itemTypeID, baseFieldID, fieldID FROM baseFieldMappings UNION SELECT customItemTypeID + 10000 AS itemTypeID, baseFieldID, customFieldID + 10000 AS fieldID FROM customBaseFieldMappings

    zotero(5): SELECT version FROM version WHERE schema='triggers'

    zotero(5): Committing transaction

    zotero(3): Resetting Notifier event queue

    zotero(5): SELECT version FROM version WHERE schema='delete'

    zotero(5): SELECT version FROM version WHERE schema=?

    zotero(5): Binding parameter 1 of type string: "translators"

    zotero(3): Installed translators are up-to-date with translators.zip

    zotero(5): SELECT version FROM version WHERE schema='delete'

    zotero(5): SELECT version FROM version WHERE schema=?

    zotero(5): Binding parameter 1 of type string: "styles"

    zotero(3): Installed styles are up-to-date with styles.zip

    zotero(3): Opening database 'zotero' for dummy statement

    zotero(3): Initializing dummy statement for 'zotero'

    zotero(5): SELECT version FROM version WHERE schema='sync'

    zotero(5): SELECT version FROM version WHERE schema='lastcheck'

    zotero(4): Not enough time since last update -- not checking repository

    zotero(3): Setting repository check interval to 85795 seconds

    zotero(3): Updating custom tables

    zotero(5): DELETE FROM itemTypesCombined

    zotero(5): DELETE FROM fieldsCombined

    zotero(5): DELETE FROM itemTypeFieldsCombined

    zotero(5): DELETE FROM baseFieldMappingsCombined

    zotero(5): INSERT INTO itemTypesCombined SELECT itemTypeID, typeName, display, 0 AS custom FROM itemTypes UNION SELECT customItemTypeID + 10000 AS itemTypeID, typeName, display, 1 AS custom FROM customItemTypes

    zotero(5): INSERT INTO fieldsCombined SELECT fieldID, fieldName, NULL AS label, fieldFormatID, 0 AS custom FROM fields UNION SELECT customFieldID + 10000 AS fieldID, fieldName, label, NULL, 1 AS custom FROM customFields

    zotero(5): INSERT INTO itemTypeFieldsCombined SELECT itemTypeID, fieldID, hide, orderIndex FROM itemTypeFields UNION SELECT customItemTypeID + 10000 AS itemTypeID, COALESCE(fieldID, customFieldID + 10000) AS fieldID, hide, orderIndex FROM customItemTypeFields

    zotero(5): INSERT INTO baseFieldMappingsCombined SELECT itemTypeID, baseFieldID, fieldID FROM baseFieldMappings UNION SELECT customItemTypeID + 10000 AS itemTypeID, baseFieldID, customFieldID + 10000 AS fieldID FROM customBaseFieldMappings

    zotero(3): Initializing Zotero integration pipe at /Users/Shared/.zoteroIntegrationPipe_greg

    zotero(3): Integration HTTP server listening on 127.0.0.1:50001

    zotero(3): Not enabling Z(ot)eroconf

    zotero(5): Beginning DB transaction

    zotero(3): Beginning Notifier event queue

    zotero(5): SELECT version FROM version WHERE schema='syncdeletelog'

    zotero(5): Committing transaction

    zotero(3): Resetting Notifier event queue

    zotero(4): Registering observer for all types in notifier with hash 8B'

    zotero(4): Registering observer for all types in notifier with hash GG'

    zotero(3): Registering URIContentListener

    zotero(5): SELECT * FROM proxies

    zotero(5): SELECT hostname FROM proxyHosts WHERE proxyID = ? ORDER BY hostname

    zotero(5): Binding parameter 1 of type int: 1

    zotero(5): SELECT hostname FROM proxyHosts WHERE proxyID = ? ORDER BY hostname

    zotero(5): Binding parameter 1 of type int: 2

    zotero(5): SELECT hostname FROM proxyHosts WHERE proxyID = ? ORDER BY hostname

    zotero(5): Binding parameter 1 of type int: 3

    zotero(5): SELECT hostname FROM proxyHosts WHERE proxyID = ? ORDER BY hostname

    zotero(5): Binding parameter 1 of type int: 4

    zotero(3): Initialized in 203 ms

    zotero(3): ZoteroQuickLook loading

    zotero(3): ZoteroQuickLook loaded

    zotero(4): Registering observer for [collection,search,share,group,bucket] in notifier with hash gx'

    zotero(5): SELECT itemTypeID AS id, typeName AS name, custom FROM itemTypesCombined WHERE display=2

    zotero(5): SELECT itemTypeID AS id, typeName AS name, custom FROM itemTypesCombined

    zotero(5): SELECT itemTypeID AS id, typeName AS name, custom FROM itemTypesCombined WHERE display=1

    zotero(3): Removing key key_openAddons with accesskey A

    zotero(3): Removing key key_redo with accesskey Z

    zotero(3): Removing key key_undoCloseWindow with accesskey N

    zotero(3): ZoteroQuickLook starts init

    zotero(3): This is Firefox 4

    zotero(3): ZoteroQuickLook finished init
  • Greg: You can set the debug level to 3 to reduce the amount of output.

    Here is a log from my copy of ZoteroQuickLook initializing. So you do not get the last line about the location of the perl script? Do you get any errors in Javascript error console?


    zotero(3): ZoteroQuickLook loading

    zotero(3): ZoteroQuickLook loaded

    zotero(3): ZoteroQuickLook starts init

    zotero(3): This is Firefox 4

    zotero(3): ZoteroQuickLook finished init

    -- It is possible that there are a coupld of lines here --

    zotero(3): ZoteroQuickLook perl script location set to /Users/mronkko/Library/Application Support/Firefox/Profiles/86yxhxr7.betatest/extensions/zoteroquicklook@gmail.com/chrome/content/zoteroquicklook.pl
  • Yes, I don't get the line about the location of the perl script! The Javascript error console shows some error but they are not connected to a certain website (like amazon)...

    By the way, is there another way to start quicklook than the spacebar? I am just wondering because in FF4 another plugin only works when I go through the context menu and not the plugin-button.
  • There is now a new version in the same address www.tkk.fi/u/mronkko/zoteroquicklook.xpi

    Can you run this version with debug on and post all debug lines that start with ZoteroQuickLook

    You can start QuickLook by right clicking on any attachment and choosing "QuickLook" from the context menu.
  • Here is the output. I also tried to look at an attachment using quicklook.
    (calling "QuickLook" from the context menu doesn't make a different and the option sometimes seems to disappear from the context menu)


    zotero(3): ZoteroQuickLook loading

    zotero(3): ZoteroQuickLook loaded

    zotero(3): ZoteroQuickLook starts init

    zotero(3): ZoteroQuickLook detected Firefox 4

    zotero(3): ZoteroQuickLook imported AddonManager

    zotero(3): ZoteroQuickLook is inside callback

    zotero(3): ZoteroQuickLook opening viewer

    zotero(3): ZoteroQuickLook calling a shell command: /usr/bin/perl null /Users/greg/Documents/Literatur/Bound et al_2009_Playing the Admissions Game.pdf

    zotero(3): ZoteroQuickLook is killing quicklook viewer.
  • The reason that it does not work for you Greg is that the firefox plugin cannot for one reason or another determine the location of the perl script that is used to launch QuickLook. (The perl script is a workaround to a file name bug in Firefox)

    The script seems to crash on line 48 in zoteroquicklook.js

    Zotero.debug("ZoteroQuickLook is inside callback",3);

    Zotero.ZoteroQuickLook.scriptLocation = addon.getResourceURI("chrome/content/zoteroquicklook.pl").QueryInterface(Components.interfaces.nsIFileURL).file.path;

    Zotero.debug("ZoteroQuickLook perl script location set to " + Zotero.ZoteroQuickLook.scriptLocation,3);


    Are you sure that there are no javascript errors in the Javascript error console or the debug output? There should be an error message.
  • well, I am not really sure...

    I just checked again and cleared the log before I tried using quicklook again. I got this error message which I disregarded because I thought it's not connected.

    Error: uncaught exception: TypeError: window.gBrowser is null


    Is that the error message?
  • No, this is not the error message.

    I checked that the bug that created the need for the perl script in ZoteroQuickLook has been fixed by Mozilla (see https://www.zotero.org/trac/ticket/957)

    What I will do is that I will eliminate the use of the perl script if ZoteroQuickLook is used with Forefox 4. This should fix Gregs issue. There is no need for further reports on this problem.

    It might take a couple of days for the next version, since there are a lot of things going on at work currently.
  • OK. A new version is available again with some more debug info.

    Greg: can you test this version and post what debug info you get when you launch firefox.
  • works like a charm! Thanks a lot! This is really a useful plugin...

    ps: let me know if the debug output is still helpful for you in which case I will post it...
  • Greg: please do post the debug output. Just launch firefox and paste all lines starting with ZoteroQuickLook. I just want to see how the fix worked.
  • edited November 18, 2010
    Here is the output... Let me know if you need something else...




    zotero(3): ZoteroQuickLook loading

    zotero(3): ZoteroQuickLook loaded

    zotero(3): ZoteroQuickLook starts init

    zotero(3): ZoteroQuickLook detected Firefox 4

    zotero(3): ZoteroQuickLook imported AddonManager

    zotero(3): ZoteroQuickLook is inside callback

    zotero(3): ZoteroQuickLook got resource URI

    zotero(3): ZoteroQuickLook opening viewer

    zotero(3): ZoteroQuickLook calling a shell command: /usr/bin/qlmanage -p /Users/greg/Documents/Literatur/Bound et al_2009_Playing the Admissions Game.pdf

    Testing Quick Look preview with files:
    /Users/greg/Documents/Literatur/Bound et al_2009_Playing the Admissions Game.pdf

    zotero(3): ZoteroQuickLook is killing quicklook viewer.
  • Thanks. This was helpful. The problem that you are facing is not solved, but I know now more accurately where it is. Also it seems that the workaround that I coded for your problem seems to be working for you.
  • Greg: To further troubleshoot your issue, can you evaluate the following to pieces of code with firefox.

    Steps to do this are
    1) Choose Tools -> Error Console from the menu
    2) Copy-paste the code to the text field labeled "code" on top of the Error Console window
    3) Click execute
    4) Report what happens

    You should get a dialog showing a path for both of these codes. The first is the path to ZoteroQuickLook and second to Zotero.

    start code 1

    Components.utils.import("resource://gre/modules/AddonManager.jsm");
    var addonLocation;
    AddonManager.getAddonByID("zoteroquicklook@gmail.com", function (addon) {
    addonLocation = addon.getResourceURI("settings.txt").QueryInterface(Components.interfaces.nsIFileURL).file.path;
    alert(addonLocation);
    });

    end code 1


    start code 2

    Components.utils.import("resource://gre/modules/AddonManager.jsm");
    var addonLocation;
    AddonManager.getAddonByID("zotero@chnm.gmu.edu", function (addon) {
    addonLocation = addon.getResourceURI("settings.txt").QueryInterface(Components.interfaces.nsIFileURL).file.path;
    alert(addonLocation);
    });


    end code 2
  • Hi, I get a warning message for the first:

    Components.utils.import("resource://gre/modules/AddonManager.jsm"); var addonLocation; AddonManager.getAddonByID("zoteroquicklook@gmail.com", function (addon) { addonLocation = addon.getResourceURI("settings.txt").QueryInterface(Components.interfaces.nsIFileURL).file.path; alert(addonLocation); });


    For the second part, I don't get an error or warning message. A 'Javascript Application' popup appears saying "Users/greg/ .... /settings.txt"
  • Can you post the contents of the following two folders inside your firefox profile. You can get the full path from the first command that you tested earlier.
    (E.g. use ls command in the terminanl)

    /Users/greg/.../extensions/

    and

    /Users/greg/.../extensions/zoteroquicklook@gmail.com/

    This is to check that ZoteroQuickLook does not suffer from the same problem as Zotero. (See http://forums.zotero.org/discussion/15143/21beta-2-not-working-in-firefox-4-beta-7/)
  • I had to use the fix described there (i.e. unzip zotero@chnm.gmu.edu.xpi). Below is the list of files and folders from /Users/greg/.../extensions/.
    /Users/greg/.../extensions/zoteroquicklook@gmail.com/ did not exists. So I also unziped zoteroquicklook@gmail.com.xpi and deleted the .xpi file. After that I created the debug output again. It's also below. Maybe that is helpful....



    DEBUG OUTOUT

    zotero(3): ZoteroQuickLook loading

    zotero(3): ZoteroQuickLook loaded

    zotero(3): ZoteroQuickLook starts init

    zotero(3): ZoteroQuickLook detected Firefox 4

    zotero(3): ZoteroQuickLook imported AddonManager

    zotero(3): ZoteroQuickLook is inside callback

    zotero(3): ZoteroQuickLook got resource URI

    zotero(3): ZoteroQuickLook perl script location set to /Users/greg/Library/Application Support/Firefox/Profiles/7q59wop5.default/extensions/zoteroquicklook@gmail.com/chrome/content/zoteroquicklook.pl

    zotero(3): ZoteroQuickLook finished init

    zotero(3): ZoteroQuickLook opening viewer

    zotero(3): ZoteroQuickLook calling a shell command: /usr/bin/qlmanage -p /Users/greg/Documents/Literatur/Buchmann_DiPrete_2006_The Growing Female Advantage in College Completion.pdf

    Testing Quick Look preview with files:
    /Users/greg/Documents/Literatur/Buchmann_DiPrete_2006_The Growing Female Advantage in College Completion.pdf

    zotero(3): ZoteroQuickLook is killing quicklook viewer.






    CONTENT OF /Users/greg/.../extensions/


    drwxr-xr-x@ 7 greg staff 238 Nov 2 19:05 SQLiteManager@mrinalkant.blogspot.com
    drwxr-xr-x@ 7 greg staff 238 Jan 26 2010 add-to-searchbox@maltekraus.de
    drwxr-xr-x@ 8 greg staff 272 Feb 3 2010 colesbury@gmail.com
    drwxr-xr-x@ 5 greg staff 170 Sep 27 15:19 en-US@dictionaries.addons.mozilla.org
    drwxr-xr-x@ 6 greg staff 204 Jun 5 12:09 firemath@claas.bontus
    drwxr-xr-x@ 7 greg staff 238 Apr 7 2010 isreaditlater@ideashower.com
    drwxr-xr-x@ 6 greg staff 204 Jan 29 2010 lyz@zotero.org
    drwxr-xr-x@ 8 greg staff 272 Feb 19 2010 pythonext@mozdev.org
    drwxr-xr-x@ 9 greg staff 306 Dec 4 2009 quickfire@autonome.wordpress.com
    drwxr-xr-x@ 8 greg staff 272 May 31 09:14 refractor@developer.mozilla.org
    -rw-r--r--@ 1 greg staff 14565 Nov 13 13:27 zotclip@columbia.edu.xpi
    drwx------@ 18 greg staff 612 Nov 12 09:33 zotero@chnm.gmu.edu
    drwxr-xr-x@ 10 greg staff 340 Nov 2 19:05 zoteroMacWordIntegration@zotero.org
    -rw-------@ 1 greg staff 8505 Nov 16 15:19 zoteroquicklook@gmail.com.xpi
    -rw-r--r--@ 1 greg staff 17921 Nov 13 13:27 zotfile@columbia.edu.xpi
    drwxr-xr-x@ 6 greg staff 204 Aug 14 04:47 {20068ab2-1901-4140-9f3c-81207d4dacc4}
    drwxr-xr-x@ 19 greg staff 646 Jul 12 12:39 {75739dec-72db-4020-aa9a-6afa6744759b}
    drwxr-xr-x@ 10 greg staff 340 Dec 23 2009 {896b34a4-c83f-4ea7-8ef0-51ed7220ac94}
    drwxr-xr-x@ 8 greg staff 272 Oct 13 11:02 {D4DD63FA-01E4-46a7-B6B1-EDAB7D6AD389}
    drwxr-xr-x@ 8 greg staff 272 Oct 26 21:39 {E0B8C461-F8FB-49b4-8373-FE32E9252800}
    drwxr-xr-x@ 7 greg staff 238 Mar 28 2010 {a95d8332-e4b4-6e7f-98ac-20b733364387}
    drwxr-xr-x@ 9 greg staff 306 Jul 22 06:14 {ca526f8b-9e0a-4756-9077-19d6f3e64ea8}
  • edited November 18, 2010
    if I've seen this correctly, this is fixed in the beta trunk version (of Zotero, that is).
  • Thank you for testing and for the links. I will update the extension with unpacking and release a new beta soon.
  • 1.1. version including support for Firefox 4 and Zotero 2.1 will be available shortly through Mozilla extensions directory.
  • Mac, FF4b10, Z2.1b5.

    Thanks for a great plugin.

    ZQL does not seem to work when running Zotero as a tab. Not in context menu and spacebar does nothing. Any way to work around that?

    Also, is there a way for ZQL to remember its window size?

    Peter
  • Thanks for reporting this bug. I will look into it when I have some spare time. I am myself still on the stable version, so have not tested with Zotero as a tab.

    The quicklook is used through qlmanage command and it does not have an option to set the window size, so the answer to your question about wundow size is no.
  • mronkko - this is not a "bug" in the technical sense, it just changed - Simon gives instructions on how to fix here
    http://forums.zotero.org/discussion/358/zotero-as-a-tab/
    towards the end of the thread.
Sign In or Register to comment.