Skip to main content
gholcomb
December 15, 2024
Question

Conversion Issue from Keeper to 1Password - Shared Folders Don't get converted to tags

  • December 15, 2024
  • 21 replies
  • 190 views

@MrC I was checking the data as you suggested and found that shared folders do not get
converted to tags like normal folders do.

I've put a screenshot of what the JSON file looks like for a shared folder.


1Password Version: Not Provided
Extension Version: Not Provided
OS Version: Not Provided
Browser: Not Provided

21 replies

MrC
December 15, 2024

@gholcomb

I'll take a look at this in the morning and get back to you. Thanks for reporting this.

MrC
December 15, 2024

@gholcomb

I've reviewed my test export files and find that some records have a shared_folder attribute, but its value is "1". They look like this:


"folders": [
{
"shared_folder": "1",
"can_edit": "1",
"can_share": "1",
"folder": "A Shared Folder"
},
{
"shared_folder": "1",
"can_edit": "1",
"can_share": "1",
"folder": "B Shared Folder"
}
]

Notice these also have a folder attribute, which is the folder name. It appears your data's shared_folder attribute (and perhaps the new export format) contains the actual folder name now, but there is no folder attribute. Can you confirm this is the case?

Also, there is a top level shared_folders list, which for me with my free accounts is always empty:


"shared_folders": [],

Is your list empty too? If not, what does it look like?

gholcomb
gholcombAuthor
December 15, 2024

This is the top of the JSON, I have 3 shared folders.


{
"shared_folders": [
{
"uid": "LxuHiRnyTMkkPt1Za-sn9g",
"path": "MMIT Share Items",
"manage_users": false,
"manage_records": false,
"can_edit": false,
"can_share": false,
"permissions": [
{
"name": "gholcomb@domain.com",
"manage_users": true,
"manage_records": true
},
{
"name": "glenn@domain.com",
"manage_users": false,
"manage_records": false
},
{
"uid": "GwyFvvzCHm7TNWyBYwMvIQ",
"name": "Sales",
"manage_users": false,
"manage_records": false
}
]
},
{
"uid": "mPmEabnykaZMOmiHwzMXYw",
"path": "TEST Shared Folder 1",
"manage_users": false,
"manage_records": false,
"can_edit": false,
"can_share": false,
"permissions": [
{
"name": "gholcomb@domain.com",
"manage_users": true,
"manage_records": true
}
]
},
{
"uid": "q93G76MSaFQtMQkD8S1Kqg",
"path": "TEST Shared Folder 2",
"manage_users": false,
"manage_records": true,
"can_edit": true,
"can_share": false,
"permissions": [
{
"name": "gholcomb@domain.com",
"manage_users": true,
"manage_records": true
}
]
}
],

MrC
December 15, 2024

@gholcomb

Oh, that's good data. Odd that their folder attribute only refers to a folder by name (vs. uid).

If there no data you need from the shared_folders list, I'll just add the value of the folder attribute as a tag. Is that sufficient?

If so, I've posted an updated version in Custom for you.

gholcomb
gholcombAuthor
December 15, 2024

Folder name as tag would be great. That way after the import into 1Password I'd just move anything with that tag into a new shared vault.

MrC
December 15, 2024

@gholcomb

I had already posted in advance of your reply. Grab the updated Keeper.pm from Custom and re-run your conversion.

gholcomb
gholcombAuthor
December 15, 2024

@MrC
That worked great, thanks for the quick update.

MrC
December 15, 2024

@gholcomb

You're welcome.

I'll update the converter release perhaps tomorrow, assuming you don't find any more gremlins!

gholcomb
gholcombAuthor
December 16, 2024

This is what is at the top of the JSON file, I do have these 3 shared folders in my Keeper Vault


"shared_folders": [
{
"uid": "uid",
"path": "MMIT Share Items",
"manage_users": false,
"manage_records": false,
"can_edit": false,
"can_share": false,
"permissions": [
{
"name": "gholcomb@domain.com",
"manage_users": true,
"manage_records": true
},
{
"name": "glenn@domain.com",
"manage_users": false,
"manage_records": false
},
{
"uid": "uid",
"name": "Sales",
"manage_users": false,
"manage_records": false
}
]
},
{
"uid": "uid",
"path": "TEST Shared Folder 1",
"manage_users": false,
"manage_records": false,
"can_edit": false,
"can_share": false,
"permissions": [
{
"name": "gholcomb@domain.com",
"manage_users": true,
"manage_records": true
}
]
},
{
"uid": "uid",
"path": "TEST Shared Folder 2",
"manage_users": false,
"manage_records": true,
"can_edit": true,
"can_share": false,
"permissions": [
{
"name": "gholcomb@domain.com",
"manage_users": true,
"manage_records": true
}
]
}
],

Then the entries in those folders look like this.


{
"uid": 918,
"title": "Test Login 1",
"$type": "login",
"login": "test@test.com",
"password": "password",
"login_url": "https://www.dummysite.com",
"folders": [
{
"shared_folder": "TEST Shared Folder 1",
"can_edit": false,
"can_share": false
}
]
},
{
"uid": 919,
"title": "Test Login 2",
"$type": "login",
"login": "test@test.com",
"password": "password",
"login_url": "https://www.dummysite.com",
"folders": [
{
"shared_folder": "TEST Shared Folder 2",
"can_edit": true,
"can_share": false
}
]
},

MrC
December 16, 2024

@gholcomb

So it seems like we have the important data. The shared_folders section is just Keeper's folder metadata so that you could import the data into a fresh vault.