|
|
<!DOCTYPE html>
|
|
|
<html lang="en-US">
|
|
|
<head>
|
|
|
<meta charset='utf-8'>
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
|
<link rel="stylesheet" href="/assets/css/style.css?v=96e407dbfef5e6ab83daa6dca716c304bdc64c14">
|
|
|
<link rel="stylesheet" type="text/css" href="/assets/css/print.css" media="print">
|
|
|
<link rel='shortcut icon' type='image/x-icon' href='favicon.ico' />
|
|
|
<!--[if lt IE 9]>
|
|
|
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
|
|
<![endif]-->
|
|
|
|
|
|
<!-- Begin Jekyll SEO tag v2.5.0 -->
|
|
|
<title>vcards | josiah ledbetter</title>
|
|
|
<meta name="generator" content="Jekyll v3.7.4" />
|
|
|
<meta property="og:title" content="vcards" />
|
|
|
<meta property="og:locale" content="en_US" />
|
|
|
<meta name="description" content="this past week my dad and I helped my grandmother with a few Computer Things. my grandfather died at the end of last year and the process of getting “Computer Things” to a usable state for my grandmother was pretty rough." />
|
|
|
<meta property="og:description" content="this past week my dad and I helped my grandmother with a few Computer Things. my grandfather died at the end of last year and the process of getting “Computer Things” to a usable state for my grandmother was pretty rough." />
|
|
|
<link rel="canonical" href="http://localhost:4000/personal/2019/04/18/vcards.html" />
|
|
|
<meta property="og:url" content="http://localhost:4000/personal/2019/04/18/vcards.html" />
|
|
|
<meta property="og:site_name" content="josiah ledbetter" />
|
|
|
<meta property="og:type" content="article" />
|
|
|
<meta property="article:published_time" content="2019-04-18T00:00:00-05:00" />
|
|
|
<script type="application/ld+json">
|
|
|
{"description":"this past week my dad and I helped my grandmother with a few Computer Things. my grandfather died at the end of last year and the process of getting “Computer Things” to a usable state for my grandmother was pretty rough.","@type":"BlogPosting","url":"http://localhost:4000/personal/2019/04/18/vcards.html","headline":"vcards","dateModified":"2019-04-18T00:00:00-05:00","datePublished":"2019-04-18T00:00:00-05:00","mainEntityOfPage":{"@type":"WebPage","@id":"http://localhost:4000/personal/2019/04/18/vcards.html"},"@context":"http://schema.org"}</script>
|
|
|
<!-- End Jekyll SEO tag -->
|
|
|
|
|
|
</head>
|
|
|
|
|
|
<body>
|
|
|
<div id="container">
|
|
|
<div class="inner">
|
|
|
|
|
|
<header>
|
|
|
<h1>josiah ledbetter</h1>
|
|
|
</header>
|
|
|
<section id="downloads" class="clearfix">
|
|
|
|
|
|
|
|
|
</section>
|
|
|
<hr>
|
|
|
<section id="main_content">
|
|
|
<p>this past week my dad and I helped my grandmother with a few Computer Things. my grandfather died at the end of last year and the process of getting “Computer Things” to a usable state for my grandmother was pretty rough.</p>
|
|
|
|
|
|
<p>One of the things that was unexpectedly frustrating was transferring stuff (photos, contacts, whatever) from my granddad’s account to my grandmothers. as near as i can tell, a different family member had been helping my grandmother and closed several of my grandfather’s old accounts. including email accounts and /iCloud/ accounts.</p>
|
|
|
|
|
|
<p>normally, transferring contacts from one persons icloud to another’s is pretty straight forward (there’s an export button on icloud.com), but if you can’t succesfully auth to icloud it gets a lot trickier. there’s probably a few ways to do this, but the tack i ended up taking was:</p>
|
|
|
|
|
|
<ol>
|
|
|
<li>find a totally different source for the contacts (in this case, my grandfather’s outlook 2010 install)</li>
|
|
|
<li>export those contacts to vcards</li>
|
|
|
<li>import those vcards to icloud.com under the new account</li>
|
|
|
</ol>
|
|
|
|
|
|
<p>That is the bones of what happened, but the details kept screwing me over.</p>
|
|
|
|
|
|
<p>first, outlook 2010 contact exports by default come out in an outlook specific format (.msg) that cannot be imported into icloud. ok well fine, surely there’s a straight forward way to deal with that.</p>
|
|
|
|
|
|
<p>good news: you can directly export contacts from outlook to vcf
|
|
|
bad news: its fucking hidden behind a “send as business card” dialogue option that is fucking unintuitive. thanks 2010 microsoft.
|
|
|
worse news: it sends a very old .vcf format, 2.1. The minimum I could get working with icloud was 3.0</p>
|
|
|
|
|
|
<p>ok well surely you can convert the 2.1 version to 3.0? in fact, what is even the difference? here is some wikipedia examples:</p>
|
|
|
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>BEGIN:VCARD
|
|
|
VERSION:2.1
|
|
|
N:Gump;Forrest;;Mr.
|
|
|
FN:Forrest Gump
|
|
|
ORG:Bubba Gump Shrimp Co.
|
|
|
TITLE:Shrimp Man
|
|
|
PHOTO;GIF:http://www.example.com/dir_photos/my_photo.gif
|
|
|
TEL;WORK;VOICE:(111) 555-1212
|
|
|
TEL;HOME;VOICE:(404) 555-1212
|
|
|
ADR;WORK;PREF:;;100 Waters Edge;Baytown;LA;30314;United States of America
|
|
|
LABEL;WORK;PREF;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:100 Waters Edge=0D=
|
|
|
=0ABaytown\, LA 30314=0D=0AUnited States of America
|
|
|
ADR;HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America
|
|
|
LABEL;HOME;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:42 Plantation St.=0D=0A=
|
|
|
Baytown, LA 30314=0D=0AUnited States of America
|
|
|
EMAIL:forrestgump@example.com
|
|
|
REV:20080424T195243Z
|
|
|
END:VCARD
|
|
|
</code></pre></div></div>
|
|
|
|
|
|
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>BEGIN:VCARD
|
|
|
VERSION:3.0
|
|
|
N:Gump;Forrest;;Mr.;
|
|
|
FN:Forrest Gump
|
|
|
ORG:Bubba Gump Shrimp Co.
|
|
|
TITLE:Shrimp Man
|
|
|
PHOTO;VALUE=URI;TYPE=GIF:http://www.example.com/dir_photos/my_photo.gif
|
|
|
TEL;TYPE=WORK,VOICE:(111) 555-1212
|
|
|
TEL;TYPE=HOME,VOICE:(404) 555-1212
|
|
|
ADR;TYPE=WORK,PREF:;;100 Waters Edge;Baytown;LA;30314;United States of America
|
|
|
LABEL;TYPE=WORK,PREF:100 Waters Edge\nBaytown\, LA 30314\nUnited States of America
|
|
|
ADR;TYPE=HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America
|
|
|
LABEL;TYPE=HOME:42 Plantation St.\nBaytown\, LA 30314\nUnited States of America
|
|
|
EMAIL:forrestgump@example.com
|
|
|
REV:2008-04-24T19:52:43Z
|
|
|
END:VCARD
|
|
|
</code></pre></div></div>
|
|
|
|
|
|
<p>the thing that caused most of the issues for the contact set I was working on was the ~TEL;~ lines. the type declarations, when present, needed to be altered. to fix this is pretty simple:</p>
|
|
|
|
|
|
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cat /path/to/dir/* > all-outlook-contacts.vcf
|
|
|
sed -e 's/TEL;/TEL;TYPE=/g' -e 's/VERSION:2.1/VERSION:3.0/g' ../new-contacts/all-outlook-contacts.vcf > ../new-contacts/all-CLEANED.vcf
|
|
|
</code></pre></div></div>
|
|
|
|
|
|
<p>yes thats right, ‘ i am very 3 now ‘ is most of the work lmao. this worked, but I still couldn’t import the vcf files to icloud - it would think for a while, then error saying that at least one of the entries was unreadable. i skimmed through the file visually and found some lines that were interesting - on a few cards there was a LANGUAGE declaration:</p>
|
|
|
|
|
|
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cat ../new-contacts/all-outlook-contacts.vcf | grep =en
|
|
|
>N;LANGUAGE=en-us:last first
|
|
|
>N;LANGUAGE=en-us:last first
|
|
|
>N;LANGUAGE=en-us:last first
|
|
|
>N;LANGUAGE=en-us:last first
|
|
|
</code></pre></div></div>
|
|
|
|
|
|
<p>wtf is that, that isn’t mentioned in the spec until vcards 4.0</p>
|
|
|
|
|
|
<p>my best guess is that this is just some Fancy Colour from outlook specifically, because nobody else was talking about this based on quick google searches. I just removed it from these 4 cards and went on to import them to icloud succesfully.</p>
|
|
|
|
|
|
<p>the lesson i learned during this process is:</p>
|
|
|
<ul>
|
|
|
<li>don’t close people’s accounts right away; make sure everything is prepared before accounts are closed.</li>
|
|
|
<li>by the time i die i should establish a fucking runbook to go over the necessary steps for people who aren’t technically inclined</li>
|
|
|
<li>open formats are great</li>
|
|
|
</ul>
|
|
|
|
|
|
</section>
|
|
|
|
|
|
<footer>
|
|
|
|
|
|
</footer>
|
|
|
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
|
|
|
</body>
|
|
|
</html>
|