Browser History: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (Reverted edit of Georgebush, changed back to last version by BrettWilson)
Line 1: Line 1:
=== Introduction ===
=== Introduction ===


A redesign of the Global History component in Firefox using mozStorage and supplying additional capabilities to application developers.
A redesign of the Global History component in Firefox using mozStorage and supplying additional capabilities to application developers. Questions about the history re-write can be sent to brettw<AT>gmail<DOT>com.


Separate but related is the [[Annotations]] service which can store arbitrary information about a page for extension developers.
Separate but related is the [[Annotations]] service which can store arbitrary information about a page for extension developers.

Revision as of 19:47, 3 October 2005

Introduction

A redesign of the Global History component in Firefox using mozStorage and supplying additional capabilities to application developers. Questions about the history re-write can be sent to brettw<AT>gmail<DOT>com.

Separate but related is the Annotations service which can store arbitrary information about a page for extension developers.

Database design

The history will be stored in 2 SQL tables: "history" and "historytransitions".

The "history" table essentially duplicates the functionality of the current mork history table: It contains:

  • Unique ID (primary key)
  • URL
  • Title
  • Visit count
  • Last visit date
  • Host name (see below)
  • Hidden (bool)
  • Typed (bool)

Note that the host name is stored backwards, unlike the current table. This is done so that it can be indexed alphabetically and we can quickly pull out all pages within any "mozilla.org" domain by asking for hostname fields that begin with "gro.allizom." A period is always appended to the reversed hostname.

The second table stores transitions between pages, which is information unavailable now.

  • Source page ID
  • Destination page ID
  • Time
  • Transition type

Transition type will hopefully contain info about whether the link was clicked, opened in new tab/window, typed, etc.