Aida/Web 5.0 alpha3 + tutorial released

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Aida/Web 5.0 alpha3 + tutorial released

Janko Mivšek
Dear all,

I prepared an updated and hopefully easily to install Aida/Web server:

        ftp://ftp.eranova.si/aida/aida-5.0-dolphin-alpha3.zip

There is already a quite complete tutorial:

        http://www.swazoo.org/aida-tutorial.html

Installation instructions:
1. unpack .zip so that you have two subdirectories: Swazoo and AIDAWeb
2. install package Swazoo.pac from directory Swazoo
3. install package AIDAWeb.pac from directory AIDAWeb
4. evaluate SwazooServer demoStart
5. open http://localhost:8888
6. login with username admin and password password

On that ocassion I'd like to thank Tim, Chris and Tk Kuo for all help
you provided to test that port. Tim, special thanks for your tutorial
corrections!

Best regards
Janko


Reply | Threaded
Open this post in threaded view
|

Re: Aida/Web 5.0 alpha3 + tutorial released

tgkuo
On Fri, 12 May 2006 22:32:40 +0200, Janko Mivsek
<[hidden email]> wrote:

>Dear all,
>
>I prepared an updated and hopefully easily to install Aida/Web server:
>
> ftp://ftp.eranova.si/aida/aida-5.0-dolphin-alpha3.zip
>
Just a little discovery...
   There is a missing of the implementation of the methods,
Timestamp>>=, Timestamp>>> and Timestamp>><, which will be called in
the Sortblock, and the WebDemoApp>>viewImageGallery,
WebDemoApp>>viewCalendar viewMethods  failed as a result.  

   The conditions corrected after reimplementation of those missing
methods.

Best regards.

Tk Kuo


Reply | Threaded
Open this post in threaded view
|

Re: Aida/Web 5.0 alpha3 + tutorial released

Tim M
In reply to this post by Janko Mivšek
I notice that when I load into a clean image I get one message in the
Transcript:

Error: UndefinedObject>>doIt at line 1: constant expected

Also on my desktop machine - I still get the error I've been describing
where logging in returns me back to the login page - and the dolphin
trascript says I have logged in as administrator.

I "cured" this on my laptop by installing FireBug to try and work out
what the problem is - so it seems like there is some nuance there.

Tim


Reply | Threaded
Open this post in threaded view
|

Re: Aida/Web 5.0 alpha3 + tutorial released

tgkuo
On 14 May 2006 17:00:42 -0700, "TimM" <[hidden email]> wrote:

Hi,
>Also on my desktop machine - I still get the error I've been describing
>where logging in returns me back to the login page - and the dolphin
>trascript says I have logged in as administrator.
>
I experienced the same problem, too, on FireFox browser when I run the
image in another machine, I debug the conditions via halt on
WebAdminApp>>actionLoginLogin method but found no significant
abnormality.

I tried on IE browser but the same. Therefore, I close all the browser
and reopen again, the problem disappeared, i.e. I can login as Admin
user without returning back to login view.

Another difficulty remained to be solved is that I cann't hit the
Aida/web server via external web address by changing the
AIDASite>>initializeDefaultSettings. quite weird...

Best regards,

Tk Kuo


Reply | Threaded
Open this post in threaded view
|

Re: Aida/Web 5.0 alpha3 + tutorial released

Janko Mivšek
In reply to this post by Tim M
I think I know where the problem is: Timezones! 'Timestamp now' returns
UTC time but it should a local time. That's very important for Aida's
caching algorithms to work correctly. It is possible that browser just
don't refresh a page if those times are not set correctly.

Has anyone more experience with timezones in Dolphin? How to implement
'Timestamp now' to return a local time?

Best regards
Janko

TimM wrote:

> I notice that when I load into a clean image I get one message in the
> Transcript:
>
> Error: UndefinedObject>>doIt at line 1: constant expected
>
> Also on my desktop machine - I still get the error I've been describing
> where logging in returns me back to the login page - and the dolphin
> trascript says I have logged in as administrator.
>
> I "cured" this on my laptop by installing FireBug to try and work out
> what the problem is - so it seems like there is some nuance there.
>
> Tim
>


