WAM
GUI fragments can be used to solve database web
interface design problems. In the next table we overview the
"recipes" WAM objects implement for solving these problems:
Problem:
how to represent …
/ how will …
...restrict the GUI
|
Solution:
recipes for GUI generation
|
Table
or View
|
A
table record can be visualized and edited in a row. Table records
can be visualized and filtered in a list. A finder can provide
simple front-end navigation.
|
Column
|
A
row field, a list column, a looked-up column
|
Data
type
|
Row
field and list column validation, formatting
|
User-defined
type
|
Special
formatting, validation, user navigation (e.g. email, URL, image)
|
Primary
key
|
Determines
default auto-numbering policy, avoiding the need to fill the key
fields
|
Constraint
|
Restrict
edition at the GUI, introspect into admissible values
|
Permission
|
Hide
or disable GUI objects and navigation links for a particular user or
group
|
Foreign
key, Foreign key path
|
Minimal
specification of lookups, detail lists, user-driven joins in lists
|
Foreign
key graph
|
Default
navigational structure
|
Database
objects have programmer names
|
Use
a presentation function: WAM_PRESENTATION
|
External
presentation strings are absent from database engine meta-models, hence
the central role WAM_PRESENTATION assumes in the WAMmodel.
Each
line in the above table can be seen as a "pattern",
and so the whole can be seen as "WAM's GUI pattern catalog". We
find this somehow related in spirit to efforts like Coram
and Lee's, Martijn
van Welie's, and Rossi
et al., although in WAM's case with a more restricted scope -
database applications.
|