Goal
The goal of this document is to describe the process of acquiring and providing Social Graph information for a user. The Social Graph consists of profiles of individual users and links between them, called contacts, friends and so on.
The process describe in this document will allow Data Consumers to obtain profile information as well as match contacts on other Social Networks with the ones it stores itself.
Use Cases implemented by this document
Terms
- User - a user who wants to have access to his data on different services.
- Profile - Profile information about a user such as name, gender, avatar etc.
- Contact List - a list of contacts on a given system. Links to profile pages
- Data Provider - a service which provides a profile or a contact list for a user (e.g. a social networking site)
- Data Consumer - a service which wants to import a users profile or contact list
- Service Catalogue Provider - a service which provides the Service Catalogue for a user.
- Service Catalogue - a list of services for a particular user. The format is XRDS-Simple and as described in DP-REC-002 - Service Catalogue
The Process
To be able to initiate this process the Data Consumer MUST have performed the process described in Copy of Best Practices Document 1 - Login and Discovery first. The results is that the user is identified and the Data Consumer has a list of service endpoints it can use.
Retrieving the profile
As described in the profile the user can eventually be enabled to "mix" a new profile from existing ones. Data Consumers can also choose though to just let the user select one or even just use the one which has the highest priority in the Service Catalogue.
Main success scenario for retrieving profile information
- The Data Consumer MUST identify the user and MUST read the Service Catalogue as describe in Copy of Best Practices Document 1 - Login and Discovery]
- The Data Consumer MUST store all the profile endpoints it can find as long as they are either public or authorized (as described in DP-REC-003 - Portable Data Authorisation)
- The Data Consumer MUST select at least one service with a service type for profiles as described in DP-REC-006 Profile Definitions. It CAN make use of the priority information in the service catalogue to choose the most appropriate one if this information is available.
- The Data Consumer can then present this to the user as it wishes and store the final selection.
Exceptions
2a. There are no profile service endpoints found or available (e.g. not authorized)
2a1. no profiles can be stores, go to 3.
3a. There are no profile service endpoints found or available (e.g. not authorized)
3a1. As no profile information is available the Data Consumer CAN ask the user to create a new profile and use this.
Retrieving and matching the contact list
Main success scenario
- The Data Consumer MUST perform the process for retrieving profile information
- The Data Consumer MUST select the services which contain contact list information. Those are listed in DP-REC-007 Contact List Definitions. Those are lists of links to profile pages with a name.
- The Data Consumer MUST read the services and aggregate the results (links to profiles) in one list together
- The Data Consumer MUST match the list of linked profile endpoints against it's own list of profile endpoints stored for each user. The results are those contacts which are also on the Data Consumer's service.
- The Data Consumer MUST present the list of matched contacts to the user and let him make the final selection.
Technical Requirements
Requirements for a Data Consumer
To be able to initiate this process the Data Consumer MUST have performed the process described in Copy of Best Practices Document 1 - Login and Discovery first. The results is that the user is identified and the Data Consumer has a list of service endpoints it can use.
Requirements for a Data Provider
Implemenation details
Used Technologies
Copy of Best Practices Document 1 - Login and Discovery
DP-REC-006 Profile Definitions
DP-REC-007 Contact List Definitions
Issues