Reply | Threaded
Open this post in threaded view
|

Re: Aida/Web 5.0 alpha3 + tutorial released

Chris Uppal-3
Janko,

> I think I know where the problem is: Timezones! 'Timestamp now' returns
> UTC time but it should a local time. That's very important for Aida's
> caching algorithms to work correctly. It is possible that browser just
> don't refresh a page if those times are not set correctly.

Hmm... I'd have expected cacheing and similar non-local times to be expressed
in some timezone-independent way.  From a quick look that's what Aida seems to
be doing.

There does seem to be a problem where Aida uses Timestamps for two purposes.
It uses them to represent universal times (e.g. for HTTP headers), but it also
uses them to represent local times (e.g. nightly backup times).


> Has anyone more experience with timezones in Dolphin? How to implement
> 'Timestamp now' to return a local time?

You /could/ change Timestamp class>>now to use (TimeStamp current), rather than
(TimeStamp currentUTC), but then Timestamp>>rfc1123String would give the wrong
answer (it has UTC/GMT hardwired in), and that would /definitely/ confuse
browsers -- and everthing else ;-)

    -- chris


Reply | Threaded
Open this post in threaded view
|

Re: Aida/Web 5.0 alpha3 + tutorial released

Janko Mivšek
In reply to this post by Tim M
I prepared patches to Timestamp and I invite you to try and test them.
I'm not sure that #asGMT is quite correctly implemented (does
timezoneInfo daylightBias returns 0 in winter?)

Timestamp class>>now
        | ts |
        ts := TimeStamp current.
        ^self new initializeWithDate: ts date time: ts time

Timestamp>>asGMT
        | timezoneInfo |
        timezoneInfo := Locale default timeZoneInformation at: 2.
        ^Timestamp fromSeconds: self asSeconds +
           (timezoneInfo bias * 60) +  (timezoneInfo daylightBias * 60)

Timestamp>>rfc1123String
        "Tue, 11 Oct 2005 12:02:22 GMT"
        | gmt stream |
        gmt := self asGMT.
        stream := String writeStream.
        gmt date printOn: stream format: 'ddd, dd MMM yyyy'.
        stream nextPutAll: ' '.
        gmt time printOn: stream format: 'HH:mm:ss'.
        stream nextPutAll: ' GMT'.
        ^stream contents

= aTimestamp
        ^self date = aTimestamp date and: [self time = aTimestamp time]

< aTimestamp
        ^self date < aTimestamp date or:
            [self date = aTimestamp date and:
               [self time < aTimestamp time] ]

 > aTimestamp
        ^aTimestamp < self


Best regards
Janko


TimM wrote:

> I notice that when I load into a clean image I get one message in the
> Transcript:
>
> Error: UndefinedObject>>doIt at line 1: constant expected
>
> Also on my desktop machine - I still get the error I've been describing
> where logging in returns me back to the login page - and the dolphin
> trascript says I have logged in as administrator.
>
> I "cured" this on my laptop by installing FireBug to try and work out
> what the problem is - so it seems like there is some nuance there.
>
> Tim
>


Reply | Threaded
Open this post in threaded view
|

Re: Aida/Web 5.0 alpha3 + tutorial released

Janko Mivšek
In reply to this post by Janko Mivšek
Dear all,

How is testing of this version going? Is there any more problem still
open? Otherwise I'll prepare next, beta version of Aida.

Best regards
Janko


Janko Mivsek wrote:

> Dear all,
>
> I prepared an updated and hopefully easily to install Aida/Web server:
>
>     ftp://ftp.eranova.si/aida/aida-5.0-dolphin-alpha3.zip
>
> There is already a quite complete tutorial:
>
>     http://www.swazoo.org/aida-tutorial.html
>
> Installation instructions:
> 1. unpack .zip so that you have two subdirectories: Swazoo and AIDAWeb
> 2. install package Swazoo.pac from directory Swazoo
> 3. install package AIDAWeb.pac from directory AIDAWeb
> 4. evaluate SwazooServer demoStart
> 5. open http://localhost:8888
> 6. login with username admin and password password
>
> On that ocassion I'd like to thank Tim, Chris and Tk Kuo for all help
> you provided to test that port. Tim, special thanks for your tutorial
> corrections!
>
> Best regards
> Janko


