Importing password data into SplashID

Way back when, so long ago I can't remember, I bought a product called Passwords Plus from DataViz. The product is an application for storing passwords, PINs, and the like, and supported Palm devices as well as providing a Windows desktop application. At the time I had a Sony Clié NR70V, which I carried everywhere with me, and so the app made sense.

Since then, of course, Palm OS devices have fallen by the wayside, and indeed the latest Palm Desktop app doesn't even support Windows Vista 64-bit which means you can no longer synchronize. So although I no longer use my Clié, I've still kept on using the Windows app, despite it getting somewhat long in the tooth. But, with 300-odd items in the database, there was no way I was going to give it up without good reason.

That reason came 10 days ago, a new iPhone 3GS. Now, I had another device that I carried around that called out for a password app (for some reason the Windows Mobile phone I had before didn't engender such feelings). So I looked online for recommendations (iPhone app, with Windows desktop app, plus sync between them, and it had better have some kind of import). After a little research, I found one: SplashID from SplashData.

The app promised import of CSV files and Passwords Plus could provide them. Pretty obviously, though, those CSV file formats would be different, but I'm nothing if not a programmer.

The CSV route proved abortive (the import CSV feature of SplashID was pretty limited, given the amount of configuration I'd done on the Passwords Plus data), but there was an alternative that proved better: SplashID allowed you to import data from "vid" files, usually encrypted. And if they weren't? They were a more complete CSV file format that could define all of the data that SplashID wanted. So I created an unencrypted "vid" file from my Passwords Plus data, and voilà!

The rest of this article is merely a definition of the data format of an unencrypted vid file. No need to read it if you're not interested, but it'll serve as an information repository for those who care (for instance, me, in a couple of years' time).

The unencrypted vid file is a text file, with most records comprising comma-separated values. There are four sections. First is the file header record: "SplashID vID File -v3.0". The next record consists of a single "F". I think this is something to do with the password to the file, since if I leave it out, I get some bizarre behavior (SplashID will ask for a password if this record is missing). Then there is a set of template or type records, followed by a set of data records. These two kinds of records can be interleaved, so long as the type record appears before a data record that uses it. Both type and data records are CSV records, with the first field being "T" for a type record, and "F" for a data record.

The fields for a type record are:

record identifier "T"
image number image number from set of type icons in app
type name Informative name/description for the type
field 1 name Usually "Name" or "Description"
field 2 name  
...  
field 9 name  
date modified field name "Date Mod" by default
masked fields bit field denoting masked fields (field 1 uses bit 1, field 2, bit 2, etc)

The fields for a data record are:

record identifier "F"
image number image number from set of type icons in app
item name/description (this is field 1)
field 2  
...  
field 9  
modified date Seems to use "Month dd, yyyy"
masked fields bit field denoting masked fields (field 1 uses bit 1, field 2, bit 2, etc)
custom field 1 name Default: same as type's definition
custom field 2 name Default: same as type's definition
...  
custom field 9 name Default: same as type's definition
custom date modified field name Default: same as type's definition
category "Personal", "Business", "Unfiled", etc
notes  

The rules for CSV files apply here. If a value has an embedded comma, the whole value must be surrounded by double quotes. If the value has a double quote, the whole value is again surrounded by double quotes, and the embedded double quotes are escaped with another double quote mark. So if a value was "Mon Repos", Denver, it would be represented in the vid file as """Mon Repos"", Denver".

To create a vid file from a CSV export from Passwords Plus merely required rearranging the "columns" in the CSV file and calculating the hidden fields bit mask. (Despite my prowess as a programmer, I just used Excel this time.) To make it easy for myself later I created a type called "Imported" (and chose some icon for it). I then imported the vid file into an empty SplashID database, and then synced it with my iPhone.

(There were about 6 data records I had to futz with since Passwords Plus allows for 10 fields per record, whereas SplashID only has 8 — there are nominally 10, but 2 are taken up with the Name/Description and the modified date.)

Album cover for Tomcats Screaming Outside Now playing:
Orzabal, Roland - Hypnoculture
(from Tomcats Screaming Outside)



Posts on similar topics...

Share it: Digg It!  StumbleUpon  Reddit  Del.icio.us  NewsVine  Furl  BlinkList  Ma.gnolia  Technorati

10 Responses

  • Wed 08 Jul 2009
  • 1:17 AM
  •  avatar #1

Tony Gray said...

Hi Julian,

I have this same problem so thanks for this - BTW I wonder why DataViz are not doing a version of PW+ for iPhone? Seems odd.

Anyway, not being a programmer, I assume that what I have to do is export an unencrypted csv file from PW+ and then import this into SplashID desktop.

My problem is that all the techy stuff is a bit above me so any additional help you can give would be appreciated.

Cheers from Rutland, the smallest & most beautiful county in the UK.

Tony

  • Wed 08 Jul 2009
  • 1:44 PM
  • julian m bucknall avatar #2

julian m bucknall said...

Tony: Not quite, no. The columns in the Passwords Plus CSV file are in the wrong order for SplashID. I'll write an additional post on what needs to be done -- best if you have Excel though.

Cheers, Julian

  • Fri 10 Jul 2009
  • 7:32 AM
  •  avatar #3

Tony Gray said...

Julian Thanks. I have Excel and can manipulate the columns etc. so look forward to your further advice.

Again thanks.

Tony

  • Fri 21 Aug 2009
  • 1:06 PM
  •  avatar #4

Phoebus said...

All of that looks fairly straightforward. What I don't get, though, is where the data records reference the type they're based upon. I don't see any field that says "type." Should there maybe be an additional field after "icon" that identifies "type?"

  • Fri 21 Aug 2009
  • 1:13 PM
  •  avatar #5

Phoebus said...

Addendum: Looks like the reference is the "image number" field. I'll go with that for now...

  • Fri 21 Aug 2009
  • 2:34 PM
  •  avatar #6

Phoebus said...

Should have known better than to post before I tried this. The template and data records *must* be interleaved as a data record is based on the last template record that came before it.

Took a bit of fuzzing, but I now have imported 114 records from Passwords Plus into SplashID. Thank you!

(Why didn't DataViz just create a version for the iPhone...)

  • Fri 21 Aug 2009
  • 3:14 PM
  • julian m bucknall avatar #7

julian m bucknall said...

Phoebus: Glad you got it all sorted out. It seems like you went further that I did in templating the records. I decided to convert it all into one type, and then slowly set the real types in SplashID over a period of weeks as I reference each item.

Doing it that way also means I'm left with a whole bunch of "dead" items, for websites that no longer exist for example (AvantGo anyone?).

Cheers, Julian

  • Fri 21 Aug 2009
  • 3:17 PM
  • julian m bucknall avatar #8

julian m bucknall said...

Pheobus: Missed the reference to DataViz and the iPhone. Dunno, but I will note that one of the versions of Passwords Plus used to support WinMo phones, but they removed it the very next version (and I had a WinMo phone at the time.) Maybe PP doesn't sell enough for them to continue improving it.

Cheers, Julian

  • Fri 21 Aug 2009
  • 4:32 PM
  •  avatar #9

Phoebus said...

Julian,

I found out that the "templating" helped only a bit. I'm basically redoing most of the records now in SplashID anyway. But it helped during the transfer.

Thank you again for the primer! Just to let you know, I was searching for a good solution to transition from PP to the iPhone, and your recipe caused me to go with Splash (after unsuccessfully trying to import into other programs). They should be thankful to you too :-)

The info about the bitmask was especially helpful, I probably wouldn't have figured that field out. (Of course I got the bit order wrong the first time - it's 2 to the power of field number...)

Happy reworking your data. And thanks again!

Phoebus

  • Tue 02 Feb 2010
  • 9:29 PM
  •  avatar #10

How to survive on three passwords said...

Some time ago, I read in some issue of Women's Health , a magazine my wife subscribes to, that you can survive in the modern always-connected online world on just three passwords. One password for your financial institutions, one password for the

Leave a Response

About Me

I'm Julian M Bucknall, the M because it's my middle initial and because I and the other Julian Bucknall (the movie guy) would like to differentiate ourselves.

I'm a programmer by trade, an actor by ambition, and an algorithms guy by osmosis. I write articles for PCPlus in my spare time, not that there's much of that.

Julian M Bucknall Apart from that, an ex-pat Brit, atheist, microbrew enthusiast, Pet Shop Boys fanboy, slide rule and HP calculator collector, amateur photographer, Altoids muncher.

DevExpress

I'm Chief Technology Officer at Developer Express, a software company that writes some great controls and tools for .NET and Delphi. I'm responsible for the technology oversight and vision of the company.

The OUT Campaign

The OUT Campaign

Validation

Valid XHTML 1.0 Transitional     Valid CSS!

Bottom swirl

Archives

March 2010 (16)
SMTWTFS
« Feb  
123456
78910111213
14151617181920
21222324252627
28293031

Like this Archive Calendar widget? Download it here.

Search

Google ads

My Tweets

Bottom swirl