In Cytomine, we try to store a lot of data about user activities. We mainly store:
- Once every 5 seconds AND everytime the user move (zoom+/-, move left/right/top/down,...): the user position (visible image area) on the image.
- Once every 20 seconds: the project open by the user.
This kind of data is usefull for:
- analyzing user activy: a teacher may want to see where students go on the image and their zoom level.
- tracking system: a user A lock its view on another user B's view. This mean that we need to know the last location of user A.
- user online in project: when you open a project, you can see the list of online user in the project and their open images
This package is store in the MongoDB database.
Package main classes
A position (screen area) for a user on an image at a specific time (created)
|LastUserPosition||Same as PersistentUserPosition, but the collection is store in a TTL collection. |
Older data (x min) are automatically removed
|PersistentConnection||A user connection for Cytomine. We only store project (optional, if user has not open any project), date and user.||Long user|
|LastConnection||Same as PersistentConnection, but the collection is store in a TTL collection. Older data (x min) are automatically removed|
|user online||We query LastConnection.|
|user online in a project||We query LastUserPosition (we need the open image) and LastConnection (if a user is in the project but no open image).|
|tracking system||We query LastUserPosition: we just need the last position for a user in an image.|