Search Service
Please comment in the Talk page (use the Discussion tab above)
Tracked by: bug #####
Goals & Objectives
To create a simple, flexible system that unifies all search back ends, presents a common management infrastructure, makes adding keywords (now called "aliases") easy and more obvious, allows for engines to be added and removed easily when upgrading and allows for simple configuration for business needs.
Overview
Provide a consolidated search engine management system for the entire application that is easily updateable, trackable, and more usable for users. Utilize parseable formats to store engine metadata.
Background
Firefox 1.0 and 1.5 feature several different systems for performing internet searches:
- The Search toolbar field, which includes an engine selector and the mechanism for adding more searches. This is powered by Sherlock .src files and uses the Internet Search Service.
- The Bookmark "Smart" Keyword feature, which allows you to create bookmarks with parameterized sections, so that the user can then type "kw search_term" in the location bar and be taken to the resulting page.
- The "Search Web For 'selected terms'" context menu item, which uses a preference to source its query URL.
- The "DNS Failed" search URL, which searches for the text typed in the location bar when DNS lookup fails. Uses a preference to source its query URL. In Firefox 1.0 and 1.5, this does a Google "I'm Feeling Lucky" search by default.
These individual solutions have their pros and cons. The toolbar is useful but has some peripheral usability bugs, the search plugins are stored in the application directory and there is no easy way for the user to manage the engines they have installed.
The Smart Keyword feature is basically undiscoverable, despite its extreme utility.
All of these search systems use different back ends making them difficult to configure when engine queries or parameters change, and configuration for business reasons is somewhat tricky. Adding new engines with subsequent releases is somewhat simple though, since each engine that shows up in the toolbar menu is a separate file.
Use Cases
- Search Bar in Firefox
- Keyword in URL/Search Bar
- Context Menu Search
- DNS Failure Search
- Search AutoDiscovery
Plans & Design Documents
API Changes Required
Not yet known.
Impact
Replacement of .src Sherlock Files.
Extensions
Extensions that alter the search box may have to change. Those that rely on the RDF Search datasource will break.
Localization
New engine format for localizations to use. Updating should be simple but tedious.
Discussion & Implications
Discussion Elsewhere
- New File Format
- Bug 308674Monitor and implement the OpenSearch 1.1 standard
- Post Method
- Bug 66363Search plugins don't work with the post method
- Search Engine Manager (Provisional)
- Bug 232272Better management of search engines for toolbar (remove, store in profile, etc) over the current add new engines system
- Bug 255545search plugins cannot be reordered
- Installation
- Bug 124334Should display an error message when failing to add a search engine