XRDS-Simple for Drupal

15 views
Skip to first unread message

James Walker

unread,
Jun 4, 2008, 12:19:25 AM6/4/08
to diso-p...@googlegroups.com
So, last night - based on the WP plugin - I created a simple first
pass XRDS-Simple module for Drupal:

http://drupal.org/project/xrds_simple

Enjoy :-)

--
James Walker :: http://walkah.net/ :: xmpp:wal...@walkah.net


Chris Messina

unread,
Jun 4, 2008, 2:12:50 AM6/4/08
to diso-p...@googlegroups.com
Yay! ;)

Thanks James!

I think we also need to come up with a generic PHP 5 XRDS-Simple parser that we can pass between projects... or is that basically handled by the existing plugin and this module?

Chris
--
Chris Messina
Citizen-Participant &
Open Source Advocate-at-Large
factoryjoe.com # diso-project.org
citizenagency.com # vidoop.com
This email is: [ ] bloggable [X] ask first [ ] private

James Walker

unread,
Jun 4, 2008, 2:40:20 AM6/4/08
to diso-p...@googlegroups.com
Parsing hasn't been addressed yet in my module (there's some crude
XRDS parsing in Drupal's core OpenID RP module)...

So far, both my module and the wp plugin provide XRDS documents, but
don't consume them.

Onward!

Christian Scholz / Tao Takashi (SL)

unread,
Jun 4, 2008, 7:44:38 AM6/4/08
to diso-p...@googlegroups.com
Hi!

Just FYI: my pydataportability library has parsing of XRDS in place,
at least basic one.
You can find it at http://code.google.com/p/pydataportability/ and I
am planning to soon add the creation of XRDS files.
Documentation is on my todo list. For an example download the example
package and follow the README to create some sample scripts.
Next step would then be to integrate it in some actual application, in
my case probably Plone.

Once we have all that in place we might try some interoperability testing :-)

-- Christian

--
Christian Scholz
Tao Takashi (Second Life name)
taota...@gmail.com
Blog/Podcast: http://mrtopf.de/blog
Planet: http://worldofsl.com

Company: http://comlounge.net
Tech Video Blog: http://comlounge.tv
IRC: MrTopf/Tao_T

Stephen Paul Weber

unread,
Jun 4, 2008, 8:25:41 AM6/4/08
to diso-p...@googlegroups.com
Is there a way to get at the code? Drupal.org is a bit confusing...
I'd like to have a peek.

--
- Stephen Paul Weber (Singpolyma)

Web: http://singpolyma.net/
Twitter: http://twitter.com/singpolyma
IM: singp...@gmail.com

Steve Ivy

unread,
Jun 4, 2008, 10:03:53 AM6/4/08
to diso-p...@googlegroups.com
Yeah, because there isn't a "release" yet, there's no download.
(*ahem* James? ;-) )

Head to: http://drupal.org/project/cvs/266421 and click the version
numbers to view the source.

--
Steve Ivy
http://redmonk.net // http://diso-project.org
This email is: [ ] bloggable [x] ask first [ ] private

Stephen Paul Weber

unread,
Jun 4, 2008, 10:26:14 AM6/4/08
to DiSo Project
> Yeah, because there isn't a "release" yet, there's no download.

Ah, cool, got it. Looks like this generates per-user XRDSs, which is
great. Might be a good idea to have it support a site-wide one as well
:)

James Walker

unread,
Jun 4, 2008, 10:34:24 AM6/4/08
to diso-p...@googlegroups.com

On 4-Jun-08, at 10:26 AM, Stephen Paul Weber wrote:

>
>> Yeah, because there isn't a "release" yet, there's no download.
>
> Ah, cool, got it. Looks like this generates per-user XRDSs, which is
> great. Might be a good idea to have it support a site-wide one as
> well
> :)

It does - it defines 2 endpoints : /xrds and /user/UID/xrds - for site
wide & per-user... and the "hook" defined ('hook_xrds') passes an
optional user object for context.

