[buddypress-trac] [BuddyPress] #2738: FOAF support / RDFa
buddypress-trac at lists.automattic.com
buddypress-trac at lists.automattic.com
Sun Nov 14 19:41:59 UTC 2010
#2738: FOAF support / RDFa
--------------------------+-------------------------------------------------
Reporter: boonebgorges | Owner:
Type: enhancement | Status: new
Priority: major | Milestone: 1.4
Component: Core | Version:
Keywords: |
--------------------------+-------------------------------------------------
Support Friend of a Friend to make BuddyPress compliant with linked data
standards. Good web citizenship :)
This could be done with a plugin. DJPaul worked up a proof of concept in
the 1.1.x days: http://svn.dangerous-minds.com/djpaul/out-of-the-box/ To
my mind, though, there are some limitations to that approach: 1) having it
as a plugin means that the majority of installations won't use it, which
limits the utility of having FOAF support in the first place; 2) Paul's
solution makes the information available via a distinct URL. In my view,
this produces a bit of undesirable overhead: anyone who wants to use the
data has to know the slug that the site admin has chosen, adding an extra
step to the process of crawling for data on the site.
My proposal is that we implement FOAF via RDFa, embedded directly in
templates. Drupal is taking that very route in the Drupal 7 core. See this
thread http://groups.drupal.org/node/16597 for the initial roadmap. The
rough roadmap in that thread is similar to the way it would/could work in
BuddyPress. We'd need to make sure that there was a programmatic way to
add attributes dynamically to the important elements in the DOM, for
instance something like
{{{
<ul id="members-list" class="item-list">
<?php while ( bp_members() ) : bp_the_member(); ?>
<li <?php bp_the_member_list_item_attribute() ?>>
}}}
where bp_the_member_list_item_attribute() is a template tag that echos
something like property="foaf:Person", but is filterable by plugins.
We'd also need a way for admins to specify (optionally) which profile
fields correspond to which FOAF attribute. I think that means collecting
what we assume are the most commonly used vocabulary items from the spec
http://xmlns.com/foaf/spec/, then offering them to the admin at the time
of profile field creation/editing.
I can whip up a prototype, but it'd be nice to get some feedback in the
meantime.
--
Ticket URL: <http://trac.buddypress.org/ticket/2738>
BuddyPress <http://buddypress.org/>
BuddyPress
More information about the buddypress-trac
mailing list