[Seaside] How to put an app into deployment mode
dave at corcor.de
Thu Jun 4 19:00:37 UTC 2009
Julian Fitzell schrieb:
> 2009/6/4 Cornelius Brümmer <dave at corcor.de>:
>> Hi all,
>> I'm totally on Pharo and Seaside 2.9 and it works like a charm for my
>> needs. I built a little management application that works behind a
>> cherokee webserver.
>> But now I wanted to get rid of the deployment mode and I can't find a
>> way to do it.
> There isn't really a good equivalent in 2.9 yet... one of the reasons
> it's still called an alpha. :)
Might sound crazy, but thats one (amongst other) reasons I choose it.
Not that I tend to masochistic behaviour, but I expect 2.9 to be a very
solid base for development and I plan to develop most applications on
top of it.
> If you want to remove applications, just delete them with the web
> configuration UI. You can delete whole groups of them by deleting the
> dispatcher that contains them. Note that you can also now run multiple
> server adaptors on different ports so that you could leave the config
> UI, for example, on a more heavily firewalled port and have only your
> deployed application on the other.
> At that point, it's even possible that you don't need a dispatcher at
> all. For example, you ought to be able to just register the
> application as the root handler like so:
> (WAKom port: 8081)
> requestHandler: (MyApplication new);
> You could also use "WAKom default" or "WAServerManager instance
> adaptors detect: [ :ea | ... ]" to change the request handler on the
> existing instance. And note that there is an OmniBrowser based control
> panel which should be registered in the World menu, which will help
> you figure out what adaptors are currently running.
That's a very cool tip. Thank you. I will try a few combinations of your
suggestions to see what is most usefull for me. Currently I "compose"
all Seaside-Apps from different ST-images with a bunch of rewrite rules
within Cherokee. Cherokee handles the static content, gives
authentication, load balancing, HTTPS etc... and at some virtual paths
seaside applications jump in and provide rapid to develop
admin-applications for the users. Maybe not perfect, but works better as
expected at first.
>> In my root-WAComponent I do:
>> WAAdmin register: self asApplicationAt: self entryPointName.
>> to register the app. But the trick on
>> to reimplement #isDeploy on the class-side of the root-component doesn't
>> work - even for removing it from the dispatcher it doesn't work.
>> In addition to that I didn't manage to work out how list all
>> configuration attributes for example on a Transcript. What should I do
>> to set configuration options like
>> - 'Resource Base URL' to: '/admin/news'
>> - 'Server hostname' to: 'localhost:8080'
>> - 'Server Path': 8080
>> - etc.
>> during application initialization?
> The parameter names are usually just camelCase versions of what is
> shown in the web app (#resourceBaseUrl, #serverHostname, etc). Or take
> a look at subclasses of WASystemConfiguration to find them all.
Thanks again - I got it now, problem finally solved.
>> I don't want to excuse my possible naive questions/problems, but I'm new
>> to the list, seaside, squeak and pharo at all and really can't figure it
>> out on my own.
> No worries; questions are welcome and so are new users. And you're
> bound to have a few issues with 2.9... the core is pretty stable but
> there are still some rough edges.
Understood; I don't expect it to run smoothly in every aspect - learning
phase. You are reducing the rough edges every day (as I can see,
following the newslists) and besides: All hackers behind Seaside did an
amazing job. ;)
More information about the seaside