On Thu, 04 Nov 2004 22:47:01 +0000, Matt Goodall
One of the problems with guard is that there is no API exposed. It might be nice if guard remembered an IGuard interface for application code to use. What that would look like and how it would behave is something I have not considered.
Actually I think the current implementation is better since it's completely unaware of what it is guarding, thus making it really pluggable and easy to remove. Probably, a good thing to do is to set as a component the current avatarId in the session. So that from application code one could say: ICurrentUser(inevow.IRequest(ctx)).name/login/some_other_stuff and probably also provide some functionality to set some default 'rememberings' which I currently do with the RememberResourceWrapper
My rewrite is *much* simpler. It's not as complete as nevow.guard although it does work and has the distinct advantage that it does not create a session until it's really needed.
indeed it's far better than current nevow and a lot easier to hack.
Valentino (aka dialtone) recently started patching my version in an attempt to bring it inline with the real guard. He's even started calling it newguard ;-). I guess this is a case of "watch this space"
Ehe :), If can get things to work as I want, and get some help from Tv, newguard should be ready soon. Right now it works fairly well and it's backwards compatible with old guard. And, as I wrote in the note inside guard.py, I'm willing to write some support for database session storage, which will come in handy for my next university project about distributed systems. -- Valentino Volonghi aka Dialtone Now running FreeBSD 5.3-beta6 Blog: http://vvolonghi.blogspot.com Home Page: http://xoomer.virgilio.it/dialtone/