[Ext] Autofill Forms - Fill out web forms automatically.

Announce and Discuss the Latest Theme and Extension Releases.
Post Reply
madblueimp
Posts: 524
Joined: January 31st, 2007, 12:23 pm
Contact:

Post by madblueimp »

Autofill Forms has been reviewed and accepted by the Mozilla Firefox Add-ons team and is also available at addons.mozilla.org.
JulianL
Posts: 60
Joined: May 7th, 2007, 2:06 am

Post by JulianL »

I'm a Roboform user but would be very interested in switching. I really like the flexibility of Autofill and from what I've seen so far it looks to be very nicely implemented and I like seeing a developer who cares about performance. There is one area though where it seems to me that it is less flexible than SecureLogin. With SecureLogin there is a pretty neat mechanism for selecting among multiple logins for the same site. The only way I can see to do this in Autofill is to have seperate profiles for each user which is ugly compared to the SecureLogin method.

I think that autofill needs the concept of sites and rule groups.

I know Autofill has a concept of sites already (via the "Site rule" field) so this is probably just a matter of designing the UI such that it can show a hierarchical view where all rules for the same site are grouped together. This would also be nice since, if there was an option for adding a new rule for a particular site, then the UI could automatically fill in the site field for the new rule and, if a site changes its login URL, the user could just edit the site rule field once for the site node (or pseudo-node) and the system could update all the rules for that site with the revised URL.

A rule group would be something new. For a web email account for instance, I would of course define a site ("WebEmail" for some defined URL) and under that site, rather than just having a big collection of site rules, I would set up a number of rule groups e.g. two groups, one called "Personal" and one called "Business". Under "personal" I would have the individual rules to log me in under my personal email account ID and under "Business" I'd have the rules for my business user login.

When visiting a site then, once Autofill recognises it, it could just look and see if there are multiple rule groups defined for that site and, if there are, then it could automatically ask the user which rule goup they wanted to use.

What do you think?

- Julian
madblueimp
Posts: 524
Joined: January 31st, 2007, 12:23 pm
Contact:

Post by madblueimp »

I think Autofill Forms already has some basic concepts of grouping:

There are the profiles, which can be switched quite easily (using the keyboard shortcut, e.g.) - but have to be chosen manually.

If you click on the little icon just to the right of the "Enabled" table header, you can display the field- and site-rules, which are hidden in the default setting (You're also able to change the order of the table columns).
This way, if you click on the site-rule table header, you can sort the rules by sites and have a kind of hierarchical view.

But keep in mind that the order is important as it determines how the rules are applied - there are rules which are held more generally but are not applied if a more specific rule matches first.
So perhaps you might rather want to sort the rules manually by using the "move up" and "move down" buttons.

In my opinion, one of the advantages of Autofill Forms is that it doesn't need any dialogs when filling in forms.

But I agree that switching profiles is not that comfortable if you want to choose between several values for the same form field on the same site - in this case, a dialog like the one used for Secure Login might be better.

To implement your rule group idea (which I like) I could just add a website-field to assign a default web address for every profile.
I could then add an option to display a dialog if several profiles with the same default URL exist.
As far as I can see, the result would be quite like your rule group idea.

Implementing it this way would have the advantage of keeping compatibility to existing settings - and I think I will do it for the next version. :)
JulianL
Posts: 60
Joined: May 7th, 2007, 2:06 am

Post by JulianL »

Ah. Backward compatibility. That's a pretty big issue that I hadn't considered. Your proposal makes a lot of sense. And thanks for the tip on the icon to the right of the "Enabled" header, I hadn't spotted that.

One thing re the rule-groups/profile thing. Please make sure, if necessary as a setable option, that any use of an alternate profile is not persistent. Imagine I have 50 sites set up in my personal profile and then 5 sites have alternate logins so they also have rules defined in another profile (or profiles). If I go to a multi-login site and select to use one of the rule sets in an alternate profile then, for my use, I would really want my personal profile to be "sticky" in that, if I selected to use the ruleset from my business profile for a particular site login, then after logging in I would want my default profile to remain my pesonal profile because otherwise, if it gets set to my last-used (business) profile then Autofill won't recognise my other 45 sites unless I explicitly change profile back to personal (which is a pain to do every time).

- Julian
madblueimp
Posts: 524
Joined: January 31st, 2007, 12:23 pm
Contact:

Post by madblueimp »

Thanks for your feedback, Julian. :)

Thinking about it another approach came to my mind, which might be even better and solves the "Persistent profile" problem as well:

