1. Introduction 1.1. Project/Component Working Name: Meta Tracker 1.2. Name of Document Author/Supplier: Author: Jerry Tan Sponsor: Irene Huang 1.3. Date of This Document: 05/23/2008 1.4. Name of Major Document Customer(s)/Consumer(s): 1.4.1. The PAC or CPT you expect to review your project: Solaris PAC 1.4.2. The ARC(s) you expect to review your project: LSARC 1.4.3. The Director/VP who is "Sponsoring" this project: Robert O'Dea 1.4.4. The name of your business unit: New Solaris Group 1.5. Email Aliases: 1.5.1. Responsible Manager: harry.lu@sun.com 1.5.2. Responsible Engineer: jerry.tan@sun.com 1.5.3. Interest List: halton.huo@sun.com ava.zhang@sun.com 2. Project Summary 2.1. Project Description: Meta Tracker (or Tracker for short) is a desktop search tool, designed to extract information and meta data about your personal data, so that it can be searched and located easily and quickly. By using Meta Tracker, you no longer have to remember where you have left your files. To locate a file you only need to remember something about it, such as a word in the document or the artist of the song. This is because as well as searching for files in the traditional way, by name and location, Meta Tracker searches files' contents and meta data. 3. Business Summary Ubuntu bundles tracker as its default desktop search tool, and Suse bundles beagle as its default desktop search tool. Meta Tracker needs to be integrated into Solaris also since there is not desktop search tool. 4. Technical Description: 4.1. Details: Meta Tracker's key features includes: * Extracts file contents as plain text and indexes them. * Extracts Meta data from file also, for example, Artist/Title from one mp3 file * Responds in real time to file system changes, automatically keeping its meta data database up to date. * Can provide thumb nailing on the fly if a thumbnail does not currently exist. Tracker supported data sources: * Text Files * Documents (pdf,open office, ms office) * Applications (for desktop menu entry) * Conversations (pidgin) * Emails (thunderbird and evolution) * Development Files (C, C++, Java) * Web Pages * Music (all gstreamer supported media type) * Video (all gstreamer supported media type) * Images (png,jpeg,tiff,gif) Tracker has several components: * Indexer, a lightweight daemon that extracts information from files (trackerd). * Tracker Search Tool, a GUI to search for indexed data. * Command line tools for searching, querying the daemon status, and tagging. * libtracker, a C wrapper around the DBus API. * Tracker Preference Tool, to help user to set preference. * Tracker applet. Tracker has its own filter to parse some type of file, Also it depends on external applications to convert files into plain text and then index it . * HTML it depends on w3m, a text browser to dump web page into plain text. * PDF it depends on pdftotext (a cmd tool provided by evince) * XML it depends on xsltproc tool * openoffice it has its own o3totext Tracker daemon will be started with gnome-session. User can run gnome-session-properties to enable/disable it. When it's runing, it will register dbus service interface "org.freedesktop.Tracker", tracker search tool will communicate with daemon by using of D-BUS. 4.2. Interfaces: Exported Interfaces Interface Classification Comments --------------- --------------- ----------------------- /usr/bin/trackerd Volatile a daemon to index data and handle request /usr/bin/tracker-files Volatile a utility to list indexed data /usr/bin/tracker-extract Volatile a utility to extract meta data from file /usr/bin/tracker-search Volatile enable user to search in terminal /usr/bin/tracker-status Volatile a utility to show trackerd's busy/idle status /usr/bin/tracker-stats Volatile list indexed data number categorized by type /usr/bin/tracker-tag Volatile a utility to add tag/list tag/del tag /usr/bin/tracker-search-tool Volatile a GUI application to search /usr/bin/tracker-preference-tool Volatile a GUI application to set user preference /usr/bin/tracker-thumbnail Volatile a utility to create thumbnail for image /usr/bin/o3totxt Volatile convert openoffice file into plain txt /usr/lib/libtracker-gtk.so.0 Volatile library used by tracker-search-tool /usr/lib/libtrackerclient.so.0 Volatile a C wrapper around the DBus API /usr/lib/deskbar-applet/ Volatile a python plugin for deskbar to use tracker modules-2.20-compatible/tracker-module.py /usr/lib/tracker/filters/ Volatile some scripts to convert data into plain text /usr/lib/tracker/thumbnailers/ Volatile some scripts to generate thumbnail /usr/share/dbus-1/services/tracker.service Volatile to register dbus service /usr/share/tracker Volatile directory to store some icon file,sql scripts /usr/lib/firefox/extensions/ Volatile firefox extension for tracker {fda00e13-8c62-4f63-9d19-d168115b11ca} /usr/lib/thunderbird/extensions/ Volatile thunderbird extension for tracker {b656ef18-fd76-45e6-95cc-8043f26361e7} SUNWdesktop-search Uncommitted tracker package SUNWdesktop-search-devel Uncommitted tracker libraries SUNWdesktop-search-firefox Uncommitted firefox extension for firefox SUNWdesktop-search-thunderbird Uncommitted thunderbird extension for thunderbird Imported Interfaces Interface Classification Comments --------------- --------------- ----------------------- SQLite Committed PSARC/2008/120 GTK+ Committed LSARC/2008/207 GLib Committed LSARC/2008/207 D-Bus Volatile LSARC 2006/368 gamin Volatile LSARC/2007/398 gmime Volatile LSARC/2008/067 w3m Volatile LSARC/2008/346 gstreamer Uncommitted LSARC/2008/207 evince Volatile LSARC/2008/207 libpng Uncommitted LSARC/2003/568 xslt Volatile PSARC/2006/291 libgsf Volatile LSARC/2008/345 ImageMagick Uncommitted LSARC/2007/316 4.3. Doc Impact: Man page is needed. 4.4. Packaging & Delivery: SUNWdesktop-search (base package) - application i.e binary, libraries SUNWdesktop-search-devel (library) - libraries for tracker SUNWdesktop-search-firefox - extension for firefox SUNWdesktop-search-thunderbird - extension for thunderbird 4.5. Dependencies: tracker depends on GTK+, sqlite, dbus, and libpng. 4.6. L10N Impact: The Desktop team and the G11N are working together to evaluation and provide I18N/L10N support 4.7 Security Impact: None. 5. Reference Documents: http://www.gnome.org/projects/tracker/