annotate man/eudc.texi @ 38212:6b14cc47a4f2

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