annotate doc/misc/eudc.texi @ 111396:641138a273eb

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