ZotDroid - A Zotero Client for Android

  • @"Jon%20Rubin" thanks a lot for the report. I suspect I will have a few more reports in my inbox to read later. It's quite perplexing because it seems like you are getting multiple failures everywhere whereas myself (4 virtual devices and one real, 2000 items) get almost none. I wonder therefore, if there is something with your android version and device? Not necessarily the speed and memory but some quirks with the OS version? I've had a few things to change just recently depending on version. Which one are you running?

    @bwiernik top tip! Thanks! I wondered if it was working? Didn't look right.

    @bjohas that version was the older, non official messy one I was working on and has since been removed. The final version will be a closed source product.

    I was sitting down reading some of my biology papers and noticed even more things I need to sort, even for a basic 'mostly-read-only' version of ZotDroid. Theres lots of work to do but I appreciate the support you guys and gals have provided. Android has an awful lot of quirks and so many devices to support, its a bit impossible to get good test data. Appreciate it!
  • @OniDaito No quotes, either.
  • @OniDaito

    My phone is a Samsung S7 Edge
    model SM-G935F
    Android 7.0

    My tablet is a Galaxy Tab A
    model SM-T580
    Android 7,0
  • @OniDaito Thanks for the great work! I get Zotdroid installed on my Samsung Tab S3, it syncy my entire Zotero library within 5 minutes (approx 5000 entries)! However, I cannot change the download location path, I have tried with a fresh install/before/after sync etc. Also, whenever I try to open the pdf-attachement, it tells me: "Error: No program available to open this attachement".

    - How can I change the download folder to my SD-card? (BTW: I am using Zotero storage)
    - How can I open the attachements?
    - Are changes that I do to the pdfs synced back to the Zotero server?
  • @Jon%20Rubin thanks. I'm taking a look at that today. Android 7 is one version that has passed me by so I suspect that it the problem.

    @Diffform you can change the path in the general settings. Download Path is the one you want to change.

    Changes made to the PDFs are not synced back. For now ZotDroid is (mostly) read-only. I might work on two-way sync in the near future depending on demand. At the moment, it's enough work making a read only version :/

    I use the Adobe PDF reader. Now I've noticed that later Android versions have changed the way you launch external applications. I added fixes for that but it's a real pain. That error occurs when the file is downloaded but the Android Intent to launch an external reader given the PDF fails.

    Before we continue, are your attachments actually PDFs? It may be possible they are something else, or indeed, you don't have a PDF reader.
  • @OniDaito Thanks for your quick reply! Well, if it is only one-way-sync to begin with, that makes me happy enough. I am on android 7, and I use EZpdfreader but also just installed Adobe pdf reader. I deleted and reinstalled, managed now to change directory to my external sd-card (now it saves), reconnected and synced my library. When I try to open a pdf, it says: "Attachement download error. Problem writing to location does not appear to exist." What is that supposed to mean?
  • @Diffform a very good question. If you've changed the directory to your SDCard and it appears to download then it could be that the directory in question cannot be written to by Zotdroid. That is indeed possible. I've had a lot of trouble automatically finding said directory (Google recently changed where it is permissible for an App to write things but only in 26 upwards). It's been a real pain. I'll see if theres anything more I can sort out.

    @Jon%20Rubin A thought occurs. Are you using the version with the Blue Z in the logo or the Red Z in the logo?
  • Just rolled out version 0.98

    @Diffform and others who use the Zotero Storage - this should work for you now I think. Apparently the same download link API method can be used. Sorted!
  • @OniDaito I just installed the latest version. Now it automatically fills in the Downloads location in a separate place (btw the order of menu entries is changed - this must be the newest version?): /storage/emulated/0/Android/data/computer.benjamin.zotdroid/cache/ZotDroid
    The zotero connection and databse sync works fine, but whenever I try to download an attachement (html/pdf/...) it claims: "Error: WebDav download error.Failed to download from Zotero. does not appear to exist."
  • @Diffform can you confirm that your userid and username are filled in, in the preferences section? Yes, I did reorder these, because the ones further down are much less important (and probably should be held elsewhere). As I recall you are using the zotero webstorage? I can confirm this works here but I suspect whats happened is that, during the reinstall, your creds were not filled in.
  • edited January 26, 2018
    @OniDaito It logs in because i can sync, which works very well. My credentials are not saved in Zotdroid, whenever i reopen i have to sign in on the zotero page to get a new key and in the respective setting fields it states "... will automatically be filled upon login". Maybe that is the problem?
  • @Diffform yes, this is the problem. The oauth step is not so great, and it's mostly controlled by the browser. It's a real pain and I don't think there is a way around it. The easiest thing to do in this case is to do a complete uninstall and then reinstall again. Clear your browser cache and resync.

    I'm debating replacing the current oauth stuff with the latest google api version. Not sure yet, but what I've described above should fix your problem.
  • Actually, it looks like I can't because Zotero is OAUTH1.0a only and not OAUTH2.0 which is what the built in google android oauth lib requires. So sadly, we are stuck with this rather clunky login stuff for now. I'll see if theres anything I can do to make it better.
  • @OniDaito With my mobile as well as with my tablet can i open the browser window and it accepts login to a stage where it syncs my entire database. Whenever i close zotdroid i have to signin again because it does not save credentials. Also i cannot directly paste any credentials in the settings, the message is as mentioned in my last post. In my synced database, when i try to open an attachement it gives the error: "Error: WebDav download error.Failed to download from Zotero. does not appear to exist."
  • @Diffform please confirm you have done a full uninstall of ZotDroid before you reinstall and try again. I highly suspect that the oauth keys are still in your cache, which is fine for sync BUT the userid is required for the file download link to work, and it seems like this is not filled in. You've found yourself in an edge case, which is normal during beta testing.
  • @OniDaito How can i make completely sure that my cache is clean? I have uninstalled, and deleted the chrome cache then reinstalled which didn't work. I will try again and post my results.
  • Chrome has a setting under the privacy option in the menu. Right at the bottom it says something like clear cache or clear saved settings. I believe that's enough.

    I can't reproduce your error at this end - I can download from the Zotero official storage reliably. So aside from a fresh reinstall I don't know what to suggest :/
  • @Diffform so I think I've found a major problem and I think it underscores a lot of the issues here.

    Unless you explicitly ask for permission to write to storage, you wont get it EVEN IF this is explicit in the manifest AND EVEN IF you use the API to ask for an app writeable directory.

    Next version should have this fixed.
  • 0.99 is now out. I think this will be the last of the beta releases (hopefully!).

    Asking for explicit permission seems to work when it comes to getting the correct download directories and similar. Both personal and zotero webdav seems to work for attachments. I'm keen to know if there are permissions errors when folk open attachments. This might still be a bugbear on devices with later versions of Android. I've had to put in different launching versions for some reason.
  • @oniDaito: Sorry, but whatever I try to do, delete cache etc, it will neither save credentials on my Samsung S7 edge nor on my galaxy tab s3. Whenever I close the app and reopen I have to login again, creating keys again and again in zotero. And because it does not save my credentials, it won't download pdfs due to the same error as before. Uninstall, restart and reinstall, does not help. :-( Any suggestions? is tehre anyone with Android 7 able to solve these problems?
  • Oh that is a shame. There's nothing I can do as I haven't had any crash reports sent for a few days now. My android 7 device works fine, both with zotero and custom storage. There may be an edge case I've just not managed to find yet, but without more accurate information, I can't diagnose the problem.

    Saving credentials would suggest that for some reason, your browser isn't returning the information required by Zotdroid. I'll think on as to why that might be. It's definitely an odd one.

  • @OniDaito Whatever information I can give you, I am happy to share it! Just give me a mean to do it. Skype, email, chat...
  • Thanks, I appreciate that. What I need to solve this is, well basically, your phone :/ I need to see the error logs and perform many tests. It's just not feasible remotely.
  • @OniDaito Did you just remove the app from the appstore? I cannot find it any more with my tab s3? Where could I find the errorlogs?
  • Yes, I did - I'm quite annoyed with Google at present for unrelated reasons.

    Today is version 1.0 release day where we move out of beta so I'm working on that for now. If I think of a way I can solve your creds issue I'll get back to you.
  • Version 1.0 is now up and for sale.


    (yes, google insisted I change the package name. Don't ask!)

    Updates to version 1.0 (such as bug fixes and minor features) will be added for free. Depending on how this all goes, I'll see about adding more features.

    I'd like to thank everyone here. It's been really useful to get feedback and beta testing and it's definitely made the final application much better. So thanks again!

    Right, now I can actually use this app and get back to the research.
  • I have bought this app, however, the personal webdav setting still does not work. I can not connect the webdav server. Would you please provide a tutorial on setting webdav. Thanks.
  • Hello there
    Personal webdav should be fairly simple. If you've setup storage and it works with the Zotero standalone client, it will work with Zotdroid.

    Firstly, navigate to the webdav settings. Enable the flick switch at the top to turn on the settings.

    Secondly, add the URL to your webdav server, something like https://www.myserver.com/zotero

    Add your http auth username and password. This is basic auth as provided by htpasswd or similar.

    That is all that's needed. Things to note:

    It MUST be https
    You MUST NOT have a self signed certificate (visit letsencrypt to get a decent one).

  • I have bought this app and webdav doesn't work for me as well. I have exactly the same setting with zotero standalone windows client. My webdav server is box.com.
Sign In or Register to comment.