[Seaside] where to store my own application attributes?

Johan Brichau johan at inceptive.be
Thu Nov 19 22:10:07 UTC 2015

Hi Chris,

There’s not much documentation on the WAConfiguration framework.
I don’t really know about applications really using this infrastructure. Some Seaside extensions (such as Seaside-Gettext) use it.

If you want to use Seaside’s WAConfiguration framework to embed your application-specific settings:
- The class comment in WASystemConfiguration provides useful information.
- Take a look at an example class: WAEmailConfiguration
- When you register an application, here’s what it needs to add the configuration:

	application preferenceAt: #smtpServer put: ’smtp.somewhere.com'.
	application configuration addParent: WAEmailConfiguration instance.

Preference values are cached once looked up in an application. So, that should cover performance concerns with the lookup.

Hope this helps,

> On 19 Nov 2015, at 21:57, Chris Muller <asqueaker at gmail.com> wrote:
> Where do people store their own application-level attributes?
> #myDbLocation, for example?  This is such a basic question for every
> web app, I'm surprised tto find he answer so elusive..
> I was looking at WAApplication>>#preferenceAt: and #preferenceAt:put:.
> Even though DB Location is a property, not "preference" I thought it
> would at least work..
> Nope.  #preferenceAt: goes through its WAUserConfiguration's specific
> set of "attributes", which I have not yet figured out how to extend..
> .. and I'm not sure I would want to because access to those attributes
> is very inefficient -- creating a temporary IdentityDictionary and
> IdentitySet, enumerating all "ancestors" and each ancestor enumerating
> its "localAttributes" while adding and checking the IdentitySet in an
> inefficient way too..
> Maybe I don't need efficient access, not sure yet, but I was really
> just looking for a properties Dictionary I could use; simple, fast and
> unrestricted...  That's what I thought the #preferenceAt: was.
> Now I see besides #attributeAt:, WAConfiguration also has #at:,....
> but its not obvious what it is doing.
> Do I need to define my own subclass of WAConfiguration to do this?
> Any advice is appreciated..
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

More information about the seaside mailing list