Serving static files from an external web server

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

Serving static files from an external web server

cedreek
Hi

> It (seaside 2.9) is still under heavy development. Some more information is here:
> http://www.seaside.st/community/development/seaside29 and in the
> repository http://www.squeaksource.com/Seaside29.
>

Is it already usable ?

I have a smallrequest concerning the way files are served, you said
you worked on WAFileLibrary. Will the FTP addon that Colin provided be
included ?

Also, for a convenient and easy setup, I've found myself often serving
static files from an external web server (accesible by ftp), usually a
free one provided by FAI. I think it's a common pattern.

Would you find interesting to adapt the WAFileLibrary to be able to
connect to a remote FTP server ? We could even edit files through a
seaside interface (CSS, JS) and so, it could be sort of transparent to
the user. I don't know if what Colin provided support this but I think
it uses the same server (the one running squeak).

To me it's a step towards easy use of seaside (newbies one click
style). You run your image at home on your PC or whatever, and no need
to setup apache (which even if relatively straightforward is far more
complicated than doing "WAKom startOn: 8080" :) ).
Then, all static files are served through an external apache server
and doesn't causes heavy load on your personal computer. After, if
application is stabilized (if you don't want to let your computer on
all day), it can be set up on seaside hosting by just uploading the
image.

What do you think ?

Cédrick

ps: I have Pier at home, 200 connections/days, squeak runs fine (yes,
only 10 per hour so not really convincing), but it's up for one month
(around 5000 connections) and I still can use my computer which is a
old Athlon 3000+ :). Squeak processor uses (XP) is oscillating
beetween 2 or 5% (for one connection).

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Serving static files from an external web server

Lukas Renggli
> Is it already usable ?

Yes, but we change things heavily without further notice.

> I have a smallrequest concerning the way files are served, you said
> you worked on WAFileLibrary. Will the FTP addon that Colin provided be
> included ?

No. Somebody would have to provide that as an external plugin.

> ps: I have Pier at home, 200 connections/days, squeak runs fine (yes,
> only 10 per hour so not really convincing), but it's up for one month
> (around 5000 connections) and I still can use my computer which is a
> old Athlon 3000+ :). Squeak processor uses (XP) is oscillating
> beetween 2 or 5% (for one connection).

I can confirm that: Last sunday I had around 5000 unique visitors to
my Pier web site that also runs on an old Athlon 64 3000+ Linux box. I
didn't see any increase of CPU load either.

Cheers,
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Serving static files from an external web server

cedreek
2008/2/13, Lukas Renggli <[hidden email]>:

> > Is it already usable ?
>
> Yes, but we change things heavily without further notice.
>
> > I have a smallrequest concerning the way files are served, you said
> > you worked on WAFileLibrary. Will the FTP addon that Colin provided be
> > included ?
>
> No. Somebody would have to provide that as an external plugin.
>
And changing FileLibrary (maybe subclassing to have
WAExternalFileLibrary) so that files are held in a remote server. You
think there is an interest (I think it's different from Colin's
approach?) ?

I may give a try in I find some time :s ) but I need to load 2.9
first. Still that way ?

"Yes, the easiest way is probably to load the
Seaside-Squeak-Kom-Full-lr.5 MCM and then either update manually or
"update from repositories"."

> I can confirm that: Last sunday I had around 5000 unique visitors to
> my Pier web site that also runs on an old Athlon 64 3000+ Linux box. I
> didn't see any increase of CPU load either.
>

yes except, you had in one day what I had in a month :) 5000 a day is
really cool. How many concurent connections at max, 30-50 ?
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Serving static files from an external web server

Lukas Renggli
> > > I have a smallrequest concerning the way files are served, you said
> > > you worked on WAFileLibrary. Will the FTP addon that Colin provided be
> > > included ?
> >
> > No. Somebody would have to provide that as an external plugin.
> >
> And changing FileLibrary (maybe subclassing to have
> WAExternalFileLibrary) so that files are held in a remote server. You
> think there is an interest (I think it's different from Colin's
> approach?) ?

Aha, well that's already there. It is called WAFileDirectory and you
can add it from the dispatcher configuration. In the configuration of
WAFileDirectory you can then specify a directory on your file-system
and there you go ...

Right now it is in the core, but it will probably soon move to its own
package. It currently only works on Linux and OS X. Probably not on
Windows. I guess we have to use SPORT to make it work on all platforms
on all OS?

> I may give a try in I find some time :s ) but I need to load 2.9
> first. Still that way ?

There are  some hints on squeaksource.com and on seaside.st. It will
become simpler in the future ...

> "Yes, the easiest way is probably to load the
> Seaside-Squeak-Kom-Full-lr.5 MCM and then either update manually or
> "update from repositories"."

Yes, try that.

> > I can confirm that: Last sunday I had around 5000 unique visitors to
> > my Pier web site that also runs on an old Athlon 64 3000+ Linux box. I
> > didn't see any increase of CPU load either.
> >
>
> yes except, you had in one day what I had in a month :) 5000 a day is
> really cool. How many concurent connections at max, 30-50 ?

