How to change the Dropbox sync folder location programmatically on OSX - macos

is there a possibility to change the Dropbox sync folder (aka "Dropbox location") programmatically on Mac OSX? By programmatically I mean by executing some command line helper tool or by using the Dropbox API.
I've searched around for this quite a long while now, but couldn't find any satisfying answers.
Sym-linking or using an alternative cloud provider (with a possibly better CLI/API) as suggested here are not an option for me.
As I understand the Dropbox API, it is made for accessing the Dropbox Server storage from within one's own application rather than interacting with the "out-of-the-box" Desktop sync client, is this correct?
The solution I am looking for should also work very reliably, so "hacking" the encrypted SQLite dbx files (as suggested here) or an Apple UI script that changes the sync folder via the Dropbox UI Desktop client are also really not an option for me.
For Google Drive I know that doing this is a simple as stopping the sync client, moving the sync folder, changing the sync path in the sync_config.db accordingly and re-starting the Desktop sync app. -- Exactly such a procedure is what I would also be hoping to find for Dropbox :-)
THX for your replies & suggestions!

No, without using the potentially brittle methods you mentioned, I don't believe there's a way to do this programmatically.
Your understanding of the Dropbox API is correct though. Using the API allows you to communicate with the Dropbox servers directly to interact with the account, and not the local desktop client.

Related

File sharing over the internet - WebDAV / SMB / FTP

We are developing a web based application which provides a repository of users case files. Would like the user to be able to access these from their web browser with full read write capability.
For an earlier generation of our system, which was hosted on a local Linux server with Windows clients we were able to share out a folder and access it with \\server\share_name\file.doc type links. If these type of links were included in web pages (in internet explorer) and clicked on the file opened in MS Word and was savable directly into the shared folder. These type of links however only worked in IE - not FF or Chrome
Moving now to an internet based solution in our next generation of the system, we require similar functionality.
We are toying with the idea of having a WebDAV (or FTP/SFTP) share and mapping a local drive on each client machine to it to provide similar functionality. This though will probably not work well with FF or Chrome with \\server\share_name... type links. We have done brief testing and file:// links do not provide write capability once the file is opened.
As a last resort we will be able to use manual file upload dialogs, but this is not ideal and would entail additional end user training.
Has anyone any similar experience in this field and any possible solutions / best practice.
When you map remote resource as a local drive, for a browser this becomes a local drive. And browsers have only limited access to the local file system. Now when you provide a link to the browser, the browser's default behavior is to download the resource behind the link, and then let the local application process it. The browser just doesn't know how to open the remote resource locally in a different manner.
The solution would be to let the browser download something (some kind of link file) and have some local helper module (external application or browser plugin) open this link file and open the location, specified in this link file, locally. As this would be a client-side helper module, it will be able to interact with the client system and will know how to open the provided link. Given that the virtual drive letter can be different on each system (if you mount the disk to the drive letter), the helper module would need to resolve the link to point to the correct local drive. If you create a hidden virtual drive (our virtual storage products let you do this), then a link would look like "\SomeFancyNameUniqueToYourApp\Path\To\File.ext" and no resolving would be necessary. And most applications handle this type of paths fine.
I don't know for sure, but it's possible that browsers will open Windows .lnk files without a need in helper module, and with hidden virtual drive you could generate an LNK file on the server and have the browser open it locally. But this is just a guess. My bet is that you will need a helper module anyway.
ftp://username:password#hostname/ type links should work, and MS apps are getting better at handling them. still not 100% though
Try SMEStorage.com. They enable you to map local WebDav and FTP servers and access files using a Cloud Drive on Linux, Mac or Windows, and also from mobile devices (iOS, Android, BlackBerry and Windows Phone 7). You can get unique file links for each file and also secure file sharing in which the links expire.

FTP client that functions similarly to Dropbox?