By now, for every form field Autofill Forms iterates over the rules until it finds one that matches with site- and field-rule and is enabled. It fills out the current field and stops iterating over the field rules, continuing with the next form field.

To be able to use multiple values for the same form field on the same site I could do the following:

After finding a match, I could just look at the next form field rule in the list and compare it to the current matching one.
If they share the fieldrule (and both are enabled and match the current website regarding the siterule) I add them to a list of selections.
Recursively the next fieldrule is checked if it has to be added to the selection as well.
As soon as one of the next field rules differs from the preceding one a selection prompt is displayed listing the collected values.

Earlier in development of Autofill Forms I already considered such selection prompts but discarded the idea. The problem is the number of prompts that could pop up if you have a lot of multiple field rules - which would be very annoying.

But now a solution to this problem came to my mind:
I just add a little checkbox saying "Remember the selected index for subsequent choices".
If it is checked, the selected number (first, second, third... item) is used for any subsequent choices without the need for another selection prompt.
If a subsequent selection contains less items, the selected number is just decreased for this selection.

The checkbox would be checked by default, so you don't have to check it every time (changing this setting via about:config will be possible though).


Implementing it this way has some advantages:
- Keeping backward compatibility is even easier than using the "default profile url" idea
- No profile switching is required to allow for multiple choices
- Multiple choices and single choice field rules can be used alike in the same profile
Last edited by madblueimp on May 15th, 2007, 3:09 am, edited 1 time in total.
madblueimp
Posts: 524
Joined: January 31st, 2007, 12:23 pm
Contact:

Post by madblueimp »

Regarding the dialog prompt:
I think I will drop the checkbox as not checking it would mean popping up one prompt after the other.
This way I can use nsiPromptService for the dialog prompt as well.

Edit:
Instead of the checkbox I added an option on the advanced settings pane: "Use selected alternatives index for subsequent selections"
If checked, the selected alternatives index is remembered for following selections.

This option is true by default, as it avoids multiple prompts popping up - but it is not used if the number of alternatives differs between the form fields.
If you have e.g. the selections "Name 1, Name 2" and "E-mail 1, E-mail 2 and E-mail 3" it is not possible to decide which E-mail shall be used if "Name 2" is selected, as the third index doesn't show up in the first popup containing the Names. If the E-mail selection pops up first and you select the third item, it is not possible to decide if the first or second Name should be used.

So to avoid this conflict just make sure to have the same number of alternatives - if you have three E-mail addresses but only two Names, just add a third name that shall be used together with the third E-mail address - this could be the same as the first for example.
madblueimp
Posts: 524
Joined: January 31st, 2007, 12:23 pm
Contact:

Post by madblueimp »

Version 0.4 (16.05.2007):
-------------------------------

Bugfixes:
- When moving rules up or down or adding new rules, the view scrolls now to ensure visibility
- Added rules are inserted after the currently selected item instead of at the end of the list

New features:
- If subsequent rules with the same fieldRule exist (Alternatives"), a prompt is displayed for selection.
- A new option defines if the selected alternatives index is to be used for subsequent selections.
- Extended help page to explain how the "Alternatives" work
yoshiharu
Posts: 7
Joined: May 16th, 2007, 11:59 am

Post by yoshiharu »

hello,..i've encountered some problem here.
i accidentally deleted all my profile..even the default.
i didn't find any button which will retrieve the default profile,

Then i uninstall your extension,..download and install again.

But the (default) profile is seems lost forever.

Without them as a templates, i have no idea how to use this extension.

thank you..
madblueimp
Posts: 524
Joined: January 31st, 2007, 12:23 pm
Contact:

Post by madblueimp »

You can restore all default settings using about:config:

1. Type "about:config" in your address bar and hit enter
2. As a filter, type "autofillForms@blueimp.net"
3. Right-click on "extensions.autofillForms@blueimp.net.fieldRules" and select "Reset"

Make sure you disable encryption ("extensions.autofillForms@blueimp.net.storeEncrypted") before step 3.
madblueimp
Posts: 524
Joined: January 31st, 2007, 12:23 pm
Contact:

Post by madblueimp »

Version 0.5 (16.05.2007):
-------------------------------

New features:
- Added support for textareas
- A new option defines a placeholder to create line breaks in textareas
- Extended help page to explain how to use placeholders for line breaks
harb484
Posts: 2
Joined: May 17th, 2007, 2:52 pm

Post by harb484 »

Hi. I love the versatility of this plugin, however I noticed that it didn't fill in anything in the fark.com registration page and thought I'd mention it. Here's the link.

http://cgi.fark.com/cgi/fark/newuser.pl

I dunno if that's because that's what, a perl page or something? Anyhow, keep up the good work!
madblueimp
Posts: 524
Joined: January 31st, 2007, 12:23 pm
Contact:

Post by madblueimp »

As long as the Web form follows HTML standards and uses a "name"-attribute for every form field (which might be the case for 100% of the web forms as no "name" would render the form field useless) Autofill Forms can handle it - no matter what application is used to serve that page (CGI, PHP, Java, APS.NET, etc.).

What you noticed is that the default ruleset that comes with Autofill Forms doesn't recognize the form fields of http://cgi.fark.com/cgi/fark/newuser.pl.
That's because this page uses somewhat strange "name"-attributes:
e.g. name="eml" and name="foo" for "Working e-mail address".

But hence you can edit the ruleset and define your own rules that doesn't matter.
Just read the help integrated with Autofill Forms on how to do it. ;)
mikelward
Posts: 29
Joined: November 14th, 2002, 12:31 am
Location: Melbourne, Australia
Contact:

