Documents: Removable devices support

By FelipeBorges

My Task is to make Documents able to manage removable devices. My work is basically divided into two main tasks: back-end side (Tracker) and front-end side (Documents UI). I am mentored by CosimoCecchi.

Back-end (Tracker)

What was proposed?

Documents uses Tracker to read and store information about document files. Currently, Tracker uses a GSetting which flags whether removable devices are indexable. Since it's not desirable to have Tracker indexing removable devices globally*, Tracker has to index removable devices on an application basis (on-demand).

* most distributions ships Tracker with the removable-devices GSetting off.

What was achieved?

I've created a new Tracker API method (IndexFileForProcess) which is a mechanism that allows Tracker to index files on a client-application basis. It receives a request-to-index a file/directory/mount-point and watches the bus name of the calling application. It stops the indexing process when no bus names are associated to the file.

Source: http://github.com/felipeborges/tracker

Front-end (Documents UI)

What was proposed?

On the top side, we want Documents UI capable of managing operations on removable devices, such as importing and exporting documents.

What was achieved?

Documents, now, loads plugged-in removable devices, uses the Tracker API method that I've created to index them, and creates a Device Collection into the overview containing documents inside the device.

Source: http://github.com/felipeborges/tracker

Blog reports

What was left behind

  • Importing files from removable devices

Outreach/SummerOfCode/2012/Projects/FelipeBorges_DocumentsRemovableDevices (last edited 2013-12-03 18:33:55 by WilliamJonMcCann)