Counting the entries in the log gives approximately 1.54 hits a second
on Squeak, Seaside and Pier. Not much.

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Serving static files from an external web server

cedreek
>
> > "Yes, the easiest way is probably to load the
> > Seaside-Squeak-Kom-Full-lr.5 MCM and then either update manually or
> > "update from repositories"."
>
> Yes, try that.

Uhm, it does't load....  All the Seaside-Squeak-Kom-Full.mcz raise an
error. Also, I cannot find these files in the squeaksource page. I'll
load one-by one. The dependency graph is cool :)
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Serving static files from an external web server

cedreek
Arf, I tried in a new damien squeak-dev  (sq3.10-7159dev08.02.1) and
now it's loading... until I was told SeasidePlatformSupport was
needed... when initialising WAExternalID. I just delayed the
initialization and a problem with comet initialization too... again
delayed and

just need to load DynamicBindings, KomServices and KomHttpServer from
squeakMap, and it works :)

Thanks

Cédrick


> >
> > > "Yes, the easiest way is probably to load the
> > > Seaside-Squeak-Kom-Full-lr.5 MCM and then either update manually or
> > > "update from repositories"."
> >
> > Yes, try that.
>
> Uhm, it does't load....  All the Seaside-Squeak-Kom-Full.mcz raise an
> error. Also, I cannot find these files in the squeaksource page. I'll
> load one-by one. The dependency graph is cool :)
>

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Serving static files from an external web server

cedreek
For those interested who want to try 2.9... here is the image I just
built (http://cdrick.free.fr/seaside29-built13Feb.rar), it's based on
the last Damien squeak-dev beta  .

I just updated to the last packages. Just keep in mind it's work in progress...

Cédrick

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Serving static files from an external web server

Sophie424
In reply to this post by cedreek
"cdrick" <[hidden email]> wrote

> And changing FileLibrary (maybe subclassing to have
> WAExternalFileLibrary) so that files are held in a remote server. You
> think there is an interest (I think it's different from Colin's
> approach?) ?

If I understand correctly, I believe the main difference is:

1) Colin's customized FTP interface:
  - file is stored inside image
  - external client sees, edits, saves it as an FTP file
  - internally file is served via FTP, "saved" by compiling into string
  - needs a bit of work to interface to WAFileLibrary (currently OBWeb)

2) Seaside 2.9:
  - file is stored on file-system
  - WAFileDirectory knows to read and serve from filesystem

Main advantage of 2)
  - file is directly available to any desktop client
  - nothing to change to serve file externally statically e.g. via Apache

Main advantage of 1)
  - file is Monticello versioned with other code (would this be a difficulty
with 2?)

Anywhere close to true?

- Sophie



_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Serving static files from an external web server

Yar Hwee Boon-3
I am still wrapping my head around how WAFileLibrary is working in
v2.8. But I would suggest to leave WAFileLibrary as it is in 2.8, but
provide the ability to toggle the behavoir of WAFileLibrary /
#myResourceName to generate url between (a) the current way - served
by Seaside, and (b) another static path.

Resources can continue to be versioned in MC. For smaller deployments
or quick testing purposes, (a) can be used without requiring any
additional set up. (b) can be used to serve the resources via KOM,
Swazoo, httpd, etc. Other than for production/efficiency purposes, a
key advantage of (b) is that during development, changing a JS/CSS
file on disk will instantly reflect upon browser refresh...

Additional interfaces such as FTP/webdav access can simply be built on
top of a static file, via (b).

--
Hwee-Boon
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Serving static files from an external web server

Philippe Marschall
In reply to this post by Lukas Renggli
2008/2/13, Lukas Renggli <[hidden email]>:

> > > > I have a smallrequest concerning the way files are served, you said
> > > > you worked on WAFileLibrary. Will the FTP addon that Colin provided be
> > > > included ?
> > >
> > > No. Somebody would have to provide that as an external plugin.
> > >
> > And changing FileLibrary (maybe subclassing to have
> > WAExternalFileLibrary) so that files are held in a remote server. You
> > think there is an interest (I think it's different from Colin's
> > approach?) ?
>
> Aha, well that's already there. It is called WAFileDirectory and you
> can add it from the dispatcher configuration. In the configuration of
> WAFileDirectory you can then specify a directory on your file-system
> and there you go ...
>
> Right now it is in the core, but it will probably soon move to its own
> package. It currently only works on Linux and OS X. Probably not on
> Windows. I guess we have to use SPORT to make it work on all platforms
> on all OS?

+1, move it own package, use SPort, use WALRUCache
The alternative is bloating SeasidePlatformSupport with all the
required functionality (like path separator).

Cheers
Philippe

