<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18999">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>Hi Tony,</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>I read your very interesting evaluation of ST, and
I agree completelly with your point of view.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>I have been working with ST for about 30 year (with
a previous exerience of programming of 15 year with COBOL, Fortran RPG and other
languages) and I am sure you are right; I endorse every word of your
presentation.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>I will forward your analisys to my students at
Universitŕ Cattolica del Sacro Cuore di Brescia, where I organized, some years
ago, an ESUG event.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Thank you very much for your valuable
work!</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Lorenzo</FONT></DIV>
<DIV> </DIV>
<DIV>----- Original Message ----- </DIV>
<BLOCKQUOTE
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<DIV
style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B>
<A title=tony.fleig@gmail.com href="mailto:tony.fleig@gmail.com">Tony
Fleig</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A
title=seaside@lists.squeakfoundation.org
href="mailto:seaside@lists.squeakfoundation.org">Seaside - general
discussion</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Saturday, January 22, 2011 10:40
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [Seaside] Redirect to the
previous page</DIV>
<DIV><BR></DIV>I wrote a somewhat easier-to-understand version of the TF-Login
Guide paragraphs here: <A
href="http://www.tonyfleig.com/smallthoughts/Seaside/deferredlogin">http://www.tonyfleig.com/smallthoughts/Seaside/deferredlogin</A>.<BR><BR>TF<BR><BR>On
Fri, Jan 21, 2011 at 6:13 PM, Tony Fleig <<A
href="mailto:tony.fleig@gmail.com">tony.fleig@gmail.com</A>> wrote:<BR>>
There is a feature in my TFLogin package that seems like it provides<BR>>
something like what you want. Registration confirmation may happen in<BR>>
another session, particularly if email confirmation is used. TFLogin<BR>>
allows the application to save state in the "pending user" object.<BR>>
When the registration is confirmed, that same user object is present<BR>>
in the new session and can be used to restore the user's state. This<BR>>
can also be used without email confirmation as well in which case it<BR>>
works essentially the same way except that no new session is
created.<BR>><BR>> Maybe TFLogin or something along the same lines
would work for you.<BR>><BR>> Here is the relevant excerpt from the
TFLogin documentation:<BR>><BR>> New user initialization<BR>><BR>>
If you provide a one-argument block to the<BR>>
TLLoginComponent>>#onRegistration: method, your block will be<BR>>
evaluated with pending new user objects before the registration email<BR>>
confirmation (if any) is sent. Your block should answer true to allow<BR>>
the registration to proceed, or false to cancel the registration<BR>>
without further interaction with the user. If you return false, you<BR>>
should arrange to inform the user as to why their registration attempt<BR>>
is being rejected.<BR>><BR>> In your onRegistration block, you can
populate the new user's<BR>> applicationProperties dictionary with initial
values. This can be<BR>> useful if, for example, you have allowed an
unregistered user to work<BR>> at your website and for them to save their
work you require them to<BR>> register for an account. Since the
registration confirmation will take<BR>> place in another session the
question arises as to where to save their<BR>> work during the registration
confirmation process (and how to dispose<BR>> of it if the registration is
not confirmed.) Saving the user's work in<BR>> the pending user object's
applicationProperties dictionary provides<BR>> the answer. When the new
user logs in the first time, anything placed<BR>> in their
applicationProperties dictionary in the onRegister block will<BR>> be
present in their TLSession user object.<BR>><BR>> Here is an example
onRegistration block in which userObjects are saved<BR>> in the pending
user's<BR>><BR>> applicationProperties:<BR>>
loginComponent: onRegistration: [ :pendingUser |<BR>>
pendingUser applicationProperties<BR>>
at: 'userObjects'<BR>>
put: self userObjects.<BR>>
true]<BR>><BR>> TFLogin is available at <A
href="http://www.squeaksource.com/TFLogin">http://www.squeaksource.com/TFLogin</A>.<BR>><BR>>
Regards,<BR>> TF<BR>><BR>><BR>> On Fri, Jan 21, 2011 at 12:28 PM,
Sebastian Van Lacke<BR>> <<A
href="mailto:svanlacke@caesarsystems.com">svanlacke@caesarsystems.com</A>>
wrote:<BR>>><BR>>> Thanks Sebastian,<BR>>><BR>>> In my
website log in is optional, so I can´t dispatch to the login or the
application.<BR>>> I have a link at the top of all the pages for login,
and when the user click it, I announce that Login was selected, and the root
component render it. Then, once the user has logged in I want to take it back
to the previous page, where the user has clicked
login.<BR>>><BR>>> Any idea? Has the session the navigation
history?<BR>>><BR>>> Thanks<BR>>><BR>>> Sebastián Van
Lacke<BR>>><BR>>>
_______________________________________________<BR>>> seaside mailing
list<BR>>> <A
href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</A><BR>>>
<A
href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</A><BR>>><BR>><BR><BR>
<P>
<HR>
<P></P>_______________________________________________<BR>seaside mailing
list<BR>seaside@lists.squeakfoundation.org<BR>http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside<BR></BLOCKQUOTE></BODY></HTML>