|
|
(3 intermediate revisions by one other user not shown) |
Line 1: |
Line 1: |
| Baloo is a metadata and search framework for KDE. | | Baloo is a metadata and search framework for KDE. |
|
| |
|
| == Architecture ==
| | This page is now moved to [http://community.kde.org/Baloo/Architecture community.kde.org] |
| | |
| Baloo focuses on decentralization of data, and does not have any central database. At its core it is a set of 3 services -
| |
| | |
| * Data Stores
| |
| * Search Stores
| |
| * Relations
| |
| | |
| === Data Stores ===
| |
| | |
| A Data Store is a place to permanently store data. Its format and APIs are not dictated by Baloo, and can in any way that is most efficient for the data in question.
| |
| | |
| === Search Store ===
| |
| | |
| A Search Store is a plugin which provides search capabilities for a specific kind of data. Each of these stores provide a plugin which can be used to search through the data using a consistent API. At this moment there are 3 search stores that have been implemented -
| |
| | |
| * File Search
| |
| * Email Search
| |
| * Contact Search
| |
| | |
| | |
| Each Store can also provide custom APIs for searching the data.
| |
| | |
| === Relations ===
| |
| | |
| Baloo can be used to create relations between two uniquely identifiable identifiers. The key aspect is that when creating a relation between A and B, both of them are uniquely identifiable. For most of the PIM data, Akonadi already provides a unique identifier of the 'akonadi:?item=x'. For File data, Baloo provides unique identifiers of the form 'file:x'. | |
| | |
| Each relation is stored in an independent store in the desired mechanism. A sample sqlite implementation is provided which maps both the identifiers in a 2 column sqlite database.
| |
| | |
| For example, there exists a TagRelation which maps a Tag and any unique identifier. Similarly, there can be an ActivityRelation, and relations for other aspects such as mapping a file received via Bluetooth to a Bluetooth device.
| |
Latest revision as of 15:40, 18 January 2014
Baloo is a metadata and search framework for KDE.
This page is now moved to community.kde.org