Hi Tristan,
a) I'm not sure how to achieve the proposed symlink solution without having a user specific "importUsers" property (i.e. something other than "default"). Having a user specific dropbox config that lists all users and their corresponding watched directories would not require symlinking anymore.
I was thinking something along the lines of:
- Code: Select all
jrs-macbookpro-25031:~ cblackburn$ ls -l /Users/cblackburn/omero-dropbox
lrwxr-xr-x 1 cblackburn staff 43 27 Mar 13:46 /Users/cblackburn/omero-dropbox -> /Users/cblackburn/var/omero51/DropBox/colin
i.e. each user having a symlink to the default DropBox location. Then the system only need watch the default locations. Of course this will depend on your system and on user administration.
b) Doesn't changing the omero config require a restart of the server? If not, than pushing the config to omero in regular intervals would be a solution, indeed, although not very elegant.
It isn't necessary to restart the OMERO server, you can restart the various Ice servers independently.
- Code: Select all
bin/omero admin ice server stop DropBox
should be sufficient as the default configuration is for DropBox to automatically restart if it is stopped. This should then pick up any changed DropBox configuration.
c) I had a look at the undocumented in-place import feature (thanks for the hint!), but this would lead to the problem of OMEROs reaction when a users deletes an original file (inside his home directory) at the end of it's usefulness. OMERO would probably not react by automatically purging the database entries for this file and we would end up with a corrupted database as soon as users (who have full write permissions, of course) start to accidentally or purposely delete files.
The DropBox system was conceived and implemented before the current OMERO 5 import workflow and so to some extent we are only just starting to look at how we can take advantage of the new import methods that are becoming available.
A typical imagined workflow might be to use in-place import with hard links. This way the user deleting files from their own DropBox folder will not be deleting the imported file from the ManagedRepository. So a full delete would require the user to both delete their local file and also actively delete the imported image via OMERO, which would delete the ManagedRepository link.
However, you raise an interesting idea. DropBox can monitor file deletes, although it doesn't do this by default at present. This would allow for some sort of "in-place" delete where the file being deleted could trigger an OMERO delete. This does raise some serious data security issues and so we have added it to our scoping document as something to look at and consider for a future release.
Cheers,
Colin