Walkthrough

Markus Sabadello edited this page Jan 28, 2015 · 14 revisions
Clone this wiki locally

This is a description and walkthrough for the XDI Ninja! browser plugin that is like "Twitter for data".

Scenario

You install a plugin in your browser. You can add XDI addresses of your own Cloud Cards as well as other people's Cloud Cards. Cloud Cards contain attributes such as "first name", "last name", etc. This assumes that you and/or other people have already created Cloud Cards using the Cloud Manager (source).

Walkthrough

Step 1: You start by clicking on the XDI Ninja! button in the browser toolbar. This opens a popup window. Continue by typing one of you own "cloud addresses". For example, this could be =markus#home for a "home" Cloud Card, or =markus for a "default" Cloud Card.

An XDI discovery step will be performed to find your XDI Cloud. You will also be asked to authenticate with a secret token (password).


Step 2: Now your Cloud Card should be added and visible in the popup window. All public attributes of the Cloud Card are displayed and periodically refreshed.

Example XDI message to retrieve one of your own Cloud Cards:

[=]!:uuid:91f28153-f600-ae24-91f2-8153f600ae24[$msg]!:uuid:5c1fab69-2b78-f043-aa81-a4de39a89ea0/$is()/([=]!:uuid:91f28153-f600-ae24-91f2-8153f600ae24)
[=]!:uuid:91f28153-f600-ae24-91f2-8153f600ae24[$msg]!:uuid:5c1fab69-2b78-f043-aa81-a4de39a89ea0/$do/([=]!:uuid:91f28153-f600-ae24-91f2-8153f600ae24/[=]!:uuid:91f28153-f600-ae24-91f2-8153f600ae24)$do
[=]!:uuid:91f28153-f600-ae24-91f2-8153f600ae24[$msg]!:uuid:5c1fab69-2b78-f043-aa81-a4de39a89ea0$do/$get/=markus#work$card$public
[=]!:uuid:91f28153-f600-ae24-91f2-8153f600ae24[$msg]!:uuid:5c1fab69-2b78-f043-aa81-a4de39a89ea0$get<$deref>&/&/true
[=]!:uuid:91f28153-f600-ae24-91f2-8153f600ae24[$msg]!:uuid:5c1fab69-2b78-f043-aa81-a4de39a89ea0<$secret><$token>&/&/"....."

Example XDI result:

=markus#home$card$public<#description>&/&/"My default card"
=markus#home$card$public<#tag>&/&/"home"
=markus#home$card$public<#first><#name>&/&/"Markus"
=markus#home$card$public<#last><#name>&/&/"Sabadello"
=markus#home$card$public<#email>&/&/"markus@projectdanube.org"

Step 3: Next to your own Cloud Card, you may click a "Preferences" icon. This is an easy way to log in to the Cloud Manager (source), where you can create and manage your Cloud Cards.


Step 4: In the right half of the popup window, you may add other people's Cloud Cards.

Adding other people's Cloud Cards uses the XDI public link contract and therefore does not require authentication.


Step 5: Just like your own Cloud Cards on the left half, other people's Cloud Cards on the right half are also periodically refreshed.

Example XDI message to retrieve someone else's Cloud Card:

$anon[$msg]!:uuid:143015c0-8361-b4d1-9ed2-9dfcecc43e50/$is()/([=]!:uuid:37d37c44-5551-46f3-9264-e4dd2ebbbf97)
$anon[$msg]!:uuid:143015c0-8361-b4d1-9ed2-9dfcecc43e50/$do/([=]!:uuid:37d37c44-5551-46f3-9264-e4dd2ebbbf97/$public)$do
$anon[$msg]!:uuid:143015c0-8361-b4d1-9ed2-9dfcecc43e50$do/$get/=andrepm$card$public
$anon[$msg]!:uuid:143015c0-8361-b4d1-9ed2-9dfcecc43e50$get<$deref>&/&/true

Example XDI result:

=andrepm$card$public<#description>&/&/"This is my professional card"
=andrepm$card$public<#tag>&/&/"work"
=andrepm$card$public<#first><#name>&/&/"Andre"
=andrepm$card$public<#last><#name>&/&/"Martins"
=andrepm$card$public<#phone>&/&/"+351129889382"

Step 6: Clicking on a Cloud Card displays it on the web using the Cloud Card Viewer (source).

The web-based Cloud Card Viewer also makes it possible to initiate an "XDI Connect" flow and accept a "connection invitation", in order to request access to private attributes on a Cloud Card.


Step 7: For your own Cloud Cards, you may edit attributes directly in the XDI Ninja! popup window, without having to use the web-based Cloud Manager (source).

Example XDI message to update an attribute on the Cloud Card:

[=]!:uuid:91f28153-f600-ae24-91f2-8153f600ae24[$msg]!:uuid:f53f9eb9-b77a-877b-a5c3-09a9b6411852/$is()/([=]!:uuid:91f28153-f600-ae24-91f2-8153f600ae24)
[=]!:uuid:91f28153-f600-ae24-91f2-8153f600ae24[$msg]!:uuid:f53f9eb9-b77a-877b-a5c3-09a9b6411852/$do/([=]!:uuid:91f28153-f600-ae24-91f2-8153f600ae24/[=]!:uuid:91f28153-f600-ae24-91f2-8153f600ae24)$do
([=]!:uuid:91f28153-f600-ae24-91f2-8153f600ae24[$msg]!:uuid:f53f9eb9-b77a-877b-a5c3-09a9b6411852$do/$set)=markus#home$card$public<#email>&/&/"markus.sabadello@gmail.com"
[=]!:uuid:91f28153-f600-ae24-91f2-8153f600ae24[$msg]!:uuid:f53f9eb9-b77a-877b-a5c3-09a9b6411852<$secret><$token>&/&/"....."

Step 8: When an attribute on a Cloud Card is updated, everyone who is "following" the Cloud Card will receive a notification with the new attribute value.


Step 9: The XDI Ninja! plugin also has functionality that integrates with the Cloud Messenger (source). When a new message arrives in your XDI Cloud, a notification is displayed.