Document Sharing

From Freehackers
Jump to: navigation, search

The goal is to find a simple, yet powerful, way to share documents withing a small team, using both linux and windows.

Cloud Storage

Free alternative to things like google drive or Dropbox. This requires users to have an internet connection almost permanently.

Links

Owncloud

http://en.wikipedia.org/wiki/Owncloud http://owncloud.org/ gentoo : www-apps/owncloud

  • inline editing of documents.
  • swift backend (but see not below)
  • dropbox-style synchronization
  • android/ios client, but not free, see below.
  • file revision history

Can be used on top of swift (openstack) or AWS S3, or users can mount a swift/s3 directory. But it's cumbersome, it doesn't really work, and the configuration is complicated. Most importantly, it is highly inefficient : when you upload a file, it goes through the owncloud server (oc client -> oc server -> storage), which is a no-go for my use cases.

They are charging for the android client, even though opensource. You can find a free (and legal) version on f-droid. There are now other (android) applications based on the api, even on google play, but with less features.


Pydio (formely AjaXplorer)

https://pyd.io/ Not in gentoo.

More focused on document sharing than owncloud (which does much much more, maybe too much).

  • official free android / ios app
  • nice (admin) interface
  • stats (upload, download, access)
  • notification for upload/access
  • swift backend, but how does it relate to the bad owncloud one ?
  • dropbox-style synchronization
  • file revision history
  • funny thunderbird plugin to automatically put bit attachements on pydio and only mail the link
  • "so much faster than owncloud" (december 2014)

The desktop synchronization stuff is done in java (ugly) and is said to be unstable.

http://philippe.scoffoni.net/comparatif-owncloud-vs-pydio/

Seafile

http://seafile.com/en/home/, In gentoo since may 2017

  • free android/ios clients
  • linux "client" (system tray applet actually), based on qt5. (may 2nd, 2017: crashes on startup, segfault in copyActionToPlatformItem)
  • they mostly use nginx/gunicorn/django, this is an excellent software stack.
  • the architecture seems complicated, but that may solve the usual problem of uploads going through several layers (nginx/php) which is a huge bottleneck for uploading big files (>10GB).
  • they have some "pro" version (?) :-(
  • client-side encryption
  • file revision history
  • dropbox-style synchronization

SparkleShare

http://sparkleshare.org/ In gentoo : net-misc/sparkleshare

Based on git, so will only work with small files (<1G) with no or really few revisions. But of course, recovering old versions is now a given (even point-in-time for directories).

  • client-side encryption

Syncany

https://www.syncany.org/ Not in gentoo.

  • dropbox-like file sync
  • client-side encryption
  • several storage backend, but no mention of swift
  • versioned files
  • march 2015 : only available as CLI
  • mentions docker in download, they use readthedocs

Cozy

http://cozy.io/en/ Not in gentoo.

  • free android application, no ios, no desktop
  • they use fabric, python, node.js, nginx, ansible, raspberry pi
  • done in France

Disconnected

Revision control (CVS, subversion, git)

Even though those are rather technical tools, they are well integrated in windows/macos/linux with things like tortoise. As such, they can be used by non-technical people (click-only). You still need to teach them about "commit" and "update" (and scare them with "conflict")

The favorite solution of Bluebird, used in several different professional contexts.

There are now solutions basically doing this but integrated and with lot of features added on top (check for exemple sparkleshare previously in this page).

webdav

Looks good on paper (there's even a locking mechanism), but it has consistently failed both my expectations and tests since 2000 and at least until 2015 (orzel). The different implementations (for both server- and client-sides) keep on being quite incompatible. MacOS uses some tricky uncommon extension which makes it incompatible with most clients, IE support for webdav is ugly.

scp + http/webdav (.htpasswd)

Poor-man solution, once used by orzel, but no more. It's just copying files, doesn't do any kind of synchronisation. The user does it all.


Connected

Only for local sharing, which has lost a lot of interest in recent days.

Samba / SMB (Windows file Sharing)

Heavy, doesn't protect from locking/erasing.

NFS

Heavy, doesn't work under windows, no way to protect from erasing. Can't really be used through internet or vpn.