When

Agenda

  • Planning for Tracker 3.1 and GNOME 3.40
    • Finishing GNOME Photos port to Tracker 3
    • Extending portal API to support on-demand indexing (removable devices) and indexing-in-progress notifications
    • ...
  • ...

Present

Notes

  • GNOME Photos port - still to do
    • 'Indexing in progress' notifications don't work inside Flatpak sandbox
      • This relies on calling Miner.Status function, which the portal API doesn't include
      • Our plan is:
        • Add an IndexLocation method to the portal, proxying the existing org.freedesktop.Tracker3.Miner.Files.Index method

        • Photos calls this function on startup for the locations it displays (~/Photos, etc.), and passes the WAIT flag
        • Proxy keeps the method call in progress until the locations are indexed
        • PhotosTrackerIndexingNotification is shown while the method call is in progress

      • This approach can be useful for the future goal of Indexing custom locations from content apps too - IndexLocation could be extended to update the host index-recursive-directories setting (with user consent)

    • 'Import from removable device' is untested and probably broken
      • It's a complex procedure -- first Photos calls IndexLocation for the mount point, then displays contents and offers to import photos to ~/Photos, finally it copies the files and calls IndexLocation on the new files

      • Our plan is:
        • Add support for CREATE TEMPORARY GRAPH in Tracker SPARQL -- this would create a temporary in-memory SQLite DB

        • Modify tracker-miner-fs-3 internals to optionally store indexed data in a temporary graph, instead of on disk
        • Allow apps to request, via IndexLocation, indexing of a location into temporary DB

          • Important that this operation is cancellable, as the removable device may have enourmous amounts of data
    • Changing titles of photos doesn't seem to work
      • Previously Photos would update nie:title in the tracker-store -- for 3.0 it would need to override it in the local Photos DB
      • Could we use Writeback for this instead?
  • Portal bug
  • Other plans for 3.1 -- low priority
    • Add serialization of TrackerSparqlCursor to XML, Turtle, JSON

    • Investigate performance of TrackerFileSystem

      • It's meant to speed up indexing by allowing pointer comparison of GFile, but profiling shows it may do the opposite as we have to canonicalize every GFile, and we don't actually compare them often
      • An LRU cache for GFile->URN would still be needed so we can find IDs for folder parents

    • Indexing of external harddrives
      • We disable removable-device indexing by default, which is correct for desktop use cases
      • Many laptop users have an external HD full of content, how should this be configured for indexing?
        • If treated like a folder, unmounting it will create a volley of DELETED events
      • Investigate having an allowlist for removable devices -- adding device ID to allowlist would override the global index-removable-devices setting
      • This could be exposed in 'Search settings' panel of control centre, although needs design input

Next meeting

No next meeting scheduled. A video-chat to review https://gitlab.gnome.org/GNOME/gnome-photos/-/merge_requests/135 could still be useful

Attic/Tracker/Meetings/20201003 (last edited 2023-08-14 12:50:09 by CarlosGarnacho)