Reply | Threaded
Open this post in threaded view
|

Re: Aida/Web 5.0 alpha3 + tutorial released

Tim M
Hi Janko,

> Dear all,
>
> How is testing of this version going? Is there any more problem still
> open? Otherwise I'll prepare next, beta version of Aida.

It would be good if the WebDemoApp and associated classes were in a separate
package.

I get the line: Error: UndefinedObject>>doIt at line 1: constant expected
when I load the AidaWeb packages.

On my second desktop machine I am still unable to login using firefox (even
with your time patches) - however IE works perfectly on that machine.

On my laptop - I can use Firefox after installing FireBug (wierd I know),
and IE behaves strangely in that it never properly loads.

So there is definitely something amiss somewhere. I haven't had a chance
to try etherreal and thought I should try and keep my desktop clean as a
test case. I should possibly try unloading firebug on my laptop and see if
it comes back?

Both machines are winXp sp2.

Tim


Reply | Threaded
Open this post in threaded view
|

Re: Aida/Web 5.0 alpha3 + tutorial released

Chris Uppal-3
In reply to this post by Janko Mivšek
Janko Mivsek wrote:

> How is testing of this version going? Is there any more problem still
> open?

It still has the problem where it can /silently/ ignore internal errors, and
also the problem where browsers closing connections cause errors (which are in
fact silently ignored).  As I suggested before, try changing
HTTPConnection>>interact so that it at least logs unhandled errors.

=========
interact
 self loop:
   ([[[self getAndDispatchMessages] repeat] on: Error do: [:ex | ex notify.
self close]]
     forkAt: Processor userBackgroundPriority)
=========

If you also add a #halt to HTTPConnection>>handleError:, browse the test site
with FireFox (or any other modern browser, it seems), and then wait for a few
minutes (5 on my machine) without doing any more browsing, then FireFox will
timeout and close the connection(s) it had been keeping open, which triggers
errors inside Aida.  You'll also see that the implementation of handleError: is
broken since it uses #getSignal and #originator which are not defined anywhere.

Now I look at it again, these are both part of Swazoo, rather than Aida.  Maybe
one of the other Dolphin ports already has these problems fixed.

Apart from that it seems to be working well.  Thanks.

    -- chris


Reply | Threaded
Open this post in threaded view
|

Re: Aida/Web 5.0 alpha3 + tutorial released

Janko Mivšek
Hi Chris,

Chris Uppal wrote:
> It still has the problem where it can /silently/ ignore internal errors, and
> also the problem where browsers closing connections cause errors (which are in
> fact silently ignored).  As I suggested before, try changing
> HTTPConnection>>interact so that it at least logs unhandled errors.

This is done intentionally to suppress any network related errors (like
browser timeout as you noticed). This also suppress Swazoo internal
errors, like HTTP request parsing errors, but I'm quite sure there are
no more such errors. If such error occurs, you get back a blank page.

For Aida internal and your web app error catching there is another
exception handling in method AIDASite>>answerTo:. There I put one self
halt for now. This catching should be nice to be done more a Dolphin
way. Original idea was to show a stack as a web page and also raise an
UHE, but just raising UHE is good enough also. Maybe you can you look
and correct this method?

Janko


Reply | Threaded
Open this post in threaded view
|

Re: Aida/Web 5.0 alpha3 + tutorial released

Tim M
In reply to this post by Janko Mivšek
Hi Janko,

> Dear all,
>
> How is testing of this version going? Is there any more problem still
> open? Otherwise I'll prepare next, beta version of Aida.
>


Here's a method I spotted when poking around:

printWebPageFor: marked obsolete and only one caller?