Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #7018 (closed)

Opened 13 years ago

Closed 12 years ago

Last modified 12 years ago

Investigate using MacFSEvents in DropBox

Reported by: cblackburn Owned by: cblackburn
Priority: major Milestone: OMERO-4.4
Component: OmeroFs Version: n.a.
Keywords: n.a. Cc: jamoore
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: 0.0d
Sprint: 2011-12-13 (4)

Description (last modified by cblackburn)

The Mac implementation of DropBox could be improved and simplified by using MacFSEvents, https://github.com/malthe/macfsevents

Change History (13)

comment:1 Changed 13 years ago by cblackburn

  • Milestone changed from Unscheduled to OMERO-Beta4.4
  • Owner set to cblackburn
  • Sprint set to 2011-11-10 (2)

comment:2 Changed 13 years ago by cblackburn

  • Status changed from new to accepted

comment:3 Changed 13 years ago by cblackburn

  • Remaining Time set to 2

comment:4 Changed 13 years ago by jburel

  • Sprint changed from 2011-11-10 (2) to 2011-11-24 (3)

comment:5 Changed 12 years ago by cblackburn

  • Remaining Time changed from 2 to 1.5

comment:6 Changed 12 years ago by cblackburn

  • Owner cblackburn deleted
  • Status changed from accepted to new

comment:7 Changed 12 years ago by jmoore

  • Sprint changed from 2011-11-29 (3) to 2011-12-13 (4)

Moved from sprint 2011-11-29 (3)

comment:8 Changed 12 years ago by cblackburn

  • Owner set to cblackburn
  • Status changed from new to accepted

comment:9 Changed 12 years ago by cblackburn

  • Description modified (diff)
  • Remaining Time changed from 1.5 to 0
  • Resolution set to fixed
  • Status changed from accepted to closed

Having tested this there are several weaknesses:

  • a library is built which depends on Mac OS version and Python version. This could complicate our build process.
  • although it uses the same event masks as (py)inotify it uses a very reduced set (created, delete, modify and move). It doesn't distinguish directory events so extra logic needs to be added to distinguish file events from directory events.
  • although its use is relatively simple it works a little differently to pyinotify so it doesn't offer an immediate way of unifying the Linux and Mac OS monitoring.
  • when a new directory is created it seems to report all directories at the same level as being new. This would lead to duplicate imports without further logic.
  • when a directory with contents is copied/moved into a monitored area only the directory is reported as being new (there is no immediate recursion) so extra logic would may needed to handle the notification of underlying files.

None of this is insurmountable but I'd recommend watching the development of this package rather than using it as it now is.

comment:10 Changed 12 years ago by cblackburn

Josh: is it worth committing the file I used to test this even though it wouldn't be used by our existing code? Just really to keep it somewhere/have it recorded? It wouldn't be usable out-of-the-box without someone installing MacFSEvents themselves.

comment:11 Changed 12 years ago by jmoore

I'd certainly at least push it to a macfsevents branch on your github, so we remember to come back to it. Up to you, really, if you want it in develop.

comment:12 Changed 12 years ago by jburel

Colin and I discussed that this morning (before your comment) and Colin will push it on team instead of having an inactive branch for a long period

comment:13 Changed 12 years ago by cblackburn

Pushed to team/cblackburn/macfsevents

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.73154 sec.)

We're Hiring!