[Seaside] Re: FileLibrary / css files confusion - diagnosis: trying to change '/seaside/' in URL messes up FileLibrary ??

Keith Hodges keith_hodges at yahoo.co.uk
Wed Jan 2 15:38:54 UTC 2008


Lukas Renggli wrote:
>> I am speaking of WASession-application:
>>     
>
> The way the session stores its application is an internal
> implementation detail of the framework. Seaside instantiates and
> initializes the session objects for you and this is usually something
> you shouldn't bother about.
>
> Lukas
>   
Unfortunately Seaside is rarely the be-all and end-all of an application
it is merely one front end presentation of that application.

Given that I have made a design choice to have my applications present
all of their settings in seaside/config when I want to do something in a
workspace, or offline script I need to instanciate a mock session so
that I can work in the context of the chosen application and its
settings. This used to be just a little bit simpler and has become a
very common pattern for me. It is used in a number of places:

The 'pier' and 'magma' control panels which appear as configuration
application plugins are rendered in a session of the configuration app,
while they operate upon the preferences and data structures of a mock
session of the actual app which they control.

The Jetsam package defines WASession forApp: name during: [ ]

This provides the ability to run code in a workspace in the context of a
chosen seaside application (i.e. the settings and WACurrentSession is
defined while in the block).

Finally Magma-seasideHelper uses a variant of this,  "WAMagma forApp:
name", in order to access or commit to the database as configured in
seaside/config.

So thats 4 use cases which is sufficient for me to think that putting
#application: back is worthwhile, which indeed I do in Jetsam

I have separated Jetsam out into some separate packages, so that the
Helper framework is available as a separate entity. Please would you
consider adopting this properly into the mainstream 2.9 release.

many thanks in advance

Keith
 


More information about the seaside mailing list