[Seaside] Comments for configuration values

Keith Hodges keith_hodges at yahoo.co.uk
Sun Dec 9 13:04:37 UTC 2007


Philippe Marschall wrote:
> Hi
>
> I think this a great idea, but IMHO it would make more sense to
> comment the configuration attributes instead of the values and then
> also present the these comments.
>
> Say hello to your new Seaside config app (see attachment).
>
> Cheers
> Philippe
>   
Hello Philippe,

I tried that approach earlier, I even used tooltips to begin with,
however they can only provide very limited information about some fairly
complex choices.

My current scheme asks the configuration ancestor to provide a comment
for the current value of the attribute.
The comment displayed can also depend upon other configuration values.

I came up with this idea because I am developing a fairly comprehensive
MagmaHelper scheme.

This scheme has one selector providing a choice between the following
helper classes. (Any one application can have two of these)

            WAMagma 
            WAMagmaBasicPool
            WAMagmaSolo 
            WAMagmaShared
            WAMagmaSharedAuto 
            WAMagmaSoloAuto 
            WAMockMagma 

Each of these attribute values provides a comprehensive explanation as
to what it does. The explanations tell the user about the database
commit strategy that they have selected, and so they are quite verbose.

e.g.

"WAMagmaSoloAuto is specifically designed as the simplest and most
transparent of the Magma-Seaside helper options. It is the same as
WAMagmaSolo but provides an automatic #commitAndBegin, writing data to
the database following callback processing, just prior to rendering.

<br><br>

'Solo' indicates that Seaside is the only user of the database and
therefore has the latest data available without any need for an explicit
refresh. If the code does perform a manual #commit: it is protected so
that multiple Seaside users do not accidentally overlap the application
of their changes to the database. Since a manual #commit: in this
instance is a sub-transaction it would normally be ignored, however
WAMagmaSoloAuto performs an #abort prior to any manual #commit: this
abort should not revoke any local changes made to the data model, and
the manual #commit: will be performed, followed by a #begin in
anticipation of the next automatic #commitAndBegin."

Ok so this might be slight overkill, but it places the information
directly in the place where it is needed, there is no need to look at
code in order to configure the application.

:-)

Keith



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20071209/b8d21fac/attachment.htm


More information about the seaside mailing list