One point that might be slightly confusing - is that stand alone the
module doesn't actually do *anything* on it's own. I will be
committing a change to my in-progress openid_provider module to use
xrds-simple for it's XRDS generation that can serve as an initial
example...

But, yeah, it's just a first pass atm. More to come :-)

Steve Ivy

unread,
Jun 4, 2008, 10:47:38 AM6/4/08
to diso-p...@googlegroups.com
Hi James,

Firstly, I forgot to congratulate you - this is great progress!

On Wed, Jun 4, 2008 at 7:34 AM, James Walker <wal...@gmail.com> wrote:

> One point that might be slightly confusing - is that stand alone the
> module doesn't actually do *anything* on it's own. I will be
> committing a change to my in-progress openid_provider module to use
> xrds-simple for it's XRDS generation that can serve as an initial
> example...

My MT plugin is the same - it just provides a framework for other
plugins to provide services through. And, as you mention here, I'm
also going to be rolling OpenID delegation into the plugin, so that it
also bootstraps some basic functionality.

As has been discussed in other threads, we need to start tracking what
services are, or might be, or should be, using XRDS-Simple for
discovery so that we can be sure that all our plugins (Stephen's mine,
and yours) all output valid XRDS for the same services inputs.

--Steve

Stephen Paul Weber

unread,
Jun 4, 2008, 11:27:13 AM6/4/08
to diso-p...@googlegroups.com
> It does - it defines 2 endpoints : /xrds and /user/UID/xrds - for site
> wide & per-user... and the "hook" defined ('hook_xrds') passes an
> optional user object for context.

Ah, ok :)

> One point that might be slightly confusing - is that stand alone the
> module doesn't actually do *anything* on it's own. I will be
> committing a change to my in-progress openid_provider module to use
> xrds-simple for it's XRDS generation that can serve as an initial
> example...

My plugin (for WP) does little by itself as well - I added OpenID
delegation later as a sort of way to show people it did *something*.

--

Steve Ivy

unread,
Jun 4, 2008, 11:28:52 AM6/4/08
to diso-p...@googlegroups.com
On Wed, Jun 4, 2008 at 8:27 AM, Stephen Paul Weber <singp...@gmail.com> wrote:

>
> My plugin (for WP) does little by itself as well - I added OpenID
> delegation later as a sort of way to show people it did *something*.

This seems to be a common theme. ;-)

Oh, and http://diso-project.org/2008/06/04/xrds-simple-on-the-move/

>
> --
> Stephen Paul Weber (Singpolyma)
>
> Web: http://singpolyma.net/
> Twitter: http://twitter.com/singpolyma
> IM: singp...@gmail.com
>
> >
>

--

James Walker

unread,
Jun 4, 2008, 11:33:34 AM6/4/08
to diso-p...@googlegroups.com

On 4-Jun-08, at 10:47 AM, Steve Ivy wrote:

>
> Hi James,
>
> Firstly, I forgot to congratulate you - this is great progress!
>
> On Wed, Jun 4, 2008 at 7:34 AM, James Walker <wal...@gmail.com> wrote:
>
>> One point that might be slightly confusing - is that stand alone the
>> module doesn't actually do *anything* on it's own. I will be
>> committing a change to my in-progress openid_provider module to use
>> xrds-simple for it's XRDS generation that can serve as an initial
>> example...
>
> My MT plugin is the same - it just provides a framework for other
> plugins to provide services through. And, as you mention here, I'm
> also going to be rolling OpenID delegation into the plugin, so that it
> also bootstraps some basic functionality.

Yeah, there is already an openid delegation plugin for Drupal - I know
the maintainer, and I have on my TODO to reach out to him about how to
resolve that - either have him use my module for XRDS, or just merge
it in.

But, yeah, having it do *something* by default is desirable :)

>
> As has been discussed in other threads, we need to start tracking what
> services are, or might be, or should be, using XRDS-Simple for
> discovery so that we can be sure that all our plugins (Stephen's mine,
> and yours) all output valid XRDS for the same services inputs.

