Have a look at the client framework. in
squeaksource.com/Jetsam This is
an attempt to provide good boundaries between ui and backends. It
provides a framework for extending Pier and Seaside in a modular fashion.
The idea is to be able to publish a module in sections, for Front end
and Backend. For example:
Front End "User Management (for Pier)", and Back End "User Management
for MySql"
The interface between them is the "Client" which you subclass for each
specific installation (i.e. the client who wants the project) where you
provide your specific mappings between the front and back-ends. The
client instance also provides the ability to switch between
mock/live/test backend repositories.
The user management module will receive a major overhaul in the next
couple of days, but you can see how pier users are connected to real users.
I define Pier users as "roles" for the real users. I.e. the pier users
managed in pier defines the access rights for a group of real users, and
a pier user is used as a template for instanciating a temporary PUUser
instance which represents the real user.
When the real user is logged in, any user data from the backend is added
as a property to the current Session.
(Yes I know that WASession doesnt support properties, but it should and
with Jetsam-Helpers it does)
Keith