fakedbfs 2.0.0 review

by rbytes.net on

fakedbfs is a suite of tools and a main library for cataloguing files

License: BSD License
File size: 303K
Developer: Dan Ponte
0 stars award from rbytes.net

fakedbfs is a suite of tools and a main library for cataloguing files. Anything that is a file can be catalogued along with metadata. The metadata is then searchable by various querying facilities. fakedbfs project uses SQLite to store and search data.

It is called "fakedbfs" (fake database filesystem) because it's not a real DBFS such as the upcoming WinFS, or other OS-tied FSes that live in the kernel. Instead, it is completely in userland.

It was inspired by BFS (which doesn't do content indexing, only metadata). It is written completely in portable, ANSI C (barring the various bindings and other such utilities, or stuff using FTS and the stat(2) syscall [I plan on porting FTS as a built-in feature for platforms that don't support it]). If SQLite and a C compiler run on the platform, fakedbfs should be able to as well. In theory. Ish.

It was primarily developed on FreeBSD.
The main library can be used by any application; full API docs should be coming soon (when I find the time). Applications are virtually unlimited: desktop music/photo indexing, server content indexing, etc.

The core fakedbfs distribution consists of the following:

libfakedbfs - the main library with all querying, indexing, and specfile functions. Has all SQLite bindings
fquery - a commandline utility to query the database.
findex - a commandline utility to index files and directories. This can be either run manually or from a cron job.
fcreatedb - the initial database creation and specfile adding utility.
feditdb - a utility to edit the database (not in 1.0, should be in 1.1)

Various default specfiles, defining what metadata the catalogue contains
Indexing consists of a couple parts. There's the indexer itself, which does cataloguing of each file, and then there are the metadata plugins.

These plugins, designed specifically for certain specfiles, know how to extract metadata from the files themselves (for example ID3/EXIF tags, filename formats). findex can also ask the user for manual input for each field.

What's New in This Release:
This release incorporates many new features and changes, such as a completely revamped API in libfakedbfs, the beginnings of support for ficl plugins, numerous bugfixes, the addition of a working fedit utility, database layout changes, and improvements to the querying subsystem.

fakedbfs 2.0.0 search tags