Would like to add Onedrive support

I see that the PHP version supports Onedrive, but Go should have better performance, will the latest version be Consider adding Onedrive? it helps. Wish there were more storage options.

1 Like

Hear, hear!

It’s been 9 months since your request, and all that I know is that the Enterprise Distribution now has SFTP support, but I didn’t understand if that’s merely an access feature, or a storage option.

Let me state my use-case…

Pydio Sync has been a nightmare to setup — I have no idea why. I did have it working under Cells 1.X — at least briefly — but so much has changed since then that, somehow, I have no clue why it doesn’t work today. Granted, my overall setup might just be too confusing to figure out what’s the issue. But what that means is that people cannot sync their folders with Cells 2.2.2, as they did so easily under Pydio 8.X.

Naturally enough, they have resorted to using other file sharing platforms. To make matters confusing, some use Google Drive, some use OneDrive (the family edition, which gives 1 TByte of storage), and, obviously, that means that sharing is complicated. We have a substantial amount of files — some dating back 12 or 13 years! — from archived projects and so forth; many of those are images and videos and take a reasonable amount of space. Thus, there is always a problem when attempting to share things, because it’s not obvious if one of the team members will have enough disk space on their shared platform so we can upload things to them.

You might argue that this is a poor way of dealing with internal organisation. I agree — but we’re a very tiny team, resorting to a lot of external freelancers every time a project needs more people working on it. Formerly, we just got them a new account on Pydio 8 and let them manage the shared environment as they wished; it was easier to impose stricter internal rules because, well, we had a working sharing solution.

Now we don’t, so it’s hard to tell people ‘just upload your files to your Cells environment’. People are lazy. They forget their passwords. Our own server may be temporarily overloaded. It might not be able to upload huge files — and that means they’ll share those with me, and then I’ll use SFTP to upload them to Cells and run manual sync…

I tell myself that Cells is the future-proof solution by Pydio, and therefore there will surely be plenty of upgrades available to address all the ‘missing’ features. But, alas, it’s really taking a long, long time for those features to appear — and possibly many of those will ‘migrate’ to the Enterprise Distribution anyway (my speculation, of course).

One might also argue that it might be a good investment just to move to the Enterprise Distribution, and benefit from whatever extra features it provides out of the box. But this is currently very hard to justify. After all, it costs €4,980.00 per year for 100 users. We might have far less than that at this moment, but because freelancers come and go, we’d need to have a few dozens of accounts at all times. Also, customers will expect to be able to create Cells to share things with us, so having 100 licensed users is not unreasonable.

Note that this astronomical fee is just for the software license. You still have to provide and manage your own server. Now, for that amount of money, we can get TeraBytes of shared data from Microsoft, Google, Dropbox, or any other popular provider of similar services — there are really plenty to choose from — and save the costs of running one’s own server at the risk of losing some privacy (Google does read those files you share on Google Drive and indexes them for profiling data… and very likely the others do the same). But at least we know that synchronisation is instantaneous and works flawlessly without any need to ‘configure’ anything.

As a side note, it seems that the Enterprise Distribution optionally includes OnlyOffice. OnlyOffice is a very interesting business-oriented tool — sort of a mix of G-Suite/Microsoft Office with a CRM, project management tool, and so forth — which is sold for something like $3800
for a 100-user-license — lifetime: pay once, use it forever. Although it provides its own ‘document server’, OnlyOffice also integrates fully with Google Drive, Box, Dropbox, OneDrive, OwnCloud (and apparently even Seafile). It’s noteworthy that they don’t even mention Pydio Cells — while a decade ago, everybody would be mentioning AjaXplorer (Pydio’s previous name), Seafile was taking its first steps, and OwnCloud had just come out…

(And OnlyOffice requires an astonishing amount of resources and about a gazillion packages to install — unless you opt for a container-based solution, of course).

Possible solutions

I’ve been raking through the Internet in search of a solution — preferably, not one using an insane amount of packages and tools — and the ‘best’ I came across is rclone. This is a very cute little standalone, command-line utility written in Go (but it also comes with a full library to embed its functionalities into any other application!) which boasts the ability to connect to 50+ (!) cloud storage services — commercial or free — including a range of popular S3-compatible bucket/object cloud-based storage.

It works basically in two modes. The ‘simple’ mode is analogous to FTP: connect to a storage service, copy files to and fro, change directories and so forth. It works 100% of the time. Then there is a ‘sync’ mode — it attempts to keep two directories in sync just like, say, rsync. To do that magic, it basically mounts the remote storage as a local filesystem using fuse. It works reasonably well, but the rclone developers alert that they cannot guarantee that it works 100% of the time, because there can always be synchronisation issues due to unpredictable network delays (heavy traffic) or even blackouts. Well, I guess that’s true for basically any storage service that allows remote mounts.

My first experiment with rclone was actually a complete failure, but I’m the only one to blame: I was actually mounting something which had an exact replica of what was already on the local disk (but of course on a different mount point), and eventually, Cells figured out that there were way too many perfect duplicates and complained. Fortunately, rclone also works in sync mode (as opposed to disk mounting) and it was just a question of setting up a crontab to sync every few minutes or so…

There seem to be a few more choices but I’ve been sticking with rclone for now.

I’m frustrated, because while rclone is a reasonable solution for this issue, it has a limitation: once the files have been properly synced at the filesystem level, Cells doesn’t know that the content of the directories has changed. To do that, one needs to (manually) force a Cells sync, either through the web interface (unpractical, since we have the rest automated) or, more conveniently, via cec.

The problem is when a full resync takes minutes