Domanda

I've been toying around with a web application that would have real-time file sharing at its core. There would be groups of users, and people can share their files with a group. Files would need to be immediately accessible via both the web interface and other users' computers.

I had a basic version working using Dropbox's headless Linux client on the server. Users would share a folder with the server's account, and nasty voodoo happened on the server side to sort everything out properly. I watched the ~/Dropbox folder for updates, and did whatever needed to be done. Copies of files had to be stored once per user due to Dropbox's structure, which meant massive disk space requirements. My solution worked, but barely.

I tried converting over to Dropbox's API, but found that their suggestion for polling for updated files is once per 5 minutes. They'll cut you off if you sustain a rate much faster than once every 2 minutes. Even so, polling an API really isn't an option. I need files the instant they're uploaded; 10 seconds later is really too slow. The API for Google Drive gave me similar trouble.

I briefly considered writing my own desktop application for users to install, but I quickly tosses that idea out. I'm not a desktop software developer, so the program would undoubtedly have issues. More importantly, this application isn't meant for tech-savvy nerds; it's meant for average people. The desktop application needs to be as simple as possible: there's a folder on their computer, they put things in the folder, and then magic happens and their file is on the internet. Dropbox did this wonderfully, but their developer API is totally unusable for my needs.

Can anyone suggest other applications I could look into? I don't have much of a budget, so free is better. I don't mind having to store the files on my server, and total file size will likely remain at only a couple gigs at the most. If any server-side binaries are required, the server I use runs Ubuntu 12.04. The only really important things are that the desktop application be simple for non-techies to use, and there be some way for my application to be notified the instant a file is updated.

È stato utile?

Soluzione

I ended up setting up my own self-hosted solution based on OwnCloud. It's been working great for me so far. They have a really nice API, it's really easy to integrate with, and I can always hack in my own changes to the UI if needed. I can catch file changes by just putting a filesystem watcher on its data directory, or I could write an app that integrates with its core and sends out signals when something is changed.

Altri suggerimenti

We are a file sharing company that has recently released a fully functioning RESTful API. You can add users, groups, permissions, files, dynamic links and even searching in real-time.

http://www.smartfile.com/dev/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top