eudc: Display of Query Results
3.3 Display of Query Results
============================
Upon successful completion of a form query, EUDC will display a buffer
containing the results of the query.
The fields that are returned for each record are controlled by
‘eudc-default-return-attributes’ (Return Attributes).
The display of each individual field can be performed by an arbitrary
function which allows specific processing for binary values, such as
images or audio samples, as well as values with semantics, such as URLs.
-- Variable: eudc-attribute-display-method-alist
An alist specifying methods to display attribute values. Each
member of the list is of the form ‘(NAME . FUNC)’ where NAME is a
lowercased string naming a directory attribute (translated
according to ‘eudc-user-attribute-names-alist’ if
‘eudc-use-raw-directory-names’ is non-‘nil’) and FUNC a function
that will be passed the corresponding attribute values for display.
This variable has protocol-local definitions (see
Server/Protocol Locals). For instance, it is defined as follows for
LDAP:
(eudc-protocol-set 'eudc-attribute-display-method-alist
'(("jpegphoto" . eudc-display-jpeg-inline)
("labeledurl" . eudc-display-url)
("audio" . eudc-display-sound)
("labeledurl" . eudc-display-url)
("url" . eudc-display-url))
'ldap)
EUDC provides a set of built-in functions to display binary value
types:
-- Function: eudc-display-generic-binary data
Display a button for unidentified binary DATA.
-- Function: eudc-display-url url
Display URL and make it clickable.
-- Function: eudc-display-sound data
Display a button to play the sound DATA.
-- Function: eudc-display-jpeg-inline data
Display the JPEG DATA inline at point if possible.
-- Function: eudc-display-jpeg-as-button data
Display a button for the JPEG DATA.
Right-clicking on a binary value button pops up a contextual menu
with options to process the value. Among these are saving the attribute
value to a file or sending it to an external viewer command. External
viewers should expect the value on their standard input and should
display it or perform arbitrary processing on it. Messages sent to
standard output are discarded. External viewers are listed in the
variable ‘eudc-external-viewers’ which you can customize.
-- Variable: eudc-external-viewers
This is a list of viewer program specifications. Each
specification is a list whose first element is a string naming the
viewer for unique identification, the second element is the
executable program which should be invoked and the following
elements are arguments that should be passed to the program.