Dave Winer of
UserLand Software posted an interesting article about ways to replicate membership data between web sites. He is asking for an open standard that is competing with Microsoft's Passport system
http://www.xmlrpc.com/discuss/msgReader$1780
Just posting this here to fuel a discussion on how this relates to TWiki.
--
PeterThoeny - 17 Jul 2001
Doesn't this essentially boil down to just a directory service really? This problem is faced by a
DistributedTWiki
system as well, and at the moment since we're since one of these up, we're looking into how best to do this.
Currently though there doesn't seem to be any clear cut way of doing it, but it would be
really nice. As an
initial fudge, we're seriously contemplating simply exporting our LDAP system (which we use to authenticate Twiki
by) into Twiki through a filter program to side step the issue. (Also auto-registers everyone in the company - which has the downside that you don't really know who's using it or not - which leads to the possibility of auto-registration on demand, which is a possibility)
In a generic environment, it strikes me that an
XML based directory service would probably be the best appraoch.
Something simple like: (fragments)
<preferences>
<user id="101011" loginid="SomeReallyLongLoginIdPerhaps" />
<password onfile="yes" authserver=""> </password>
<publickey> </publickey>
<realm id="Codev" server="TWiki.org" path="/cgi-bin/">
Twiki specific variables here - could even simply be in twiki format - as long as the data doesn't break
the XML config - which could be protected against by using a CDATA block.
</realm>
<realm id="DavesPlace" server="userland.org" path="/cgi-bin/">
Userland specific variables here - could even simply be in twiki format - as long as the data doesn't break
the XML config - which could be protected against by using a CDATA block.
</realm>
<realm id="Shared" server="*" path="/">
<short name="SomeVariableName" value="The Short Value" typehint="string" />
<block name="SomeVariableName" typehint="CDATA:XML:Schema">
</block>
<List name="SomeVariableName">
<short name="SomeVariableName" value="The Short Value" typehint="string" />
<block name="SomeVariableName" typehint="CDATA:XML:Schema">
</block>
<unnamedshort value="The Short Value" typehint="string" />
<unnamedblock typehint="CDATA:XML:Schema">
</unnamedblock>
</List>
</realm>
</preferences>
The key problem though is how to perform user validation & authentication, especially given people change
emails & forget passwords, and the desire not to have a single cetralised system like the MS passport site. I probably ought to take a look at that article now

If looking for a variable, you first search for the closest matching realm, and then work outwards. Obviously the ability to have sub-realms would be useful as well...
The one thing this would
have to provide though is a way for the user to ask the server for a copy of
everything held by the server on the user. (To not do so would break the UK
DataProtectionAct)
--
TWikiGuest - 18 Jul 2001