Difference between revisions of "Localized Search in Firefox Search Box"

From CDOT Wiki
Jump to: navigation, search
(Project Details)
m
 
(43 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Project Name ==
+
= '''Project Name''' =
  
Localized Search in Firefox Search Box
+
'''Localized Search in Firefox Search Box'''
  
  
== Project Description ==
+
= '''Project Description''' =
  
 
Firefox features a search box that can be customized to work with different search engines (e.g., Google, Yahoo!, Wikipedia, etc.). Most websites have their own search facilities, but the location of the search box on the page varies considerably. This project creates a mechanism for Firefox to pick up a web site's search mechanism and make it accessible to the user through the Firefox search box so that users have a consistent place to look for site-specific search.
 
Firefox features a search box that can be customized to work with different search engines (e.g., Google, Yahoo!, Wikipedia, etc.). Most websites have their own search facilities, but the location of the search box on the page varies considerably. This project creates a mechanism for Firefox to pick up a web site's search mechanism and make it accessible to the user through the Firefox search box so that users have a consistent place to look for site-specific search.
  
  
== Project Leader ==
+
= '''Project Leader''' =
  
[http://zenit.senecac.on.ca/wiki/index.php/User:Sinker Kerry M. Singh]
+
==== [[User:Sinker | Kerry M. Singh]] ====
  
  
<b><font style="font-size:160%"> Project Details </font></b>
+
= '''Project Contributions''' =
----
 
  
  
<b><font style="font-size:140%">Release v.01</font></b>
+
== '''Web Site List''' ==
  
This release demonstrates my understanding of how some searchbar features currently work in the Firefox browser. I've uploaded a [http://zenit.senecac.on.ca/wiki/index.php/Image:Localsearchpatch_v01.txt.zip patch file] that outputs a series of dump("DIAGNOSTIC MESSAGE: function name - what the source code is doing") statements to the terminal window while running a debug build of Firefox (i.e. Minefield). Specifically, what functions/methods are called and what is happening in the source code with respect to the searchbar menu when the following events occur:
+
* Please list web sites that have [http://developer.mozilla.org/en/docs/Creating_OpenSearch_plugins_for_Firefox OpenSearch] search plugins that can be "Added" to the searchbar's list of search engines. For example, the searchbar's drop-down list's button changes blue in color when Firefox detects a web site with an OpenSearch plugin.
  
* The browser auto-detects a site that has a search plugin available.
+
* [https://bugzilla.mozilla.org/ Bugzilla@Mozilla]
* The user selects the button to display the search engine list when a search plugin is available.
 
* The user selects the option to "Add this search engine".
 
* The user changes the current search engine by selecting it from the search bar drop-down list (menu).
 
* The user moves the position of a search engine using the Search Engine Manager.
 
* The user removes an auto-detected search engine from the list of "installed" search engines.
 
  
 +
* [http://www.facebook.com/ Facebook]
  
<b><font style="font-size:120%">Downloading and applying the patch:</font></b>
+
* [http://www.theglobeandmail.com/ The Globe and Mail]
 
 
1. Download the [http://zenit.senecac.on.ca/wiki/index.php/Image:Localsearchpatch_v01.txt.zip patch file] to the root mozilla directory of your source tree and unzip the file there. I suggest renaming the file localsearchpatch_v01.txt.
 
 
 
* '''NOTE:''' This patch requires that you use a DEBUG build of firefox.
 
* You can view the patch here: [[Localized Search in Firefox Search Box: Release v.01]]
 
  
2. Apply the patch.
+
* [http://www.ibm.com/ca/en/ IBM Search]
<pre>
 
$ cd mozilla
 
$ patch -p0 < localsearchpatch_v01.txt
 
</pre>
 
* '''NOTE:''' Use the -p0 option to strip 0 leading directories from each filename in the patch because it is being applied in the same directory where the patch was created.
 
  
 +
* [http://www.microsoft.com/en/us/default.aspx Microsoft's Live Search]
  
3. Build your source tree.
 
<pre>
 
$ cd mozilla
 
$ make -f client.mk build
 
</pre>
 
 
 
4. Run the browser to test the patch.
 
<pre>
 
$ cd objdir/dist/bin
 
$ ./firefox --ProfileManager --no-remote
 
</pre>
 
 
 
<b><font style="font-size:120%">How to use the patch:</font></b>
 
 
1. Navigate to a web site that offers a search engine plugin:
 
* [https://bugzilla.mozilla.org/ Bugzilla@Mozilla]
 
 
* [http://developer.mozilla.org/en/docs/Main_Page Mozilla Developer Center]
 
* [http://developer.mozilla.org/en/docs/Main_Page Mozilla Developer Center]
* [http://www.theglobeandmail.com/ The Globe and Mail]
 
  
'''Note''' the DIAGNOSTIC MESSAGE in the terminal window.
+
* [http://www.yellowpages.ca/ Yellow Pages]
  
 +
* [http://www.youtube.com/ YouTube]
  
2. Click the searchbar's dropdown menu button.
+
* [http://en.wikipedia.org/wiki/Main_Page Wikipedia]
  
* '''Note''' the DIAGNOSTIC MESSAGE in the terminal window and the "Add this engine" option on the searchbar menu.
 
  
 +
= '''Project Details''' =
  
3. Click the "Add this engine" option on the searchbar menu.
 
  
* '''Note''' the DIAGNOSTIC MESSAGE in the terminal window and the position of the newly added search engine on the searchbar menu.
+
== '''Release v.01''' ==
  
 +
This release demonstrates my understanding of how some searchbar features currently work in the Firefox browser. I've created a [http://zenit.senecac.on.ca/wiki/index.php/Image:Localsearchpatch_v01.txt.zip patch file] that outputs a series of dump("DIAGNOSTIC MESSAGE: function name - what the source code is doing") statements to the terminal window while running a debug build of Firefox (i.e. Minefield). Specifically, what functions/methods are called and what is happening in the source code with respect to the searchbar menu when the following events occur:
  
4. Select "Manage Search Engines..." from the searchbar menu and select the newly installed engine from the list. Click the "Remove" button and then click "OK".
+
* The browser auto-detects a site that has a search plugin available.
 
+
* The user selects the button to display the search engine list when a search plugin is available.
* '''Note''' the DIAGNOSTIC MESSAGES in the terminal window.
+
* The user selects the option to "Add this search engine".
 
+
* The user changes the current search engine by selecting it from the search bar drop-down list (menu).
 
+
* The user moves the position of a search engine using the Search Engine Manager.
5. Select "Manage Search Engines..." from the searchbar menu and select one of the installed engines on the list. Next, click the "Move Up" and "Move Down" buttons and then click "OK".
+
* The user removes an auto-detected search engine from the list of "installed" search engines.
 
 
* '''Note''' the DIAGNOSTIC MESSAGES in the terminal window.
 
 
 
 
 
6. Click the searchbar's dropdown menu button and select a different search engine as the current engine.
 
 
 
* '''Note''' the DIAGNOSTIC MESSAGES in the terminal window.
 
  
 +
=== '''Release Details''' ===
  
----
+
==== [[Localized Search in Firefox Search Box: Release v.01]] ====
  
  
<b><font style="font-size:140%">Release Target for v.02</font></b>
+
== '''Release v.02''' ==
  
* When Firefox loads a web page with an available search engine plugin, dynamically load the search engine and propagate it to the top of the searchbar's menu as the current engine.
+
The target for this release was to dynamically "Add" a search engine plugin when Firefox loads a web page with an available search plugin, and then propagate the search engine to the top of the searchbar's menu as the current engine. The propagation of a newly added search engine as the current engine in the searchbar's menu was already a behavioral feature of Firefox 3 so there were no changes required for this part of my release target. Determining how to dynamically "Add" an available search engine plugin was challenging to achieve, but in the end, it only required a few modifications to the code in the [http://lxr.mozilla.org/seamonkey/source/browser/base/content/browser.js browser.js file].
  
 +
=== '''Release Details''' ===
  
----
+
==== [[Localized Search in Firefox Search Box: Release v.02]] ====
  
  
<b><font style="font-size:140%">Release Target for v.03</font></b>
+
== '''Release v.03''' ==
  
* When the user navigates away from the web page with the search engine plugin, dynamically remove the search plugin.
+
The target for this release was to build upon Release v.02 by dynamically "Removing" the dynamically "Added" search engine when the user navigates away from the web site offering the search plugin if they do not choose to add the plugin to the installed engines list.
  
----
+
=== '''Release Details''' ===
  
 +
==== [[Localized Search in Firefox Search Box: Release v.03]] ====
  
<b><font style="font-size:160%">Resources:</font></b>
 
  
 +
= '''Resources''' =
  
 
[https://bugzilla.mozilla.org/ Bugzilla@Mozilla]
 
[https://bugzilla.mozilla.org/ Bugzilla@Mozilla]
Line 125: Line 89:
 
[https://addons.mozilla.org/nl/firefox/addon/3544 SearchLoad Options :: Firefox Add-ons]
 
[https://addons.mozilla.org/nl/firefox/addon/3544 SearchLoad Options :: Firefox Add-ons]
  
== Project-Related Bugs ==
+
= '''Project-Related Bugs''' =
  
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=236587 Bug 236587 - Allow bookmark keyword searches from the search bar]
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=236587 Bug 236587 - Allow bookmark keyword searches from the search bar]
Line 131: Line 95:
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=249481 Bug 249481 – User-defined searches available not only as bookmark keywords, but also from the Search box]
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=249481 Bug 249481 – User-defined searches available not only as bookmark keywords, but also from the Search box]
  
[https://bugzilla.mozilla.org/show_bug.cgi?id=374268 Bug 374268 Quicksearch/keyword should be integrated into search engine manager]
+
[https://bugzilla.mozilla.org/show_bug.cgi?id=261124 Bug 261124 Textbox context menu should have "Add to Search Bar..."]
  
[https://bugzilla.mozilla.org/show_bug.cgi?id=261124 Bug 261124 Textbox context menu should have "Add to Search Bar..."]
+
[https://bugzilla.mozilla.org/show_bug.cgi?id=335102 Bug 335102 support search engine renaming]
  
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=335448 Bug 335448 – Autodetect repeated use of a search field, and ask the user if they want that engine added to the browser search box]
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=335448 Bug 335448 – Autodetect repeated use of a search field, and ask the user if they want that engine added to the browser search box]
 +
 +
[https://bugzilla.mozilla.org/show_bug.cgi?id=356332 Bug 356332 – Select default search engine again after searching with another]
  
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=360907 Bug 360907 – Search current site with OpenSearch]
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=360907 Bug 360907 – Search current site with OpenSearch]
  
[https://bugzilla.mozilla.org/show_bug.cgi?id=408244 Bug 408244 – show opensearch plugin availability same as feed availabilitiy]
+
[https://bugzilla.mozilla.org/show_bug.cgi?id=374268 Bug 374268 – Quicksearch/keyword should be integrated into search engine manager]
 +
 
 +
[https://bugzilla.mozilla.org/show_bug.cgi?id=384124 Bug 384124 – Option to reset search bar engine to default when starting Firefox]
 +
 
 +
[https://bugzilla.mozilla.org/show_bug.cgi?id=394979 Bug 394979 – Search Service is slow on startup (Ts hit)]
 +
 
 +
[https://bugzilla.mozilla.org/show_bug.cgi?id=408244 Bug 408244 – show opensearch plugin availability same as feed availability]
  
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=405443 Bug 405443 – Making search engine discovery more discoverable]
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=405443 Bug 405443 – Making search engine discovery more discoverable]
  
[https://bugzilla.mozilla.org/show_bug.cgi?id=356332 Bug 356332 Select default search engine again after searching with another]
+
[https://bugzilla.mozilla.org/show_bug.cgi?id=407922 Bug 407922 Changing the Search plug in order for en-US from alpha to category based]
  
[https://bugzilla.mozilla.org/show_bug.cgi?id=384124 Bug 384124 – Option to reset search bar engine to default when starting Firefox]
 
  
== Project News ==
+
= '''Project News''' =
  
 
For up-to-date information about my project, visit my blog: [http://kmsingh.blogspot.com/ Kerry's Open Source Blog]
 
For up-to-date information about my project, visit my blog: [http://kmsingh.blogspot.com/ Kerry's Open Source Blog]
 +
 +
 +
'''[[#Project Name | Return to top]]'''
 +
 +
 +
[[Category : Localized Search in Firefox Search Box]]

Latest revision as of 09:52, 19 March 2008

Project Name

Localized Search in Firefox Search Box


Project Description

Firefox features a search box that can be customized to work with different search engines (e.g., Google, Yahoo!, Wikipedia, etc.). Most websites have their own search facilities, but the location of the search box on the page varies considerably. This project creates a mechanism for Firefox to pick up a web site's search mechanism and make it accessible to the user through the Firefox search box so that users have a consistent place to look for site-specific search.


Project Leader

Kerry M. Singh

Project Contributions

Web Site List

  • Please list web sites that have OpenSearch search plugins that can be "Added" to the searchbar's list of search engines. For example, the searchbar's drop-down list's button changes blue in color when Firefox detects a web site with an OpenSearch plugin.


Project Details

Release v.01

This release demonstrates my understanding of how some searchbar features currently work in the Firefox browser. I've created a patch file that outputs a series of dump("DIAGNOSTIC MESSAGE: function name - what the source code is doing") statements to the terminal window while running a debug build of Firefox (i.e. Minefield). Specifically, what functions/methods are called and what is happening in the source code with respect to the searchbar menu when the following events occur:

  • The browser auto-detects a site that has a search plugin available.
  • The user selects the button to display the search engine list when a search plugin is available.
  • The user selects the option to "Add this search engine".
  • The user changes the current search engine by selecting it from the search bar drop-down list (menu).
  • The user moves the position of a search engine using the Search Engine Manager.
  • The user removes an auto-detected search engine from the list of "installed" search engines.

Release Details

Localized Search in Firefox Search Box: Release v.01

Release v.02

The target for this release was to dynamically "Add" a search engine plugin when Firefox loads a web page with an available search plugin, and then propagate the search engine to the top of the searchbar's menu as the current engine. The propagation of a newly added search engine as the current engine in the searchbar's menu was already a behavioral feature of Firefox 3 so there were no changes required for this part of my release target. Determining how to dynamically "Add" an available search engine plugin was challenging to achieve, but in the end, it only required a few modifications to the code in the browser.js file.

Release Details

Localized Search in Firefox Search Box: Release v.02

Release v.03

The target for this release was to build upon Release v.02 by dynamically "Removing" the dynamically "Added" search engine when the user navigates away from the web site offering the search plugin if they do not choose to add the plugin to the installed engines list.

Release Details

Localized Search in Firefox Search Box: Release v.03

Resources

Bugzilla@Mozilla

Mozilla Cross-Reference

MDC- Mozilla Developer Center

Search Service: Code Design - Automatic Detection

SearchLoad Options :: Firefox Add-ons

Project-Related Bugs

Bug 236587 - Allow bookmark keyword searches from the search bar

Bug 249481 – User-defined searches available not only as bookmark keywords, but also from the Search box

Bug 261124 – Textbox context menu should have "Add to Search Bar..."

Bug 335102 – support search engine renaming

Bug 335448 – Autodetect repeated use of a search field, and ask the user if they want that engine added to the browser search box

Bug 356332 – Select default search engine again after searching with another

Bug 360907 – Search current site with OpenSearch

Bug 374268 – Quicksearch/keyword should be integrated into search engine manager

Bug 384124 – Option to reset search bar engine to default when starting Firefox

Bug 394979 – Search Service is slow on startup (Ts hit)

Bug 408244 – show opensearch plugin availability same as feed availability

Bug 405443 – Making search engine discovery more discoverable

Bug 407922 – Changing the Search plug in order for en-US from alpha to category based


Project News

For up-to-date information about my project, visit my blog: Kerry's Open Source Blog


Return to top