GNOME Bugzilla – Bug 661593
Implement support for removable devices
Last modified: 2021-07-05 11:32:11 UTC
Documents should be able to browse and use the documents available on removable devices connected to the system, such as USB drives and sticks. Design notes: - https://live.gnome.org/Design/Apps/Documents has wireframes and mockups - workflow one: plug -> enter the device from the sidebar or the item in the view -> (maybe view a doc) -> import the doc from within the preview - workflow two: plug-> enter the device -> selection mode for removable devices should have an import action that allows importing one or multiple elements without previewing them Implementation thoughts: - Tracker already has some degree of support for removable devices, see https://live.gnome.org/Tracker/Documentation/Examples/SPARQL/Volumes - the problem is that all depends on the index-removable-devices gsetting in TrackerMinerFiles, which is off by default, and we don't really want to enable it globally for the whole session - we could use tracker_miner_fs_directory_add(); does it modify any settings permanently? Does it install inotify watches on that directory or is it just a one-time crawl? In the first case, when are those removed? In the second case (or probably even in both cases) I think I could envision a very simple API such as gint tracker_miner_fs_directory_ensure_watch (GFile *file, gboolean recurse) void tracker_miner_fs_directory_remove_watch (gint cookie) which would ensure that a directory is kept in the crawling list as long as there's at least a pending client holding a cookie to it. Since tracker-miner-fs and tracker-store are session processes this could also work fine for multiple applications interested in receiving notifications for the same directory without losing application control. - once we have this, we should make sure to handle the 'x-content/documents' mimetype and enable the shell autorun integration with the application.
It could also be useful to support remote servers other than GOA accounts. For example, if you have documents on an FTP, SSH or SMB server, it would be great if you could have them appear in gnome-documents too.
(In reply to Cosimo Cecchi from comment #0) > Implementation thoughts: > - Tracker already has some degree of support for removable devices, see > https://live.gnome.org/Tracker/Documentation/Examples/SPARQL/Volumes > - the problem is that all depends on the index-removable-devices gsetting in > TrackerMinerFiles, which is off by default, and we don't really want to > enable it globally for the whole session > - we could use tracker_miner_fs_directory_add(); does it modify any settings > permanently? Does it install inotify watches on that directory or is it just > a one-time crawl? In the first case, when are those removed? In the second > case (or probably even in both cases) I think I could envision a very simple > API such as > > gint tracker_miner_fs_directory_ensure_watch (GFile *file, gboolean recurse) > void tracker_miner_fs_directory_remove_watch (gint cookie) > > which would ensure that a directory is kept in the crawling list as long as > there's at least a pending client holding a cookie to it. Since > tracker-miner-fs and tracker-store are session processes this could also > work fine for multiple applications interested in receiving notifications > for the same directory without losing application control. IndexFileForProcess was added to tracker-1.6 to address this. See bug 680834.
Created attachment 348660 [details] [review] lokview: Add pre-OOXML MS Office formats https://bugzilla.gnome.org/show_bug.cgi?id=780504
Comment on attachment 348660 [details] [review] lokview: Add pre-OOXML MS Office formats Sorry, didn't mean to attach it here.
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/gnome-documents/-/issues/ Thank you for your understanding and your help.