You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If there are any original files in the directory, handle with the "new original file" process described below.
User adds new original file to project folder
Add file to the database unless it exists already
Instantiate the original file in memory
If the processed file does not exist, add the downsampling job to the downsampling task queue
When downsampling is complete, file will be fully available in the UI
User replaces original file
Delete old processed file, if it exists
Add the downsampling job to task the downsampling task queue
When downsampling is complete, file will be fully available in the UI
User deletes original file
Try to delete the file in the database
The delete query should fail if it has incoming foreign key references (e.g. from patterns or annotations). This is expected and desired behavior. If the file has these items, it will be left intact in the database. Otherwise, it will get deleted.
Delete the file from memory
If the file does not get deleted from the database, it should not appear in the UI (since it exists in the database but not on disk). Also see: Load project spec below.
Delete the processed file, if it exists
User adds processed file
[ This use case is intentionally not handled. There is no good reason the administrator would do this other than rare edge cases. ]
User replaces processed file.
[ This use case is intentionally not handled. There is no good reason the administrator would do this other than rare edge cases. ]
User deletes processed file
[ This use case is intentionally not handled. There is no good reason the administrator would do this other than rare edge cases. ]
While auviewer is not running, user replaces original file
[ We plan to track last-modified-date of each file in the database as well as a hash. If last-mod-date changes, then we will re-compute hash and check. If hash has also changed, we will re-downsample & update last-mod-date & hash. If not, we will update last-mod-date only. ]
Upon startup & detection, follow the same procedure as User replaces original file above.
Related functionality, to-be state:
Load project (e.g. load project on viewer startup)
Load files from database
If original file does not exist on disk, skip/ignore it (it should not be loaded into memory and should not be listed in the UI)
[We believe this is what is happening right now, but the spec is included for completeness.]
The text was updated successfully, but these errors were encountered:
Just a note. This issue is paused for other work at the moment, but we plan to review this with an eye towards managing complexity when we're ready to take it on again.
Use cases:
Related functionality, to-be state:
The text was updated successfully, but these errors were encountered: