<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Wil Tan &#187; iname</title>
	<atom:link href="http://dready.org/blog/category/iname/feed/" rel="self" type="application/rss+xml" />
	<link>http://dready.org/blog</link>
	<description>musings on internationalized identifiers: domain names, OpenID, TLDs</description>
	<lastBuildDate>Thu, 15 Dec 2011 03:42:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>OpenID for Drupal</title>
		<link>http://dready.org/blog/2007/05/05/openid-for-drupal/</link>
		<comments>http://dready.org/blog/2007/05/05/openid-for-drupal/#comments</comments>
		<pubDate>Sat, 05 May 2007 06:00:44 +0000</pubDate>
		<dc:creator>wil</dc:creator>
				<category><![CDATA[iname]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[xri]]></category>

		<guid isPermaLink="false">http://dready.org/blog/2007/05/05/openid-for-drupal/</guid>
		<description><![CDATA[There was a thread on the OpenID list around the subject of OpenID support in Drupal. Previously, I&#8217;ve experimented with the OpenID module originally written by Jonathan Daugherty from JanRain, now under maintenance by the folks at Bryght. That module uses JanRain&#8217;s PHP OpenID library, and it worked pretty much out of the box, with [...]
No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>There was a <a href="http://openid.net/pipermail/general/2007-May/002336.html">thread</a> on the OpenID list around the subject of OpenID support in <a href="http://drupal.org">Drupal</a>. Previously, I&#8217;ve experimented with the <a href="http://www.openidenabled.com/software/drupal">OpenID module</a> originally written by <a href="http://www.jonathandaugherty.com/">Jonathan Daugherty</a> from <a href="http://janrain.com/">JanRain</a>, now under maintenance by the folks at Bryght. That module uses JanRain&#8217;s <a href="http://www.openidenabled.com/openid/libraries/php">PHP OpenID library</a>, and it worked pretty much out of the box, with XRI support.</p>
<p>What I learned from this discussion thread is that <a href="http://www.bryght.com/blog/james-walker">James Walker</a> from <a href="http://bryght.com/">Bryght</a> has been working on <a href="http://drupal.org/project/openid">another OpenID module</a> that is <a href="http://lists.drupal.org/pipermail/development/2007-May/023616.html">intended for inclusion into Drupal 6 core</a> distribution, without using JanRain&#8217;s library. There are apparently things that Drupal-heads don&#8217;t like about the JanRain&#8217;s library, licensing may be one of the issues.</p>
<p>So I pulled the DRUPAL-5 codebase from CVS and installed it, then installed the 5.x-1.x-dev snapshot tarball to test it out. First thing I noticed was that it doesn&#8217;t support XRI, and I really didn&#8217;t expect it to. Then, when I tried logging in with my dready.org identifier, it wouldn&#8217;t work because I delegated it to my <a href="https://www.myopenid.com/">myopenid.com</a> account. So, it doesn&#8217;t support delegate either.</p>
<p>Then I spent a few hours getting rudimentary XRI support into it, and made it work with delegates. Few days later, I realized that this was only a snapshot and the module is in the <a href="http://cvs.drupal.org/viewcvs/drupal/contributions/modules/openid">Drupal contributions repository</a>. So, I threw away my installation but kept the patch I made of the 5.x-1.x-dev snapshot and started anew. The result is <strong><a href="http://dready.org/drupal/modules/openid/drupal-openid-02.patch">a patch that works with the Drupal CVS trunk</a></strong> as of today.</p>
<p>The changes are:<br />
1. When a first-time user is authenticated, a local account is created but no role was specified. Modified the module to add the &#8216;authenticated user&#8217; role to the user.<br />
2. XRI support. This is very rudimentary and does not support canonical ID yet, but shouldn&#8217;t be hard to implement.<br />
3. Delegate support. In OpenID 2.0, the submitted identifier (URL) is passed to the OP as the openid.claimed_id parameter, while the delegate, if present, is sent as openid.identifier.<br />
4. In the meantime, I noticed that the while the URL normalization conforms to the <a href="http://openid.net/specs/openid-authentication-2_0-11.html">OpenID Authentication 2.0 implementor&#8217;s draft 11</a> specification, it treats http://dready.org and http://dready.org/ (with trailing slash) as different identifiers. Well, they should really be the same as <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC3986</a> says that for HTTP, an empty path is equivalent to &#8220;/&#8221;. This normalization rule was reflected in <a href="http://j3h.janrain.com/openid-specs-rendered/openid-authentication_svn-294.html#normalization_example">rev 294 of the spec</a>.</p>
<p>Of course this is only a *very* rough patch (no pun intended). I have never hacked Drupal before, and haven&#8217;t read much of its coding styles though I tried to follow the conventions in the original code. I do hope that at least parts of it can be integrated into the module though.</p>
<p>My development environment is here: <a href="http://dready.org/drupal/">http://dready.org/drupal/</a>. Feel free to try it out.</p>
<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://dready.org/blog/2007/05/05/openid-for-drupal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New site: xrid.net</title>
		<link>http://dready.org/blog/2007/01/15/new-site-xridnet/</link>
		<comments>http://dready.org/blog/2007/01/15/new-site-xridnet/#comments</comments>
		<pubDate>Mon, 15 Jan 2007 03:08:41 +0000</pubDate>
		<dc:creator>wil</dc:creator>
				<category><![CDATA[identity]]></category>
		<category><![CDATA[iname]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[xri]]></category>

		<guid isPermaLink="false">http://dready.org/blog/2007/01/15/new-site-xridnet/</guid>
		<description><![CDATA[I really shouldn&#8217;t blogging that much now that I have three weeks left to pack up and move to Virginia. That&#8217;s another story if I get around to blogging it. Recently on the OpenID mailing list, many people are asking for a free i-name to play around with, research and develop software against. Global i-names [...]
No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><em>I really shouldn&#8217;t blogging that much now that I have three weeks left to pack up and move to Virginia. That&#8217;s another story if I get around to blogging it.</em></p>
<p>Recently on the OpenID mailing list, many people are asking for a free i-name to play around with, research and develop software against. <a href="http://inames.net/register.html">Global i-names</a> cost USD20 per year but if you just want to evaluate the technology, you can get a community i-name for free. A community i-name is analogous to subdomains in the DNS world. A global i-name is something like <code>@neustar</code> or <code>=wil</code>. A community i-name has an extra subsegment tagged to the end e.g. <code>@neustar*william.tan</code>.</p>
<p>The i-name / XRI community has awakened to the challenge that we need to provide more support and documentation to the developer community, and our response is the <a href="http://dev.inames.net/">dev.inames.net wiki</a>. </p>
<p>In my little way, I have also created a site (http://xrid.net/) to allow developers to experiment with XRI resolution and Yadis by providing free community i-names under <code>@xrid</code>. The site allows you to have unlimited community i-names (you can even host your own like <code>@xrid*wil*work</code>), and link them to authorities (identities) in any way you like, and most importantly, edit XRDS documents that will be served by the <code>auth.xrid.net</code> authority resolution server.</p>
<p>So, if you&#8217;re a developer interested in experimenting with XRI technologies, <a href="http://xrid.net/">get your free @xrid community i-name here</a>.</p>
<p>(Note: you may be curious as to why <code>@xrid</code>. Well, XRID was an earlier incarnation of the <acronym title="eXtensible Resource Descriptor">XRD</acronym> which is a recursive acronym for &#8220;<acronym title="eXtensible Resource Identifier">XRI</acronym> Descriptor&#8221;. Later, it was decided that we don&#8217;t want to tie the <acronym title="eXtensible Resource Descriptor Set">XRDS</acronym> document format to just being used in XRI&#8217;s (e.g. <a href="http://yadis.org/">Yadis</a> uses XRDS documents.)</p>
<p>Did I mention that you can login with an OpenID too?</p>
<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://dready.org/blog/2007/01/15/new-site-xridnet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>mod_python OpenID Access Control</title>
		<link>http://dready.org/blog/2007/01/15/mod_python-openid-access-control/</link>
		<comments>http://dready.org/blog/2007/01/15/mod_python-openid-access-control/#comments</comments>
		<pubDate>Sun, 14 Jan 2007 15:23:54 +0000</pubDate>
		<dc:creator>wil</dc:creator>
				<category><![CDATA[identity]]></category>
		<category><![CDATA[iname]]></category>
		<category><![CDATA[neustar]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[xri]]></category>

		<guid isPermaLink="false">http://dready.org/blog/2007/01/15/mod_python-openid-access-control/</guid>
		<description><![CDATA[Since XRI is pretty much in bed with OpenID and NeuStar is an XRI shop, I get to play around with it quite a bit. Here&#8217;s a little success report about using JanRain&#8216;s mpopenid module to protect certain restricted resources served by Apache. It works somewhat like your basic HTTP authentication, but instead of returning [...]
No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Since XRI is pretty much in bed with <a href="http://openid.net">OpenID</a> and NeuStar is an XRI shop, I get to play around with it quite a bit.</p>
<p>Here&#8217;s a little success report about using <a href="http://janrain.com">JanRain</a>&#8216;s <a href="http://www.openidenabled.com/software/modpython-openid">mpopenid</a> module to protect certain restricted resources served by Apache. It works somewhat like your basic HTTP authentication, but instead of returning a <code>401 Authorization Required</a> response causing the browser to prompt for username and password, it redirects you to the OpenID login page. Pretty neat eh?</p>
<p>So, here's how we go about doing it.</p>
<p>My ingredients:</p>
<ul>
<li><a href="http://httpd.apache.org/">Apache</a> 2.2.4</li>
<li><a href="http://python.org">Python</a> 2.5</li>
<li><a href="http://modpython.org/">mod_python</a> 3.2.10</li>
<li><a href="http://www.openidenabled.com/resources/downloads/python-openid/python-openid-combo-20061208.tar.gz">JanRain's Python OpenID library combo</a> 1.2.0 (which includes dependencies: Yadis 1.1.0 + urljr 1.0.1)</li>
<li><a href="http://j3h.janrain.com/mpopenid/mpopenid.tar.gz">mpopenid</a> 1.2.0-pre5 (yet to be released on the main project site which is still showing 1.0.0)</a></li>
</ul>
<p>Following the recipes in <a href="http://j3h.janrain.com/mpopenid/README.html">this README</a> file, I was able to set it up with one caveat: Python <a href="http://effbot.org/zone/element-index.htm">ElementTree</a> module is a dependency of the Python Yadis library and you need to first install that.</p>
<p>Did I mention that you could login using an <a href="http://inames.net">I-name</a>?</p>
<p><strong>UPDATE:</strong></p>
<p>The following patch for <code>mpopenid.py</code> is needed to make i-name login work:</p>
<pre>
--- mpopenid-1.2.0-pre5/mpopenid.py     Tue Nov 21 20:24:53 2006
+++ mpopenid-1.2.0-pre5-wil/mpopenid.py Sun Jan 14 16:12:16 2007
@@ -157,10 +157,17 @@
         url = s.strip()
         if not url:
             continue
-        parsed = urlparse.urlparse(url)
-        if not (parsed[0] and parsed[1]):
-            url = 'http://' + url
-        urls.append(urinorm(url))
+
+        if (url[0:6].lower() == "xri://"):
+            url = url[6:] # strip "xri://"
+
+        if (url[0] not in "=@!$+"): # doesn't look like an XRI
+            parsed = urlparse.urlparse(url)
+            if not (parsed[0] and parsed[1]):
+                url = 'http://' + url
+            url = urinorm(url)
+
+        urls.append(url)

     return urls
</pre>
<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://dready.org/blog/2007/01/15/mod_python-openid-access-control/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>FoXRI updated for Firefox 2.0</title>
		<link>http://dready.org/blog/2006/11/04/foxri-updated-for-firefox-20/</link>
		<comments>http://dready.org/blog/2006/11/04/foxri-updated-for-firefox-20/#comments</comments>
		<pubDate>Sat, 04 Nov 2006 12:09:22 +0000</pubDate>
		<dc:creator>wil</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[foxri]]></category>
		<category><![CDATA[iname]]></category>
		<category><![CDATA[xri]]></category>

		<guid isPermaLink="false">http://dready.org/blog/2006/11/04/foxri-updated-for-firefox-20/</guid>
		<description><![CDATA[Just a quick mention that I&#8217;ve updated FoXRI to be compatible to Firefox 2.0. I haven&#8217;t had time to implement URI construction (which explains why some URI links don&#8217;t work in the FoXRI explorer). Thanks to Gabe and Ken Walsh for the reminder. No related posts. Related posts brought to you by Yet Another Related [...]
No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Just a quick mention that I&#8217;ve updated <a href="http://xri.dready.org/">FoXRI</a> to be compatible to Firefox 2.0. I haven&#8217;t had time to implement URI construction (which explains why some URI links don&#8217;t work in the FoXRI explorer).</p>
<p>Thanks to <a href="http://blog.wachob.com/">Gabe</a> and <a href="http://xreye.com/">Ken Walsh</a> for the reminder.</p>
<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://dready.org/blog/2006/11/04/foxri-updated-for-firefox-20/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FoXRI &#8211; Firefox extension for XRI (I-name and I-number)</title>
		<link>http://dready.org/blog/2006/08/04/foxri-firefox-extension-for-xri-i-name-and-i-number/</link>
		<comments>http://dready.org/blog/2006/08/04/foxri-firefox-extension-for-xri-i-name-and-i-number/#comments</comments>
		<pubDate>Fri, 04 Aug 2006 05:09:30 +0000</pubDate>
		<dc:creator>wil</dc:creator>
				<category><![CDATA[iname]]></category>
		<category><![CDATA[xri]]></category>

		<guid isPermaLink="false">http://dready.org/blog/2006/08/04/foxri-firefox-extension-for-xri-i-name-and-i-number/</guid>
		<description><![CDATA[I&#8217;ve developed a Firefox extension that allows the use of XRI&#8216;s in the browser. You can install it over at my i-name landing page http://xri.dready.org/=wil What you can do: Type in =foo or @bar on the URL bar and have it redirect to the proxy resolution service. You can also type in the full XRI [...]
No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve developed a Firefox extension that allows the use of <acronym title="Extensible Resource Identifiers">XRI</acronym>&#8216;s in the browser. You can install it over at my i-name landing page <a href="http://xri.dready.org/=wil" title="Wil's I-name">http://xri.dready.org/=wil</a></p>
<p>What you can do:</p>
<ul>
<li>Type in <code>=foo</code> or <code>@bar</code> on the URL bar and have it redirect to the proxy resolution service.</li>
<li>You can also type in the full XRI i.e. <code>xri://=foo</code></li>
<li>You can click on <code>xri://</code> links, here&#8217;s an example: <a href="xri://@NeuStar">xri://@NeuStar</a> <small>(don&#8217;t click on it unless you have the extension installed!)</small></li>
</ul>
<p>Note that you can&#8217;t link to the shorthand notation of <code>=foo<br />
</code> because it is not an absolute XRI, and therefore will be resolved in the context of the linking page.</p>
<p>Disclaimer: This should be considered pre-pre-pre alpha software and it comes with absolutely no warranty. I do not accept any responsibility for any consequence directly or indirectly caused by the use of this extension. If your browser implodes don&#8217;t blame me.</p>
<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://dready.org/blog/2006/08/04/foxri-firefox-extension-for-xri-i-name-and-i-number/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I-names Launch Celebration</title>
		<link>http://dready.org/blog/2006/07/19/i-names-launch-celebration/</link>
		<comments>http://dready.org/blog/2006/07/19/i-names-launch-celebration/#comments</comments>
		<pubDate>Wed, 19 Jul 2006 11:19:10 +0000</pubDate>
		<dc:creator>wil</dc:creator>
				<category><![CDATA[iname]]></category>

		<guid isPermaLink="false">http://blog.dready.org/2006/07/19/i-names-launch-celebration/</guid>
		<description><![CDATA[Les sent me this bottle of Shiraz so I can join the I-names registry launch &#8211; remotely. After the official launch, and we verified that everything was going well, the registry team gathered at his office. I was the telephone on Les&#8217;s desk, cheering and toasting everyone for the hard work. Except I did not [...]
No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Les sent me this bottle of Shiraz so I can join the I-names registry launch &#8211; remotely. After the official launch, and we verified that everything was going well, the registry team gathered at his office. I was the telephone on Les&#8217;s desk, cheering and toasting everyone for the hard work. Except I did not open the wine because it was early morning for me here in the outback. So, I took a photo of it with my new Canon 350D and kept it until now. It turned out to be very tasty. Normally I don&#8217;t dig red wines much because it&#8217;s just too &#8220;bloody&#8221;, but this one&#8217;s different. This one taste like I-names <img src='http://dready.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><img src="http://static.zooomr.com/images/bdf8c876db993025230881ec014f502f8194d917.jpg" alt="Penny's Hill Red Dot Shiraz" /></p>
<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://dready.org/blog/2006/07/19/i-names-launch-celebration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