> > I may give a try in I find some time :s ) but I need to load 2.9
> > first. Still that way ?
>
> There are  some hints on squeaksource.com and on seaside.st. It will
> become simpler in the future ...
>
> > "Yes, the easiest way is probably to load the
> > Seaside-Squeak-Kom-Full-lr.5 MCM and then either update manually or
> > "update from repositories"."
>
> Yes, try that.
>
> > > I can confirm that: Last sunday I had around 5000 unique visitors to
> > > my Pier web site that also runs on an old Athlon 64 3000+ Linux box. I
> > > didn't see any increase of CPU load either.
> > >
> >
> > yes except, you had in one day what I had in a month :) 5000 a day is
> > really cool. How many concurent connections at max, 30-50 ?
>
> Counting the entries in the log gives approximately 1.54 hits a second
> on Squeak, Seaside and Pier. Not much.
>
> Lukas
>
> --
> Lukas Renggli
> http://www.lukas-renggli.ch
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Serving static files from an external web server

Sophie424
In reply to this post by Yar Hwee Boon-3
"Yar Hwee Boon" <[hidden email]> wrote

> Resources can continue to be versioned in MC.

I do not think MC can version things like external files (though I can see
that being useful), just classes and methods in the image.

- Sophie



_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Serving static files from an external web server

Philippe Marschall
2008/2/13, itsme213 <[hidden email]>:
> "Yar Hwee Boon" <[hidden email]> wrote
>
> > Resources can continue to be versioned in MC.
>
> I do not think MC can version things like external files (though I can see
> that being useful), just classes and methods in the image.

That's why the hack known as WAFileLibrary exists. It turns external
files into classes and methods in the image.

Cheers
Philippe
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Serving static files from an external web server

Sophie424
"Philippe Marschall" <[hidden email]> wrote in message

>> I do not think MC can version things like external files (though I can
>> see
>> that being useful), just classes and methods in the image.
>
> That's why the hack known as WAFileLibrary exists. It turns external
> files into classes and methods in the image.

True, that's how I am using it.

Once imported is there some way to work on the external file (using external
tools) and automatically re-import / re-compile when that is changed?

- Sophie



_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Serving static files from an external web server

Philippe Marschall
2008/2/13, itsme213 <[hidden email]>:

> "Philippe Marschall" <[hidden email]> wrote in message
>
> >> I do not think MC can version things like external files (though I can
> >> see
> >> that being useful), just classes and methods in the image.
> >
> > That's why the hack known as WAFileLibrary exists. It turns external
> > files into classes and methods in the image.
>
> True, that's how I am using it.
>
> Once imported is there some way to work on the external file (using external
> tools) and automatically re-import / re-compile when that is changed?

No, at this point you should really consider using svn + apache.

Cheers
Philippe
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Serving static files from an external web server

Yar Hwee Boon-3
On Feb 14, 2008 2:32 AM, Philippe Marschall
<[hidden email]> wrote:
> 2008/2/13, itsme213 <[hidden email]>:
> > "Philippe Marschall" <[hidden email]> wrote in message
> > Once imported is there some way to work on the external file (using external
> > tools) and automatically re-import / re-compile when that is changed?

Import/export yes. But not an effective way to refresh after changes
in a development environment. Hence my suggestion about a switch to
generating a static path.

> No, at this point you should really consider using svn + apache.

I agree that Apache (and other servers effective with static files) is
the way to go. However, in your experience, is an external source
control system necessary for the graphics, css/scripts part of an
application? Or is it really causing that much bloat in MC? Natural
static pages, etc should go into source control.

--
Hwee-Boon
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Serving static files from an external webserver

Sophie424
In reply to this post by Philippe Marschall
"Philippe Marschall" <[hidden email]> wrote in message

>> Once imported is there some way to work on the external file (using
>> external
>> tools) and automatically re-import / re-compile when that is changed?
>
> No, at this point you should really consider using svn + apache.

Ah, ok.

Do you think perhaps Colin's approach of keeping things in the image
(getting MC benefits), and making it available to modification by external
tools (via ftp) might be a good option too? svn would make a quite hard
divide from MC.

Sophie



_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Serving static files from an external web server

Philippe Marschall
In reply to this post by Yar Hwee Boon-3
2008/2/13, Yar Hwee Boon <[hidden email]>:
> I am still wrapping my head around how WAFileLibrary is working in
> v2.8. But I would suggest to leave WAFileLibrary as it is in 2.8, but
> provide the ability to toggle the behavoir of WAFileLibrary /
> #myResourceName to generate url between (a) the current way - served
> by Seaside, and (b) another static path.

Hi

Would you find filing a bug for this at: http://bugs.squeak.org/
(squeak packages, seaside) so that it doesn't get lost?

Cheers
Philippe

> Resources can continue to be versioned in MC. For smaller deployments
> or quick testing purposes, (a) can be used without requiring any
> additional set up. (b) can be used to serve the resources via KOM,
> Swazoo, httpd, etc. Other than for production/efficiency purposes, a
> key advantage of (b) is that during development, changing a JS/CSS
> file on disk will instantly reflect upon browser refresh...
>
> Additional interfaces such as FTP/webdav access can simply be built on
> top of a static file, via (b).
>
> --
> Hwee-Boon
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Serving static files from an external web server

Yar Hwee Boon-3
On Feb 14, 2008 5:16 AM, Philippe Marschall
>
> Would you find filing a bug for this at: http://bugs.squeak.org/
> (squeak packages, seaside) so that it doesn't get lost?

Done. 0006922.

--
Hwee-Boon
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside