ZotFile - Advanced PDF management for Zotero

  • Thank you Adam. I clarify now, hopefully. I use Firefox in Windows. As I download an article to Zotero then if the file is linked then Zotfile automatically puts the article in my dropbox. I would like to stop this automatic upload to my dropbox. Thanks again Adam.
  • ZotFile Preferences --> General Tab, under Location of Files you currently have your Dropbox folder selected as Custom Location. Either check "Attach Stored File" to store the file in Zotero (like Zotero without ZotFile would) or pick a different folder.
  • Yes Adam. I figure that solution too. The problem though is that I would be still saving the linked file twice, once for Zotero and once for Zotfile. I would like to completely stop Zotfile from saving anywhere. ---I use Zotfile to manually push files to my tablet because it is just a right click in Zotero.--- Thanks.
  • The Attach Stored Copy option stops using ZotFile to save files. It will only rename them and I think you can disable that, too, if you want to.
  • Great. I'll give it a try. Thank you much.
  • Is it possible to force Zotfile to extract only new annotations, or some kind of "incremental annotation extraction"? The case I have in mind is reading a long pdf in several sittings/sessions (possibly jumping around pages). After session 1 I extract annotations. I do the same after session 2, and 3, etc.

    Now, after each session I can extract the annotations, but I'd like those extracted in session 3 to only reflect the annotations that are new after the extraction for session 2. (Yes, I am assuming here no deletion, only addition of annotations).

    This can be done "by hand": I can save the report for each set of extracted annotations, and then do a diff between them. But this is not as neat, I do not get a neat HTML, I might loose links, etc. Is anything available? Googling around I couldn't find anything.
  • Hello all and @adamsmith!

    Long story short, I'm actually Juliapalooza from the 11/17-11/18 posts above, but things got crazy and I decided to delete that account and created a new one linked to my university email address...

    So, no matter what I do, I can never "see" annotations in Zotero once I've annotated a PDF in iAnnotate nor can I extract annotations (so #1 above). I'm using the latest version of Firefox on Mac OSX 10.11.2 My Linked Attachment Base Directory and the preferences for Zotfile (Location of Files and Location of files on Tablet) are all pointing to a folder that I created in the top level of my Dropbox.

    Thanks in advance for helping out this newbie. Happy Holidays! :D
  • OK, could you describe exactly what you're doing? Specifically, how are you saving the PDF from iAnnotate back to the Dropbox folder?
    When you open it directly in Dropbox, do you see the annotations there?

    (note that the "Get from Tablet" and the linked attachment base directories are typically to be used as alternatives, not together. If you're using both, you're likely not understanding how they work, so ideally read a bit in the ZotFile documentation and figure out what they actually do)
  • @adamsmith

    This is quite strange--it actually worked this time! I annotated a few lines from a journal article I recently saved to Zotero and pressed the sync button in iAnnotate. When it was finished syncing, I selected "Get from Tablet" in Zotero, then followed that up with "Extract Annotations"...and it worked! However, the annotations don't show up in the PDF in Zotero, but when I open the PDF in my external viewer (Adobe Reader) the annotations appear. They also appear when viewing the PDF directly in Dropbox...???

    But I'm wondering why the annotations are not being extracted directly when I have that option selected in Zotfile preferences? (Regardless, I will do some further reading)

    Thanks again!
  • Note that Zotero has no PDF reader -- it just opens PDFs in whatever you have specified in Firefox (for the Firefox add-on) or your operating system (for Standalone).

    My guess for why extracting annotations doesn't work automatically is that you're not actually using the "Get from Tablet" functionality the way it's intended. If you're just using Dropbox sync on linked files for all files in Zotero, get from tablet is entirely superfluous and, if anything, might just create a bit of chaos.
    The explicit tablet functionality (Send to&Get from Tablet) is designed for people who want to send a small number of files to a syncing folder, e.g. when their files synced by Zotero regularly otherwise, and then retrieve them again after annotation. As I said, I wouldn't mix it, and it definitely shouldn't be pointing to the same folder as the linked directory.
  • That makes sense; thank you!
  • edited January 4, 2016
    Bug report:

    There's a typo in the little alert box that pops up when Zotfile can't find a file in the sync folder. It ends with "does not exists". No final "s" needed there, of course.

    EDIT: I did a PR for this on github.

    Also my smart search folder for Tablet Files keeps reporting a bunch of files that are not in the folder (hence the errors I just reported), but those entries no longer have the _tablet tag that the smart search is supposed to be finding (and which I manually removed from them). Now that I think about it, this is probably a Zotero bug.
  • Bug Report:

    Zotero Standalone & Zotfile - unable to rename attachments

    Zotero Standalone Version
    Zotfile Version - Latest commit from master branch (commit 0519560)
    System: Windows 7 x64

    When importing articles into the library or when right-clicking and selecting the "Manage Attachments>Rename attachments" Zotfile fails to rename the attachment.

    The details about the unknown error copied to the clipboard are blank (actually, {})

    When Running the debugging log, a javascript error is produced:

    [JavaScript Error: "TypeError: att.getFile(...).exists is not a function"
    {file: "chrome://zotfile/content/zotfile.js" line: 3326}]

    I verified that this same error occurs both when importing the reference to Zotero and when manually right-clicking on the item and selecting "Manage Attachments>Rename attachments"
  • Zotfile seems unable to recognize the same external hard drive whenever it is unplugged and plugged in again.

    This causes Zotfile to generate the following error when renaming:

    Error when moving the file %x.
    ([Exception... "Component returned failure code: 0x80004005 (NS_Error_Failure)[nslFile.moveTo]" nsresult: "0x80004005 (NS_Error_Failure)" location: "JS frame:: chrome://zotfile/content/zotfile.js :: Zotero.Zotfile.moveFile :: line 1943" data: no])

    A quick check using Zutilo shows that the default attachment path on the external drive has been changed to '/Volumes/Seagate 1/Zotero/storage/' when it was previously '/Volumes/Seagate/Zotero/storage/'.

    Though the files are intact and the links can be fixed by modifying the attachment path with Zutilo, this bug is causing significant inconvenience.

    Anyone has any idea how to work over this? Thank you!
  • but your file system always has this on the same path?
  • It's on an external hard drive. Zotfile renamed the drive and altered the path such that attachments cannot be found on the old path.
  • Setting the default attachment path to a folder on the internal hard drive doesn't give rise to this error.

    The error could possibly be caused by Zotfile trying to rename and move attachments to the external hard drive when it is not connected.
  • Bug Report:

    I have scanned a text and OCR'ed with Adobe Acrobat Pro DC v2015.006.30033

    I use Firefox (43.0.4), ZotFile (4.1.6), Zotero Standalone (, Windows 7

    When trying to extract my annotations, I get a notice “Zotfile: Extracting Annotations…” but then the circle stop after about a quarter, the notice disappears and not extractions are imported into a Zotero note.

    I can copy and paste from that document so it should work. I had a similar issue previously that Joscha was able to fix. Any ideas how to fix this one?

    I have posted the document online in the zotfile Group Library.
  • Update to bug report above

    The inability for zotfile to rename attachmens is now occurring within FF (not just the standalone) on the import of references. However, the right-click>Manage Attachments>Rename attachments still works within the FF version.

    A debug log in this context had the following code logged (the same as seen before)

    [JavaScript Error: "TypeError: att.getFile(...).exists is not a function"
    {file: "chrome://zotfile/content/zotfile.js" line: 3316}]

    Do you want me to run the logging on all (or some) of the possible combinations to reproduce the behavior and upload them to the zotero server?

    Any idea why this code line throws a TypeError under certain circumstances, but not others?
  • Cannot Extract Annotations

    It has been a long while (at least a couple of years) since I used the Zotfile Extraction feature. I can't extract notes (from a PDFXChange'd file). I tried on several items tonight, in both Juris-M and plain old Zotero. Extraction seems to begin properly, but the circle never completes its compass, halting about one o'clock, at which time the popup window disappears. I'm on Ubuntu 14.04 with its latest Firefox and the latest Zotfile. For good measure, I attempted the operations in a brand new profile with only Zotero and Zotfile as addons. Thanks, M
  • If you upload the problematic PDF somewhere, I can check it for you on my installation (Win 7 64-bit) and see if it's the file, or just you.

    Here's a PDF that I *have* successfully extracted from.

    I used Acrobat Reader DC to highlight it.
  • Hi,

    I reactivate an old bug I reported on October 6th 2014 (see p.21 of this thread).

    The bug was (and still is): if I add a reference (with a pdf available) to zotero from a website such a springer by using the url bar, Zotfile doesn't move and rename pdf file attached.

    At the first sight (in 2014), it seemes the bug was related to iceweasel (i.e. Debian's firefox) because I was the only one affected. Since 2014, the bug has propagated to my ubuntu computer (which runs firefox and not iceweasel). So the bug is very likely related to a update of firefox rather than a specific version of it. I would not be suprises if other users were affected.


    Here is an article in Jstor with the pdf in free access (url below). If I visit the webpage and click on the zotero bar icon, this reference is correctly added into my zotero library but the pdf is added to the zotero cloud storage and not renamed. Of course, my settings indicate otherwise : I specified a custom location and always rename (http://imgur.com/a/WPuog#0).

    Am I the only one to have this bug?

    url : http://www.jstor.org/stable/10.1086/659879?Search=yes&resultItemClick=true&searchText=tes&searchUri=%2Faction%2FdoBasicResults%3FQuery%3Dtes%26amp%3Bwc%3Don%26amp%3Bfc%3Doff%26amp%3Bgroup%3Dnone%26amp%3Bacc%3Don&seq=1#page_scan_tab_contents
  • Last few weeks I've been getting the error

    "ZotFile Error

    The source folder is not valid. Please change the source folder under Zotero-Actions-Zotfile Preference. You might have to use a custom folder. "

    I have no idea where "Zotero-Actions-Zotfile Preference" refers to. This doesn't seem to be a menu in Zotero standalone.

    Please advise. Thanks.
  • ZotFile preferences are listed under the gears menu (officially called "Action") in Zotero. That's the one to the left of the green plus.
  • Echoing mtd91429's post from Jan 13th 2016:

    Bug Report:

    Zotero Standalone & Zotfile - unable to rename attachments

    Zotero Standalone Version
    Zotfile Version - Latest commit from master branch (commit 0519560)
    System: Windows 7 x64

    When importing articles into the library or when right-clicking and selecting the "Manage Attachments>Rename attachments" Zotfile fails to rename the attachment.

    The details about the unknown error copied to the clipboard are blank (actually, {})

    When Running the debugging log, a javascript error is produced:

    [JavaScript Error: "TypeError: att.getFile(...).exists is not a function"
    {file: "chrome://zotfile/content/zotfile.js" line: 3326}]

    I verified that this same error occurs both when importing the reference to Zotero and when manually right-clicking on the item and selecting "Manage Attachments>Rename attachments"
    Adding that neither method of renaming works for me on Standalone. However, Zotfile reliably renames and relocates a PDF when I select "Attach Stored Copy of File" under "Add Attachments."
  • denlinkd, can you try with the current version on github? There was an error in the master branch but that it fixed. Might not be related to your problem though.
  • edited February 9, 2016

    Since this discussion topic seems to cover all things Zotfile and is already over 1300 posts long, I've written a subject line above.

    I'm diving deep into using Zotfile. I've set up my NAS drive at home to use WebDAV and dedicated a directory on the drive as a repository to store all my files attached to Zotero records with Zotfile. Since the weekend, it's been working quite well.

    Now I want to start reading and annotating these pdf's on my iPad. I'm very happy with using the PDF Expert app for this purpose. I was able to add the WebDAV share as a network source for PDF Expert. So now I can directly access any file I want in the repository. In PDF Expert, one simply locates the file and opens it. One can also manually return an annotated file to the repository.

    If I need to go through Zotero to find a file, I'm assuming Zotpad will allow me to access the file, and then I can open it in PDF Expert.

    So I'm not sure exactly what Zotfile's tablet feature will add to this. I see it will allow me to save a separate copy of the annotated pdf and to label it as such. It also will let me keep items on my iPad in a separate sync staging area separate from the main repository, although I'm not sure if this is an advantage. Finally, it will do much of this automatically, and one can initiate things from Zotero rather than the tablet. Are there other advantages?

    So could some of you with more experience with this please weigh in on this subject? Why should one use Zotfile's tablet feature rather than simply connecting a tablet document annotation app, like PDF Expert, to Zotfile's main repository?

    I also have the following specific questions:

    1. Should I use the same directory on the NAS as I'm currently using as I'm currently using as the repository to be the sync/staging directory for Zotfile's Send to Tablet?

    On the surface this would appear to give me access to all my document files. But there are too many for my little 32GB iPad 2. Will Zotfile try to send all of them to the iPad if I designate this directory?

    2. If I designate a different directory, either on my NAS drive or on a cloud service like Dropbox, will Zotfile copy files from the main repository to this tablet staging area? And when I'm done annotating a file, will Zotfile return it to the repository? If so, how does Zotfile know when to do this? If not, how does one keep track of the multiple copies of the document?

    3. To preserve space on the iPad in order to make it quick, what procedure do you recommend for maintaining both the tablet staging area and the main Zotfile repository?
  • @marsh -- short answer is absolutely nothing. The feature is designed for if you don't want to use regular sync with your tablet and/or are using a tablet (say android) with less well functioning tablet apps.
    In fact, if you're using ZotPad, I'd recommend to ignore ZotFile's tablet feature, just to avoid confusion.
  • I ran in the same problem as reported by @mtd91429 Zotfile will report an error on not being able to rename a file when added to a publication entry (via drag and drop in my case) and the same when trying to change an existing.

    I found the reason though. The error only occurred when the publication entry didn't have an author field filled in. I guess because it wants to build the file name out of the author name and does not know what to do when that one is empty. What it should do is simply ignore the author or display a warning about this.
This discussion has been closed.