summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README467
1 files changed, 0 insertions, 467 deletions
diff --git a/README b/README
deleted file mode 100644
index 667a12ce1..000000000
--- a/README
+++ /dev/null
@@ -1,467 +0,0 @@
-Table of Contents
-
- 1 Introduction
- 2 Use Cases
- 3 Features
- 4 Minimum dependencies
- 4.1 Run-time dependencies (also needed for build)
- 4.2 Additional recommended dependencies
- 4.3 For building Tracker's Deskbar-applet backend
- 4.4 Optional run-time dependency
- 5 Compilation
- 5.1 Notes on Solaris
- 5.2 Compile Options
- 6 Running Tracker
- 6.1 Usage
- 6.2 Setting Inotify Watch Limit
- 6.3 Tracker files
- 7 Tracker & Nautilus Search
- 8 Tracker & Deskbar applet
- 9 Tracker tools
-
-
-
-1 Introduction
-
- Tracker is a powerful desktop-neutral first class object
- database, tag/metadata database, search tool and indexer.
-
- Tracker is also extremely fast and very memory-efficient
- when compared with some other competing frameworks and has by
- far the fastest and most memory-efficient Nautilus search and
- Deskbar backends currently available.
-
- It consists of a common object database that allows entities to
- have an almost infinte number of properties, metadata (both
- embedded/harvested as well as user definable), a comprehensive
- database of keywords/tags and links to other entities.
-
- It provides additional features for file-based objects
- including context linking and audit trails for a file object.
-
- It has the ability to index, store, harvest metadata, retrieve
- and search all types of files and other first class objects.
-
- Supported first class objects include:
-
- * Files, Documents, Music, Images, Videos, Applications, Emails,
- Conversations, History
-
- Planned support:
-
- * Appointments, Contacts, Projects, Tasks, Bookmarks, Playlists,
- Notes
-
- All discussion related to tracker happens on the Tracker
- mailing list
- (http://mail.gnome.org/mailman/listinfo/tracker-list) and/or
- IRC channel #tracker on irc.gimp.net
-
- Bugs should be filed at http://bugzilla.gnome.org.
-
- More infomation on Tracker can be found at
- http://tracker-project.org.
-
-
-
-2 Use Cases
-
- Tracker is the most powerful open source metadata database and
- indexer framework currently available and because it is built
- around a combination indexer and sql database and not a
- dedicated indexer, it has much more powerful use cases:
-
- * Provide search and indexing facilities similiar to those on
- other systems (Windows Vista and Mac OS X).
-
- * Common database storage for all first class objects (EG a
- common music/photo/contacts/email/bookmarks/history database)
- complete with additional metadata and tags/keywords.
-
- * Comprehensive one stop solution for all applications needing
- an object database, powerful search (via RDF Query), first class
- methods, related metadata and user-definable metadata/tags.
-
- * Can provide a full semantic desktop with metadata everywhere.
-
- * Can provide powerful criteria-based searching suitable for
- creating smart file dialogs and vfolder systems.
-
- * Can provide a more intelligent desktop using statistical
- metadata.
-
-
-
-3 Features
-
- * Desktop-neutral design (it's a freedesktop product built
- around other freedesktop technologies like D-Bus and XDGMime
- but contains no GNOME-specific dependencies besides GLib).
-
- * Very memory efficient and non-leaking (typical RAM usage 4 - 30
- MB). Unlike some other indexers, Tracker is designed and built
- to run well on systems with lower memory (256MB or less). It
- should even be efficient enough to use on some mobile devices.
-
- * Non-bloated and written in C for maximum efficiency.
-
- * Small size and minimal dependencies makes it easy to bundle
- into various distros, including live cds.
-
- * Fast indexing and unobtrusive - no need to index stuff
- overnight. Tracker runs at nice+10 so it should have a minimal
- impact on your system. With the addition of detection of mouse
- and keyboard events via tracker-applet (described below), there
- is an option to auto-pause indexing in order to improve
- responsiveness. This is in addition to Tracker's built-in check
- if there's heavy disk I/O in order to auto-pause, so not to
- slow other processes.
-
- * Provides option to disable indexing when running on battery.
-
- * Provides option to index removable devices.
-
- * Implements the freedesktop specification for metadata
- (http://freedesktop.org/wiki/Standards/shared-filemetadata-spec).
-
- * Extracts embedded File, Image, Document and Audio type
- metadata from files.
-
- * Supports the WC3's RDF Query syntax for querying metadata
-
- * Provides support for both free text search (like Beagle/Google)
- as well as structured searches using RDF Query.
-
- * Responds in real time to file system changes to keep its
- metadata database up to date and in sync.
-
- * Fully extensible with custom metadata - you can store,
- retrieve, register and search via RDF Query all your own custom
- metadata.
-
- * Can extract a file's contents as plain text and index them.
-
- * Provides text filters for PDF, MS Office, OpenOffice (all
- versions), HTML and PS files.
-
- * Can provide thumbnailing on the fly.
-
- * It auto-pauses indexing when running low on diskspace.
-
-
-
-4 Minimum dependencies
-
-
-4.1 Run-time dependencies (also needed for build)
-
- * SQLite 3.4
- * libdbus 0.60
- * dbus-glib bindings 0.60
- * GLib 2.14
- * zlib
- * intltool 0.3.5
- * GMime
-
-
-4.2 Additional recommended dependencies
-
- * GStreamer 0.10 + plugins for audio/video file indexing
- * xsltproc
- * w3m
- * wv 1.0.2
- * poppler (pdftotext)
- * libvorbis
- * libpng
- * libexif
- * libgsf
- * GTK and GNOME stack (for GUI tools)
- * libglade 2.5
- * unac (accent stripper)
- * exempi
- * libxml2 (for extracting html/xml content)
- * hal 0.5 (for detection of removable devices, mounted
- directories, as well as whether the computer is running on
- battery)
-
-
-4.3 For building Tracker's Deskbar-applet backend
-
- * python-dev 2.3
- * python-gtk2-dev 2.3
- * deskbar-applet 2.16
-
-
-4.4 Optional run-time dependency
-
- * xdg-utils (provides some functionality needed by
- tracker-search-tool when in a non-GNOME environment)
-
-
-
-5 Compilation
-
- To compile and install Tracker, use the following commands :
-
- ./configure --prefix=/usr --sysconfdir=/etc
- make
- sudo make install
-
- If you install using any other prefix, you might have problems
- with files not being installed correctly. (You may need to copy
- and amend the dbus service file to the correct directory and/or
- might need to update ld_conf if you install into non-standard
- directories.)
-
-
-5.1 Notes on Solaris
-
- To compile Tracker with GCC on Solaris uses the following
- commands :
-
- ./configure --prefix=/usr --sysconfdir=/etc --with-pic \
- CFLAGS=-D_POSIX_PTHREAD_SEMANTICS
- make
- sudo make install
-
- To compile Tracker with SUN Studio on Solaris uses the
- following commands, because there are some problems to compile
- exiv2 using SUN C++ compiler :
-
- ./configure --prefix=/usr --sysconfdir=/etc --with-pic \
- --disable-warnings \
- --disable-exiv2 CFLAGS=-D_POSIX_PTHREAD_SEMANTICS
- make
- sudo make install
-
-
-5.2 Compile Options
-
- Tracker has several compiler options to enable/disable certain
- features. The following is a (hopefully complete) listing of
- what's available:
-
- --enable-debug-code : build with debug symbols
-
- --enable-video-extractor=(gstreamer, xine, external, auto)
-
- --enable-file-monitoring=(inotify, fam, polling, auto)
-
- --disable-preferences : disables tracker-preferences capplet
-
- --enable-deskbar-applet=(auto, handler, module) : enables
- Deskbar-applet support; 'auto' should do since it automatically
- chooses whether to install the 'handler' (for Deskbar-applet
- >=2.16) or the 'module' (for Deskbar-applet >=2.19)
-
- --with-deskbar-applet-dir=(directory where Deskbar-applet
- should find tracker-handler; this should be automatically
- detected, perhaps in
- /usr/lib/deskbar-applet/{handlers,modules-2.20-compatible})
-
- --disable-gui : disables tracker-search-tool build
-
- --disable-pdf : disables the PDF data extractor
-
- --disable-exif : disables the exif data extractor
-
- --disable-libtrackergtk : disables libtracker-gtk build
-
- --disable-gsf : disables the GSF data extractor
-
- --disable-warnings : disables GCC warnings
-
- --disable-unac : disables accent stripping
-
- --disable-libxml2 : disables HTML/XML extractors (full-text
- will still be available)
-
- --disable-xmp : disables XMP extraction
-
- --with-session-bus-services-dir=(path to D-Bus services
- directory): this should be automatically detected
-
- --enable-external-qdbm : use system qdbm instead of one included
- in Tracker
-
- --disable-hal : disables HAL support, which is for detecting
- whether the computer is running on battery (for EG, determining
- whether to run the indexer in such a case), whether a removable
- device has been attached (for EG, determining whether to index
- its contents), and for detecting mounted directories (for EG,
- determining whether to index such)
-
- --disable-trackerapplet : disables Tracker's notification applet
-
-
-
-6 Running Tracker
-
-
-6.1 Usage
-
- To run Tracker, you need to manually start the Tracker daemon,
- trackerd. By default trackerd will index your entire home
- directory.
-
- You can also pass a directory root to be indexed as a command
- line parameter if you dont want your entire home directory
- indexed. EG "trackerd -i /home/jamie/Documents" (if you want
- your home directory indexed when explicily specifying index
- directory roots then you must add your home directory to the
- arguments: EG trackerd -i /home/jamie -i /mnt/share)
-
- You can disable indexing by passing "--no-indexing"
-
- You can enable a low memory usage mode (recommended for
- machines with less than 256MB of RAM) by passing
- "--enable-low-memory"
-
- You can artificially throttle indexing by passing
- "--throttle=VALUE" where VALUE is in the range 0-20 (with 0,
- the default, being fastest and 20 being slowest). Default is
- 0. You should only change this value if you want to prevent
- noisy fans or hot laptops arising from cpu intensive indexing.
- Tracker should have a negligible impact on the system (as it
- is scheduled) so you can safely work with it on full throttle
- without experiencing slow downs.
-
- You can specify directory roots to be excluded from being
- watched or indexed by passing "--exclude=DIRECTORY" for each
- directory root.
-
- You can specify logging verbosity by passing "--verbosity". Valid
- values are from 0 to 3, ranging from least to most verbose
- respectively.
-
- Yet another option is "--language" which allows for specifying
- the language to use for stemmer and stop-words list.
-
- All the above options (and more) can be set by editing Tracker
- config file "~/.config/tracker/tracker.cfg" which is created
- with specific defaults when non-existent (EG when trackerd is
- ran for the first time). Ensure that you restart trackerd for
- the changes to take effect. "tracker.cfg" also provides options
- that allows Tracker to only index a subset of your home
- directory as well as other folders not in your home directory
- by setting WatchDirectoryRoots to a semicolon-delimited list of
- directories (full path required!)
-
- EG:
-
- "WatchDirectoryRoots=directory1;directory2;directory3""
-
- An additional option is "--reindex" which indexes user data from
- scratch, removing the need to delete Tracker's database manually.
- Keywords and metadata definitions are preserved however.
-
- On the first run, Tracker will automatically create a new
- database and start populating it with metadata by browsing
- through the user's home directory and/or the root folder(s)
- specified.
-
- On subsequent runs, Tracker will start up much much faster and
- will only ever incrementally index files (IE files that have
- changed since last index).
-
- If installed correctly, the Tracker daemon (trackerd) can also
- be started automatically via Dbus activation (EG by running
- tracker-search SEARCHTERM)
-
-
-6.2 Setting Inotify Watch Limit
-
- When watching large numbers of folders, its ppossible to exceed
- the default number of inotify watches. In order to get real time
- updates when this value is exceeded it is necessary to increase
- the number of allowed watches. This can be done as follows:
-
- 1. Add this line to /etc/sysctl.conf:
- "fs.inotify.max_user_watches = (number of folders to be
- watched; default is 8192)"
-
- 2. Reboot the system OR (on a Debian-like system) run
- "sudo /etc/init.d/procps restart"
-
-
-6.3 Tracker files
-
- Here is some of the files that Tracker uses during its operation,
- apart from "~/.config/tracker" which is stated above, in Sec 6.1:
-
- * "~/.local/share/tracker" is used for non-expendable content,
- like keywords and metadata definitions.
-
- * "~/.cache/tracker" is used for the expendable indexes and
- expendable metadata that can be rebuilt if deleted (this is the
- purpose of the ".cache" - its more a permanent tmp directory than
- sys tmp but can be deleted if more disk space is needed).
-
- * The system tmp ("/var/tmp" and "/tmp") is used for short-lived
- session data.
-
-
-
-7 Tracker & Nautilus Search
-
- Once you have installed Tracker and have some indexed contents,
- you should now compile Nautilus (ver 2.13.4 or higher) which
- should auto-detect that Tracker is installed and automatically
- compile in Tracker support. You are now ready to appreciate a
- powerful and super efficient C-based indexer in all its
- glory... happy hunting!
-
- To make sure trackerd always starts when you login to GNOME,
- you will need to add it to gnome-session (select sessions from
- preferences menu, select startup program tab and then add
- /usr/bin/trackerd). For non-GNOME installations, see the
- desktop docs for how to achieve similar.
-
-
-
-8 Tracker & Deskbar applet
-
- Tracker is also integrated in GNOME's deskbar applet. See
- Compile Options above on how to get it built.
-
-
-
-9 Tracker tools
-
- Tracker comes with a number of utilities that you can use:
-
- * "tracker-applet" - notification applet which has various
- utilities like displaying Tracker status, indexing progress,
- and live statistics, pausing indexing, and launching both
- tracker-search-tool and tracker-preferences
-
- * "tracker-extract FILE" - this extracts embedded metadata from
- FILE and prints to stdout
-
- * "tracker-files" - returns files filtered by the mime type or
- their category (see the manpage)
-
- * "tracker-meta-folder" - return list of files indexed by Tracker
- for a folder
-
- * "tracker-preferences" - GUI tool to set Tracker preferences
-
- * "tracker-query" - this reads an RDF Query that specifies the
- search criteria for various fields. It prints to STDOUT all
- matching files. You can see some example queries in the
- RDF-Query-examples folder. You can run the examples as
- "tracker-query < RDFFILE"
-
- * "tracker-search SEARCHTERM" - this perfoms a google like search
- using SEARCHTERM to retrieve all matching files where
- SEARCHTERM appears in any searchable metadata
-
- * "tracker-search-tool SEARCHTERM" - GUI search utility
-
- * "tracker-stats" - this displays the current number of indexed
- items by category
-
- * "tracker-status" - queries status of trackerd
-
- * "tracker-tag" - used for setting and searching tags/keywords
-