1PIF: Importing into 1Password 4
Comments
-
I'm interested in knowing more about the 1PIF format.
I'm trying to migrate a database that contains web logins, software serial numbers, PINs, and a wide variety of other types of information from SplashID. SplashID can export this in CSV format, but if I try to import the CSV directly into 1Password 4, then (a) everything gets imported as a login item, and (b) most of the information ends up being inserted into a 'note' field. (There are also issues because SplashID writes a file in Western (MacOS Roman) format with CR linebreaks, and 1Password wants UTF-8 with LF linebreaks, but that's easily fixed with a competent text editor).
In order to preserve type information and insert the data correctly into 1Password, it looks to me as if I need to generate a 1PIF file and import that. Because 1PIF is JSON, it should be reasonably straightforward to write some ad hoc Perl scripts to take in the CSV and write out 1PIF files. However, I need to know more about the 1PIF format.
I've generated a 1PIF file to look at, and it seems mostly straightforward. However, there's an odd '***'-prefixed string at the end of the file, and there are fields with names such as 'contentsHash' that contain data that may or may not be important.
If you don't have documentation for 1PIF, would it be possible for one of your developers to answer the following questions:
- Do I need to provide the string that starts with '***' at the end of the file and, if so, how do I generate it?
- Do I need to provide a value for the 'uuid' field in each record?
- Do I need to provide a value for the 'contentsHash' field in each record and, if so, how do I generate it?
- What are the possible values for the 'typeName' field? (I can probably work this out myself, but if you have a list, that would be helpful)
- Is there any information on how the 'fields' and 'sections' blocks should be structured?
- The 'sections' structure contains 'n' and 'name' fields with what looks like a UUID; are these required?
Any help that you could give me would be very much appreciated. Thank you.
0 -
Hi @angusm,
Thanks for the question! I've moved your comment slightly so that it is now in the 1Password 4 forum instead of our Legacy forum for 1Password 3.8 (just to avoid any confusion.)
Our developers have been working hard on the Import feature in 1Password 4, and there is an option now that will allow you to import directly from the SplashID (.vid) format. It should correctly import most of your categories so that you have fewer Secure Notes to manage.
Just go to File > Import and select SplashID (.vid) from the File Format. :) Please let me know how this works for you.
0 -
Thanks. This seems to have worked, although it looks like I have some tidying-up to do.
For some reason, all my hardware serial numbers imported as "Software Licenses" and my software serial numbers imported as "Secure Notes", but that may be a reflection of the way that I had the data organized in SplashID.
Is there a way to change the type of an existing item in SplashID, or do I need to create new items and copy/paste the information from one to the other?
Also, it seems that vID import is affected by the same problem with Western (MacOS Roman) and UTF-8 that I mentioned above (not surprising, as vID is basically a CSV text file). When I tried to import, 1Password simply beeped and did nothing (no warning message was displayed to show why the import hadn't succeeded). The 'com.agilebits.1password4.log' contained a message that said:
Fri Nov 8 15:03:09 2013| 409002 [IMPORT:0x7fa62b0d0010:<OPImportController: 0x7fa631871f80>] E importFileAtURL:ofType:subtype: | Failed to read import data: Error Domain=NSCocoaErrorDomain Code=261 "The file “Splash.vid” couldn’t be opened using text encoding Unicode (UTF-8)." UserInfo=0x7fa631bcaac0 {NSFilePath=/Users/angus/Desktop/Splash ID Migration/Splash.vid, NSStringEncoding=4}
Using a text editor to resave the vID file in UTF-8 resolved that issue.
0 -
Hi @angusm,
I'm glad to hear things worked, at least for the most part. Unfortunately, at this point there is no way to easily change the category of an item in 1Password. Your best bet is to copy the existing information into a new entry.
Thanks so much for sharing this information, I'll pass it along to our tech gurus.
0