Import Crash and performance on version 4.6.1.616 (Windows)

Options
sharza
sharza
Community Member
edited October 2016 in 1Password 4 for Windows

Hi

Version info: 4.6.1.616 (Windows)

I am on the lookout for a new pw manager, and as such came across 1Password. It get some nice words from various respected places and cryptoanalysts. So - I decided to import my passwords from my previous pw manager, which should be an easy task, given 1P supports CSV import.

How wrong was I about that. Apparently 1P does some sanity checking on the fields, and wont even accept its own export under certain circumstances.

  • If the URL contains backslashes, it will crash on import in this version.
  • The import will randomly generate empty items, which can only be deleted by shift+delete - if attempting to edit them or move to thrash, the application will crash.
  • If attempting to import more than around 100 items at once, the application will crash.
  • For all the crashes, sometimes, some of the items are imported anyways - however those are not immediately visible.
  • When the app crashes during import, it will not quit, it will bail with an error, and the import will fail - however it seems like a code crash, from the message displayed. (see this scrshot: https://dl.dropboxusercontent.com/u/134466/1Password_Error.JPG)
  • The import will happily generate duplicates without asking

After narrowing down the problem items, I have tried manually creating those items, and exporting them to see how 1P generates the export, hoping for a solution. It does replace single backslashes with double backslashes, so an UNC path will look like \\\\server\\share, however it still crashes on import.

Besides the issues mentioned above, the performance of 1P is abysmal with almost 600 passwords imported.

Note: I do use alot of additional information in my password entries under notes.

This is a trial, so I would very much like to have it up and running fully, before judging the app - I am however not at all confident with the app as it is here.

Before suggesting an upgrade, bear in mind that I will under no circumstances accept a non-local password vault, and as far as I understand, this version is the newest version, supporting local vaults.

Any ideas?

Thx in advance.

  • Ken

1Password Version: 4.6.1.616
Extension Version: Not Provided
OS Version: Windows 8.1
Sync Type: Local file

Comments

  • MrC
    MrC
    Volunteer Moderator
    Options

    @sharza,

    You might want to use the csv converter from the 1.09 version of the converter suite, located in Testing Bits mentioned in the first post of the thread.

    The CSV import code in 1Password for Windows is old and AgileBits has worked on resolving issues as they are discovered - I've worked with them to resolve at least a dozen, but its been a while now since I've done any CSV importing on Windows. The csv converter, and all the converters in the converter suite create a universally importable 1PIF file - once I switched to that form of import file, I stopped caring about 1P for Window's CSV import issues.

  • @sharza Adding to what @MrC has said, the issue with CSV files lies in part in 1Password 4 and in part in non-standard encoding in CSV files.

    It's frankly a mine field and MrC's converter is presently the best solution out there to get data from almost any password manager on the market into 1Password.

    If you wish to do it manually, we do have a guide to formatting CSV files to increase compatibility with 1Password.

    As for your critique of the application: we understand. 4.6.1.616 is the most current version of 1Password 4, which supports read/write for local vaults. 1Password 6, our newest version for Windows, is currently optimised for use with our online subscription service but will gain full support local vaults at a later point.

    I hope you'll find this information to be helpful. Should you need help with something else, simply contact us again.

    Cheers,

    Alex

  • sharza
    sharza
    Community Member
    Options

    @MrC and @AlexHoffmann thanks alot for your feedback. I will try the converter as soon as I have the time to do it.

    Regarding the encoding for CSV files issue: I don't buy it - sorry mate, but 1P is not even able to re-import it's own export, and in that respect, it will have to be the application itself, which uses buggy encoding. My bet is on the code that exports the fields - given the fact that 1 backslash becomes 2 backslashes - it seems like it escapes the backslashes for some reason - and then for other reasons are unable to re-import them - where I guess at a sanity check gone wrong. (In a field, which btw should not be sanity checked at all...)

    I have made lots and lots of code, that manipulates with data through CSV files - encoding has never been a crashing issue - albeit the data might have looked... well... flawed to say the least, using the wrong encoding :)

    One thing which is beyond me tho', is that you are now 2 major versions up from the last version of the product able to write to local vaults. Now I can see where you're going with this, of course you wish to promote the online subscription, it makes strategic sense, but come on guys, you cant keep it like this forever.

    So bottom line is: I need to test the latest and greatest version, able to leverage my requirements, and since my authentication data does not go to the cloud - like never ever - I need local storage. (Yea I'm paranoid - I know it, but thats just how it is ;) ) - and for now that seems to be version 4.6.616, until some day, when 1P development finally decides to release the code, that undoubtedly already exist, to write to local vaults.

    At this time, the question really is, will 4.6 make it - in which case you gain a new customer - or will it not - in which case you won't gain a new customer.

    It's all really exciting :)

    Thanks alot for taking the time to respond - its very appreciated.

    • Ken
  • MrC
    MrC
    Volunteer Moderator
    Options

    @sharza ,

    I don't think @AlexHoffmann was disagreeing with you, that 1Password 4 for Windows has problematic CSV encoding / decoding. Rather, I believe he was confirming your assessment.

    But you shouldn't worry about v4's CSV capabilities too much. Get your data into 1Password, and you're good to go.

  • AGAlumB
    AGAlumB
    1Password Alumni
    Options

    @sharza: Indeed, 1Password isn't perfect, and one weakness is that CSV is problematic in some cases. As Alex mentioned,

    the issue with CSV files lies in part in 1Password 4 and in part in non-standard encoding in CSV files

    But what 1Password does well is work with 1PIF data (an open, JSON-based format), which MrC's converter is great at handling. 1Password 4 can definitely import from that. And 1Password 6 currently supports only 1Password Accounts fully. This isn't promotion; it's just the truth.

    I hope this helps. Be sure to let us know if you have any other questions! :)

  • sharza
    sharza
    Community Member
    Options

    Non pun intended, and I am sorry if offense was taken - it was unintended. I just have quite a bit of experience working with CSV files, and honestly can't see any encoding issue causing an application crash.

    Let it be though, what is now important is to get the stuff imported, and test from there. I need to absolutely sure I have a long lasting solution, which I also trust being able to handle my data, so it will be thoroughly tested.

    Thanks for all your feedback and help, its much appreciated.

  • No offence taken, @sharza. On the contrary, we appreciate the feedback.

    Import and export is something that deserves improvement in 1Password 6 and 4.

    As for the encoding issues: when customers export to CSV from other apps or from 1Password, we generally recommend doing so category by category. Mixing fields for different item types (logins, secure notes, identities…) in a CSV is a recipe for frustration.

    One thing which is beyond me tho', is that you are now 2 major versions up from the last version of the product able to write to local vaults. Now I can see where you're going with this, of course you wish to promote the online subscription, it makes strategic sense, but come on guys, you cant keep it like this forever.

    We don't talk about version 5, it's the release that must not be named.

    Just kidding :)
    We simply skipped this version number to bring the major version number on par with the other apps.

    And please allow me to make two things very clear:

    (1) Yes, we definitely wish to promote the subscription service because we believe that what we've built is truly the best solution for the majority of current and future 1Password users. It's also incredibly secure and one the first true zero-knowledge cloud solution for storing your sensitive data.

    (Yea I'm paranoid - I know it, but thats just how it is ;) )

    You're not paranoid if they're really after you :P

    (2) We will not abandon local vaults. As long as customers wish to use local vaults, we'll provide a way to use them. They're the foundation this company's success was built on. The simple reason why 1Password 6 doesn't have write support for local vaults, yet, is that we haven't had the time to implement it. It's coming in a future version, though. Until then, 1Password 4 is your app of choice. Use the converters MrC has so generously made for aspiring 1Password users. You won't be disappointed.

    Oh and one last note: If you wish to export your data at some point, we recommend doing so using .1pif if the app you're exporting to understands it. The format is simply a JSON representation of your data and fairly easy to parse or convert. Otherwise, export each category to CSV individually to prevent import issues with because of mismatched field titles.
    It's important to us for you to understand that we would never try to lock you into our platform (online or offline) with your own data.

    Cheers,

    Alex

  • sharza
    sharza
    Community Member
    Options

    Hi All

    Its quite some time since I started this topic, and I got some good advice back then. I haven't had the time to look at this before now, so I thought I'd feedback an update, after playing around a bit.

    As I've told before, for me its not just a matter of getting my data into 1Password, and then its that. For several reasons its a process, which may be repeated several times, so I need an automated way of doing it. With that out of the way, and no further ado:

    I got MrC's 1PIF converter, which I used to convert my CSV export. However I had several issues with that, as outlined below:

    • No folder support (lots of manual work afterwards - with 611 logins across 45 folders)
    • Localized non-us characters got replaced with unicode character codes (need to replace those with actual characters before importing the .1PIF - which requires an extra file operation)

    That set aside it worked as it was supposed to. I played around for a bit with 1PIF files, adding my own entries trying to mimic what 1Password itself exports, but no way could I get folders imported using that technique, so eventually I abandoned it all, and wrote a Powershell script, which prepares the CSV file for 1Password import, by conforming it to a format which won't break 1Passwords flaky CSV import mechanism.

    The script has been made specifically for importing Mirek's PINs Secure Password Manager (which admittedly is now not-quite-so-secure-anymore) CSV exports into 1Password. I did however add the option to prepary any CSV export (admittedly with some limitations) for 1Password.

    For anyone interested - the script can be grabbed here:

    https://www.dropbox.com/s/ddij8tmv0kaxkxx/Prepare-Pins-CSV-For-1Password-Import.ps1?dl=1

    Absolutely no guarantees - use at own risk and all that jazz. Its made for Danish localized characters - your results may vary.

    Now I'm looking at the performance of 1Password, which to be honest - is not showing blistering speeds. I have 611 logins, and there are several seconds wait time navigating around the tree...

    Anyway - so far so good - status for now.

    • Cheers
  • MrC
    MrC
    Volunteer Moderator
    edited January 2017
    Options

    Hi @sharza,

    RE: the csv converter, Folder support would be trivial to add, ya just have to ask! It's a line or two of code. It does support Tags already. No user has as of yet asked.

    I don't know what "Localized non-us characters" means. Can you clarify? There is Unicode, which can encoded as UTF8, UTF16-LE, etc. There is ASCII, there is Latin1, etc. The input format for a file has to be know, and cannot be guessed by any software, since there is ambiguity in some encodings. And often there is no BOM.

    The converter can be configured to work with a given encoding, but I haven't bothered to provide simple command line switches for this, because almost no user will know how to deal with this. So I opted to punt here, and require UTF8 as input. Its an easy change to set a different encoding.

  • sharza
    sharza
    Community Member
    Options

    Hi @MrC

    I suspected the Folder support would be sort of simple, I was a bit unsure wether it was there already. Now Perl is not my thing, but I did see that the folder is part of the PIF struct, and it looked like roboform import would indeed import a foldered structure as well. I tested by importing my Roboform passcards, but it did not result in folders, so I kinda jumped the conclusion, that it wasn't that easy to do afterall - but meh - thats how it goes sometimes :)

    I was pressed for time, as I wanted to get a move on with this, and took matters into my own hands dealing with it. It would still be a nice-to-have with folder support for generic CSV imports in the converter.

    Well - "Localized non-us characters" might really be a badly selected term, however it refers to non-standard characters, of foreign codepage - in this particular scenario - Danish. We have 3 special characters, which are available as upper and lower case - represented by Unicode character codes, which would be represented in the form \xC5, \xC6, \xD8, \xE5, \xE6, \xF8, instead of the "real" characters in the resulting 1PIF file... some data handler somewhere probably transforming those characters.

    The encoding that worked for me, was in fact Powershells "Default" encoding, which is dictated by the system codepage.

    I do agree with you on people not really needing, or knowing how to handle encoding (most people anyway), but I did include encoding options in my script, for people to play around with anyway - since I was one of the users :)

    Its not as polished and nicely made as your converter - but for me it did the job, with a few changes to the export CSV, which really shouldn't be neccessary, but was anyway ;)

  • MrC
    MrC
    Volunteer Moderator
    edited January 2017
    Options

    @sharza,

    The important thing is that you have accomplished your goal, and that's great news.

    The converter uses the --folder option to include creation of Folders. This is not enabled by default, because there can be namespace collisions when importing a Folder into a non-empty vault. 1Password doesn't do any sort of checking of folder names on import, and blindly creates new, same-named folders (because it uses a UUID for a folder to Name pairing, and the UUID I have to generate is random). So all I have to do to the csv converter is assign a folder name to an internal field that my 1PIF module knows about, and it does the magic.

    I had suspected you meant "codepage". Given that the csv converter is very generic and may accept files created in any codepage, on any OS, I have to force a restriction of UTF-8 for now. Maybe I'll just add codepage support on Windows as a command line option for the csv converter.

    Thanks for your feedback - its users like you who help me push the envelope, and keep me honest!

  • AGAlumB
    AGAlumB
    1Password Alumni
    Options

    Anecdotally, I've dealt with character encoding now and then with localizing subtitles, and I still find it a confusing mess. :lol:

    @sharza: I also wanted to jump in since you mentioned some speed issues. Unfortunately 1Password for Windows version 4 has some performance limitations due to its older codebase. OPVault can be downright painful, depending on the vault size and hardware. AgileKeychain is more forgiving in that regard.

    While it isn't ready for local vaults yet, we're building version 6 from the ground up to scale better. It's already a lot faster, and we'll continue to optimize it over time. I'm sorry that this isn't much help to you now if you're not using a 1Password.com Account, but we're working on adding features so it will be suitable for all 1Password users on Windows.

  • sharza
    sharza
    Community Member
    Options

    @brenty: thanks for your reply

    Well - character encoding only became a confusing mess, because someone, somewhere, felt like handling localized characters using codepages was impractical - mainly due to database issues. Thus Unicode was born, and after that several variations in the form UTF-xx, which has caused major headaches in various scenarious - again mainly database setups, and mainly SQL server setups, with all kinds of weird server collation vs database collation combinations. In the end - the most stable, proven and amazingly enough, still used encodings, which gives the least headaches, is - Ascii and Ansi - when it comes to normal text operations anyway. Codepage will handle the correct display of those.

    Enough of that, back to performance. Its by no means impressive - I am of course using OPVault, and its kind of a beast, however it works for now. I am still reluctant paying up for a registered version to be honest, given the focus on the cloud based solution. I do realize the reasoning behind focusing efforts on the cloud, I'm just not at all happy with that approach. The operation of 1P v4 is working as its supposed for now, so I have no complaints there, and given its cross platform, and integrates nicely with my Android devices, it still does the job way better than anything else I've trialled - so cudos for that - its not all bad ;-)

  • Hi @sharza,

    We do understand and thank you for sharing that with us, it is really important to us.

    Hopefully, you'll give 1Password 6 a try when it becomes available with full local vault support and like it.

This discussion has been closed.