updated rules

Post by mikelward »

Hi All

I've tried using Autofill Forms on del.icio.us, fark, MySpace, Yahoo, and some others.

The results were reasonably good, but some extra settings made things work better.

The main thing I found useful was separate entries for birth day (day of month), birth month, and birth year. Gender/sex and alternate email were also useful. A number of countries (such as Australia) call the ZIP a post code, so I match "postcode" and "pc" for that field as well.

Also note that multiple entries for birth month can be useful, for instance set one as 9, one as Sep, and one as September, and Autofill will use whichever one the form requires.

Below are the fields and the rules I used.

Username (?:user)|(?:login)
E-mail mail
Title (?:(?:prefix)[\w]*(?:name))|(?:(?:name)[\w]*(?:prefix))|(?:title)
First name (?:(?:first)[\w]*(?:name))|(?:(?:name)[\w]*(?:first))
Middle name (?:(?:middle)[\w]*(?:name))|(?:(?:name)[\w]*(?:middle))
Last name (?:(?:last)[\w]*(?:name))|(?:(?:name)[\w]*(?:last))
Name suffix (?:(?:suffix)[\w]*(?:name))|(?:(?:name)[\w]*(?:suffix))
(Full) name (?:name)|(?:fn)
Street (Line 1) (?:(?:street)|(?:addr))[\w]*1
Street (Line 2) (?:(?:street)|(?:addr))[\w]*2
Street (Line 3) (?:(?:street)|(?:addr))[\w]*3
Street (?:(?:street)|(?:addr))
City city
State (?:state)|(?:prov)|(?:region)
ZIP/Postal code (?:zip)|(?:pc)|(?:postcode)|(?:postalcode)
Country Code (?:country)[\w]?(?:code)
Country country
Company company
Phone (?:phone)|(?:tel)
Jabber ID (?:jabber)|(?:jid)
ICQ UIN icq
AIM Address aim
Yahoo Messenger yim
MSN Messenger msn
Website (?:web)|(?:homepage)|(?:www)|(?:url)
Language lang
Occupation (?:occupation)|(?:job)
Location loc
Timezone timezone
Autologin autologin
Birth Month (?:bmon)|(?:bmonth)|(?:birthmonth)|(?:birth-month)|(?:dob-month)
Birth Day (?:bDay)|(?:birthday)|(?:birth-day)|(?:dob-day)
Birth Year (?:bYear)|(?:birthyear)|(?:birth-year)|(?:dob-year)
Birth Date (?:dob)|(?:birthdate)|(?:birth-date)
Gender (?:gender)|(?:sex)
Alternate Email (?:AltMail)|(?:AltEmail)
Alternate Email (?:AltMail)|(?:AltEmail)
Last edited by mikelward on May 21st, 2007, 3:53 pm, edited 1 time in total.
madblueimp
Posts: 524
Joined: January 31st, 2007, 12:23 pm
Contact:

Post by madblueimp »

Thanks Mike.

If you too have a good profile to share, please just post here.
madblueimp
Posts: 524
Joined: January 31st, 2007, 12:23 pm
Contact:

Autofill Forms Reviews

Post by madblueimp »

I noticed today that Autofill Forms got two very bad reviews on addons.mozilla.org:
https://addons.mozilla.org/en-US/firefo ... lang=en-US

I find them both not fair.
For me it seems they didn't give the extension a chance nor did they bother to read the provided help or get help from other sources.


So if you like Autofill Forms please consider adding your own review there so people get to see how it can work out.

Thanks in advance,

Sebastian
Post Reply