The notion of Generic Presentation Description (GPD) is one of the basic notions of the present LINCKS system, and it is essential to know how to write GPD's in order to obtain tailored views. This chapter contains a number of notes intended to give the necessary documentation and basis for a detailed discussion on the notion of GPD's.
A Generic Presentation Descriptor is the template used to build a view of a composite object in a window. Given a root object, the GPD is used to tell which component objects are to be displayed in that view, as well as which parts of those objects to view (attribute, image, etc.). Additionally, the GPD tells how to access the objects, how they are to be expanded if the user does so, and any special formatting requirements for the display.
For example, given the root node `David' and the GPD `user' (see figure 7.1), we might build a view representing the user David. We see that the `user' view is made up of a folder, a separator, and a gpdmap. The `folder', in turn, is divided into the description, date, another divider, and items. This defines the STRUCTURE of the `user' view. Then, looking at the ACCESS section, we see that the GPD picks out the `description' from the IMAGE, the `date' is taken from an attribute value SYSTEM:Created, and the `item's are all the linkitems in the link group FOLDER:Item (these are the parts of figure 7.2 with a border around them). Finally, in the last part of the view, the `gpdmap' is all of the linkitems in the SYSTEM:GPDmaplist link group. The dividers `t1' and `t2' are also attribute values which are given a default value upon creation of the object. A complete view built using this GPD can be seen in 7.2.
Figure: View built using `user' GPD
The notion of a GPD was introduced as a way of separating the form of a view (or document presentation) from the contents. Ideally, the same contents can appear in several different views in different ways, depending on the particular purpose for the view. As always, the intention is to make it simpler for a user to see the information that is particular to his needs.
The idea of using GPD's may be illustrated in a hospital environment, where e.g. a patient record might (or should) look different for the physician and for the nurse. The nurse is involved in everyday care and should therefore be presented with the essentials for that task, while the physician may need an overview record relating the particular patient with other patients having the same symptoms or sickness. However, the patient is the same for both the doctor and the nurse, and the source of the information is the same. It is only the choice of which parts of that information to view which is different. The GPD is the mechanism used to select the information to view.