Issues with export - some fields not retained [Known limitations of current 1PIF implementation]

Options
maelcum
maelcum
Community Member
edited April 2018 in Mac

As obvious to my last three posts, 1Pwd is handling field names (not entries) in an unexpected way when exporting (or importing; I can't tell, but it does not matter much). Information is lost in the process. Now I need to identify any entries where a field name has been changed from it's default, to make sure to transfer the information somewhere else.
How can this be done? Any idea?


1Password Version: Mac 6.8.8
Extension Version: Not Provided
OS Version: macOS 10.12.6
Sync Type: Not relevant

Comments

  • maelcum
    maelcum
    Community Member
    edited April 2018
    Options

    Hello.
    I am moving from a local vault to the 1Password account. During tests, I came across some inconsistencies, described below.
    Can anybody confirm these observations? Is there a way around the unexpected behaviors 1-4?


    Moving Entries by Exporting and Importing PIF Files

    Create a new login item in 1Password "6.8.8 Mac App Store" on an US macOS installation (thus 1Password being localized to English). The field contents are exactly like the field names.
    Original:

    Export this entry to a pif file.


    Unexpected Behavior 1:
    If the attachment has 0 bytes, a folder for the attachment will be created during the export but the attachment will *not* be exported and thus can *not* be imported later. It will be lost. Whatever the contents of the file, the filename in itself might be important, and that will be lost as well. The subsequent import has no indication that there has ever been an attachment. Information loss counts as a bug in my book. I have not checked if this is already known prior to writing this post.



    Now import the exported pif file into 1Password "6.8.8 Mac App Sore" on a german macOS installation (this 1Password is being localized to German).
    This is the result:

    Result:
    1. The field labels look fine. If using the predefined field labels like username or password, those will be shown as translated in the target language. User defined field labels stay what they are. That was what had been expected.


    Unexpected Behavior 2:
    The first website has been prefixed with "https://" for whatever reason. Not what I would have expected or wanted. Another test confirms that this only happens when there has been no "http://" or "https://" used in the original. If there is a correct URL in there, there is no prefixing when the import happens. Information manipulation - whatever the good intention behind it might be - counts as a bug in my book. I have not checked if this is already known prior to writing this post.



    Now doing the same in reverse, exporting the just-imported entry and reimporting it in the 1Password installation on macOS US:

    Result:
    1. Lost Attachments
    2. https://-prefix to website which was added at the first import survived the second export/import
    3. Field Names are fine

    Ok. About as expected.




    Moving Entries by Copying/Moving from Local Vault to Online Vault

    Copying the original login from the local vault to the online vault of a 1Password account:

    Result in 1Pwd client localized in EN:

    Result in 1Pwd client localized in DE:

    Result:
    1. Field names look good in the both language clients.
    2. No "https://"-prefix has been added.
    3. The attachment (although 0 bytes) has survived.

    Unexpected Behavior 3:
    Almost everything looks fine. Why the field name "attachments" has been renamed "Imported Attachments" although nothing has been imported here is beyond me, but just a waste of space, no real problem.

    This is still a good result. Copying (or moving) entries from a 1Password client on macOS US from local to vault will preserve all data and will also display nicely in 1Password client on macOS DE.


    Now let’s try the same with an entry that was created in the 1Password client on macOS DE (note the field name "Bezeichnung"):

    Result:
    1. Field names look good with one exception in the both language clients (see below).
    2. No "https://"-prefix has been added.
    3. The attachment (although 0 bytes) has survived.

    Almost as good as above, but there is a difference in how an entry is handled depending on the language version of the client. Why that is so, is not clear to me.

    Unexpected Behavior 4:
    Looking at the entry in the 1Password client on macOS US, I would expect the field names to be translated where possible. Almost, since "Imported Attachment" is not translated but stays the german "Importierter Anhang".
    From the Import/Export tests it is clear, that "attachments" can be translated, it is just not happening here. Nothing dramatic, a bug nonetheless.


    1Password Version: Not Provided
    Extension Version: Not Provided
    OS Version: Not Provided
    Sync Type: Not Provided

  • maelcum
    maelcum
    Community Member
    edited April 2018
    Options

    Creating a new database entry (File > New Item > Database) in a german localized 1Pwd client (6.8.8 6880001) local vault.
    Move (or Copy, doesn't matter) the entry from the local vault to the online vault of a 1Password account.
    Result:

    • Field names stay the same.
    • Field entries of the dropdown box "type" change according to language.
    • Custom icon is there.

    Export the entry from the local vault and import it to the online vault of a 1Password account.
    Result:

    • Field names are translated.
    • Field entries of the dropdown box "type" change according to language.
    • Custom icon is lost.

    The latter way (Export/Import) yields the desired results.

    • Why is there a difference?
    • Is there a way to get the field names properly translated and not loose the icon?

    1Password Version: Not Provided
    Extension Version: Not Provided
    OS Version: Not Provided
    Sync Type: Not Provided

  • maelcum
    maelcum
    Community Member
    Options

    Create a new entry for an Email Account (File > New Item > Email Account).
    Rename the field "server" to something different (ex: IMAP-TLS)
    Rename the category title "Kontaktdaten" to something different (ex: Blabla)

    Move (or Copy, doesn't matter) the entry from the local vault to the online vault of a 1Password account.
    Result:

    • Field names are not translated.
    • Field names are not modified.
    • Field entries of the dropdown box "auth method" change according to language.
    • Custom icon is there.
    • Category names are not modified.

    Export the entry from the local vault and import it to the online vault of a 1Password account.
    Result:

    • Field names are translated.
    • Field names that have been modified are resetted to the original state. Information is lost in a bad way.
    • Field entries of the dropdown box "type" change according to language.
    • Custom icon is lost.
    • Category names are reset to their original state. Information is lost in a bad way.

    Questions:
    Why is there a difference?
    Why is information lost and not properly imported?
    Is there a way to get the field and category names properly translated if default, and left as they are if not? And not loose the icon?


    1Password Version: Not Provided
    Extension Version: Not Provided
    OS Version: Not Provided
    Sync Type: Not Provided

  • maelcum
    maelcum
    Community Member
    edited April 2018
    Options

    Why have my four different questions been merged into one mega-long one?
    I am dealing with different BUGS here. Yes, lets call them by their name. And I've gone a long way in identifying them, writing them down, making examples and screenshots and verifying each and ever one of them. Frankly, I'm helping you guys out there.

    By merging all posts into one, you have not only deleted the subjects - which were dealing with the distinct problems - thus obfuscating the problems of your product, but you've merged it into a post, which subject has nothing to do with the bugs, further obfuscating what the problems are.

    And of course you made it trice as hard to understand what this is all about.

    I am sad. 1Password is such a good product, but your support really, really sucks. Whenever I have to deal with it, I feel like talking to ultimately arrogant people. Although I go out of my way to be thorough and double and triple check things, I hardly get a competent answer. Most often I am either made fun of, or are brushed of by with some superficial answer.

    Well. [profanity removed by staff — this is a family friendly forum]

  • Ben
    Ben
    edited April 2018
    Options

    Hi @maelcum,

    Thanks for taking the time to report these issues. I didn’t merge your threads, but I suspect they were merged because they seemed similar enough to track them together, as they all related to import/export and changes that happen to the data as a result.

    1PIF is a generic interchange format that hasn't changed much in a very long time. We keep it around because it's a good balance between understandability (it is essentially human readible as it is JSON) and interoperability for those with a little technical know-how and the variety of 1Password clients that need to be able to read it. For instance, if you have a 1Password 4 for Mac instance you're still using on a Mac OS X 10.9 system, and you export a 1PIF from 1Password 6 for Mac on a different system, the former system should still import it. Many of the things you’re asking about / seeing are a result of backwards compatibility. Making changes to how this works at this stage would likely break that backwards compatibility, which is a large part of why 1PIF still exists. There are other tools available, such as the ability to move/copy items between vaults and the ability to sync vaults, that would likely work better for you for these situations.

    The only way I see to truly resolve this would be to create a new interchange format (e.x. 1PIFv2) that is aware of things like localization and custom icons, etc. but would not be backwards compatible with previous versions. That may be something we consider, but that does add additional complexity as well. There would then be a choice between the more compatible 1PIF and the more feature rich 1PIFv2 that customers would have to make. That is something we have to weigh when making decisions like that. We also have to weigh how many people are affected by this (and how affected they are) vs whatever else we might be working on. If we take time out to build a 1PIFv2 that is time we aren’t spending fixing other bugs or building other new features. I’ll certainly bring the idea to the team for further consideration, but I can’t promise more than that at this stage. My recommendation at this point would be to use the other tools that are available to accomplish your tasks as it sounds like 1PIF export simply isn’t a good fit for your needs, and the other tools work better for those purposes.

    Ben

    P.S. This is a family friendly forum. Profanity is not tolerated. I understand that you are frustrated, but please keep this rule in mind for any furture posts. Additionally calling us arrogant and incompetent doesn’t exactly inspire a good working relationship. Again, I understand that you are frustrated, but you may want to reconsider your tone and word choice if you want a positive result.

  • AGAlumB
    AGAlumB
    1Password Alumni
    Options

    @maelcum: I just wanted to jump in here to apologize. I'm the one who merged 4 separate discussions you created because, as Ben pointed out, the 3 are all dealing with 1PIF and the import/export process, so anything we address in that area will apply to all three issues you raised; and since the 4th is referencing the others as well, I also thought it made sense to include that. I don't agree that this degree of vitriol is warranted, but any confusion or frustration I caused you is on me and no one else. I'm sorry about that. :(

    However, as Ben also mentioned, we still need to keep the forums as friendly as possible for the wide range of people that visit, in spite of any foolishness on my part. Be sure to keep that in mind in the future. We're happy to have you here, so long as you can adhere to the guidelines:

    Forum guidelines

    But that goes both ways: if you've been treated poorly (made fun of, insulted, etc.) please let us know. That behaviour is not acceptable from other users or AgileBits staff either, so please feel free to email support@agilebits.com so that it can be dealt with appropriately.

    Getting back to the issues you've reported, I agree with you: importing and exporting data isn't as smooth an experience as it should be. But as Ben explained earlier, this isn't something we can really change without breaking interoperability — not only with 1Password, but with other apps that have added support for 1PIF. As a concrete example, prior versions of 1Password had no notion at all of editing the default template field names, and since 1PIF was created long ago it also doesn't support this information. All of the default fields are generated in the app based on the language you have set. And while in this case that's not what you want, in most cases people do expect templates to reflect their language settings. So while this isn't technically a bug we can fix, I think there's a good case to be made for a more modern interchange format though. Your description of the problems you encountered when trying to round-trip import/export in the app is greatly appreciated, and we'll keep these things in mind if and when we develop a successor to 1PIF. Thank you! <3

This discussion has been closed.