From 116023e05d377462f3d4e7026830784361e31c33 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 11 Nov 2012 17:36:57 -0400 Subject: [PATCH] add a new walkthrough for xmpp pairing --- doc/assistant.mdwn | 7 ++- doc/assistant/pairing_walkthrough.mdwn | 13 ++-- .../share_with_a_friend_walkthrough.mdwn | 58 ++++++++++++++++++ .../buddylist.png | Bin 0 -> 5114 bytes .../repolist.png | Bin 0 -> 8525 bytes .../xmppalert.png | Bin 0 -> 4070 bytes 6 files changed, 71 insertions(+), 7 deletions(-) create mode 100644 doc/assistant/share_with_a_friend_walkthrough.mdwn create mode 100644 doc/assistant/share_with_a_friend_walkthrough/buddylist.png create mode 100644 doc/assistant/share_with_a_friend_walkthrough/repolist.png create mode 100644 doc/assistant/share_with_a_friend_walkthrough/xmppalert.png diff --git a/doc/assistant.mdwn b/doc/assistant.mdwn index a38aa093ba..c793be59ff 100644 --- a/doc/assistant.mdwn +++ b/doc/assistant.mdwn @@ -9,7 +9,8 @@ Note that the git-annex assistant is still beta quality code. See ## installation The git-annex assistant comes as part of git-annex, starting with version -3.20120924. See [[install]] to get it installed. +3.20120924. It is still under heavy development, but the basics work well. +See [[install]] to get it installed. ## quick start @@ -32,7 +33,9 @@ interface to add repositories and control the git-annex assistant. ## documentation * Want to make two nearby computers share the same synchronised folder? - Follow the [[pairing_walkthrough]]. + Follow the [[local_pairing_walkthrough]]. +* Want to share a synchronised folder with a friend? + Follow the [[share_with_a_friend_walkthrough]]. ## command line startup diff --git a/doc/assistant/pairing_walkthrough.mdwn b/doc/assistant/pairing_walkthrough.mdwn index 4c0b7f2df8..07b6399104 100644 --- a/doc/assistant/pairing_walkthrough.mdwn +++ b/doc/assistant/pairing_walkthrough.mdwn @@ -10,7 +10,9 @@ We'll start on your computer, where you open up your git annex dashboard. `*click*` -[[!img pairing.png alt="Pair with local computer"]] +[[!img pairing.png alt="Pair with another computer"]] + +`*click*` Now the hard bit. You have to think up a secret phrase, and type it in, (and perhaps get the spelling correct). @@ -41,10 +43,11 @@ plugged into the same router. Also, the file sharing set up by this pairing only works when both computers are on the same network. If you go on a trip, any files you -edit will not be visible to your friend until you get back. **But**, -you can get around this by hooking both computers up to a server on the -internet, which they can use to exchange files while disconnected. The -git annex assistant makes that easy too. +edit will not be visible to your friend until you get back. + +To get around this, you'll often also want to set up +[[jabber_pairing|share_with_a_friend_walkthrough]], and a server +in the cloud, which they can use to exchange files while away. And also, you can pair with as many other computers as you like, not just one! diff --git a/doc/assistant/share_with_a_friend_walkthrough.mdwn b/doc/assistant/share_with_a_friend_walkthrough.mdwn new file mode 100644 index 0000000000..b99b1bcff7 --- /dev/null +++ b/doc/assistant/share_with_a_friend_walkthrough.mdwn @@ -0,0 +1,58 @@ +Want to share all the files in your repository with a friend? + +Let's suppose you use Google Mail, and so does your friend, and you +sometimes also chat in Google Talk. The git-annex assistant will +use your Google account to share with your friend. (This actually +works with any Jabber account you use, not just Google Talk.) + +Start by opening up your git annex dashboard. + +[[!img addrepository.png alt="Add another repository button"]] + +`*click*` + +[[!img pairing.png alt="Share with a friend"]] + +`*click*` + +[[!img xmpp.png alt="Configuring Jabber account"]] + +Fill that out, and git-annex will be able to show you a list of your +friends. + +[[!img buddylist.png alt="Buddy list"]] + +This list will refresh as friends log on and off, so you can +leave it open in a tab until a friend is available to start pairing. + +(If your friend is not using git-annex yet, now's a great time to spread +the word!) + +Once you click on "Start Pairing", your friend will see this pop up +on their git annex dashboard. + +[[!img xmppalert.png alt="Pair request"]] + +Once your friend clicks on that, your repositories will be paired. + +### But, wait, there's one more step... + +Despite the repositories being paired now, you and your friend can't yet +quite share files. You'll start to see your friend's files show up in your +git-annex folder, but you won't be able to open them yet. + +What you need to do now is set up a repository out there in the cloud, +that both you and your friend can access. This will be used to transfer +files between the two of you. + +At the end of the pairing process, a number of cloud providers are +suggested, and the git-annex assistant makes it easy to configure one of +them. Once you or your friend sets it up, it'll show up in the other +one's list of repositories: + +[[!img repolist.png alt="Repository list"]] + +The final step is to share the login information for the cloud repository +with your friend, so they can enable it too. + +With that complete, you'll be able to open your friend's files! diff --git a/doc/assistant/share_with_a_friend_walkthrough/buddylist.png b/doc/assistant/share_with_a_friend_walkthrough/buddylist.png new file mode 100644 index 0000000000000000000000000000000000000000..ce3d61a96616483d8f8cd7ed814a6a9622f0c768 GIT binary patch literal 5114 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 literal 0 HcmV?d00001 diff --git a/doc/assistant/share_with_a_friend_walkthrough/repolist.png b/doc/assistant/share_with_a_friend_walkthrough/repolist.png new file mode 100644 index 0000000000000000000000000000000000000000..409da4aa4c0c8b43e6353c4351fee37c73a41c31 GIT binary patch literal 8525 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