[phenixbb] Sharing a Phenix project via Dropbox
nechols at lbl.gov
Fri May 16 14:16:43 PDT 2014
On Fri, May 16, 2014 at 1:52 PM, Sampson, Jared <Jared.Sampson at nyumc.org>wrote:
> Since, as Nat (Echols) mentioned, Phenix does expand the paths, you’ll
> have to do the linking the other way around (i.e. the actual files are in
> /a/my_project, and the link is ~/Dropbox/a/my_project => /a/my_project).
> Then as long as the /a/my_project path is the same on all three computers,
> it should be fine—Dropbox follows symlinks<http://www.dropboxwiki.com/tips-and-tricks/sync-other-folders>
> I have several directories linked this way, with the original files
> outside the Dropbox folder on each computer, although, I admit I haven’t
> done it with Phenix.
There is another alternative here that has the advantage of being somewhat
easier: what if I just added some hacks to support sharing of Dropbox
folder specifically? If the directories have predictable names and
locations, as appears to be the case, it is relatively straightforward to
substitute $HOME/Dropbox where appropriate.
FYI, the problem with expanding paths is more general than specific to my
code, at least on Mac OS - it looks like symlinks are expanded to the
absolute path whether I ask for this or not. So to fix this I would need
to make all paths relative, which is considerably more difficult.
As for guarding against having multiple instances modifying the files
> simultaneously: I know I’m presented with a warning if I try to run
> multiple instances of Phenix on the same machine, but there doesn’t appear
> to be anything like that to prevent concurrent access to a project
> directory by multiple instances of Phenix on different machines. Assuming
> network connectivity for all machines and a fast-enough Dropbox sync (which
> may or may not be a reasonable assumption), it could be sufficient to place
> a simple lockfile in the .phenix directory of the project, perhaps with a
> username and date/time, and if another user (or the same user on a
> different machine) tries to open the project, Phenix would present an alert
> message with info about who locked the project and when, along with the
> option to abort or override the lock. Just thought I’d throw that idea
> into the ring, in case it might not be too difficult to implement.
Yeah, this isn't too difficult. Ideally though I would still like the
project to be accessible in a read-only mode (which doesn't exist yet).
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the phenixbb