I enjoy trying to find solutions to things that are difficult to accomplish, whether that is researching existing technologies to try and mash them together, or developing new ones to solve a problem. It’s rare that I have to create completely new things, so more often than not, all the pieces to solve the problem currently exist. This is one such occasion.
Here’s my dilemma:
- I’m creating a web-based application for my company’s intranet. We’ll call the application “Jada”.
- Jada is hosted on a computer that has a one-way connection to the internet: out. No one can get in from the internet.
- I sync my files to the cloud with Windows Live Mesh 2011 on Jada, and that gives me a real-time backup, as well as a copy on my computers at home.
- Windows Live Mesh 2011 does not have the ability to edit files in the browser. DropBox does not have the ability to edit files in the browser. But DropBox has an API.
- I have a Cr-48 Chrome OS netbook, and must edit my codes inside a browser. When I save the file, it must automatically end up back on the Jada server, without installing software (since I can’t, on this laptop).
The file-editor of choice for my codes is to host them on Kodingen and use their Bespin integration (as the actual Bespin site doesn’t have an import/upload feature yet). I have uploaded a copy of the files via FTP, however, that is a single instance of those files…thus any changes I make there must then be downloaded onto the Jada server via an FTP client, or pushed. Either way, that would happen at intervals, and not instantly, and definitely not from the Chrome OS laptop.
The concept of webhost sync would be similar to this:
- A user would set up their DropBox folder so that the files they want would be scraped up by the software, and sent to the DropBox website.
- A user would then authenticate to Dropbox on the editor (Kodingen in this example), and then map a folder created on the Kodingen FTP server to say “this folder is where I want the Selective Sync of that DropBox store to be located” or a new folder option would be offered to say “make this a folder in my dropbox account, and sync it.”
- Every X minutes of inactivity to the files (no files have been edited or modified), or the user being logged out/session expiration, the Kodingen would poll DropBox’s file metadata to see if any files have changed. If so, pull them over to Kodingen’s store.
- While inside the editor, a Save action on the file being edited would activate a hook to sync that file and any other files that have been changed.
- There would also need to be a manual sync button for posterity in environments where multiple people would be working in other locations. Such changes could exist in the span of X minutes between CRON jobs to sync the server, and one would want to make sure they have the latest version of the files before they get started.
This is a general overview of how I would envision something like this working – and would definitely be a huge step in the right direction for programmers who wish to keep all their files in the cloud, but don’t have direct access to the computers they are developing for…especially if the Cr-48 is going to be as limited as it is when it comes to file editing.