ソーシャルWebでよく知られているデータポータビリティと呼ばれる国際的な専門家グループは、上記のミッションを達成するためだけに特定の既存のテクノロジーを使用することを推奨しています。 では、これらのテクノロジーとは何ですか?また、自分のプロジェクトでそれらを使用する方法は?
ユーザー識別とプロファイル情報
ユーザー識別から始めましょう。 この点で最も単純な標準はMicroIDです。 メールとURLのペアを使用してユーザーを識別します。 彼の式は次のとおりです。
microID = sha1(
sha1( "mailto:sheiko@mysite.com")
+
sha1( "http://cmsdevelopment.com/")
)
ユーザーが実際に彼が示したページを所有していることを確認するには、HEADセクションで次のことを示すだけで十分です。
<meta name = "microid" content = "mailto + http:sha1:micro_ID_code" />
標準は明らかに単純ですが、 Digg 、 Plaxa 、 ClaimID 、 Last.fm 、 Ma.gnolia 、 Wikitravel 、 Yeddaなどのプロジェクトで既にサポートされています。
個人的には、MicroIDを使用して、フィードバックでユーザーの信頼性を確認するだけでなく、サードパーティサービスでの彼の評判を確認するためにも使用できることは興味深いように思えました。
<span class="score microid-mailto+http:sha1:fe98b5adf288318c0763e1d5b0855b3d2266338c">5</span>
ユーザー識別の2番目の標準は、あなたがそれをよく知っていると思いますが、OpenIDです。 自分のプロジェクト(OpenIDコンシューマー)でのユーザーの識別に関して、Habrahabrでこの標準を既に検討しました。 ただし、ユーザー権利について説明しているため、サービスのユーザーに、サードパーティのプロジェクトで提示できる一種の「仮想パスポート」を提供することは公平です。 これを行うには、ユーザーにhttp://sheiko.pozzzy.ruなどのサブドメイン内のサービスの個人ページのアドレスを提供する必要があります。 たまたまこれを行っていない人のために、Apache構成のVirtualHostセクションでServerAlias * .pozzzy.ruのようにServerAliasパラメーターを使用することをお勧めします(このサーバーを使用する場合)。 その後、PHP起動スクリプトの変数$ _SERVER ["HTTP_HOST"]の内容を解析するだけです。 OpenIDプロバイダーサービスを作成するには、適切なソフトウェアが必要です。 一般に、 OpenID Enabledのライブラリを使用できます(PHP、Python、Rubyバージョンがあります)。 しかし、小さなPHPMyIDフレームワークは、そのシンプルさに魅了されました。
80x80pxの画像をリンクできる小さな標準のPavatarもあります。 (アバター)とユーザー。 PNG、JPG、およびGIF形式が許可されます。 ユーザーのページにコードを追加するだけです:
<link rel="pavatar" href="http://example.com/path/my-pavatar.png" />
ところで、pavatarとMicroIDには、OpenIDプロバイダーがユーザープロファイルから他の情報を提供できます。
ユーザー情報は、 hCard microformatを使用して設定することもできます。
ユーザーのソーシャルコネクションに関する情報
わかった ユーザーを識別し、プロファイルデータを読み取る権利を委任する機会をユーザーに与える方法を見つけました。 しかし、さまざまなソーシャルネットワークで彼の友人に関する情報を取得するにはどうすればよいですか? 少なくとも、これにより、ユーザーにどのサービスの友人が代表されているかを示すことができます。
OpenID標準の作成者であるLiveJournalの創設者である悪名高いBrad Fitzpatrickは、最近Social Graphの概念とGoogle APIを積極的に宣伝しています。 これらのリンクが指定された形式( XFNおよびFOAF )で表示される場合、Googleはソーシャルネットワーク上のユーザー関係に関する情報をインデックス化するという考え方です。 APIを使用すると、便利な方法でこの情報を取得できます。 ちなみに、突然Googleが足りなくなった場合は、 Plaxo Open Social Graphを使用してください。 ユーザーがサービスにログインすると、他のサービスの友人についてソーシャルグラフをポーリングできます。 さらに、サービスのユーザーベースに基づいて識別子を比較し、プロジェクトの友人についてユーザーに通知するだけです。 Social Graph(テキスト、JSON、XMLの形式でリクエストに回答が提供されます)からデータを取得するのは非常に簡単なので、グラフにさらにインデックスを付けるためにデータをフォーマットする方法について詳しく説明するのは理にかなっています。
まず、microformat XFNに従って、サービス内のユーザーのページ上のリンクのコードを変更する必要があります。
開いているページの所有者に関連付けられたサイトリンクには<a rel= wonme> ..> .. </a>を使用し、友人のページへのリンクには<a rel= wonderedfriend ..> .. </a>を使用できます。 ユーザーと友人との関係の詳細がサーバーで利用できる場合、これは、たとえば<a rel=friendfriend met> ..> .. </a>のように反映できます。
FOAF (Friend of a Friend)標準に関しては、RDFでユーザーとその接続をより構造化された形式で記述することができます。 ユーザーのページのコードで、RDFドキュメントへのリンクを指定する必要があります。
<link rel = "meta" type = "application / rdf + xml" title = "FOAF" href = "http://sheiko.pozzzy.ru/foaf/" />
RDFドキュメント自体は、ユーザーとプロジェクト内での彼の関係に関するデータに基づいて自動的に生成される必要があります。
ユーザー設定情報
ユーザーの権利については、サービス間でユーザーの好みに関する情報を交換する可能性についても言及しました。 由緒ある紳士のメディア2.0ワークグループの別のチームで最も愛されているのは、 APMLテクノロジーです。 アクティビティに基づいてユーザー設定を考慮するためのさまざまな方法があります。 このために、デスクトップアプリケーション( Particls )およびBloglines 、 Cluztr 、 Dandelife 、そしてもちろんGoogleなどのオンラインサービスも使用されます。 これらのサービスは、Googleを除き、APMLマークアップ言語を使用してユーザー設定プロファイルを記述します。 これにより、ユーザーの許可を得て、これらのプロファイルをサービス間で交換する可能性が実際に広がります。
結論として、 OAuthテクノロジにも注目したいと思います。 これにより、サードパーティサービスおよびそのAPIの個人ユーザーデータへの永続的または一時的なアクセス権を委任できます。
ご覧のとおり、ソーシャルウェブをオープンにして、ユーザーに個人データに関する法的権利を付与することは私たちの手にあります。 賢い人々はすでにこれをどのように達成できるかを理解しており、サービス開発者の仕事はこれらのアイデアを実現することだけです。