Collaboration over a local area network

Hello,

Zotero would be the perfect tool for managing bibliographic information if there was a possibility to share a database over a local area network. At the moment, my group can't adopt it as we cannot rely on the zotero.org server for many reasons, including:
- confidentiality: your privacy policy is fine but I guess you will not take any responsibility in case of information leaking from your server for any reason.
- continuity of the service: if zotero.org was temporarily or permanently unavailable to us for any reason (technical issue on your side, disruption of communications, lack of funding to maintain your server), this would have a major impact on our work.

In addition, I don't really understand why you insist on attracting an awful load on your server.

I also think that the demand for a collaboration tool has a limited scope (e.g. a research group, a department, an R&D project), which does not require a central server.

It would greatly help if the synchronisation/collaboration was more open. Here are a few ideas which could make the job (I don't know to which extend they are technically feasible):
- open/close the connection to the SQLite database each time an item is added or modified, instead of having the connection permanently open. This way, I guess a single file could be shared over a local network.
- release the server side of zotero's sync feature (a PERL/PHP/Python extension for a web server with an SQL database, perhaps?) so that users can implement it on their own server.

Of course any other solution would be welcome.

Many thanks.
  • Another possibility: having Firefox handling the SQL aspect is convenient but does not seem crucial to me. Could you just add the possibility to use an external SQL server to handle the database?
  • Yet another (simpler?) solution. Would it be possible to use the asynchronous statement execution as introduced in the latest version of MozStorage? (cf. https://developer.mozilla.org/en/Storage#Asynchronously)
    It seems to me that this should allow a single file to be used by several zotero instances.
  • In addition, I don't really understand why you insist on attracting an awful load on your server.
    If the load was really "awful," it presumably wouldn't be great to use on smaller machines.
    - open/close the connection to the SQLite database each time an item is added or modified, instead of having the connection permanently open. This way, I guess a single file could be shared over a local network.
    Not reliably, no. The existing locking is already smarter than that proposal, but file locking on SMB is not reliable. There are already some who use a zotero file on SMB with mixed success (make backups! this is unsupported.). You'd decrease reliability, but would have your privacy
    - release the server side of zotero's sync feature
    It had been said that this would likely be released, but completely unsupported. Again, you're just trading risks.
    Could you just add the possibility to use an external SQL server to handle the database?
    This seems like a bad idea; mozStorage works & is there.
    Would it be possible to use the asynchronous statement execution as introduced in the latest version of MozStorage?
    This seems like a good idea to prevent some UI lockups. However, this won't handle flaky SMB locking issues.
  • edited August 18, 2009
    Thanks for your reply.
    In addition, I don't really understand why you insist on attracting an awful load on your server.

    If the load was really "awful," it presumably wouldn't be great to use on smaller machines.
    Except that on my smaller machine, I would just have to deal with a dozen groups and a few tens of people, not the whole academic world!

    It had been said that this would likely be released, but completely unsupported. Again, you're just trading risks.
    I'm not sure if it is fully rational, but there is no doubt the technical risk is more manageable. Especially if the source code is as readable as Zotero's. Any timescale?

    Would it be possible to use the asynchronous statement execution as introduced in the latest version of MozStorage?

    This seems like a good idea to prevent some UI lockups. However, this won't handle flaky SMB locking issues.
    Should I add a specific feature request, then?
  • - open/close the connection to the SQLite database each time an item is added or modified, instead of having the connection permanently open. This way, I guess a single file could be shared over a local network.
    Zotero caches data in memory to improve performance. Even leaving out SQLite (and network filesystem) locking/corruption issues, if the underlying database is changed elsewhere while Zotero is open, Zotero wouldn't see many of the changes until Firefox was restarted, which would cause all sorts of problems.

    You can share the Zotero data directory on a network drive (though it's unsupported), but you can only have it open on one machine at once.
    Would it be possible to use the asynchronous statement execution as introduced in the latest version of MozStorage? ... It seems to me that this should allow a single file to be used by several zotero instances.
    Asynchronous statement execution doesn't have anything to do with locking. It's just a performance feature.
    This seems like a good idea to prevent some UI lockups.
    (It's unlikely we'll switch much over to asynchronous statement execution, because it requires a completely different coding pattern from what's used throughout Zotero. But 2.0b7 will bring some major improvements in UI responsiveness during long operations using a different method.)
Sign In or Register to comment.