PasswordMaker Forums

Firefox/SeaMonkey/Mozilla/Netscape/Flock Browser Extension => Bugs => Topic started by: bigpresh on October 18, 2005, 09:43:25 PM

Title: Misleading error when importing settings
Post by: bigpresh on October 18, 2005, 09:43:25 PM
I was trying to export my settings from my copy of Firefox at work and import into my copy of Firefox at home.

I did "Export Settings" at work, when asked for a filename to save the settings to I entered simply 'pwmakersettings'.

I copied that file to home, selected "Import Settings" and selected that file, but received the error:

Code: [Select]
/home/davidp/pwmakersettings is not a valid PasswordMaker file. Import canceled.

After a bit of trial and error, I found out that the problem was actually that PasswordMaker expected the file to have a .rdf extension.  Renaming it to pwmakersettings.rdf allowed the settings to be imported successfully.

I feel the '... is not a valid PasswordMaker file' error message is not clear enough as to the problem, and it might be a worthwhile idea for the import to either disregard the file extension, or make it clear that it's rejecting the file because it does not have the expected extension.

Thoughts anyone?
Title: Misleading error when importing settings
Post by: Romeo on October 18, 2005, 09:48:24 PM
Quote
After a bit of trial and error, I found out that the problem was actually that PasswordMaker expected the file to have a .rdf extension.
Yeah, I noticed that too.  May be Eric could have PM write out the 'settings' with .rdf by default ?
Title: Misleading error when importing settings
Post by: bigpresh on October 18, 2005, 10:13:30 PM
I've just had a dig around the source, and it looks to me that the requirement for the file to end .rdf may be to do with some part of FF that PM uses to parse the file (could be wrong though, didn't dig that deeply).

Perhaps a suitable and easy solution would be just to check that the file extension is .rdf before validating whether the file can be imported.

I've done a quick example, which I haven't had a chance to test yet, but below is a diff to illustrate what I'm thinking of.

Eric or anyone else, what's your thoughts on this?  If you think  this is a suitable fix, I don't mind testing it out and verifying it works, and making whatever changes are required.

Right, the diff to illustrate is:

Code: [Select]
bash-2.05b$ diff -u passwdmakerOverlay.js-orig passwdmakerOverlay.js
--- passwdmakerOverlay.js-orig  2005-10-18 23:03:40.000000000 +0100
+++ passwdmakerOverlay.js       2005-10-18 23:15:13.000000000 +0100
@@ -308,6 +308,12 @@
       f1.copyTo(f2, fp.file.leafName);
     }
     else {
+
+    if (file.path.substr(file.path.length -4) != '.rdf') {
+               passwordMakerHelper.prompts.alert(this, "PasswordMaker", "PasswordMaker settings file must have .rdf extension. Import cancelled.");
+       }
+
+    
       if (!validateImportFile(fp.file)) {
         passwordMakerHelper.prompts.alert(this, "PasswordMaker", fp.file.path + " is not a valid PasswordMaker file. Import canceled.");
         return false;

Title: Misleading error when importing settings
Post by: Eric H. Jung on October 18, 2005, 10:43:42 PM
Hi bigpresh,
Good catch. You are right. Components.interfaces.nsIIOService.newFileURI(), part of the Mozilla/FF API, seems to require the file to have an RDF extension. Your patch looks good. I'll put it in right now and test it--no need for you to do it.

Thanks for the contribution!!

Regards,
Eric
Title: Misleading error when importing settings
Post by: Eric H. Jung on October 18, 2005, 10:51:21 PM
Fixed. The exact change was:

(added lines only)
Code: [Select]
if (fp.file.path.substr(fp.file.path.length -4) != ".rdf") {
  passwordMakerHelper.prompts.alert(this, "PasswordMaker",
  "PasswordMaker settings files must have .rdf extensions. Please rename the file and try again. Import cancelled.");
  return false;
}

It will be in the next release. Thanks agian, bigpresh.

-Eric
Title: Misleading error when importing settings
Post by: bigpresh on October 18, 2005, 11:04:24 PM
Quote
Fixed. The exact change was:

(added lines only)
Code: [Select]
if (fp.file.path.substr(fp.file.path.length -4) != ".rdf") {
  passwordMakerHelper.prompts.alert(this, "PasswordMaker",
  "PasswordMaker settings files must have .rdf extensions. Please rename the file and try again. Import cancelled.");
  return false;
}

It will be in the next release. Thanks agian, bigpresh.

-Eric

Wow - that was a VERY fast response, I'm impressed!

Thanks for creating such a useful extension, and I'm glad to have been able to help a little.
Title: Misleading error when importing settings
Post by: Romeo on October 18, 2005, 11:35:09 PM
Quote
May be Eric could have PM write out the 'settings' with .rdf by default ?
What you guys have done, may be a good after the fact fix.  However, I was thinking that this should be caught before it is saved.  In other words, do it in a similar fashion as notepad or other apps do it.  When you just type a filename, it automatically adds the extension.

Because what good is the after the fact check, if I am hundreds of miles away and want to import my rdf file from a floppy or an email and it don't work.  I would be out of luck, right?
Title: Misleading error when importing settings
Post by: Eric H. Jung on October 19, 2005, 01:24:26 AM
Romeo, in my testing PasswordMaker automatically adds the .rdf extension when exporting. Let me know if that's not happening for you.

Quote
Because what good is the after the fact check, if I am hundreds of miles away and want to import my rdf file from a floppy or an email and it don't work. I would be out of luck, right?
All you must do is rename the file to *.rdf.
Title: Misleading error when importing settings
Post by: Romeo on October 19, 2005, 01:33:46 AM
Quote
Romeo, in my testing PasswordMaker automatically adds the .rdf extension when exporting. Let me know if that's not happening for you.


All you must do is rename the file to *.rdf.
Why didn't I think about renaming it ?  I guess I was being overly dramatic here, wasn't I?  I gues my daughter is rubbing off on me.

And yes, you are absolutely correct, it does add the rdf extension, when you do not specify an extension.

Thanks for clearing that up.
Title: Misleading error when importing settings
Post by: Romeo on October 19, 2005, 01:39:37 AM
Since we are talking about exporting, I think it might be a nice to be able to export certain groups.  In other words, when group one is higlighted, you can export it as group 1.rdf, etc.

This would be especially useful, after we are able to move around accounts by drag and drop.  Then one could share certain groups with friends, and the like.  Currently, I import my export into my test account, blow away the accounts, which I do not want to share, export it, and then share it.
Title: Misleading error when importing settings
Post by: Eric H. Jung on October 19, 2005, 02:00:39 AM
Sounds good. Can you post it to the Feature Request forum (or move that post if you have the privs)