Subject Re: [Firebird-Architect] User name SYSDBA
Author Adam Clarke
Leyne, Sean wrote:

> But I don't need to 'switch' between those roles! I am those things.
> What I am doing determines the role and I am fulfilling. I don't have
> to switch, I just do my job -- I can be both a curmudgeon and Nickolay's
> boss at the same time! It don't need to switch between the two.

But sometimes you need to role-play. An example from the real world
might be ...

As a business owner you would like to test the customer experience of
purchasing a product from one of your retail outlets. So you go
anonymously into the store and purchase a product, you play the role of

It is not useful in this interaction to also be treated as owner since
the result is different. You will likely get extra attention and may not
be asked to pay, not a very good test at all!

In our real world situation we have health care case workers
(responsible for entering and maintaining their own data regarding
patients) and administrators who can manipulate anyone's data. As a
result the application interface is different depending on the user's role.

When a case worker requests help desk support from an administrator it
is often necessary for the administrator to log out from their
administrative role session and log back in choosing the case worker
role in order to replicate the behaviour.

It is not sufficient for the interface to spoof the role (i.e. act as if
it is working under a role other than the database role) since sometimes
the behaviour being reported is a consequence of database level
permissions associated with a specific role.

Jim's description of being able to activate and deactivate roles
(potentially simultaneously) is exactly the functionality we have wished
for on many occasions with our application.

Adam Clarke