]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/Separate_OpenIDs_and_usernames.mdwn
this sounds like the correct approach
[git.ikiwiki.info.git] / doc / todo / Separate_OpenIDs_and_usernames.mdwn
index ae427d5400959a9493f259aa934d9bcbeed6e330..fcdb49f6d2c641a92e2742367750c36f651bf74c 100644 (file)
@@ -13,17 +13,37 @@ A slightly more complex next step would be to request sreg from the provider and
 > implemented as a badly-done wart on the side of their regular login
 > system.
 > 
-> Openid Simple Registration is now used to populate the userdb with the
-> email address for openid users.
+> The openid plugin now attempts to get an email and a username, and stores
+> them in the session database for later use (ie, when the user edits a
+> page).
 > 
 > I am considering displaying the userid or fullname, if available,
-> instead of the munged openid url in recentchanges. It would be nice
-> for those nasty [[google_openids|forum/google_openid_broken?]]. But,
-> I first have to find a way to encode the name in the VCS commit log,
+> instead of the munged openid url in recentchanges and comments.
+> It would be nice for those nasty [[google_openids|forum/google_openid_broken?]].
+> But, I first have to find a way to encode the name in the VCS commit log,
 > while still keeping the openid of the committer in there too.
 > Perhaps something like this (for git): --[[Joey]] 
 > 
->      Author: Joey Hess <http://joey.kitenet.net/@web>
+>      Author: Joey Hess &lt;http://joey.kitenet.net/@web&gt;
+> 
+> Only problem with the above is that the openid will still be displayed
+> by CIA. Other option is this, which solves that, but at the expense of
+> having to munge the username to fit inside the email address,
+> and generally seems backwards: --[[Joey]] 
+> 
+>      Author: http://joey.kitenet.net/ &lt;Joey_Hess@web&gt;
+> 
+> So, what needs to be done:
+> 
+> * Change `rcs_commit` and `rcs_commit_staged` to take a session object,
+>   instead of just a userid. (For back-compat, if the parameter is 
+>   not an object, it's a userid.) Bump ikiwiki plugin interface version.
+> * Modify all RCS plugins to include the session username somewhere
+>   in the commit, and parse it back out in `rcs_recentchanges`.
+> * Modify recentchanges plugin to display the username instead of the
+>   `openiduser`.
+> * Modify comment plugin to put the session username in the comment
+>   template instead of the `openiduser`.
 
 Unfortunately I don't speak Perl, so hopefully someone thinks these suggestions are good enough to code up. I've hacked on openid code in Ruby before, so hopefully these changes aren't all that difficult to implement. Even if you don't get any data via sreg, you're no worse off than where you are now, so I don't think there'd need to be much in the way of error/sanity-checking of returned data. If it's null or not available then no big deal, typing in a username is no sweat.