DapperCamp Wiki > Contests: Win Stuff > Persona Aggregator

Persona Aggregator

The Persona Aggregator is a web aggregator that gathers latest information about a person in various fields and provides a unified access to this information both as a web service and through a web interface. The motivation to create the Persona Aggregator comes from the realization that today, with all of the social and other tools embracing us, our life and persona is distributed in many disparate places that do not talk to each other. This fact causes our web based "alter ego" to be fragmented and cumborsome to interact with. It also, sometimes, causes the owners of these tools to start believing they "own" us in some way because we've hosted our list of friends on their service. The aim of the Persona Aggregator (PA) is to converge all of those fragmented pieces of our web selfs into a single, easily accesible interface that will provide constant updates about me and my life to people I'm interested to share this information with, and more importantly will inspire the buildup of new tools that mashup together life's various facets. The PA contains these two parts:

  1. Persona Registrer
  2. Persona Aggregator

 

The Persona Registrer

The Persona registrer is a registration web app which allows users to register streams of their web presence through a front end so that the Persona aggregator will be able to aggregate those streams routinely or upon request.

Sample streams include:

  1. Pictures
  2. Videos
  3. Friends
  4. Events (Calendar)

Each stream will contain a set of possible Dapps that relate to sites who contain such personal information. For example the Pictures stream will contain Dapps for: Flickr, Picasa Web, Photobucket, Facebook Pictures etc.

A user will be able to register in each stream to one or more Dapps by providing needed related information such as his Flickr ID. The Registrer will then store in a database the user's information and configuration.

The Persona Aggregator (PA)

The Persona aggregator is a web service that accepts requests to get personal information related to one of its users. It could be the list of friends of Jon, latest pictures uploaded by Eran etc. All requsts details are encoded in a get URL.

There will be two types of URLs, private and public.  Private URLs will be ones used by a user to access his information, and authentication for them will be cookie based. So for example when Britney accesses the url:

http://www.MyWebPersona.com/BritneySpears/Photos

she will get a response with an update on her latest photos. However if she'll want to give her friends access to this feed she will be able (in the persona registrer) to do one of the following:

1. Define a stream as public. That will make the private URL public and will prevent the authentication check to be performed for the related stream.

2. Retrieve the public url for the stream which contains an encoded hash value. She can then send this url to whoever she would like. Example URL:

http://www.MyWebPersona.com/BritneyS...47593tqgr298af.

Once the PA retrieves a legitimate request for a stream, it will go and find the dapp calls associated with this stream.  It then runs over all of them and fetches each member call. The PA then merges all of the calls into one response and sends it back in the requested format.

 By default, the content is returned in html format, not unlike the results of the Dapper html transformer. However, a request may ask to get content in one of the following formats:

1. Generic XML (Schema defined per stream)

2. JSON

3. RSS/ATOM

Individual streams may support additional contextual formats (e.g. events stream may support an iCal format, MyLocations stream may support a map format etc.)

Example url to access a stream in JSON format:

http://www.MyWebPersona.com/BritneyS...47593tqgr298af.

Optional DB Schema

 

categories

Field Type Allow Null Default Value
CategoryIndex int(11) No
CategoryName varchar(20) No

users

Field Type Allow Null Default Value
UserID varchar(12) No
UserIndex bigint(20) No
UserFirstName varchar(20) No
UserLastName varchar(20) No
UserPassword varchar(8) No
OpenID varchar(255) No

userStreamsExtraArgs

Field Type Allow Null Default Value
userStreamIndex int(11) No
extraArgsString varchar(200) No
transformer varchar(30) No

usersStreams

Field Type Allow Null Default Value
UserIndex int(11) No
StreamIndex int(11) No
Login varchar(100) No
Password varchar(100) No
StreamParamsString varchar(300) No
isApplyToUrl bit(1) No
userStreamIndex int(11) No

streams

Field Type Allow Null Default Value
StreamID varchar(10) No
StreamIndex int(11) No
StreamName varchar(20) No
CategoryIndex int(11) No
StreamDescription varchar(500) No
StreamDapp varchar(100) No
needLogin bit(1) No
dappURLTemplate varchar(255) No
Tag page
Viewing 3 of 3 comments: view all
I came to your blog from google.Here I got many useful infomation,.thanks for your great job wedding dresses
Posted 07:25, 26 Jan 2010
Thank you very much for posting Look very interesting. Shop Buy Cheap Discount 24Hrs. Hoop Glider and Ottoman : Intermatic Timer Switch Shop: Keurig Coffee Maker Shop : Juice Fountain
Posted 10:42, 3 Feb 2010
Thanx for sharing this with all of us. Of course, what a great site and informative posts, I will bookmark this site. keep doing your great job and always gain my support. prom dresses prom dresses 2010 evening Dresses casual Dresses Cocktail dress formal Dresses holiday Dresses Celebrity Dresses
Posted 09:28, 22 Feb 2010
Viewing 3 of 3 comments: view all
You must login to post a comment.