Source code

Revision control

Copy as Markdown

Other Tools

# Places
This document describes the implementation of the Firefox Places component.
It is a robust system to manage History and Bookmarks through a database on the backend side and a model-view-controller system that connects frontend UI user manipulation.
## History and Bookmarks
In Firefox 2, History and Bookmarks used to be kept into separate databases in the Resource Description Framework format ([RDF format]).
However, Firefox 3 implemented the Places system. It has been done due to multiple reasons, such as:
- **Performance**: certain search or maintenance operations were very slow
- **Reliability**: the filesystem facing side of RDF was not so robust, often causing corruption or unexpected states
- **Flexibility**: being able to cross data allows for interesting features, like the Awesome Bar
- **Maintainability**: the future of RDF was unclear, while SQLite is actively maintained and used by a large number of applications
## Where to Start
For the high-level, non-technical summary of how History and Bookmarks works, read {doc}`nontechnical-overview`.
For more specific, technical details of implementation, read {doc}`architecture-overview`.
## Governance
## Table of Contents
```{toctree}
:maxdepth: 2
nontechnical-overview
architecture-overview
```