Great idea! Where should that tracking happen?

James Walker

unread,
Jun 4, 2008, 3:29:55 PM6/4/08
to diso-p...@googlegroups.com

On 4-Jun-08, at 11:28 AM, Steve Ivy wrote:

>
> On Wed, Jun 4, 2008 at 8:27 AM, Stephen Paul Weber <singp...@gmail.com
> > wrote:
>
>>
>> My plugin (for WP) does little by itself as well - I added OpenID
>> delegation later as a sort of way to show people it did *something*.
>
> This seems to be a common theme. ;-)
>
> Oh, and http://diso-project.org/2008/06/04/xrds-simple-on-the-move/

Saw that! Sweet :-)

Josh Patterson

unread,
Jun 4, 2008, 11:15:28 PM6/4/08
to DiSo Project
James,
Do you have a testbed or install of drupal active somewhere with this
going, so that people can get an account with openID, and then add
some data for their services to their XRDS? also, I know its in flux,
but have you checked out

http://www.xrdstype.net/

its a good resource on types of resources. I'm really curious on how
this will play out in terms of classifying and entering different
types of content types (my basic case, "image in flickr"). I'm very
curious to see how the Drupal implementation goes, since I have a few
experiments based around linking of personal data via XRDS. good
stuff!

Josh

On Jun 4, 3:29 pm, James Walker <wal...@gmail.com> wrote:
> On 4-Jun-08, at 11:28 AM, Steve Ivy wrote:
>
>
>
> > On Wed, Jun 4, 2008 at 8:27 AM, Stephen Paul Weber <singpol...@gmail.com
> > > wrote:
>
> >> My plugin (for WP) does little by itself as well - I added OpenID
> >> delegation later as a sort of way to show people it did *something*.
>
> > This seems to be a common theme. ;-)
>
> > Oh, andhttp://diso-project.org/2008/06/04/xrds-simple-on-the-move/

Gabriel Wachob

unread,
Jun 5, 2008, 12:25:01 AM6/5/08
to diso-p...@googlegroups.com
Christian Scholz and I are running http://xrdstype.net

Please do let us know if there's something you'd like listed there, or
if you have feedback/suggestions, etc.

We're still in the "seeing if its useful for the community" phase
right now, so your input is very eagerly appreciated.

-Gabe

James Walker

unread,
Jun 5, 2008, 10:37:41 AM6/5/08
to diso-p...@googlegroups.com
I do not yet.... but I'll put one together and post it around for the
group. Stay tuned :-)

Steve Ivy

unread,
Jun 5, 2008, 11:47:23 AM6/5/08
to diso-p...@googlegroups.com
James and Stephen,

As a standard and test case, can I recommend a config for:

1) openid2 delegation

2) openid 1.1 delegation

2) oauth discovery - see how ma.gnolia does their oauth discovery doc
here: http://ma.gnolia.com/api/rest/2/xrds

See my best effort so far to produce these three service definitions
in my plugin here:

http://www.wallrazer.com/mt/mt.cgi?__mode=xrds_simple

pardon the formatting: MT's template system is a bit wonky.

what do you guys think?

--

Josh Patterson

unread,
Jun 8, 2008, 2:37:30 PM6/8/08
to DiSo Project
Gabe,
yeah, we've had the discussion before. I talked to Steve Ivy a little
bit about XRDS-S entry examples, and he told me that he was in the
same spot that I've been in, basically, neither of us have seen much
in the way of XRDS-S examples in the wild on how to list basic
services. There are tons of ways that we're going to need to list
services, so I think maybe if we had like an example of the week, that
would be pretty damn cool --- is that something you could put up on
xrdstype.net in a section? Each week maybe someone posts a site they
aren't quite sure how to enter in their XRDS-S, and we discuss it in a
thread (here, there, wherever), and then whatever we come up with post
it on the xrdstype.net example of the week section.

