How should WebDav attachment sync work?

I set up WebDav syncing with my institution's webspace. When I log in to WebSpace, there is a Zotero folder, but the files are .prop or zip files with I don't know what file types in them. Should I see my attachments here as .pdf, .jpeg etc.?

Also, the attachments have never synced between computers using webdav. Should they?

The URL is https://webspace.princeton.edu/users/netid/zotero/ (where netid is my netid).
  • The attachments should sync properly, if the same WebDAV settings are in place on all the computers. It is not straightforward to get a simple display of the attachments-- they are zipped and saved with encoded filenames for a number of reasons; for a way around this, see http://forums.zotero.org/discussion/20339, although that project does not yet provide for collections that do not use its server (I think).
  • edited November 3, 2011
    phpZoteroWebDAV (the project that ajlyon is referring to) does not necessarily require the use of its own server code (as a background: the project includes both a sync server component and a library/attachment viewer component) AS LONG as the location where the files are stored is accessible to the viewer script.

    This can often be the case even if the server component is not used, for example, the a webhoster might offer WebDAV access to a /home/user directory, a user syncs to /home/user/myzoterosyncdata/zotero, and phpZoteroWebDAV would, for example, reside in /home/user/public_html/zotero on the same server machine. In this case, phpZoteroWebDAV's viewer component could be easily used to display attachments by entering /home/user/myzoterosyncdata/zotero in its settings.php file. Note that this also means that only phpZoteroWebDAV, but not the sync data, has to reside in a web accessible location, which might ease potential safety concerns some might have.

    Thus, to reformulate, in general phpZoteroWebDAV's viewer can very likely be used if a php enabled web server runs on the same server machine that hosts the WebDAV server used for syncing (regardless of whether this WebDAV server is phpZoteroWebDAV's own server component or not).
  • I suspected that might be the case-- and I'm very glad to hear that it is. I haven't gotten a chance to try it, but it sounds like phpZoteroWebDAV is a huge step forward for Zotero users!
  • Thank you for the information. I've checked my settings and can now get attachments on multiple computers synced via WebDav. Not sure if the phpZoteroWebDAV will work with my institutions WebSpace. Will need to look into it further.
  • edited November 8, 2011
    If your institution's webserver has php enabled, phpZoteroWebDAV will work.
  • edited November 22, 2011
    I'm trying out phpZoteroWebDAV but initially on a localhost Apache2.2 server (on Windows Vista)to preserve my zotero database since I'm up to 100 MB free level.

    I try Zotero Preferences > File Syncing > WebDAV and the URL is
    http://localhost:8080/zotero/webdav_server.php/zotero/

    blank username and password)

    Verify Server

    But the error message pops up ..

    SSL certificate error connecting to localhost.
    Load your WebDAV URL in the browser for more information.

    Are any WebDAV settings required in httpd.conf?

    I have been trying out WebDAV on localhost previously using Amaya as a client. But I just can't get zotero data to sync with my localhost PHP server. I can't connect although clients such as Amaya or BitKinex can make a connection.

    Why is there a reference to SSL certificate?

    Ultimately I hope to place zotero on an EC2 or S3 Amazon instance but I'm trying in localhost sync mode.
  • edited November 22, 2011
    Answering my own post above ..

    My error was using port 8080 in https mode .. https uses port 443 and adding port 8080 into the URL clashes with assumed SSL listening port 443.

    File Syncing URL (https) should be (no reference now to port 8080)

    https://localhost/zotero/webdav_server.php/zotero/

    I followed the SSL setup advice here ..
    http://www.silverwareconsulting.com/index.cfm/2009/3/31/Enabling-SSL-on-Apache-on-Windows

    And advice here for setting up WebDAV on Apache2.2
    http://www.mkyong.com/apache/how-to-enable-webdav-in-apache-server-2-2-x-windows/

    Since the SSL certificate I had created was self-signed I had to open the URL in a browser and accept the untrusted certificate as an exception in localhost.

    While testing I also setup WebDAV on localhost Apache2.2
    and then phpZoteroWebDAV became redundant.
    But it might prove useful later in a hosted environment where I cannot setup WebDAV directly in the host.

    Currently both WebDAV / SSL methods are now working in my localhost Apache2.2.
  • Hi dragonfly,

    I am not sure how useful it is to sync to a WebDAV server on localhost - that is basically a very complicated way of copying your attachments to a different directory on the same computer... Also, as long as you sync only to localhost, there is absolutely no benefit of ssl as the data doesn't even leave your computer. All this does is to make your CPU work harder.
    Note also, that phpZoteroWebDAV 2.0, besides offering a php based WebDAV Server, also allows you to view your library and and the attachments synced to the WebDAV server in your browser. In other words, its feature set goes well beyond the WebDAV server.

    also,
    I try Zotero Preferences > File Syncing > WebDAV and the URL is
    http://localhost:8080/zotero/webdav_server.php/zotero/

    blank username and password)
    as detailed in the installation instructions, zotero requires something in the username and password fields even if you have not set up a username or password (which I strongly recommend you doing, although with a WebDAV server on localhost it doesn't really matter as long as it stays behind a firewall). Of course, if you have not set up username and password, it doesn't matter what you put there, as long as you put something.
  • edited November 24, 2011
    krueschan

    I was experimenting .. but I should explain the logic ..
    I was thinking of ways of having a two tier zotero storage

    (a) zotero free storage (up to 100 MB which I've now hit)
    and
    (b) archives which can be used to prime the zotero profile (limited to 100 MB) which syncs with the front end zotero server.

    So I admit I'm trying to get around subscribing for increased zotero storage (at least during development stages).

    I have tested SSL/WebDAV setup in localhost Apache mode (as a prototype) and I agree that SSL configuration is not needed in localhost mode. But the idea is to eventually sync zotero local profile (in Firefox) with Amazon S3 storage which offers 5 GB free.

    This thread helped by explaining the structure of the zotero store:-

    http://forums.zotero.org/discussion/4736/2/php-based-webdav-server-can-be-used-with-any-eg-free-hosting-plans-and-via-standard-ports/

    I'm using a php script to decode the base64 strings and trying a prototype dashboard (GUI) to allow zotero objects to be dragged 'n dropped between the different datasets and then to resync.

    I accept that it would be much easier just to subscribe for more zotero storage but this experiment is with a future collaborative use of zotero in mind.
  • Honestly, this sounds messy and very error-prone.

    Also, as far as I remember, there is no WebDAV interface to Amazon S3, so you'd need to add yet another layer of complexity to use that for your sync.

    If I were you, I'd just stick with one of the two sync options Zotero is offering out of the box - WebDAV and Zotero storage and not mess on the client side with behind the scenes syncing. On the server side, as far as the WebDAV server is concerned, you have some choice as to how to set it up, e.g. as part of a webserver or via my phpZoteroWebDAV. Keep in mind, too, for your future collaborative use, that group libraries only sync to Zotero storage for various reasonable reasons.
  • krueschan

    Thanks again. I will bear your advice in mind as I play around. True, it does appear to be messy but is feasible as a demonstrator. In fact I have an instance of Ubuntu on AWS EC2 (not yet on S3 as I wrote above) and a cloud LAMP server is SSL/WebDAV enabled for syncing from Firefox zotero profile. Or your phpZoteroWebDAV script can be used for syncing. The idea then is to build a GUI layer above this. If/when it is working I'll post a link to view.
  • By the way, your description of your GUI dashboard sounds fairly close to the library and attachment view component of phpZoteroWebDAV 2.0 of which there is a live demo site available so you can test whether it might already fulfill your objectives.
Sign In or Register to comment.