Release 1.1.0

Sunday, June 28, 2009 | 22:31

This release contains some improvements for the about dialog, a translation was added for the fr-FR locale and the location for the sqlite database for storing cleanup information has been moved.

I discovered that updating the extension in Firefox is actually an uninstall + install which meant that the sqlite database located in the extensions home directory was recreated each time the extension was updated. In order to survive updates I had to move the database to another location. So if you upgrade from a previous version and you want to keep the cleanup data, your best option is to export the cleanup configuration and do an import after upgrading is completed. Since this change can have some impact for existing users, I changed the version from 1.0.7 to 1.1.0.

The javascript for reading data from the install.rdf only retrieved data for the current active locale. The contributor and translator tags had to be listed in each locale section in order to be displayed by the about dialog. Because this was very inefficient, I added some extra javascript to access the xml directly so the contributor and translator tags now only need to be listed once.

Thanks to the efforts of a couple of guys from babelzilla (Jojaba and Nico@nc), I could add a French (fr-FR) translation. Special thanks goes to Jojaba who was very patient with me since it was a struggle to get unique access keys for the many shortcuts.

Release 1.0.7

Tuesday, June 23, 2009 | 11:52

This release contains a major bug fix for Mac OS X.

The extension got finally reviewed. Unfortunately the add-on had to remain in the sandbox because of a major bug crashing Firefox on Mac OS X. Since I have no access to an Apple Mac, I could not test my extension on Darwin. It was my hope that the extension would behave the same independent of the underlying platform. I did test my extension on Windows and Linux. As it turned out, menu's behave a little different on a Mac and my implementation (two edit menu's for the history-tab and the cleanup-up of which one is always hidden) caused the browser to crash. Unhiding an edit-menu was no problem, hiding however did not work and two edit menu's displayed at the same time did not please the Mac at all.

The solution was to use one edit-menu, and only show the menu-items applicable for the selected tab and hide the others.

In order to test my fix, I needed access to an Apple Mac. Fortunately, with a little help from google-search, I came across the OSx86 project. In a few hours I had a Mac OS X virtual machine running on my Intel PC and I was able to finally test my extension in Firefox on a Mac.

Release 1.0.6

Thursday, June 11, 2009 | 12:04

This release contains 2 enhancements.

I enhanced the about dialog so it can show clickable links in the contributors section. Information in the about dialog is obtained from the install.rdf and URL's detected in the contributors section are now converted into hyperlinks.

Nightly build 3.6a1pre reported an error: redeclaration of var Ci.
This was caused by the global javascript const Ci (Ci = Components.interfaces) defined in a separate javascript file (FhcGlobals.js) and used throughout the extension. Since this file only contained 2 declarations, I decided to replace all occurrences of the vars in my code and deleted the globals file altogether.

Release 1.0.5

Tuesday, June 9, 2009 | 21:55

The one thing I felt was missing in this plugin was some help documentation available from the Help menu as well as a link to the Release notes.

In this release I added two submenu items to the Help menu to access the Help and the Release notes on this blog. The Help key now opens the Help page instead of opening the about dialog.

Introduction to Form History Control

Form History Control Introduction

The new add-on now uses the new mandatory API which no longer offers access to Firefox's built-in formhistory database. To get your old formhistory data into the new add-on you must first export the data using the previous version of this add-on (1.4.0.6 or earlier) so you can import it into the new version.

Within the next few days I will provide a standalone app that can export the formhistory data from Firefox's database if you have already migrated to the new version.





This page still covers the old version up to 1.4.0.6, a new version will be up soon...


This is an overview of the plugin, not a detailed explanation of all it’s features.

Why you might need this plugin
Opening the plugin
Managing the history of a specific field
Restoring an editor backup of a specific field
The Form History Control Dialog
- Searching
- Sorting
- Filtering
- Editing
Cleanup
Restore editor text backups
Controlling which sites may store form history


Why you might need this plugin
This plugin displays all form data that has been saved by the web browser with options to filter the data either by keyword, active page, active field or cleanup criteria. It is furthermore possible to sort the data by parameter including form field name, value, date or popularity.

Maybe you have typed in a password in the wrong field and you want to prevent the password from showing up at the wrong moment. Or maybe you just want to make sure the privacy sensitive data you entered on your private banking site is wiped from the history.

Better yet, this plugin gives you control over which sites may store form history data, and which sites may not. Either whitelist only the sites allowed to store form history or blacklist sites you wish to prevent storing formhistory.

This plugin also stores text from editor fields as you type, so you never have to loose your work when disaster strikes. Recover your lost work after session timeouts, network failures, browser crashes, power failures, and all other things that will destroy the hard work you just put into writing that important email, essay or blog post.

This plugin is also very useful if you want to correct misspelled history entries. It saves you the hassle of deleting and entering the data anew.
It also enables you to selectively delete privacy sensitive information without having to delete the entire history. With the help of powerful regular expressions, information can simply and effectively be retrieved and/or deleted.

