This is a staging forum for AgileBits, not an official support forum. Visit http://discussions.agilebits.com instead.

Suggestion Bulk import software licenses

sijmons
sijmons Member
edited December 1969 in Mac
This was posted some time ago on the 1PW3beta site, but just to keep it on top of the wish list:

a generic import method for software licenses (e.g from Tab delimited, Excel, etc).



The addition of a software category is a great enhancement in 1PW3, but many of the users will have made some sort of repository for their software licenses already. Manually transferring these to 1PW is too much of a hassle when you own hundreds of valid license keys.

Comments

  • jxpx777
    jxpx777 AWS Code Wrangler
    edited December 1969
    We're working to improve our importers. Importing license is supported from LicenseKeeper and AppShelf right now. LicenseKeeper is really CSV as well, but the importer relies on the specific format that LK exports to so if you can munge your CSV file into that format, you can use the LK importer as well. I don't have LK so I can't say for sure exactly what the format is off hand. Maybe one of our other users can chime in with an example.
  • mkali
    mkali Junior Member
    edited December 1969
    I wrote a Python script that creates software 1pif files from a CSV file. I used it to import all of my software licenses into 1Password and save myself the tedious manual data entry. Hopefully AWS will make this easier soon, but I'm willing to make my script available in the interim if there is interest.
  • macpug
    macpug Agile Customer Care
    edited December 1969
    [quote name='mkali']I wrote a Python script that creates software 1pif files from a CSV file. I used it to import all of my software licenses into 1Password and save myself the tedious manual data entry. Hopefully AWS will make this easier soon, but I'm willing to make my script available in the interim if there is interest.[/QUOTE]



    Hi mkali, Welcome to the forums! You are welcome to post your script here in case anyone would like to give it a try. Thanks for your contribution.

    Cheers!
  • mkali
    mkali Junior Member
    edited December 1969
    Hi Cindy, thanks for your welcome. Anyone feeling brave can download my script here:

    [url]http://bitbucket.org/mattkalina/public/src/tip/csv-1pif.py[/url]



    It can handle a CSV file with a basic set of columns (run the script without options for instructions), but could be extended by someone so inclined to support other fields as well. Hope it saves someone some work!
  • MartyS
    MartyS AgileBits Customer Care (retired)
    edited December 1969
    [quote name='mkali']Anyone feeling brave can download my script here:

    [url]http://bitbucket.org/mattkalina/public/src/tip/csv-1pif.py[/url][/QUOTE]



    Thanks again for sharing with the 1Password user community.
  • asmythe
    asmythe Junior Member
    edited March 2010
    I'm kinda new to 1Password, but I was able to import a bunch of software licenses from a .csv file successfully. I put the name of the application in column 1, the version in column 2 and the license key in column 3. I then chose the LicenseKeeper format and it imported over 80 licenses with no big problems. Not all the icons seem to show up right.
  • Nik
    Nik
    edited December 1969
    Welcome to the forums, asmythe! Wow, your first post, and you're teaching us things that we haven't tried ourselves. That's awesome! :D If you have these applications installed, then after the import, try clicking Help > Tools > Update Existing Software Licenses. That should fill in the missing icons for you.



    Thanks again for the great tip.
  • jaydisc
    jaydisc Junior Member
    edited April 2010
    [quote name='justG']after the import, try clicking Help > Tools > Update Existing Software Licenses. That should fill in the missing icons for you.[/QUOTE]



    I did some crunching around with the AppShelf format only to later realize it didn't include Publisher. I then switched to the LicenseKeeper format and I now have everything imported. However, when running Help > Tools > Update Existing Software Licenses, there is no reaction from the application nor the loading of any icons. How can I know if this is working? What fields does it take into play? Is it only comparing the app name? What else should I be aware of?



    UPDATE:



    Actually I just found that with both the AppShelf and LicenseKeeper imports, the purchase dates are not honored, AND the 1Password "Created on" date below the Software card is ALWAYS set to Jan 1, 1970 10:00AM. Bug, my fault, or improper expectation?



    2ND UPDATE:



    I decided to have a poke around with AppleScript to see if I could alter that creation date as it doesn't seem possible in the GUI. When I went to Open Dictionary, I chose 1Password.scriptingAddition, but nothing happened. Then I remember what that was really for. :D
  • Nik
    Nik
    edited December 1969
    1Password doesn't have an AS dictionary, sorry. The date issue you encountered is a bug, definitely no fault of your own. 1Password matches the title when updating application icons. For example, one of the applications I have listed is "A Better Finder Rename (ABFR)". No icon. I changed the title to "A Better Finder Rename". No icon. I changed the title to "A Better Finder Rename 8," which is how it appears in my Applications folder, and the icon magically appeared.
  • jaydisc
    jaydisc Junior Member
    edited December 1969
    But what about Applications I don't have currently installed?
  • Nik
    Nik
    edited December 1969
    1Password cannot automatically add icons for applications you don't have installed, but you can easily change the application icon by editing the item and dragging an image onto the square in the details pane. You would, however, need to do that for each application.
  • mwakefield
    mwakefield Junior Member
    edited December 1969
    I use Keychain Access to squirrel away confidential information before I started using 1Password. I know that 1Password can use the Keychain as well as the Agile Keychain. I haven't been able to figure out how to export Keychain info into 1Password. Is that a capability? If not, I for one would like to request Keychain Export/Import into 1Password as a feature. I have LOTS of Secure Notes in my Keychain that I would like to be able to import into 1Password in one fell swoop.
  • Nik
    Nik
    edited December 1969
    Welcome to the forums, mwakefield. I answered this in the [url=http://support.agilewebsolutions.com/showthread.php?23829]other thread[/url]:

    [quote]It is my understanding that Keychain Access does not provide a way to export its non-password data, like secure notes, in a way that 1Password can understand. I am not sure if it's possible to programmatically decrypt and read the keychain directly, but certainly if it's possible for us to do something, we will.[/quote]
  • mwakefield
    mwakefield Junior Member
    edited December 1969
    I am able to copy Secure Note info to the clipboard by secondary clicking on the Secure Note. I can then paste into 1Password. If I can do this so easily, then I would think it would be very easy programmatically to import the Secure Notes from the Keychain into 1Password.
  • MartyS
    MartyS AgileBits Customer Care (retired)
    edited December 1969
    [quote name='mwakefield']I am able to copy Secure Note info to the clipboard by secondary clicking on the Secure Note. I can then paste into 1Password. If I can do this so easily, then I would think it would be very easy programmatically to import the Secure Notes from the Keychain into 1Password.[/QUOTE]



    That is correct: you can manually Copy information from one source (Keychain Access in this case) into whatever part of an 1Password item that you need to store it. We do not have any plans at this time to include a general Secure Note importer from your OS X keychain(s).
  • johnchristopher
    johnchristopher Junior Member
    edited December 1969
    I'm not having any fun trying to import my software licenses into 1Password. Waaaaa! Seriously, the importer only allows data to be imported as a secure note or login. No option to select the fields that pertain to Software data.



    The data file (CSV) was created using an export of sample data from 1Password. Then I pasted my data using excel into the correct field headings. All data are lined up, there is just no option to choose the correct layout in 1Password (Software).
  • Nik
    Nik
    edited June 2011
    Welcome to the forums, John. 1Password can only create software license items from LicenseKeeper and AppShelf data at this time. You can try the LicenseKeeper importer on your CSV file:

    [url]http://blog.agilebits.com/2010/05/596479043/[/url]
  • rcf
    rcf Junior Member
    edited December 1969
    [quote name='mkali']Hi Cindy, thanks for your welcome. Anyone feeling brave can download my script here:

    [url]http://bitbucket.org/mattkalina/public/src/tip/csv-1pif.py[/url]



    It can handle a CSV file with a basic set of columns (run the script without options for instructions), but could be extended by someone so inclined to support other fields as well. Hope it saves someone some work![/QUOTE]



    Is the PIF format documented somewhere? I've got a bunch of items to import from xhead.info. My only output option from them is a generic .csv files, but I don't want all my entries to be either logins or secure notes. Your script is great, thanks for posting. I'd like to extend it to other categories/vaults so I can intelligently import my data. Where did you find the 1pif file description?



    thanks,

    -r
  • MartyS
    MartyS AgileBits Customer Care (retired)
    edited December 1969
    [quote name='rcf']Is the PIF format documented somewhere? I've got a bunch of items to import from xhead.info. My only output option from them is a generic .csv files, but I don't want all my entries to be either logins or secure notes. Your script is great, thanks for posting. I'd like to extend it to other categories/vaults so I can intelligently import my data. Where did you find the 1pif file description?



    thanks,

    -r[/QUOTE]



    The 1PIF format is not formally documented and its format and values are subject to change. At its core it is a [URL="http://en.wikipedia.org/wiki/Json"]JSON[/URL] collection of data elements for the item(s).
  • rcf
    rcf Junior Member
    edited December 1969
    Thanks for the reply. I can reverse engineer it somewhat. With luck that will save me some typing. I don't mind if it changes, since hopefully I'll only have to import all my data once.



    As a feature request, I would like to see a well documented, lossless, export/import format. The barrier to importing my data is huge, and has deterred me a couple of times when I've wanted to switch to 1P. Hopefully this time I'll persevere. Also, once the data is in 1P I fear that I'm locked in. If I ever want to switch out of 1P I will have to learn to read the 1PIF format again.



    -r
  • macpug
    macpug Agile Customer Care
    edited December 1969
    Thanks for the feedback, and for the feature request. As Jamie said previously (in this thread I think...), we are working on irpovements to our importer. so hopefully that will help you as well.

    [quote name='rcf'] If I ever want to switch out of 1P I will have to learn to read the 1PIF format again.

    [/QUOTE]



    Why on earth would you want to do that?? :P (just kidding). Seriously, though, you're not locked in (or out). Good luck this time!=)
  • jxpx777
    jxpx777 AWS Code Wrangler
    edited December 1969
    As a follow up to Cindy's post, I'd like to also point out that we have the plain text export that is a delimited file that could be opened in Excel or some other spreadsheet or database application. Also, the 1pif format is a custom format inasmuch as it's got a custom extension and has a custom separator (to prevent errors when importing the data to another instance of 1Password in some cases) but the actual structure of the data is [URL="http://www.json.org/"]JSON[/URL], which is a simple, consistent representation of the data that can be interpreted easily in multiple languages.
  • rcf
    rcf Junior Member
    edited December 1969
    Using JSON is great - I can read/write/parse that easily. What I'd like to know is the names/meanings of the various fields. For instance, an item in a software vault is actually a wallet.computer.License. If you documented the fields I could easily map what I have to what you read. As it is I've got to reverse engineer, which is a pain and perilous. I would think that your various importers would simply be scripts to map from the formats from other applications into your 1pif.



    As for plain text, that doesn't give me a lossless round trip.
  • MartyS
    MartyS AgileBits Customer Care (retired)
    edited December 1969
    [quote name='rcf']Using JSON is great - I can read/write/parse that easily. What I'd like to know is the names/meanings of the various fields. For instance, an item in a software vault is actually a wallet.computer.License. If you documented the fields I could easily map what I have to what you read. As it is I've got to reverse engineer, which is a pain and perilous. I would think that your various importers would simply be scripts to map from the formats from other applications into your 1pif.



    As for plain text, that doesn't give me a lossless round trip.[/QUOTE]



    JSON provides for easy parsing, but as you say it doesn't help you with knowing how we've defined each attribute that's critical to 1Password's proper behavior. I don't believe that we'll be providing this level of detail. Some of it is even version dependent and might include items that we're no longer actively using (but are still understood) or ones that we're in the process of testing. Formally documenting our internal-use values for the public would take time away from coding and certainly change our ability to rapidly change as we see fit. There's no such thing as "unofficial" documentation... sooner or later someone will expect support for things we don't want to continue doing that same way.
  • webjive
    webjive Junior Member
    [quote name='MartyS' timestamp='1277932857' post='5386']

    JSON provides for easy parsing, but as you say it doesn't help you with knowing how we've defined each attribute that's critical to 1Password's proper behavior. I don't believe that we'll be providing this level of detail. Some of it is even version dependent and might include items that we're no longer actively using (but are still understood) or ones that we're in the process of testing. Formally documenting our internal-use values for the public would take time away from coding and certainly change our ability to rapidly change as we see fit. There's no such thing as "unofficial" documentation... sooner or later someone will expect support for things we don't want to continue doing that same way.

    [/quote]



    Not a very good answer when your only talking about 10-12 possible fields to document. Exporting it in 1P PIF is easy to read but, it doesn't tell you what might be required vs what's not and if you have to have a field order or not. 1 page on your website would be all thats needed and should only take an hour to document.
  • khad
    khad Social Choreographer
    Perhaps once the thousands of support requests from Lion are answered, we can get around to that. I can't promise anything, but unfortunately it is not a possibility at the moment. <img src='http://forum.agile.ws/public/style_emoticons/<#EMO_DIR#>/skype_worried.png' class='bbc_emoticon' alt=':S' />



    I'm sorry I don't have a better answer, but I did reply to your other post on the same subject.



    Thanks for letting us know you are interested in this!