Example (and to be honest, I've not done my homework on what apis
flickr lists, but this would be an easy "get us started" type thing)
--- how do we list the various endpoints that house our data inside
flickr? I think that would be a really good starter example of the
week, and although some may think thats trivial or have a quick
answer, it would be an interesting discussion to see the various
viewpoints on it (whats the best way to describe it? how do we say 'X
points to my list of images'? what do we point to?) --- and as we
answer these, I believe a pattern will emerge that we can apply to
other resources. Plus, this gives good example cases for good ways to
both expose data and consume data.

Thoughts?

Josh Patterson

On Jun 5, 12:25 am, Gabriel Wachob <gwac...@wachob.com> wrote:
> Christian Scholz and I are runninghttp://xrdstype.net

Chris Messina

unread,
Jun 8, 2008, 2:44:01 PM6/8/08
to diso-p...@googlegroups.com
I think doing an XRDS-Simple document for Flickr and Fire Eagle would be good starters... especially as I'd like to mirror the Flickr API in DiSo:


Would it also make sense to map MIME-types to XRDS-S types to aid in generic content type discovery? i.e. show me Chris' PNGs, JPGs, GIFs? Or not? 

Otherwise, perhaps we just use well known web services (Twitter, Digg, Flickr, et al) to give us URI-based types to help us get started.

Otherwise, do we have a list of types of content/data that we want to support anyway? No reason why we can't just bootstrap it for now with best efforts at some essential types...

Chris

Stephen Paul Weber

unread,
Jun 8, 2008, 2:59:54 PM6/8/08
to diso-p...@googlegroups.com
> Would it also make sense to map MIME-types to XRDS-S types to aid in generic
> content type discovery? i.e. show me Chris' PNGs, JPGs, GIFs? Or not?

That's what the <MediaType> element is for...


--
- Stephen Paul Weber (Singpolyma)

Chris Messina

unread,
Jun 8, 2008, 3:36:57 PM6/8/08
to diso-p...@googlegroups.com
Oh...! Ah ha! ;#)

Josh Patterson

unread,
Jun 8, 2008, 4:41:52 PM6/8/08
to DiSo Project
and case in point, these are the types of things that are good to
illustrate in an "example of the week" entry (just like Chris, I did
not remember that point about mediatype); basically, show how a
popular site would be listed, and then use one aspect of its listing
as an opportunity to educate the audience on the ins-and-outs of XRDS-
S's tag types. I think this would help a lot since right now there are
a lot of types of data interop formats and technologies floating
around out there, with a lot of "just use this!" type of media too.

With a weekly educational section we can create very public examples
that provide for not only good reference material, but also allow XRDS-
S to be separated from the sea of acronyms and provide more quality
signal above the proverbial noise.

I'm working on some blog entries centered around not only the coming
shifts in the personal data economy, but also how I see the emerging
Linked Data Ecology coming along. I'd say more and more "keyframes"
like these showing how to interlink site data and personal data will
help evolve the concept of linked data and create far more rich data
sub ecosystems than we can currently lay out. However, far more
hackers will copy and paste code snippets than will ever go and
research topics like the XRDS-S spec or the mechanics of RDF
inferencing, so making the XRDS-S adoption as turnkey as possible is
just Good Stuff. A technology built on emerging interop standards
needs a critical mass, so getting as many of the mass adopters to jump
on board with simple examples can't hurt.

Possibly make it a running XRDS-S blog entry series, or a section on
the xrdstype.net page? Dont know, I'll leave that up to Gabe and co to
decide, however, I'm more than willing to work on examples as we go.

Josh
> IM: singpol...@gmail.com

Gabe Wachob

unread,
Jun 8, 2008, 11:42:21 PM6/8/08
to diso-p...@googlegroups.com
I'd be happy to post this sort of content to xrdstype.net - and I'd be
even happier if one of you would like to own that periodic content
publishing!!! ;)

-Gabe

--
Gabe Wachob / gwa...@wachob.com \ http://blog.wachob.com

This ideas in this email: [ ] I freely license [X] Ask first [ ] May
be subject to patents

Reply all
Reply to author
Forward
0 new messages