This plugin lets you easily search the complete history and selectively delete all data you do not wish to be stored for eternity. You can even automate this process by creating cleanup criteria so you can delete all unwanted data in a single action.


Opening Form History Control
Form History Control can be opened in many different ways:
  • From within a browser window: right-click to show the context menu, Form History Control is listed as a submenu
  • The Tools menu in the menubar of the browser, or the App-menu when the menubar is hidden, also contains a Form History submenu
  • In the options dialog of the browser in the Privacy section is an extra button labeled "Show History" which will also popup the Form History Control
  • The right-click context menu of the searchbar field contains an option to view or manage the searchhistory

Managing the history of a field
The history of a specific form field can easily be managed by right-clicking in the form field which will popup the context-menu.

From the Form History Control sub-menu you can choose to either delete the complete history for that field or just delete the current value without having to open the main dialog.

If you choose the option Manage entries for this field, the main dialog will open with a filter activated that will display only the entries applicable to the current focused form field.

Restoring text in an editor field
From the context menu you can choose to restore a backup of a previous entered text from a web form like webmail, a blogpost editor, twitter and so on. If the text you are looking for is not listed in the menu itself, choose More.. to open a dialog and find the text-backup there.


The Form History Control Dialog
The Form History Control Dialog contains three tabbed panels for managing History data, managing Clean Up Criteria and managing backups of webforms.

Searching
The Search field at the top of the control offers the ability to search for specific field names or values.



Sorting
The list of form history data items can be sorted by clicking on the column header. Clicking the same header again will reverse the sort order.

Filtering
On the bottom of the list are 3 checkboxes which provide extra filtering options. You can optionally show only the fields for the current page or the current field (if a field has the focus on the active page). A third option will only show history data matching a set of Cleanup criteria which are managed in the Clean Up tab.

Editing
By selecting Edit from the menu bar or by right-clicking in the list, a context menu will popup providing extra options for managing history data.

You can insert a new history item or edit or remove existing item(s). It is also possible to delete all history items with the same name or the same value.

If you expect to delete specific items more often in the future, you can easily create cleanup criteria for the current selected item(s).

Remove, Edit and Insert are also available as buttons at the bottom of the control. Remove will delete all selected items, Remove All will delete all data currently displayed in the list (data not shown due to filtering will not be deleted).


Cleanup
The cleanup tab contains settings to automate the removal of form history. It includes options to remove form history data that has not been used for some time (default 90 days) and those that have been used less than x times (default 1).
You can also add criteria based on field name and or value with the option to match exactly or partly and case sensitive or not.
Two buttons at the bottom allow you to either preview the data matching the criteria or instantly delete all matching data.


Restore editor text backups
The third tab in the main dialog gives access to the "Editor History" panel. From here backups of typed work can be viewed, deleted or copied.


The Search field at the top of the panel offers the ability to search for specific values that may occur in the text. When hovering with the mouse over the items in the list, a preview of the text is shown formatted as plain text or html just as it was entered at the time of the backup.

You can view details of the item by either double clicking it or selecting the item and choosing view.

The details view shows, besides the text, date and time of the backup, form field properties, and the URL of the site where the text was originally entered.

From the details view, you can use the button"Copy to clipboard" in order to paste the backup of this text anywhere you like.

When the cursor is in a text field or editor field and the right-click context menu is available, you can also restore a specific backup right from the menu. If the backup is not listed, you can always use the main dialog to retrieve the correct backup and copy-paste this backup into the desired field.


Controlling which sites may store form history
From the Options menu of Form History Control you can choose for which sites the browser should remember form history. The default setting is that the browser decides whether or not to store the form history.

If form history is enabled in the preferences of the browser, form history for every site where you enter text in a web form will be stored on your computer. Form History Control however, gives you the extra option to either whitelist or blacklist specific sites.

When this plugin is given control to manage the form history, use the "Manage exception list" button to compile a list of sites you wish to either allow or deny (depending on which option was chosen) from history being stored.











Pages in the exception list may be entered as full URL, part of a URL or just the hostname. Wildcards are ignored. Matching is done case insensitive.

Release 1.0.4

Saturday, June 6, 2009 | 22:14

As DonGato pointed out in his review, after deleting an entry with a key-shortcut, nothing is selected in the tree afterward which makes it difficult to continue navigating the list with keys only.

His suggestion was to select the next available entry. I totally agree with his suggestion and added it to the extension. Testing this I found that it helped only a little because the focus was now shifted to the button and you had to manually set the focus back to the tree in order to continue navigating the list.
So I added some extra code to set the focus back to the tree after one of the buttons (edit, remove, insert) was activated (and only if the tree already had the focus).

Key-navigation is now improved and feels much more intuitive.