annotate man/eudc.texi @ 34250:7bfa8f9909d2

(x_load_font): Don't use the font's max_bounds for computing the height of the font. If max_bounds' ascent or descent are greater than the font's ascent or descent, this means glyphs overlap, which should be handled now by redisplay.
author Gerd Moellmann <gerd@gnu.org>
date Wed, 06 Dec 2000 10:46:42 +0000
parents 95bdbefcdac6
children 730f77edf073
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27316
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1 \input texinfo.tex
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
2 @c %**start of header
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
3 @setfilename ../info/eudc
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
4 @settitle Emacs Unified Directory Client (EUDC) Manual
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
5 @iftex
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
6 @afourpaper
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
7 @end iftex
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
8 @c %**end of header
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
9
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
10 @footnotestyle end
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
11
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
12 @ifinfo
30009
95bdbefcdac6 Use dircategory `Emacs'.
Gerd Moellmann <gerd@gnu.org>
parents: 29713
diff changeset
13 @dircategory Emacs
27316
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
14 @direntry
29192
42feade9d5aa Fix @direntry, add @dircategory.
Gerd Moellmann <gerd@gnu.org>
parents: 27316
diff changeset
15 * EUDC: (eudc). A client for directory servers (LDAP, PH)
27316
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
16 @end direntry
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
17
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
18 This file documents EUDC v1.30b
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
19
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
20 EUDC is part of Emacs.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
21
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
22 EUDC is the Emacs Unified Directory Client, a common interface to
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
23 directory servers using various protocols such as LDAP or the CCSO white
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
24 pages directory system (PH/QI)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
25
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
26 Copyright @copyright{} 1998, 2000 Free Software Foundation, Inc.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
27
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
28 Permission is granted to make and distribute verbatim
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
29 copies of this manual provided the copyright notice and
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
30 this permission notice are preserved on all copies.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
31
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
32 @ignore
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
33 Permission is granted to process this file through TeX
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
34 and print the results, provided the printed document
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
35 carries a copying permission notice identical to this
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
36 one except for the removal of this paragraph (this
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
37 paragraph not being relevant to the printed manual).
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
38 @end ignore
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
39
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
40 Permission is granted to copy and distribute modified
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
41 versions of this manual under the conditions for
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
42 verbatim copying and the terms of the ``GNU General
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
43 Public License'', and provided that the entire
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
44 resulting derived work is distributed under the terms
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
45 of a permission notice identical to this one.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
46
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
47 Permission is granted to copy and distribute
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
48 translations of this manual into another language,
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
49 under the above conditions for modified versions,
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
50 except that this permission notice may be stated in a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
51 translation approved by the Free Software Foundation.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
52 @end ifinfo
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
53
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
54 @titlepage
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
55 @title{EUDC Manual}
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
56 @subtitle{The Emacs Unified Directory Client}
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
57 @author by Oscar Figueiredo
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
58 @code{1.30b}
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
59
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
60 @page
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
61 @vskip 0pt plus 1fill
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
62 Copyright @copyright{} 1998, 2000 Free Software Foundation, Inc.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
63
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
64 Permission is granted to make and distribute verbatim
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
65 copies of this manual provided the copyright notice and
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
66 this permission notice are preserved on all copies.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
67
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
68 @ignore
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
69 Permission is granted to process this file through TeX
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
70 and print the results, provided the printed document
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
71 carries a copying permission notice identical to this
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
72 one except for the removal of this paragraph (this
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
73 paragraph not being relevant to the printed manual).
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
74
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
75 @end ignore
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
76
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
77 Permission is granted to copy and distribute modified
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
78 versions of this manual under the conditions for
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
79 verbatim copying and the terms of the ``GNU General
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
80 Public License'', and provided that the entire
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
81 resulting derived work is distributed under the terms
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
82 of a permission notice identical to this one.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
83
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
84 Permission is granted to copy and distribute
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
85 translations of this manual into another language,
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
86 under the above conditions for modified versions,
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
87 except that this permission notice may be stated in a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
88 translation approved by the Free Software Foundation.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
89 @end titlepage
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
90
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
91 @ifinfo
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
92 @node Top, Overview, (dir), (dir)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
93 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
94
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
95
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
96 This manual documents EUDC v1.30b, the Emacs Unified Directory Client.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
97
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
98 A common interface to directory servers using various protocols such as
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
99 LDAP or the CCSO white pages directory system (PH/QI)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
100
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
101 @end ifinfo
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
102
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
103 @menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
104 * Overview:: Summary of EUDC features
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
105 * Installation:: How to install EUDC
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
106 * Usage:: The various usage possibilities explained
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
107 * Credits:: Who's done what
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
108 * Variables Index::
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
109 @end menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
110
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
111
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
112
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
113
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
114
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
115 @node Overview, Installation, Top, Top
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
116 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
117 @chapter Overview
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
118
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
119 EUDC, the Emacs Unified Directory Client, provides a common user
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
120 interface to access directory servers using different directory
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
121 protocols.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
122
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
123 Currently supported back-ends are:
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
124
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
125 @itemize @bullet
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
126 @item
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
127 LDAP, Lightweight Directory Access Protocol
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
128 @item
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
129 CCSO PH/QI
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
130 @item
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
131 BBDB, Big Brother's Insiduous Database
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
132 @end itemize
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
133
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
134 The main features of the EUDC interface are:
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
135
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
136 @itemize @bullet
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
137 @item
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
138 Queries using a customizable form
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
139 @item
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
140 Inline query expansion (for instance you can expand a name
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
141 to an email address in a mail message buffer using a server as an
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
142 address book)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
143 @item
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
144 Multiple servers can be tried in turn until a match is found for an
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
145 inline query
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
146 @item
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
147 Fast minibuffer queries for email addresses and phone numbers
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
148 @item
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
149 Interface to BBDB to let you insert server records into your own BBDB database
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
150 (@pxref{Top,,BBDB,bbdb,BBDB Manual})
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
151 @end itemize
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
152
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
153 @menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
154 * LDAP:: What is LDAP ?
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
155 * CCSO PH/QI:: What is CCSO, PH, QI ?
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
156 * BBDB:: What is BBDB ?
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
157 @end menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
158
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
159
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
160
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
161 @node LDAP, CCSO PH/QI, Overview, Overview
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
162 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
163 @section LDAP
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
164
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
165 LDAP, Lightweight Directory Access Protocol, is a communication
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
166 protocol for directory applications defined in RFC 1777.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
167
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
168 Quoted from RFC 1777:
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
169
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
170 @quotation
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
171 [LDAP] is designed to provide access to the X.500 Directory while not
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
172 incurring the resource requirements of the Directory Access Protocol
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
173 (DAP). This protocol is specifically targeted at simple management
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
174 applications and browser applications that provide simple read/write
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
175 interactive access to the X.500 Directory, and is intended to be a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
176 complement to the DAP itself.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
177 @end quotation
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
178
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
179 LDAP servers usually store (but are not limited to) information about
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
180 people such as their name, phone number, email address, office
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
181 location, etc@enddots{} More information about LDAP can be found at
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
182 @url{http://www.openldap.org/}
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
183
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
184 EUDC requires external support to access LDAP directory servers
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
185 (@pxref{LDAP Requirements})
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
186
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
187
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
188 @node CCSO PH/QI, BBDB, LDAP, Overview
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
189 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
190 @section CCSO PH/QI
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
191
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
192 The Central Computing Services Office (CCSO) of the University of
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
193 Illinois at Urbana Champaign (UIUC) created and freely distributes a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
194 directory system that is currently in use in more than 300 organizations
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
195 around the world. The system records information about people such as
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
196 their address, phone number, email, academic information or any other
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
197 details it was configured to.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
198
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
199 The system consists of two parts: a database server traditionally called
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
200 @samp{qi} and a command-line client called @samp{ph}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
201 @url{ftp://uiarchive.cso.uiuc.edu/pub/packages/ph} is the main
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
202 distribution site. @url{http://www.uiuc.edu/cgi-bin/ph/lookup?Query=.}
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
203 provides a listing of the active @samp{qi} servers.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
204
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
205 The original command-line @samp{ph} client that comes with the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
206 @samp{ph/qi} distribution provides additional features like the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
207 possibility to communicate with the server in login-mode which makes it
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
208 possible to change records in the database. This is not implemented in
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
209 EUDC.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
210
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
211
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
212 @node BBDB, , CCSO PH/QI, Overview
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
213 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
214 @section BBDB
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
215
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
216 BBDB is the Big Brother's Insiduous Database, a package for Emacs
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
217 originally written by Jamie Zawinski which provides rolodex-like
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
218 database functionality featuring tight integration with the Emacs mail
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
219 and news readers.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
220
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
221 It is often used as an enhanced email address book.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
222
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
223 EUDC considers BBDB as a directory server backend just like LDAP or
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
224 PH/QI servers though BBDB has no client/server protocol and thus always
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
225 resides locally on your machine. The point in this is not to offer an
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
226 alternate way to query your BBDB database (BBDB itself provides much
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
227 more flexible ways to do that) but rather to offer an interface to your
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
228 local directory that is consistent with the interface to external
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
229 directories (LDAP, PH/QI). This is particularly interesting when
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
230 performing queries on multiple servers.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
231
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
232 EUDC also offers a means to insert results from directory queries into
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
233 your own local BBDB (@pxref{Creating BBDB Records})
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
234
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
235 @node Installation, Usage, Overview, Top
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
236 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
237 @chapter Installation
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
238
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
239 Add the following to your @file{.emacs} init file:
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
240 @lisp
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
241 (require 'eudc)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
242 @end lisp
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
243 This will install EUDC at startup.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
244
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
245 After installing EUDC you will find (the next time you launch Emacs) a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
246 new @code{Directory Search} submenu in the @samp{Tools} menu that will
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
247 give you access to EUDC.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
248
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
249 You may also find it useful to add the following to your @file{.emacs}
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
250 initialization file to add a shortcut for email address expansion in
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
251 email composition buffers (@pxref{Inline Query Expansion})
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
252
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
253 @lisp
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
254 (eval-after-load
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
255 "message"
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
256 '(define-key message-mode-map [(control ?c) (tab)] 'eudc-expand-inline))
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
257 (eval-after-load
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
258 "sendmail"
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
259 '(define-key mail-mode-map [(control ?c) (tab)] 'eudc-expand-inline))
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
260 @end lisp
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
261
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
262 @menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
263 * LDAP Requirements:: EUDC needs external support for LDAP
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
264 @end menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
265
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
266 @node LDAP Requirements, , Installation, Installation
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
267 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
268 @section LDAP Requirements
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
269
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
270 LDAP support is added by means of @file{ldap.el} which is part of Emacs.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
271 @file{ldap.el} needs an external command line utility named
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
272 @file{ldapsearch} which is available as part of LDAP toolkits. above.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
273
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
274 @itemize @bullet
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
275 @item
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
276 Open LDAP Libraries
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
277 (@url{http://www.openldap.org/})
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
278 @item
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
279 University of Michigan's LDAP Client software
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
280 (@url{http://www.umich.edu/~dirsvcs/ldap/})
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
281 @end itemize
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
282
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
283
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
284 @node Usage, Credits, Installation, Top
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
285 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
286 @chapter Usage
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
287
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
288 This chapter describes the usage of EUDC. Most functions and
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
289 customization options are available through the @samp{Directory Search}
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
290 submenu of the @samp{Tools} submenu.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
291
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
292 @menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
293 * Querying Servers:: How queries are performed and handled
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
294 * Query Form:: How to use and customize the query form
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
295 * Display of Query Results:: Controlling how query results are presented
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
296 * Inline Query Expansion:: How to use and customize inline queries
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
297 * The Server Hotlist:: How to use and manage the server hotlist
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
298 * Multi-server Queries:: How to query multiple servers sucessively
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
299 * Creating BBDB Records:: How to insert query results into your BBDB
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
300 * Server/Protocol Locals:: Customizing on a per server/protocol basis
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
301 @end menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
302
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
303
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
304 @node Querying Servers, Query Form, Usage, Usage
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
305 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
306 @section Querying Servers
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
307
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
308 EUDC's basic functionality is to let you query a directory server and
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
309 return the results back to you. There are several things you may want
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
310 to customize in this process.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
311
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
312
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
313 @menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
314 * Selecting a Server:: The first thing to do
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
315 * Return Attributes:: Configuring what the server should return
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
316 * Duplicate Attributes:: What to do when records have duplicate attributes
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
317 @end menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
318
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
319 @node Selecting a Server, Return Attributes, Querying Servers, Querying Servers
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
320 @subsection Selecting a Server
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
321
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
322 Before doing any query you will need to set the directory server. You
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
323 need to specify the name of the host machine running the server software
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
324 and the protocol to use. If you do not set the server in any fashion,
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
325 EUDC will ask you for one when you make your first query.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
326
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
327 You can set the server by selecting one from your hotlist of servers
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
328 (@pxref{The Server Hotlist}) available in the @samp{Server} submenu or
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
329 by selecting @samp{New Server} in that same menu.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
330
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
331 LDAP servers generally require some configuration before you can perform
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
332 queries on them. In particular, the @dfn{search base} must be
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
333 configured. If the server you select has no configured search base then
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
334 EUDC will propose you to configure it at this point. A customization
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
335 buffer will be displayed where you can edit the search base and other
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
336 parameters for the server.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
337
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
338 @defvar eudc-server
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
339 The name or IP address of the remote directory server. A TCP port number
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
340 may be specified by appending a colon and a number to the name of the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
341 server. You will not need this unless your server runs on a port other
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
342 than the default (which depends on the protocol).
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
343 If the directory server resides on your own computer (which is the case
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
344 if you use the BBDB backend) then `localhost' is a reasonable value but
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
345 it will be ignored anyway.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
346 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
347
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
348 @defvar eudc-protocol
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
349 The directory protocol to use to query the server. Currently supported
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
350 protocols in this version of EUDC are @code{ph}, @code{ldap} and @code{bbdb}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
351 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
352
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
353 @deffn Command eudc-set-server
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
354 This command accessible from @samp{Server} submenu lets you specify a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
355 new directory server and protocol.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
356 @end deffn
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
357
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
358 @node Return Attributes, Duplicate Attributes, Selecting a Server, Querying Servers
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
359 @subsection Return Attributes
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
360
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
361 Directory servers may be configured to return a default set of
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
362 attributes for each record matching a query if the query specifies none.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
363 The variable @code{eudc-default-return-attributes} controls the return
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
364 attributes you want to see, if different from the server defaults.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
365
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
366 @defvar eudc-default-return-attributes
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
367 A list of the default attributes to extract from directory entries. If
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
368 set to the symbol @code{all} then all available attributes are
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
369 returned. A value of @code{nil}, the default, means to return the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
370 default attributes as configured in the server.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
371 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
372
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
373 The server may return several matching records to a query. Some of the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
374 records may however not contain all the attributes you requested. You can
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
375 discard those records.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
376
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
377 @defopt eudc-strict-return-matches
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
378 If non-@code{nil}, entries that do not contain all the requested return
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
379 attributes are ignored. Default is @code{t}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
380 @end defopt
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
381
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
382 @node Duplicate Attributes, , Return Attributes, Querying Servers
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
383 @subsection Duplicate Attributes
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
384
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
385 Directory standards may authorize different instances of the same
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
386 attribute in a record. For instance the record of a person may contain
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
387 several email fields containing different email addresses. When using
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
388 a QI directory server this is difficult to distinguish from attributes
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
389 having multi-line values such as the postal address that may contain a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
390 line for the street and another one for the zip code and city name. In
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
391 both cases, EUDC will consider the attribute duplicated.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
392
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
393 EUDC has several methods to deal with duplicated attributes. The
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
394 available methods are:
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
395
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
396 @table @code
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
397 @item list
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
398 Makes a list with the different values of the duplicate attribute. The
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
399 record is returned with only one instance of the attribute with a list
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
400 of all the different values as a value. This is the default method that
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
401 is used to handle duplicate fields for which no other method has been
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
402 specified.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
403 @item first
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
404 Discards all the duplicate values of the field keeping only the first
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
405 one.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
406 @item concat
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
407 Concatenates the different values using a newline as a separator. The
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
408 record keeps only one instance of the field the value of which is a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
409 single multi-line string.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
410 @item duplicate
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
411 Duplicates the whole record into as many instances as there are different
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
412 values for the field. This is the default for the email field. Thus a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
413 record containing 3 different email addresses is duplicated into three
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
414 different records each having a single email address. This is
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
415 particularly useful in combination with @code{select} as the method to
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
416 handle multiple matches in inline expansion queries (@pxref{Inline Query
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
417 Expansion}) because you are presented with the 3 addresses in a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
418 selection buffer
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
419 @end table
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
420
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
421 Because a method may not be applicable to all fields, the variable
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
422 @code{eudc-duplicate-attribute-handling-method} lets you specify either a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
423 default method for all fields or a method for each individual field.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
424
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
425 @defvar eudc-duplicate-attribute-handling-method
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
426 A method to handle entries containing duplicate attributes. This is
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
427 either an alist @code{(@var{attr} . @var{method})} or a symbol
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
428 @var{method}. The alist form of the variable associates a method to an
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
429 individual attribute name, the second form specifies a method applicable
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
430 to all attribute names. Available methods are: @code{list},
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
431 @code{first}, @code{concat}, @code{duplicate} (see above). Defaults to
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
432 @code{list}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
433 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
434
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
435
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
436
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
437 @node Query Form, Display of Query Results, Querying Servers, Usage
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
438 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
439 @section Query Form
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
440
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
441 The simplest way to query your directory server is to use the query
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
442 form. You display the query form with the @samp{Query with Form} menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
443 item or by invoking the command @kbd{M-x eudc-query-form}. The attribute
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
444 names presented in this form are defined by the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
445 @code{eudc-query-form-attributes} variable (unless a non-@code{nil}
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
446 argument is supplied to @code{eudc-query-form}).
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
447
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
448 Since the different directory protocols to which EUDC interfaces may
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
449 use different names for equivalent attributes, EUDC defines its own set
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
450 of attribute names and a mapping between these names and their
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
451 protocol-specific equivalent through the variable
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
452 @code{eudc-protocol-attributes-translation-alist}. Names currently
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
453 defined by EUDC are @code{name}, @code{firstname}, @code{email} and
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
454 @code{phone}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
455
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
456 @defvar eudc-query-form-attributes
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
457 A list of attributes presented in the query form. Attribute names in
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
458 this list should be either EUDC attribute names or valid attribute
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
459 names. You can get a list of valid attribute names for the current
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
460 protocol with the @samp{List Valid Attribute Names} menu item or the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
461 @kbd{M-x eudc-get-attribute-list} command. Defaults to @code{name},
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
462 @code{email} and @code{phone}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
463 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
464
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
465 @deffn Command eudc-query-form get-fields-from-server
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
466 Display a form to query the directory server. If given a non-@code{nil}
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
467 argument the function first queries the server for the existing fields
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
468 and displays a corresponding form. Not all protocols may support a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
469 non-@code{nil} argument here.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
470 @end deffn
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
471
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
472 Since the names of the fields may not be explicit enough or adapted to
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
473 be directly displayed as prompt strings in the form, the variable
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
474 @code{eudc-user-attribute-names-alist} lets you define more explicit
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
475 names for directory attribute names. This variable is ignored if
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
476 @code{eudc-use-raw-directory-names} is non-@code{nil}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
477
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
478 @defvar eudc-user-attribute-names-alist
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
479 This is an alist of user-defined names for the directory attributes used in
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
480 query/response forms. Prompt strings for attributes that are not in this
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
481 alist are derived by splitting the attribute name at underscores and
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
482 capitalizing the individual words.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
483 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
484
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
485 @defvar eudc-use-raw-directory-names
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
486 If non-@code{nil}, use attributes names as defined in the directory.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
487 Otherwise, directory query/response forms display the user attribute
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
488 names defined in @code{eudc-user-attribute-names-alist}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
489 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
490
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
491 @node Display of Query Results, Inline Query Expansion, Query Form, Usage
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
492 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
493 @section Display of Query Results
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
494
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
495 Upon successful completion of a form query, EUDC will display a buffer
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
496 containing the results of the query.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
497
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
498 The fields that are returned for each record
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
499 are controlled by @code{eudc-default-return-attributes} (@pxref{Return
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
500 Attributes}).
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
501
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
502 The display of each individual field can be performed by an arbitrary
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
503 function which allows specific processing for binary values like images
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
504 or audio samples as well as values with computer semantics like URLs.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
505
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
506 @defvar eudc-attribute-display-method-alist
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
507 An alist specifying methods to display attribute values. Each member of
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
508 the list is of the form @code{(@var{name} . @var{func})} where
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
509 @var{name} is a lowercased string naming a directory attribute
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
510 (translated according to @code{eudc-user-attribute-names-alist} if
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
511 @code{eudc-use-raw-directory-names} is non-nil) and @var{func} a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
512 function that will be passed the corresponding attribute values for
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
513 display.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
514 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
515
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
516 This variable has protocol-local definitions (see @pxref{Server/Protocol
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
517 Locals}). For instance, it is defined as follows for LDAP:
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
518
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
519 @lisp
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
520 (eudc-protocol-set 'eudc-attribute-display-method-alist
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
521 '(("jpegphoto" . eudc-display-jpeg-inline)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
522 ("labeledurl" . eudc-display-url)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
523 ("audio" . eudc-display-sound)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
524 ("labeledurl" . eudc-display-url)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
525 ("url" . eudc-display-url))
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
526 'ldap)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
527 @end lisp
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
528
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
529 EUDC provides a set of built-in functions to display binary value types:
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
530
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
531 @defun eudc-display-generic-binary data
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
532 Display a button for unidentified binary @var{data}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
533 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
534
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
535 @defun eudc-display-url url
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
536 Display URL and make it clickable.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
537 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
538
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
539 @defun eudc-display-sound data
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
540 Display a button to play the sound @var{data}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
541 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
542
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
543 @defun eudc-display-jpeg-inline data
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
544 Display the JPEG @var{data} inline at point if possible.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
545 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
546
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
547 @defun eudc-display-jpeg-as-button data
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
548 Display a button for the JPEG @var{data}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
549 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
550
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
551 Right-clicking on a binary value button pops up a contextual menu with
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
552 options to process the value. Among these are saving the attribute
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
553 value to a file or sending it to an external viewer command. External
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
554 viewers should expect the value on their standard input and should
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
555 display it or perform arbitrary processing on it. Messages sent to
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
556 standard output are discarded. External viewers are listed in the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
557 variable @code{eudc-external-viewers} which you can customize.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
558
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
559 @defvar eudc-external-viewers
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
560 This is a list of viewer program specifications. Each specification is
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
561 a list whose first element is a string naming the viewer for unique
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
562 identification, the second element is the executable program which
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
563 should be invoked and the following elements are arguments that should
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
564 be passed to the program.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
565 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
566
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
567
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
568 @node Inline Query Expansion, The Server Hotlist, Display of Query Results, Usage
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
569 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
570 @section Inline Query Expansion
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
571
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
572 Inline query expansion is a powerful method to get completion from your
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
573 directory server. The most common usage is for expanding names to email
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
574 addresses in mail message buffers. The expansion is performed by the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
575 command @kbd{M-x eudc-expand-inline} which is available from the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
576 @samp{Directory Search} menu but can also be conveniently bound to a key
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
577 shortcut (@pxref{Installation}) The operation is controlled by the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
578 variables @code{eudc-inline-expansion-format},
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
579 @code{eudc-inline-query-format},
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
580 @code{eudc-expanding-overwrites-query} and
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
581 @code{eudc-multiple-match-handling-method}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
582
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
583 If the query fails for a server, other servers may be tried successively
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
584 until one of them finds a match (@pxref{Multi-server Queries}).
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
585
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
586 @deffn Command eudc-expand-inline replace-p
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
587 Query the server and expand the query string before point. The query
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
588 string consists of the buffer substring from the point back to the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
589 preceding comma, colon or beginning of
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
590 line. @code{eudc-inline-query-format} controls how individual words
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
591 are mapped onto directory attribute names. After querying the server
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
592 for the given string, the expansion specified by
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
593 @code{eudc-inline-expansion-format} is inserted in the buffer at
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
594 point. If @var{replace-p} is @code{t} then this expansion replaces the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
595 query string in the buffer. If @code{eudc-expanding-overwrites-query}
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
596 is non-@code{nil} then the meaning of @var{replace-p} is negated.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
597 @end deffn
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
598
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
599 @defvar eudc-inline-query-format
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
600 Format of an inline expansion query.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
601 This is actually a list of @var{format}s. A @var{format} is a list of
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
602 one or more EUDC attribute names. A @var{format} applies if it contains
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
603 as many attributes as individual words in the inline query string. If
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
604 several @var{format}s apply then they are tried in order until a match
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
605 is found. If @code{nil} all the words will be mapped onto the default
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
606 server/protocol attribute name (generally @code{name}).
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
607
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
608 For instance, use the following
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
609 @lisp
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
610 (setq eudc-inline-query-format '((name)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
611 (firstname)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
612 (firstname name)))
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
613 @end lisp
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
614 to indicate that single word expansion queries are to be considered as
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
615 surnames and if no match is found then they should be tried as first
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
616 names. Inline queries consisting of two words are considered as
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
617 consisting of a first name followed by a surname. If the query consists
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
618 of more than two words, then the first one is considered as the first
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
619 name and the remaining words are all considered as surname constituents.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
620
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
621 @var{format}s are in fact not limited to EUDC attribute names, you can
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
622 use server or protocol specific names in them. It may be safer if you
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
623 do so, to set the variable @code{eudc-inline-query-format} in a protocol
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
624 or server local fashion (see @pxref{Server/Protocol Locals}).
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
625
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
626 For instance you could use the following to match up to three words
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
627 against the @code{cn} attribute of LDAP servers:
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
628 @lisp
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
629 (eudc-protocol-set 'eudc-inline-query-format
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
630 '((cn)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
631 (cn cn)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
632 (cn cn cn))
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
633 'ldap)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
634 @end lisp
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
635 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
636
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
637 @defvar eudc-inline-expansion-format
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
638 This variable lets you control exactly what is inserted into the buffer
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
639 upon an inline expansion request. It is a list whose first element is a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
640 string passed to @code{format}. Remaining elements are symbols
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
641 corresponding to directory attribute names. The corresponding attribute
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
642 values are passed as additional arguments to @code{format}. Default is
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
643 @code{("%s" email)} but you may want to consider a value like @code{("%s
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
644 <%s>" name email)}
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
645 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
646
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
647 @defvar eudc-multiple-match-handling-method
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
648 This variable controls what to do when multiple entries match a query
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
649 for an inline expansion. Possible values are:
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
650 @table @code
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
651 @item first
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
652 The first match is considered as being the only one, the others are
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
653 discarded.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
654 @item select
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
655 A selection buffer pops up where you can choose a particular match. This
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
656 is the default value of the variable.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
657 @item all
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
658 The expansion uses all records successively
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
659 @item abort
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
660 An error is signaled. The expansion aborts.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
661 @end table
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
662
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
663
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
664 Defaults to @code{select}
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
665 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
666
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
667
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
668
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
669 @node The Server Hotlist, Multi-server Queries, Inline Query Expansion, Usage
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
670 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
671 @section The Server Hotlist
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
672
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
673 EUDC lets you maintain a list of frequently used servers so that you
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
674 can easily switch from one to another. This hotlist appears in the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
675 @samp{Server} submenu. You select a server in this list by clicking on
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
676 its name. You can add the current server to the list with the command
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
677 @kbd{M-x eudc-bookmark-current-server}. The list is contained in the variable
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
678 @code{eudc-server-hotlist} which is stored in and retrieved from the file
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
679 designated by @code{eudc-options-file}. EUDC also provides a facility to
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
680 edit the hotlist interactively (@pxref{The Hotlist Edit Buffer}).
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
681
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
682 The hotlist is also used to make queries on multiple servers
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
683 successively (@pxref{Multi-server Queries}). The order in which the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
684 servers are tried is the order they appear in the hotlist, therefore it
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
685 is important to sort the hotlist appropriately.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
686
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
687 @deffn Command eudc-bookmark-server server
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
688 Add @var{server} to the hotlist of servers
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
689 @end deffn
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
690
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
691 @deffn Command eudc-bookmark-current-server
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
692 Add the current server to the hotlist of servers
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
693 @end deffn
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
694
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
695 @defvar eudc-options-file
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
696 The name of a file where EUDC stores its internal variables
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
697 (the hotlist and the current server). EUDC will try to load
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
698 that file upon initialization so, if you choose a file name
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
699 different from the defaults @file{~/.eudc-options}, be sure to set this
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
700 variable to the appropriate value @emph{before} EUDC is itself
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
701 loaded.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
702 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
703
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
704 @menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
705 * The Hotlist Edit Buffer:: An interactive hotlist editing facility
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
706 @end menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
707
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
708 @node The Hotlist Edit Buffer, , The Server Hotlist, The Server Hotlist
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
709 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
710 @subsection The Hotlist Edit Buffer
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
711
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
712 The hotlist edit buffer offers a means to manage a list of frequently
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
713 used servers. Commands are available in the context pop-up menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
714 generally bound to the right mouse button. Those commands also have
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
715 equivalent keybindings.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
716
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
717 @deffn Command eudc-hotlist-add-server
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
718 Bound to @kbd{a}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
719 Add a new server to the hotlist on the line after point
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
720 @end deffn
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
721
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
722 @deffn Command eudc-hotlist-delete-server
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
723 Bound to @kbd{d}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
724 Delete the server on the line point is on
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
725 @end deffn
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
726
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
727 @deffn Command eudc-hotlist-select-server
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
728 Bound to @kbd{s}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
729 Select the server the point is on as the current directory server for
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
730 the next queries
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
731 @end deffn
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
732
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
733 @deffn Command eudc-hotlist-transpose-servers
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
734 Bound to @kbd{t}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
735 Bubble up the server the point is on to the top of the list
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
736 @end deffn
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
737
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
738 @deffn Command eudc-hotlist-quit-edit
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
739 Bound to @kbd{q}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
740 Save the changes and quit the hotlist edit buffer. Use @kbd{x} or
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
741 @kbd{M-x kill-buffer} to exit without saving.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
742 @end deffn
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
743
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
744
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
745 @node Multi-server Queries, Creating BBDB Records, The Server Hotlist, Usage
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
746 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
747 @section Multi-server Queries
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
748
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
749 When using inline query expansion (@pxref{Inline Query Expansion}), EUDC
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
750 can try to query successively a sequence of directory servers until one
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
751 of them successfully finds a match for the query.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
752
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
753 @defvar eudc-inline-expansion-servers
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
754 This variable controls which servers are tried and in which order when
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
755 trying to perform an inline query. Possible values are:
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
756 @table @code
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
757 @item current-server
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
758 Only the current directory server is tried
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
759 @item hotlist
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
760 The servers in the hotlist are tried in order until one finds a match
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
761 for the query or `eudc-max-servers-to-query' is reached
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
762 @item server-then-hotlist
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
763 The current server then the servers in the hotlist are tried in the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
764 order they appear in the hotlist until one of them finds a match or
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
765 `eudc-max-servers-to-query' is reached. This is the default.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
766 @end table
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
767 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
768
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
769 @defvar eudc-max-servers-to-query
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
770 This variable indicates the maximum number of servers to query when
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
771 performing a multi-server query. The default, @code{nil}, indicates
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
772 that all available servers should be tried.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
773 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
774
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
775
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
776
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
777 @node Creating BBDB Records, Server/Protocol Locals, Multi-server Queries, Usage
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
778 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
779 @section Creating BBDB Records
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
780
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
781 With EUDC, you can automatically create BBDB records
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
782 (@pxref{Top,,BBDB,bbdb,BBDB Manual}) from records you get from a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
783 directory server. You do this by moving point to the appropriate
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
784 record in a query result display buffer and invoking the command
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
785 @kbd{M-x eudc-insert-record-at-point-into-bbdb} with the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
786 keyboard binding @kbd{b} @footnote{This keybinding does not actually
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
787 call @code{eudc-insert-record-at-point-into-bbdb} but uses
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
788 @code{eudc-try-bbdb-insert} instead.}, or with the menu. EUDC
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
789 cannot update an existing BBDB record and will signal an error if you
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
790 try to insert a record matching an existing one.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
791
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
792 It is also possible to export to BBDB the whole batch of records
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
793 contained in the directory query result with the command
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
794 @kbd{M-x eudc-batch-export-records-to-bbdb}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
795
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
796 Because directory systems may not enforce a strict record format, local
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
797 server installations may use different attribute names and have
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
798 different ways to organize the information. Furthermore BBDB has its own
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
799 record structure. For these reasons converting a record from its
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
800 external directory format to the BBDB format is a highly customizable
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
801 process.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
802
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
803 @defvar eudc-bbdb-conversion-alist
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
804 The value of this variable should be a symbol naming an alist defining a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
805 mapping between BBDB field names onto directory attribute names records.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
806 This is a protocol-local variable and is initialized upon protocol
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
807 switch (@pxref{Server/Protocol Locals}) The alist is made of cells of the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
808 form @code{(@var{bbdb-field} . @var{spec-or-list})}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
809 @var{bbdb-field} is the name of a field
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
810 that must be defined in your BBDB environment (standard field names are
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
811 @code{name}, @code{company}, @code{net}, @code{phone}, @code{address}
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
812 and @code{notes}).
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
813 @var{spec-or-list} is either a single mapping specification or a list of
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
814 mapping specifications. Lists of mapping specifications are valid for
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
815 the @code{phone} and @code{address} BBDB fields only. @var{spec}s are
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
816 actually s-expressions which are evaluated as follows:
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
817
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
818 @table @asis
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
819 @item a string
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
820 evaluates to itself
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
821 @item a symbol
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
822 evaluates to the symbol value. Symbols corresponding to directory
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
823 attribute names present in the record evaluate to the value of the field
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
824 in the record
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
825 @item a form
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
826 is evaluated as a function. The argument list may contain attribute
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
827 names which evaluate to the corresponding values in the record. The form
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
828 evaluation should return something appropriate for the particular
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
829 @var{bbdb-field} (see @code{bbdb-create-internal}).
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
830 @code{eudc-bbdbify-phone} and @code{eudc-bbdbify-address} are provided as
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
831 convenience functions to parse phones and addresses.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
832 @end table
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
833 @end defvar
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
834
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
835 The default value of the PH-specific value of that variable is
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
836 @code{eudc-ph-bbdb-conversion-alist}:
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
837
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
838 @lisp
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
839 ((name . name)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
840 (net . email)
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
841 (address . (eudc-bbdbify-address address "Address"))
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
842 (phone . ((eudc-bbdbify-phone phone "Phone")
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
843 (eudc-bbdbify-phone office_phone "Office Phone"))))
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
844 @end lisp
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
845
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
846 This means that:
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
847
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
848 @itemize @bullet
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
849 @item
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
850 the @code{name} field of the BBDB record gets its value
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
851 from the @code{name} attribute of the directory record
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
852 @item
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
853 the @code{net} field of the BBDB record gets its value
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
854 from the @code{email} attribute of the directory record
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
855 @item
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
856 the @code{address} field of the BBDB record is obtained by parsing the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
857 @code{address} attribute of the directory record with the function
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
858 @code{eudc-bbdbify-address}
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
859 @item
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
860 two @code{phone} fields are created (when possible) in the BBDB record.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
861 The first one has @cite{Phone} for location and its value is obtained by
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
862 parsing the @code{phone} attribute of the PH/QI record with the function
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
863 @code{eudc-bbdbify-phone}. The second one has @cite{Office Phone} for location
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
864 its value is obtained by parsing the @code{office_phone} attribute of the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
865 PH/QI record with the function @code{eudc-bbdbify-phone}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
866 @end itemize
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
867
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
868 @defun eudc-bbdbify-phone phone location
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
869 This is a convenience function provided for use in
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
870 @code{eudc-bbdb-conversion-alist}. It parses @var{phone} into a vector
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
871 compatible with @code{bbdb-create-internal}. @var{phone} is either a string
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
872 supposedly containing a phone number or a list of such strings which are
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
873 concatenated. @var{location} is used as the phone location for BBDB.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
874 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
875
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
876 @defun eudc-bbdbify-address addr location
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
877 This is a convenience function provided for use in
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
878 @code{eudc-bbdb-conversion-alist}. It parses @var{addr} into a vector
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
879 compatible with @code{bbdb-create-internal}. @var{addr} should be an
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
880 address string of no more than four lines or a list of lines. The last
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
881 line is searched for the zip code, city and state name. @var{location}
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
882 is used as the phone location for BBDB.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
883 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
884
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
885 Note that only a subset of the attributes you selected with
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
886 @code{eudc-default-return-attributes} and that are actually displayed may
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
887 actually be inserted as part of the newly created BBDB record.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
888
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
889
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
890 @node Server/Protocol Locals, , Creating BBDB Records, Usage
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
891 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
892 @section Server/Protocol Locals
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
893
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
894 EUDC can be customized independently for each server or directory
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
895 protocol. All variables can be given local bindings that are activated
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
896 when a particular server and/or protocol becomes active. This is much
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
897 like buffer-local bindings but on a per server or per protocol basis.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
898
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
899 @menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
900 * Manipulating local bindings:: Functions to set and query local bindings
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
901 @end menu
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
902
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
903 @node Manipulating local bindings, , Server/Protocol Locals, Server/Protocol Locals
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
904 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
905 @subsection Manipulating local bindings
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
906
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
907 EUDC offers functions that let you set and query variables on a per
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
908 server or per protocol basis.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
909
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
910 The following predicates allow you to test the existence of
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
911 server/protocol local bindings for a particular variable.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
912
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
913 @defun eudc-server-local-variable-p var
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
914 Return non-@code{nil} if @var{var} has server-local bindings
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
915 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
916
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
917 @defun eudc-protocol-local-variable-p var
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
918 Return non-@code{nil} if @var{var} has protocol-local bindings
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
919 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
920
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
921 The following functions allow you to set the value of a variable with
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
922 various degrees of localness.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
923
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
924 @defun eudc-default-set var val
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
925 Set the EUDC default value of @var{var} to @var{val}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
926 The current binding of @var{var} (if local to the current server or
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
927 protocol) is not changed.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
928 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
929
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
930 @defun eudc-protocol-set var val &optional protocol
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
931 Set the binding of @var{var} local to @var{protocol} to @var{val}. If
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
932 omitted, @var{protocol} defaults to the current value of
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
933 @code{eudc-protocol}. The current binding of @var{var} is changed only
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
934 if @var{protocol} is omitted.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
935 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
936
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
937 @defun eudc-server-set var val &optional server
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
938 Set the binding of @var{var} local to @var{server} to @var{val}. If
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
939 omitted, @var{server} defaults to the current value of
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
940 @code{eudc-server}. The current binding of @var{var} is changed only if
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
941 @var{server} is omitted.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
942 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
943
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
944 @defun eudc-set var val
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
945 Set the most local (server, protocol or default) binding of @var{var} to
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
946 @var{val}. The current binding of @var{var} is also set to @var{val}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
947 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
948
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
949 The following variables allow you to query the various bindings of a
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
950 variable (local or non-local).
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
951
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
952 @defun eudc-variable-default-value var
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
953 Return the default binding of @var{var} (outside of a particular server
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
954 or protocol local binding).
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
955 Return @code{unbound} if @var{var} has no EUDC default value.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
956 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
957
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
958 @defun eudc-variable-protocol-value var &optional protocol
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
959 Return the value of @var{var} local to @var{protocol}. Return
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
960 @code{unbound} if @var{var} has no value local to @var{protocol}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
961 @var{protocol} defaults to @code{eudc-protocol}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
962 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
963
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
964 @defun eudc-variable-server-value var [server]
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
965 Return the value of @var{var} local to @var{server}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
966 Return @code{unbound} if @var{var} has no value local to @var{server}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
967 @var{server} defaults to @code{eudc-server}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
968 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
969
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
970
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
971 Changing a protocol-local or server-local value of a variable has no
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
972 effect on its current value. The following command is used to
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
973 synchronize the current values of variables with their local values
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
974 given the current @code{eudc-server} and @code{eudc-protocol}:
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
975
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
976 @defun eudc-update-local-variables
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
977 Update all EUDC variables according to their local settings.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
978 @end defun
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
979
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
980
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
981
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
982 @node Credits, Variables Index, Usage, Top
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
983 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
984 @chapter Credits
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
985
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
986 EUDC was written by Oscar Figueiredo based on @file{ph.el} by the
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
987 same author.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
988
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
989 Thanks to Soren Dayton for his suggestions, his enthusiasm and his help
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
990 in testing and proofreading the code and docs of @file{ph.el}.
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
991
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
992 @node Variables Index, , Credits, Top
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
993 @comment node-name, next, previous, up
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
994 @unnumbered Variables Index
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
995
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
996 @printindex vr
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
997
29713
983e65f12610 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents: 29192
diff changeset
998 @setchapternewpage odd
27316
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
999 @contents
6e868e0bc324 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1000 @bye