I'm trying to help a wonderful designer who is sadly running out of space on her Dropbox, but is already paying for hosting service that has 100GB available for her. Is there a software that works and that is seamlessly integrated within explorer and updates files on FTP that you yourself can assign?
Thanks!
What you are looking for is something like FTPBox http://ftpbox.org/
Hell in your case Id consider buying a NAS drive :)
QNAS make about the best on the market, they can be rigged up as ftp servers, have almost a terabyte space, allow for windows and linux integration and make brilliant samba servers.
It all depends on your requirements, which you have not stated too clearly.
Do you want Internet storage (web/dav/ftp/sftp) or storage within your own network?
If you are looking for a solution which is available for almost every OS and where the storage is located somewhere in our wonderful Internet-verse, webdav/s could be the solution.
I'm not really sure, if I understand the statement "files on FTP that you yourself can assign".
Please be a little bit more specific.
Why not Filezilla?
http://filezilla-project.org/
You can try IQBox, my own free open-source project. It syncs using FTP-SSL by default (you can use non-SSL FTP also, but not recommended due to security.) It's a simple sync app for FTP.
Official Download Page for IQBox FTP Client
Google Code Project Page
If they are using Windows they can set up an FTP account as a "Network Location", then you can use it like a regular folder on your PC. Drag and drop away.
http://windows.microsoft.com/en-us/windows/work-with-files-ftp-site#1TC=windows-7

Good Mac OS X app that allows server connection via FTP?

I'm looking for a web based FTP client, with a good PHP, javascript, html, code editor. possibly with unzip capability.
I've tried eXtplorer, but it's pretty buggy, especially the editor.
Any suggestions?
EDIT:
I thought about this and i decide that maybe it's better to have a desktop app that allows this kind of connection (read the comment below) instead of using a web app that is slower for sure.
So I change my question: Is there a mac os app that allows me to manage my server files via a protocol like web ftp, so that i'm not firewalled by public networks limitations?
To turn your request around emacs provides remote file access over a variety of protocols including ftp (tramp mode), and can function as a web browser as well. If you really want it to run in a browser you can find a web terminal emulator and run emacs from the command-line.
How about PHPfileNavigator? (I'm assuming you want PHP based on eXtplorer.) I haven't used it, but a friend of mine said it worked pretty well once.
Edit: Based on your edit, are you just looking for a Mac FTP client? There are certainly plenty of those around. What is the specific requirement that's preventing you from using a normal one? Is it that an FTP service can't be opened on that server for some reason?
If that's the case, what services can be made available on the server? FTP on a different port? SSH/SFTP, perhaps?

Edit office document on server

We are going to develop a client-server application where all the office documents will be stored on the remote server.
The problem is that users need to edit these docs very often.
The standard solution is:
download
edit locally
upload
But it is very inconvenient and would cause high traffic, cause docs are very large.
Is there any solution to edit documents right on server?
E.g. some remote OpenOffice installation which we can connect somehow?
Thanks in advance!
Unless you can give your users RDP sessions on Windows or VNC (or X windows?) sessions on Linux you're going to be stuck with downloading the document to edit locally (in one form or another) then upload again.
There may be some HTTP/browser based solution but because it's HTTP you're going be to pulling all of the document back to the browser to edit then posting back to the server, it pretty much defeats the purpose.
As pointed out by Kev, one solution would be some sort of remote access software to access a copy of OpenOffice.org running on the server. There is for example a VNC viewer that will run as a Java applet in a browser (http://www.realvnc.com/support/javavncviewer.html ), that might do the trick.
Another option would be a server-based office package, a la Google docs. There are some available, but none with the full feature set of OpenOffice.org, so this is probably only an option if you can restrict to that feature set. If you can, it could work quite well.

Adobe AIR: Windows Application Directory Access

While I realize Adobe discourages use of the application directory for reading/writing, I have been able to successfully write data there on OSX, so long as the user selected the file.
However, this same application is giving me trouble in Windows 7. Even a browseForSave() doesn't seem to allow the FileStream to write to the file.
Is there a workaround for this?
Or at least can anyone confirm that it DOES work for them? If you know a way to accomplish this, example code would be appreciated. I've tried a few different methods to no avail. This is for an internal development tool, and for our purposes it makes more sense to have the file in the application directory rather than app storage at the moment.
Windows 7 manages an application's access to it's own data. Put simply, it won't let you. As such AIR currently prevents you from doing it on any system for consistency's sake. See the linked thread for suggested alternatives from Adobe's Chris Campbell.
While this is a really cheesy work around, you can copy the file from app storage to the app directory after writing to the file. You would still have to write the file in the applicaiton storage directory though.
var theFile:File = new File(File.applicationStorageDirectory.nativePath).resolvePath('myfile.xml');
var theCopy:File = new File(File.applicationDirectory.nativePath).resolvePath(theFile.name);
theFile.copyTo(theCopy,true);
Then you can delete the storage file if you wish.
theFile.deleteFile();

Resources