[Seaside] [ANN] Magma Tutorial

Keith Hodges keith_hodges at yahoo.co.uk
Sat Dec 15 10:21:00 UTC 2007

I am pleased to announce that by popular demand I have written a Magma
tutorial segment to go with:

http://www.swa.hpi.uni-potsdam.de/seaside/tutorial  (chapter 8)

This tutorial can be found at:


The tutorial is written built upon an entirely new Magma <-> Seaside
integration implementation. This new implementation is still in beta,
but has lots of bells and whistles that were not present in the old.

The most important being:

1. "Ready to Run - Just add Magma"

You do not need any special Session, or Root classes, just add
WAMagmaConfiguration to your app and you are enabled for persistence.

2. "Auto Initializing"

You do not need to initialize your database separately.

3. "Transparent Transactions" (options)

Database commits can be totally transparent and this is the default
configuration WAMagmaSoloAuto.

4. Session Management Options

There is a choice of single, pooled and shared magma session management

5. Comprehensive Logging Options

See every decision that magma makes as it reifies your data.
(just load "Logging" package and SimpleLog or Toothpick)

6. Control Panel

Shows all the open database sessions, which seaside apps they are
serving and allows you to explore their data.

7. Partitioning and Modularity

One database serves multiple domain models. A "Pier Module" can share
the db with a "Users/Login Module".

7. Migration

If you change the implementation of a domain-model-root there are hooks
for automatic migration

8. Alternative Client Views (experimental)

A Client can access a domain-model-root, as another subclass, for
locally defined behaviour, or specialized database read-strategies

The documentation for this new integration layer "Magma seasideHelper"
is here:



For early adopters immediate support is available in #squeak irc channel
Just ping "Keithy"



More information about the seaside mailing list