@michael29 Many thanks for Zoo ! I'm using it on an A4 e-reader (Max Lumi from Onyx Boox) and it works very well !
I see that there is support for two-ways syncing of PDFs (for uploading annotations). Is this working as well when PDFs are stored in my Zotero account or do I need to use WebDav for the attachment storage ? If so, is there any plan to implement two-ways syncing of PDFs with Zotero account ?
I tried to go through the thread but I am not sure if the problem has been fixed. Basically I downloaded a bunch of files that were not previously downloaded on my Onyx e-reader. Now Zoo seems to go in a loop trying to download these files from the webdav, but they are not in the webdav so I get the "error downloading" for hundreds of files. Should I just delete and reinstall the app? Because I see no way of deleting all attachments or "resync" Zoo with Zotero.
I think it's related to the problem that Zoo doesn't see deletions, is that correct?
@jntbrt, you mentioned that it is possible to change "the Attachment path in Zoo (Settings->Attachment Location) to a custom path which is *not* in the android folder."
Can I ask how this can be done?
I tried to change the folder but it only allows me to change something that is at "Downloads" or levels below "Downloads." I cannot change to, for example, "Books", where I know neoreader would be okay. The problem with Downloads is that NeoReader will make copies for any file it edits under these folders.
@zyzhu2000 you should be able to select a different path though the menu on the left side of the file picker.
Hi all, I just pushed a new release to the google play store. It will take a few days for google to make it available though. Changelog for v2.9: Added tag support (will require complete library resync) Search now filters tags Attachments show on top Added a share item option Added option to disable search updating as you type Added "my publications" option Slightly improved performance around opening attachments
I have been fighting Android's new storage access framework which has made dealing with attachments a nightmare. Filesystem access requires a much slower API. As such if you use a custom location for attachments and try to download all the attachments it will take a very long time. I have done what I could but now I no longer have the energy to improve storage.
As such I recommend just using "External Cache" which is exactly the same except it means having the attachments stored in "/sdcard/Android/data/com.mickstarify.zooforzotero/cache"
Please let me know if this new release has issues with Webdav, I will try to fix them for the next release.
Going forward, I'm pretty happy with where the app is, let me know if there's something pressing that you want and if it's not too much of a hassle to implement I will try do it.
@michael29 Many thanks for Zoo! I really like it. However, I found an interesting bug.
I'm using Zotero desktop on Mac + PaperShip on ipad + Zoo on Android mobile phone + WebDAV with pcloud. The issue I have observed is that if I edit and save pdfs on my Mac, after sync I can read/edit/save them normally with Zoo on my mobile phone. However, all the pdfs editted by PaperShip on ipad cannot be opened by zoo, while they can be opened/editted on Mac. After editing and saving on Mac, zoo can read them again.
With the PaperShip editted pdfs, Zoo gives the following error message: > Error Message: > java.io.EOFException: Unexpected end of input stream
It feels like PaperShip is saving files in a special format that is only compatible with apple products?
@freedomcondor looking at the files, it seems paperfile's prop file is malformed, there is no closing but more importantly md5sum is wrong.
In testing, i couldn't open the pdf because Zoo checks the md5 checksum after downloading and it's "failing". After removing the md5 check the file seems to open just fine.
Does the app tell you the download has failed? or does it just try to open the PDF?
Zoo deletes the download when the Md5 is wrong because if thinks there was a download error. This might be the issue.
@michael29 After clicking the pdf attachment in Zoo, there is a window saying downloading file and a number running showing the size of the file. after downloading there comes another window with a title "Error getting Attachment", and the error message: > Error Message > java.io.EOFException: Unexpected end of input stream
so the app doesn't tell me "download failed" explicitly, only "unexpected end of input stream".
Occasionally though, it happens very rarely, but I did see messages talking about md5 once or twice, but I can't reproduce it.
I think what you said makes sense, it sounds like Papership does something wrong with the prop file. It sounds like for most of the cases the prop file is not complete, which produces the stream error, and for some rare cases when it is complete, it can't pass the md5 check.
Yet I don't know why Zotero desktop can overlook this issue and open files normally.
@freedomcondor I will add an option to not check md5sums on downloads, the EOF error is because the attachments are 0 bytes long, which is odd because they're meant to delete and give an error message when they fail to download. I am not sure how to fix the issue exactly.
I have been unable to recreate it, with your exact files mine still download properly and then just give a checksum mismatch error which is the expected behaviour.
@michael29 Thank you very much. Let me also try to report this issure to PaperShip to see what can they do about it. Many thanks, wish you a happy 2021.
@michael29 I've tried to change to custom path and chose another folder. Perhaps, when I get back to the main screen there's an error message (There was an error accessing your Zotero attachment location. Please reconfigure in settings). It appears no matter which folder I use.
I use a Onyx Boox, I read all pages of comments... Where I did something wrong?
@sojal2 That error prints only when the app doesn't have write permissions to the directory. Try clear permissions in android's app settings, and pick a writable directory.
If it still doesn't work then I don't really have an answer for you, you might just have to stick to "External Cache" which is basically storage://Android/data/com.mickstarify.zooforzotero/cache/
@michael29 I'm getting an error message during my first attempt using attachment downloader:
'Error downloading attachments
The following error occured: java.io.FileNotFoundException: /storage/emulated/0/Android/data/com.mickstarify.zooforzotero/cache/KT6FWIRU (Is a directory)'
... and then I need to restart the download; it usually can download a handful more attachments before the error message repeats. (I have about 4400 attachments total in my library, and right now it's up to 982 of 4465 downloaded.)
I'm using "External cache" as my storage option. Any suggestions appreciated!
@jntbrt I follow what you said, and when I get back to the Zotero Library, I have message telling that Zoo don't have the permission to write in the main folder... so it come back to external cache. I don't understand because I look as @michael29 told me and the app have all the permissions needed... I'm desperatly looking for what I'm doing wrong !
@michael29 Hi! Zoo is a great app, thank you so much!
As other Onyx users in the thread above I have figured out that I can use Xodo and two-way sync will work. I would really like to use Neoreader though (it's much smoother for e-ink), and none of the tips I have found so far have worked. Whatever I change, it will end up saving a copy somewhere else (either in the temporary cache or in the folder I point Zoo to) and therefore it never syncs.
Would it be possible for Zoo to (optionally?) also look in subfolders to detect most recently changed files/versions? That would solve the Onyx/Neoreader issue, I think. Thank you so much for creating this app, I tried to find a way of buying you a coffee online but couldn't -- please lmk if there is a donate button somewhere after all.
@cruwell and all the others that had the same problem with syncing edits Neoreader made in Neoreader: I'm using Boox Note 2 with Android 9 and syncing notes made in Neoreder works just finde. I manually added a folder in storage. On the same level as the Download folder is. Then I redirected the attachment path in Zoo to this new folder.
@michael29 Thanks you so much for this App! It really helps keeping things in order and supports me in my workflow.
I noticed one small thing that makes a bit of a mess in my Zoo library: When I add an editor to an entry in Zotero, it syncs as an author in Zoo. When sorting my library by Author, it just sorts by the first name on the autor/contributor/editor/translator list while Zotero sorts only by author. So sometimes I dont find my entries without checking in Zotero. This is not a big issue since I am really happy how everything else works really well. Only fix it when there's nothing urgent
@lenbru I have a Boox NotePro 2 but with Android 6. How did get that Android version? Maybe that's the reason why it's not working for me. No matter what I'm doing I still get that message (even if I gave all the permissions to Zoo for the storage access): Permission Error - There was an error accessing your Zotero attachment location. Please reconfigure settings.
@lenbru@cruwell I find the Android 9 Beta for Notepro via the Facebook group of Onyx and everything works!!! Even to set to custom path!
The only thing that don't seems to transfer to Zotero on Mac is the small note (...) that you can had that zoom out when you click on it. Perhaps, the highlight and the handwrite annotations goes back easily from Zoo to Zotero for Mac. You just have to close Zoo and re-open it to refresh the app and after the same thing on the computer. I'm happy to find what was the problem!!
I just noticed the added support for tags, but I can't find any option to resync in the app. Does this require deleting the app data using the android system settings?
Oh, and again thanks a lot for the app, it's great to have a Zotero Android app that really works!
a) using Moon+ Reader. b) it does not allow original file location editing (such as Xodo). c) nevertheless, it seems that when I put files into Moon+ default file folder (/sdcard/books/), it opens the original file. d) although Zoo for Zotero allows now custom directory location, if I'm not mistaken, it creates _additional_ sub-folder (e.g. KT6FWIRU) into this custom location, where it puts the downloaded file from WebDav.
@michael29 Question - is it possible for Zoo for Zotero to change or bypass this? For example, to put the downloaded files from Zotero storage directly into the custom directory (and not into the additionally created sub-directory)?
This I think I could get Zoo for Zotero working for two-way annotation syncing with Moon+.
Question about tags: I can see the tags in the item information dialog and it is possible to search for items by selecting single individual tag from that dialog. Is it somehow possible to search for multiple tags?
Hi everyone. I just had a simple question. The highlighting I make on a pdf via Zotero desktop, are they going to reflect on the pdf when I open it on my Boox via Zoo for Zotero? If not, is there any other workflow (e.g. Zotfile + Dropbox + Dropsync) that would allow me to achieve that?
Also, a second question is this - Every time I open a pdf in Zoo, it asks me whether I want to use NeoReader rather than Acrobat or another two. Is there a way to set it up with NeoReader by default?
@michael29 Thank you so much for creating Zoo! I've been using it in combination with my Boox for over a year and it is the essential piece that filled in the last gap in my workflow.
But I recently came across a couple of pdfs that cannot be fully synced through a webdav: only the .prop files are updated, while the .zip files are completely unchanged. On my Android reader, whenever this happens, Zoo always displays "java.io.InterruptedIOException: timeout". The few pdfs are all under 100mb, so they shouldn't be able to trigger a timeout on the webdav server, and this issue has only occurred to a very few files so far.
Do you happen to know what may have given rise to this error message? Thank you so much!
Zoo has disappeared (for me) from the Play Store on the Onyx Boox Note Air 2 plus (July 2022). Does anyone know what might have happened or what I am doing wrong? Thanks
Getting error after setting up WebDav, both in Zotero Windows and Android app. After making changes in the pdf file in Android tablet (highlighting text), and when uploading changes to WebDav in Zoo for Zotero, I get the following error:
"Error Uploading Attachment" "java.net.ProtocolException HTTP 204 had non-zero content-lenght: 20"
Any ideas what might be the issue and how to resolve this?
I see that there is support for two-ways syncing of PDFs (for uploading annotations). Is this working as well when PDFs are stored in my Zotero account or do I need to use WebDav for the attachment storage ? If so, is there any plan to implement two-ways syncing of PDFs with Zotero account ?
Thanks again !
I think it's related to the problem that Zoo doesn't see deletions, is that correct?
Can I ask how this can be done?
I tried to change the folder but it only allows me to change something that is at "Downloads" or levels below "Downloads." I cannot change to, for example, "Books", where I know neoreader would be okay. The problem with Downloads is that NeoReader will make copies for any file it edits under these folders.
Thanks so much.
you should be able to select a different path though the menu on the left side of the file picker.
Hi all, I just pushed a new release to the google play store. It will take a few days for google to make it available though.
Changelog for v2.9:
Added tag support (will require complete library resync)
Search now filters tags
Attachments show on top
Added a share item option
Added option to disable search updating as you type
Added "my publications" option
Slightly improved performance around opening attachments
I have been fighting Android's new storage access framework which has made dealing with attachments a nightmare. Filesystem access requires a much slower API. As such if you use a custom location for attachments and try to download all the attachments it will take a very long time. I have done what I could but now I no
longer have the energy to improve storage.
As such I recommend just using "External Cache" which is exactly the same
except it means having the attachments stored in "/sdcard/Android/data/com.mickstarify.zooforzotero/cache"
Please let me know if this new release has issues with Webdav, I will try to fix them for the next release.
Going forward, I'm pretty happy with where the app is, let me know if there's something pressing that you want and if it's not too much of a hassle to implement I will try do it.
I'm using Zotero desktop on Mac + PaperShip on ipad + Zoo on Android mobile phone + WebDAV with pcloud. The issue I have observed is that if I edit and save pdfs on my Mac, after sync I can read/edit/save them normally with Zoo on my mobile phone. However, all the pdfs editted by PaperShip on ipad cannot be opened by zoo, while they can be opened/editted on Mac. After editing and saving on Mac, zoo can read them again.
With the PaperShip editted pdfs, Zoo gives the following error message:
> Error Message:
> java.io.EOFException: Unexpected end of input stream
It feels like PaperShip is saving files in a special format that is only compatible with apple products?
I share these links which are the files related to a pdf that is currently not readable by Zoo:
.prop file : https://e.pcloud.link/publink/show?code=XZX7A7ZvBPh2gB7QDSbr441dC9emBuV3oo7
.zip file: https://e.pcloud.link/publink/show?code=XZc7A7ZL8f4fzfVdFRmLBHU01FhyyVXd3KX
I was wondering if you would like to investigate in this if you have time.
Thanks for the zoo again, it's an amazing app.
looking at the files, it seems paperfile's prop file is malformed, there is no closing but more importantly md5sum is wrong.
In testing, i couldn't open the pdf because Zoo checks the md5 checksum after downloading and it's "failing". After removing the md5 check the file seems to open just fine.
Does the app tell you the download has failed? or does it just try to open the PDF?
Zoo deletes the download when the Md5 is wrong because if thinks there was a download error. This might be the issue.
> Error Message
> java.io.EOFException: Unexpected end of input stream
so the app doesn't tell me "download failed" explicitly, only "unexpected end of input stream".
Occasionally though, it happens very rarely, but I did see messages talking about md5 once or twice, but I can't reproduce it.
I think what you said makes sense, it sounds like Papership does something wrong with the prop file. It sounds like for most of the cases the prop file is not complete, which produces the stream error, and for some rare cases when it is complete, it can't pass the md5 check.
Yet I don't know why Zotero desktop can overlook this issue and open files normally.
So what do you suggest?
I will add an option to not check md5sums on downloads,
the EOF error is because the attachments are 0 bytes long, which is odd because they're meant to delete and give an error message when they fail to download. I am not sure how to fix the issue exactly.
I have been unable to recreate it, with your exact files mine still download properly and then just give a checksum mismatch error which is the expected behaviour.
I use a Onyx Boox, I read all pages of comments... Where I did something wrong?
That error prints only when the app doesn't have write permissions to the directory.
Try clear permissions in android's app settings, and pick a writable directory.
If it still doesn't work then I don't really have an answer for you, you might just have to stick
to "External Cache" which is basically storage://Android/data/com.mickstarify.zooforzotero/cache/
'Error downloading attachments
The following error occured: java.io.FileNotFoundException: /storage/emulated/0/Android/data/com.mickstarify.zooforzotero/cache/KT6FWIRU (Is a directory)'
... and then I need to restart the download; it usually can download a handful more attachments before the error message repeats. (I have about 4400 attachments total in my library, and right now it's up to 982 of 4465 downloaded.)
I'm using "External cache" as my storage option. Any suggestions appreciated!
@jntbrt I follow what you said, and when I get back to the Zotero Library, I have message telling that Zoo don't have the permission to write in the main folder... so it come back to external cache. I don't understand because I look as @michael29 told me and the app have all the permissions needed... I'm desperatly looking for what I'm doing wrong !
As other Onyx users in the thread above I have figured out that I can use Xodo and two-way sync will work. I would really like to use Neoreader though (it's much smoother for e-ink), and none of the tips I have found so far have worked. Whatever I change, it will end up saving a copy somewhere else (either in the temporary cache or in the folder I point Zoo to) and therefore it never syncs.
Would it be possible for Zoo to (optionally?) also look in subfolders to detect most recently changed files/versions? That would solve the Onyx/Neoreader issue, I think. Thank you so much for creating this app, I tried to find a way of buying you a coffee online but couldn't -- please lmk if there is a donate button somewhere after all.
I'm using Boox Note 2 with Android 9 and syncing notes made in Neoreder works just finde.
I manually added a folder in storage. On the same level as the Download folder is. Then I redirected the attachment path in Zoo to this new folder.
@michael29 Thanks you so much for this App! It really helps keeping things in order and supports me in my workflow.
I noticed one small thing that makes a bit of a mess in my Zoo library: When I add an editor to an entry in Zotero, it syncs as an author in Zoo. When sorting my library by Author, it just sorts by the first name on the autor/contributor/editor/translator list while Zotero sorts only by author. So sometimes I dont find my entries without checking in Zotero. This is not a big issue since I am really happy how everything else works really well. Only fix it when there's nothing urgent
I try to make it works since 3 weeks.
The only thing that don't seems to transfer to Zotero on Mac is the small note (...) that you can had that zoom out when you click on it. Perhaps, the highlight and the handwrite annotations goes back easily from Zoo to Zotero for Mac. You just have to close Zoo and re-open it to refresh the app and after the same thing on the computer. I'm happy to find what was the problem!!
I just noticed the added support for tags, but I can't find any option to resync in the app. Does this require deleting the app data using the android system settings?
Oh, and again thanks a lot for the app, it's great to have a Zotero Android app that really works!
b) it does not allow original file location editing (such as Xodo).
c) nevertheless, it seems that when I put files into Moon+ default file folder (/sdcard/books/), it opens the original file.
d) although Zoo for Zotero allows now custom directory location, if I'm not mistaken, it creates _additional_ sub-folder (e.g. KT6FWIRU) into this custom location, where it puts the downloaded file from WebDav.
@michael29 Question - is it possible for Zoo for Zotero to change or bypass this? For example, to put the downloaded files from Zotero storage directly into the custom directory (and not into the additionally created sub-directory)?
This I think I could get Zoo for Zotero working for two-way annotation syncing with Moon+.
Question about tags: I can see the tags in the item information dialog and it is possible to search for items by selecting single individual tag from that dialog.
Is it somehow possible to search for multiple tags?
Thank you.
If not, is there any other workflow (e.g. Zotfile + Dropbox + Dropsync) that would allow me to achieve that?
But I recently came across a couple of pdfs that cannot be fully synced through a webdav: only the .prop files are updated, while the .zip files are completely unchanged. On my Android reader, whenever this happens, Zoo always displays "java.io.InterruptedIOException: timeout". The few pdfs are all under 100mb, so they shouldn't be able to trigger a timeout on the webdav server, and this issue has only occurred to a very few files so far.
Do you happen to know what may have given rise to this error message? Thank you so much!
But looking on the play store webpage for it, none of my devices are listed as compatible either (including my pixel phone). https://play.google.com/store/apps/details?id=com.mickstarify.zooforzotero
So looks like it's been de-listed from play store? The APK is still available for ver 2.9 from github though https://github.com/mickstar/Zoo-For-Zotero/releases
"Error Uploading Attachment"
"java.net.ProtocolException HTTP 204 had non-zero content-lenght: 20"
Any ideas what might be the issue and how to resolve this?