Importing from SplashID to 1Password

I just updated to 1Password 3.8.3 on my Mac (Snow Leopard 10.6.8 ), and tried out the import function. My passwords are in SplashID iPhone Desktop v 5.4.

Anyway, I followed instructions, creating a vID file, choosing it in Step 2, then selecting the file encoding in step 3. I ended up on 'ISO Latin 1'. The first line of the file is 'SplashID vID File -v3.0'.

When I run the import function, I get the following error message:

Failed to run import script


/Applications/1Password.app/Contents/Import/SplashID.rb:54:in `process_contents': undefined method `slice' for nil:NilClass (NoMethodError)
from /Applications/1Password.app/Contents/Import/SplashID.rb:52:in `each'
from /Applications/1Password.app/Contents/Import/SplashID.rb:52:in `process_contents'
from /Applications/1Password.app/Contents/Import/lib/base.rb:530:in `process_stdin'
from /Applications/1Password.app/Contents/Import/lib/base.rb:495:in `run'
from /Applications/1Password.app/Contents/Import/SplashID.rb:106



And no records are imported. Is there anything I can do? Is there any information I can provide that would be helpful?

Comments

  • sjksjk oversoul

    AgileBits Team Member
    Welcome to the forum, StandardArtist!

    Thanks for the detailed description of the trouble you're having importing your exported SplashID data into 1Password. The workaround I've always had success with is to select 'Mac OS Roman' for "Character Encoding" in Step 3 of Import Assistant. All the other encodings I've tested trigger errors like you're seeing.

    Please let me know if that works for you. Thanks!
  • Thanks for the insight. Unfortunately, it didn't work.

    If it helps, I have the default version of Ruby that came with the Mac.
  • sjksjk oversoul

    AgileBits Team Member
    edited September 2011
    Hi, StandardArtist!

    When importing a SplashID CSV format file instead of vID format, I was able to reproduce the identical error you're seeing. But you specifically said:

    The first line of the file is 'SplashID vID File -v3.0'

    So, I'm still puzzled why it's not working for you. I've had no trouble importing a +900 item vID format file.

    To help isolate this problem, could you please export a small number of items (about 5) from SplashID to a vID format file and see if 1Password can import that? If that doesn't work, I'll send you instructions how to send us a "clean" sample of that data so we can test with it here. If it does work, one or more other specific items is causing the error and we'll find a strategy to isolate it/them.

    Thanks for your help resolving this!
  • Have similar issues. I was thinking of moving from splasid for my mac/ iphone/andriod and ipad. unfortunately the import failed miserably. if you can solve it well and good.
    I followed all the steps you suggested in this link, but no luck. I downloaded trial version and tried import from an export file in spalshid vid file (not version 3). I tried importing without password and fewer as 5 recoreds.
    The csv options does nto work for me.
  • Also interested in moving from SplashID to 1Password, and finding that 1Password is apparently working hard to make this really difficult. There seems to be no way to get my data imported in any meaningful way. Most of my SplashID CSV export comes in as text notes, which is useless and unacceptable. With a bit of editing and the custom CSV import I can bring in Logins or Text notes -- but nothing else. No detailed information is available about the various import format semantics. For example, if I knew that I could arrange/edit my CSV exports, even category by category (e.g., Logins, Identities, Wallet, etc) in some particular way to sensibly import records for each 1Password type, that would be OK.

    Even the basic ability within 1Password to change the type of a record might let me hack up some semblance of sanity from the chaos.

    But I'm not typing everything in again, so 1Password seems designed to be pretty much useless to me. This is a real shame, as it seems to have a couple of big advantages over SplashID. It's just aggravatingly inflexible.
  • I'm currently demoing 1Password, and have been using SplashID for Mac.

    Is there a way to import my SplashID data to the wallet in 1Password, not the login group?

    75% of my SplashID data are cred cards, account #s and serial #s, not login IDs.

    Thanks in advance!
    Joe
  • I managed to somewhat improve the quality of my SplashID import by reading the 1Password import scripts and editing SplashID's exported CSV file to take account of the import limitations. Nevertheless, the limitations are inexcusable as it would have been trivially simple for someone familiar with 1Password code to have completed implementation.

    Basically, you need to be cautious as SplashID provides a lot more flexible formatting and fields than 1Password's importer can handle. You want the first column, which for convenience we'll call column 0, to be exactly one of the following: "Web Logins", "Credit Cards", "Bank Accts", or "Serial Numbers". This is how the importer translates SpashID "categories" to 1Password "types". Anything else will be processed as a "secure text" record, although 1Password seems to support a number of other useful record formats the import script does not handle them.

    Furthermore, the following column, column 1, is the description of the record ("My VISA", "AgileBits Forum", etc.).

    Column 8 is used to create a 1Password Folder for this record. In my experience, this is rarely if ever a reasonable interpretation of the SplashID export field... which in most cases seems to be a miscellaneous note. You can either open your SplashID CSV file in Excel (or OpenOffice.org) and CLEAR column 8 (spreadsheet column "I"), or you can delete the spurious 1Password Folders after importing. (Be sure that the browser plugin is NOT INSTALLED at the time, or it'll happily recreate them for you.)

    Column 11 is the Notes -- though in some formats the importer will append additional columns as noted below.

    Other columns, except those listed below, are ignored.

    For each SplashID category the importer supports, here are the columns it uses:
    • "Web Logins" for any login data, containing the following fields (the following columns)
      1. The name of the login (e.g., "My bank")
      2. Your username
      3. Your password
      4. The URL
      5. Fields 5, 6, and 11 are appended to form the record's "note" field

    • "Credit Cards" for any credit card, containing the following fields:
      1. Your name for the credit card
      2. The credit card number
      3. This is ignored (seems to be SplashID's expiration date)
      4. Your name
      5. Your PIN
      6. The bank name
    • "Bank Accts" for any bank account
      1. Your name for the account
      2. The account number
      3. This is formatted into a string like "PIN x" and stuck onto the note; despite the fact that 1Password supports a PIN field
      4. Your name
      5. Bank routing number
      6. Branch phone number
    • "Serial Numbers" for registration information:
      1. Item being registered
      2. Registration code
      3. Order date
      4. Both "Title" and "Publisher name" fields are taken from here, which seems like a bug. I didn't have any of these in SplashID so I'm not sure how the export is formatted
      5. Appended to the note
      6. Also appended to the note
      The scripting class structure clearly intended support for additional 1Password types, including Email Accts (e.g., email), Identity, Calling Cards, Insurance. I was very tempted to "fix" the script to support some of these; however most of the field information is passed into 1Password using a simple hash array, and the script didn't expose the hash keys necessary for the fields. I decided I didn't have enough of these records to be worth the trouble of trying to work them out, but it's a real pity (and a really annoying oversight) that they're not already supported.



    As a result, I've got my SplashID data imported into 1Password in a form that's at least somewhat usable -- although I think I've lost some valuable information in some of those ignored fields. Among other things, the importer shouldn't throw any user data away... ANY additional non-empty field should be added to the record's note so it's not lost.

    This whole import thing is an unprofessional hack job that should be really embarrassing to someone selling software. I really thought I'd prefer 1Password over SplashID... but after going through this, even though I ended up with a semi usable import, I'm not so sure I didn't waste all my time. I might just forget it and stick with SplashID.
  • khadkhad Social Choreographer

    AgileBits Team Member
    I've passed this along to the developers to take a look at. Thank you for providing this feedback. I know some work was being done recently on the SplashID importer, so this is especially helpful for us.

    Can you confirm what version of 1Password you used to perform the import?
  • jxpx777jxpx777 Code Wrangler

    AgileBits Team Member
    Hi, Joe. In the latest 1Password release, we support importing several different types from the SplashID vID format including web logins, credit cards, bank accounts, and software licenses. Other entries will be imported as secure notes. That said, it appears we have some more work to do on this and I hope to be able to address some of our users concerns and difficulties next week. Whenever you're moving data from one system to another, you should always make sure that all the data you expected to come across actually did.

    Please let us know how it works out for you.
  • jxpx777jxpx777 Code Wrangler

    AgileBits Team Member
    edited September 2011
    Hey, guys, I'm the developer that's been working on the SplashID importer. I understand your disappointment with the imperfection of the process. The good news is that it's orders of magnitude better than the last version. (If you want to confirm this, you can download 3.8.2 and try the importer there.) Thanks to feedback from you and other users, I have some more ideas for how to improve this and I hope to get to it next week. Of course, I can't make any promises about that as things change so quickly around here and next week may find me on something entirely different. I will say quite simply that importing data from another system is a tough problem (not just for us) and it's rarely going to be 100% accurate and we eventually reach a point of diminishing returns. The goal is to bring your data over from the previous system in a way that you can still read the data without SplashID. It's great that we can create logins and credit cards that you can then fill in the browser, but in our view, that is icing on the cake.

    dbutenhof wrote:
    • The scripting class structure clearly intended support for additional 1Password types, including Email Accts (e.g., email), Identity, Calling Cards, Insurance. I was very tempted to "fix" the script to support some of these; however most of the field information is passed into 1Password using a simple hash array, and the script didn't expose the hash keys necessary for the fields. I decided I didn't have enough of these records to be worth the trouble of trying to work them out, but it's a real pity (and a really annoying oversight) that they're not already supported.



    I'm sorry for this confusion. Most of these type mapping hashes were legacy items from our previous importer that only used the CSV export, which does not define the types along with the data. The new format takes its typing cues from the exported data itself, so these aren't used.
  • khad wrote:

    I've passed this along to the developers to take a look at. Thank you for providing this feedback. I know some work was being done recently on the SplashID importer, so this is especially helpful for us.

    Can you confirm what version of 1Password you used to perform the import?

    Thanks. I'm using 3.9.0, from the App Store.

    It's nice to hear there's some interest in improving this. Honestly I think the most useful improvement would be to allow a greater degree of editing within 1Password; especially, to convert records of one type to another within the program. Which perhaps goes along with the greatest weakness of 1Password in contrast with SplashID... your record types are much more inflexible. For example, a credit card or a bank account doesn't have login information; yet most accounts do support web login, and 1Password structure suggests there should be two separate records; one for the traditional CC#/account/routing/etc bank data and another for the login. In SplashID I could customize login data on a bank/CC record; or add account information on a login record, depending on how I started. Which of course is one of the factors that makes 1Password import complicated; a lot of information is thrown away that I'd really like to keep.

    My only option seems to be editing the SplashID CSV, e.g., to make sure that any important SplashID information is out of the column 8 that 1Password will use to create a folder... which in every case has been useless and annoying, and in some cases has resulted in discarding information I'd prefer to keep.

    Basically, in order to actually use my 1Password database (which I'd really like to do), I'll need to discard what I have and then spend a lot more time editing either my CSV or the 1Password import scripts... or more likely both... to avoid losing or misplacing useful information.

    I do understand the complications; but most of what I've encountered wouldn't have been difficult to avoid in the first place, or to fix long ago. That makes the experience frustrating.
  • Thanks for your reply Jamie.

    I had neglected to mention that I was forced to try importing my SplashID data by exporting it as a CSV file and then importing to 1Password. I had to do it that way because neither of the vID import options worked in 1Password. When I attempt to import either way it gives an error and doesn't import any items; I can't give the specifics of the error, as I'm currently at work.

    I hadn't tried anything out of the ordinary; I have the latest version of SplashID and did a fresh export of my data, so the problem would appear to be on the 1Password side.

    Is there a remedy that can be recommended?

    Thanks,
    Joe
  • brentybrenty

    AgileBits Team Member
    Hey, Joe! I don't think we support the latest version of SplashID for importing, but I am not certain since this is so new for us as well. Please email us (support at agilebits dot com) with the error your received and any other relevant information, and we will do whatever we can to help you with this. :)
  • brentybrenty

    AgileBits Team Member
    dbutenhof wrote:

    Honestly I think the most useful improvement would be to allow a greater degree of editing within 1Password; especially, to convert records of one type to another within the program.


    I agree completely. Customization is something we hope to add in a future version. Right now, the necessary structures just aren't in place to allow this, so it will take some work. But I wanted you to know this is on our radar. :)


    I do understand the complications; but most of what I've encountered wouldn't have been difficult to avoid in the first place, or to fix long ago. That makes the experience frustrating.


    I am sorry for the frustration. Unfortunately the reality is that 1Password wasn't created with the aim of being all things to all data, and with the needs of other vendors' software in mind. While there is some overlap in functionality, I think the primary focus of 1Password differs in the sense that it is mainly about using data rather than meticulously organizing it. For example, the field types and values supported currently are -- for the most part -- specifically to facilitate things like Login, Credit Card, and Identity filling, which is why these are separate things: Not all Logins have associated Identities or Credit Cards and vice versa. As 1Password matures, however, we are working on better integration and broadening the import options as resources permit. We're excited about the work being done here, and hopefully we will be able to bring down your frustration level a bit as we improve it. Thanks for your patience! :)
  • jxpx777jxpx777 Code Wrangler

    AgileBits Team Member
    I just wanted to post an update here about SplashID importer support. I made some more improvements and sent them off for some testing. I'm happy to report that the testing proved very successful. 1Password was able to import every sample data file I have had sent to me for testing. More impressive, though, is a particular user was able to import 1,698 entries that were created over the course of more than a decade (and by implication several releases of SplashID). I've committed the change and it should be in the next release.
  • Jamie is there a timeline for this to be implemented into the Windows version of 1Password?
  • khadkhad Social Choreographer

    AgileBits Team Member
    I don't know of any current plans to implement this in 1Password for Windows, but you may receive a better answer from the Windows developer in the 1Password for Windows forums:

    http://forum.agilebits.com/index.php?/forum/19-1password-for-windows/
  • I just did an import of SplashID for Mac to 1Password for Mac. It was able to import all my records, which is very impressive. The only downside is that all the SplashID fields get imported into the Note field. This includes all the SplashID fields that 1Password did recognize such as Username and Password. The Password field in this Note is shown unmasked of course. It would be nice if the import would only place the unmatched/unrecognized SplashID fields in the 1Password Note field. Other than that, I'm pretty happy with the import.
  • khadkhad Social Choreographer

    AgileBits Team Member
    Thanks for the additional info, RichieB! We've made some big changes to the SplashID importer since this thread was last active. I'll pass your feedback along to the developers. :)
  • So what is the best way to do this now? Is theres some cleanup I can do in SplashData to help the transfer? Is everything going to just end up in the notes?

    Thanks,

    JT
  • khadkhad Social Choreographer

    AgileBits Team Member
    All items are imported as either Logins or Secure Notes. Logins are defined by their URL, username, and password. Other data types do not have a one-to-one correlation in 1Password, so they are imported as Secure Notes.

    If you give it a try and have any questions, we would love to help. The best way may be to open a support ticket. This thread is getting pretty long and is quite old. :)

    Here is a link to our support site if you want to open a support ticket:

    http://support.agilebits.com/

    Cheers,
This discussion has been closed.