Excellent. Looking forward you seeing your code contributed.

Are you interested in refactoring furnace.sessions to allow alternate
session storage as well? Right now its hard-coded to use the database,
but it could also use in-memory sessions (faster performance, no
failover) or couchdb (for people who don't want an RDBMS at all).

Slava

On Sun, Feb 21, 2010 at 10:27 PM, Alex Drummond
<a.d.drumm...@googlemail.com> wrote:
> Oops, when I switched back to using allow-edit-profile instead of the
> hack in the previous email, it worked fine.
>
> I guess there must previously have been a bug in my update-user method
> which somehow led me to think that it wasn't being called at all. (I
> am just using <login-realm>, so there wouldn't have been an issue with
> call-next-method.)
>
> sorry for the false alarm...
> Alex
>
> On 21 February 2010 04:08, Slava Pestov <sl...@factorcode.org> wrote:
>> Hi Alex,
>>
>> Does the call-responder* method of your authentication realm execute
>> call-next-method? Because M: realm call-responder* calls
>> save-user-after, which sets up a destructor that will call update-user
>> when the request is done. If you implement the update-user generic
>> word then editing the profile should work.
>>
>> Slava
>>
>> On Sun, Feb 21, 2010 at 9:59 PM, Alex Drummond
>> <a.d.drumm...@googlemail.com> wrote:
>>> Hi,
>>>
>>> I've written an implementation of the furnace authentication provider
>>> protocol for couchdb. I decided to do a direct implementation, rather
>>> than write a tuple db interface for couchdb, since when using couchdb
>>> you need to jump through various hoops in order to ensure the
>>> uniqueness of usernames and email addresses.
>>>
>>> It's all working fine, except that the <edit-profile> controller is
>>> not saving the modified user tuple back to the DB. I see that it sets
>>> the changed? flag of the tuple once its submit action finishes, but
>>> I'm having trouble working out how I should hook into whatever method
>>> is supposed to get called in order to commit the update to the DB.
>>>
>>> It works fine if I use the following nasty code to manually ensure
>>> that a <user-saver> is created, and its destructor called:
>>>
>>>    <edit-profile-action>
>>>    [
>>>            responder>> [
>>>                 [
>>>                        call( -- response )
>>>                        logged-in-user get <user-saver> dispose
>>>                 ] curry
>>>            ] change-submit drop
>>>    ]
>>>    [ <auth-boilerplate> "edit-profile" add-responder ]
>>>    bi
>>>
>>> But this is pretty ugly, and I'd like to know what the Right Way is,
>>> if there is one. Any help appreciated.
>>>
>>> Alex
>>>
>>> ------------------------------------------------------------------------------
>>> Download Intel&#174; Parallel Studio Eval
>>> Try the new software tools for yourself. Speed compiling, find bugs
>>> proactively, and fine-tune applications for parallel performance.
>>> See why Intel Parallel Studio got high marks during beta.
>>> http://p.sf.net/sfu/intel-sw-dev
>>> _______________________________________________
>>> Factor-talk mailing list
>>> Factor-talk@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/factor-talk
>>>
>>
>> ------------------------------------------------------------------------------
>> Download Intel&#174; Parallel Studio Eval
>> Try the new software tools for yourself. Speed compiling, find bugs
>> proactively, and fine-tune applications for parallel performance.
>> See why Intel Parallel Studio got high marks during beta.
>> http://p.sf.net/sfu/intel-sw-dev
>> _______________________________________________
>> Factor-talk mailing list
>> Factor-talk@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/factor-talk
>>
>
> ------------------------------------------------------------------------------
> Download Intel&#174; Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to