[Seaside] Seaside authentication/login/user account package

Tony Fleig tony.fleig at gmail.com
Sat Jan 8 20:04:50 UTC 2011


I have published yet another updated TFLogin package to
http://www.squeaksource.com/TFLogin.

In addition to bugfixes, I added a feature allowing the host
application to implement failed login policies such as disabling
accounts after a number of failed login attempts. The test application
now implements an example of this.

Regards,
TF


On Fri, Jan 7, 2011 at 10:03 PM, Tony Fleig <tony.fleig at gmail.com> wrote:
> More bugfixes and a few new features published to
> http://www.squeaksource.com/TFLogin. I'm done for the day.
>
> TF
>
>
> On Fri, Jan 7, 2011 at 12:53 PM, Tony Fleig <tony.fleig at gmail.com> wrote:
>> I have published an updated TFLogin package to
>> http://www.squeaksource.com/TFLogin.
>>
>> The changes are:
>>
>> The BowWave reCaptcha package is now used in place of using copies of
>> the BowWave classes.
>>
>> The ability to delete user accounts has been added.
>>
>> The host application may now make use of TFLogin's email confirmation
>> mechanism for its own purposes.
>>
>> The documentation has been updated to reflect the above changes.
>>
>> Regards,
>> TF
>>
>>
>> On Fri, Jan 7, 2011 at 7:58 AM, Tony Fleig <tony.fleig at gmail.com> wrote:
>>> Alex,
>>>
>>> Thank you for noticing those uncapitalized class variables. They are
>>> in fact unused so I have removed them. (I'm sure there are many more
>>> issues like this in the code.)
>>>
>>> Thank you also for producing the BowWave reCaptcha package that I used.
>>>
>>> I actually made more changes to the BowWave code than simply copying
>>> and renaming. At the time I downloaded it, sometime in November or
>>> early December 2010, I had to make some changes (small ones, I don't
>>> remember exactly what now) to allow it to function in Pharo
>>> 1.1/Seaside 3.0 and I changed it to use callbacks store: as well. I
>>> assumed since there had been no activity in the package for nearly a
>>> year and since it wouldn't work out-of-the-box that it was not being
>>> maintained any longer. (I see now it would have been better for me to
>>> have sent you an email about it.)
>>>
>>> I didn't want to distribute a package that depended on a another
>>> package that was not kept current, so I incorporated the BW components
>>> into TFLogin.
>>>
>>> I see now that the you have made the same changes that I did and
>>> clearly the package is still being maintained. I would certainly
>>> prefer to have you maintaining the reCaptcha stuff and I believe in
>>> code reuse generally so I will remove the TL reCaptcha classes in
>>> TFLogin and simply require the BowWave packages be present if the
>>> reCaptcha option is used in TFLogin. (And of course update the
>>> documentation to reflect the change and direct the user to the BowWave
>>> reCaptcha package.)
>>>
>>> This may take me a day or two.
>>>
>>> Thanks again for the BowWave reCaptcha package and for reviewing TFLogin.
>>>
>>> Regards,
>>> TF
>>>
>>>
>>>
>>> On Fri, Jan 7, 2011 at 3:14 AM, Alexander Lazarević <laza at blobworks.com> wrote:
>>>> Tony,
>>>>
>>>> nice work indeed. Two things
>>>>
>>>> Class variable names should be capitalized, so in TLApplicationPropertyItem
>>>> with displayName and userModifiable.
>>>>
>>>> I saw that you just copied over my reCaptcha implementation from
>>>> http://www.squeaksource.com/BowWave into your package only changing the
>>>> Classnameprefix from BW to TL and leaving out one configuration class.
>>>> I just wonder why it wasn't possible for you to just use the component as it
>>>> is and you were forced to do a plain copy&paste?
>>>>
>>>> Alex
>>>>
>>>> 2011/1/6 Tony Fleig <tony.fleig at gmail.com>
>>>>>
>>>>> Hello all,
>>>>>
>>>>> I have just published the TFLogin package at
>>>>> http://www.squeaksource.com/TFLogin.
>>>>>
>>>>> This package provides basic user authentication, registration, and
>>>>> account management for Seaside.
>>>>>
>>>>> Features include:
>>>>>
>>>>>    . User login component with username and password text fields,
>>>>> forgot username, forgot password, register, and login buttons.
>>>>>
>>>>>    . User registration component with optional reCaptcha spambot
>>>>> protection.
>>>>>
>>>>>    . Edit account settings component allows user to change username,
>>>>> password, email address and application-specific properties.
>>>>>
>>>>>    . Optional email confirmation for registration and account
>>>>> changes. Email content is provided by the host application. Examples
>>>>> are included.
>>>>>
>>>>>    . Multi-part HTML/plain text email.
>>>>>
>>>>>    . Configurable confirmation email timeouts and cookie retention
>>>>> periods.
>>>>>
>>>>>    . Forgot username and forgot password support.
>>>>>
>>>>>    . Options to allow empty passwords, remember username in cookie,
>>>>> and automatic login on return to the website.
>>>>>
>>>>>    . Add additional user-related objects to the account edit form.
>>>>>
>>>>>    . An application properties dictionary is provided that allows you
>>>>> to store and retrieve additional objects along with the user account
>>>>> information.
>>>>>
>>>>>    . All settings are available in the Seaside configuration page.
>>>>>
>>>>>    . Test/demo application included.
>>>>>
>>>>>    . TFLogin Guide document included (see the Wiki tab.)
>>>>>
>>>>> Persistence is provided by a storage adaptor that can be replaced with
>>>>> the persistence mechanism of your choice. The default provided is a
>>>>> reasonably scalable file-based system using ReferenceStreams. Each
>>>>> user's information is saved in a separate versioned file.
>>>>>
>>>>> Tested with Seaside 3.0.3 and Pharo 1.1.1. Email does NOT work with
>>>>> prior versions of Seaside.
>>>>>
>>>>> See the Squeaksource project Wiki tab for the complete TFLogin Guide
>>>>> document.
>>>>>
>>>>> I have integrated this successfully with one of my own existing web
>>>>> apps and of course the test app included in the package works fine.
>>>>> This is *not* a lot of testing and this is definitely version 1.0 or
>>>>> less, so I expect bugs a-plenty will be found. I am still refactoring
>>>>> the code, but that should not change the functionality or the public
>>>>> API.
>>>>>
>>>>> All feedback is welcome.
>>>>>
>>>>> Regards,
>>>>> TF
>>>>> _______________________________________________
>>>>> seaside mailing list
>>>>> seaside at lists.squeakfoundation.org
>>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>>
>>>>
>>>> _______________________________________________
>>>> seaside mailing list
>>>> seaside at lists.squeakfoundation.org
>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>>
>>>>
>>>
>>
>


More information about the seaside mailing list