Brad Fitzpatrick brad at
Wed May 25 02:05:09 PDT 2005

Mart, other Perl hackers,

Mark Smith and I were discussing today a new module today, tentatively
called Net::OpenID::UserProfile, which would take a VerifiedIdentity
object from Net::OpenID::Consumer and use the foaf/maker/rss/atom data
that it discovers and makes available, and then actually goes and crawls
those resources (perhaps in some defined order of preference) to build a
UserProfile object with things like email (or hash), name, nick, blog URL,

Net::OpenID::UserProfile would depend on lots of XML-heavy libraries for
the parsing, and would use the Net::OpenID::Consumer object itself
(available as ->consumer from the VerifiedIdentity) to actually get the
XML documents, so they're fetched with your UA of choice (probably
LWPx::ParanoidAgent) and the caching/if-modified-since is done for you by
the Net::OpenID::Consumer caching framework, so you don't have to think
about whether caching of resources is done to disk, database, etc.

It'd look like:

use Net::OpenID::Consumer;
use Net::OpenID::UserProfile;

my $vident = Net::OpenID::Consumer->verified_identity;

my $profile = Net::OpenID::UserProfile->new(
        identity => $vident,
	order => [ qw(foaf vcard atom rss) ],

print $profile->nick, "\n";
print $profile->blog_url, "\n";
print $profile->birth_date, "\n";


Or something?

Somebody want to write that?

Mark expressed some interest but has little time and isn't completely
comfortable with pretending to be an authority in interpretting semantic
XML data.  He might end up doing it, but he just said on AIM that he'd
prefer to pass it off to somebody.

- Brad

More information about the yadis mailing list