LDapper 3.1.1 - by Carl W. Bell|
Copyright © 1997-2013 Baylor University.
Disclaimer: Although LDapper seems to work fine, it is distributed "as is". Use at your own risk.
The latest version of LDapper can be found here.
I am currently working on the next version of LDapper. When LDapper was originally developed (17 years ago? Really? Ack!), the intent was to add LDAP functionality to email programs that didn't support LDAP directly. Because of this, LDapper's functionality was designed around searching for email addresses, although it could be used for more general searches. These days, email applications typically support LDAP already.
For the next version of LDapper, the current plan is to remove the emphasis on email searching and instead focus on general searches. As such, features such as "mailto:", copying/pasting addresses, exporting directly to Contacts/AddressBook, will be removed. If anyone actually still uses these features, please please let me know.
LDapper is an LDAP (Lightweight Directory Access Protocol) client for finding email addresses. You can look up people by name, department, or some other arbitrary attribute. Once you have a list of people, you can copy/paste or drag addresses into a new email message. You can probably automagically add them to a new email message by choosing the "Mail To" menu. You can export addresses directly into your Mac's Contacts (aka Address Book) or files that can be imported into other applications. With LDapper, you can also browse an LDAP server in a hierarchical fashion.
Unlike older versions of LDapper which used the LDAP framework (or OpenLDAP libraries) directly, this version is really a "wrapper" around the built-in LDAP utility ldapsearch that is included by default with Mac OS X. You can think of LDapper as a GUI "front-end" to ldapsearch. Many of the options and preferences you specify simply modify the command line arguments to the ldapsearch command. This version of LDapper uses separate preferences than previous versions so you can continue to use an older version if you wish. The first time you run this version, LDapper will import any directories from the old version. Any subsequent changes to those directories will only affect the new version. LDapper now requires Mac OS X 10.7 (Lion) or later.
You will need to set up at least one directory before you can do a search. Open up Preferences and click the add (+) button. If you hold down the option key while clicking the add button, a copy of the current directory will be added. Click the edit (pencil) or delete (-) buttons to edit or delete directories. You can rearrange the directories in the list by dragging them. This will affect the order that they appear in a Search/Browse window's directory menu.
When editing a directory you can specify the directory's name (which can be whatever you want, but must be unique), the LDAP server's URI (e.g.,"ldap://ldap.example.com/"), and an optional (but sometimes not so optional) search base. You can specify a TCP port if it is different from the normal LDAP port (389) by adding a ":port#" to the end of the URI. Although LDAP URIs can contain many things, LDapper only uses the server and port. If your directory supports StartTLS, you can have LDapper request (or require) TLS. By default, LDapper assumes that an LDAP server is an LDAPv3 server but you can tell it that your server is LDAPv2 if necessary.
You can change the LDAP attributes that LDapper uses when searching. While editing the directory, click the "Attributes" tab. These attributes (and default values) are Last Name (sn), Full Name (cn), Department (ou), and Email Address (mail). You can also specify the value for the objectclass attribute (person) which is used when restricting searches to people. Unless you know that you need to change these, you should leave these set to their defaults. To reset the values to their defaults, click the "Default Attributes" button. There is also an option to tell LDapper to use the Last Name or Full Name attribute when sorting the Address List by name.
Searching a directory may require authentication. While editing the directory, click the "Authentication" tab. LDapper supports several methods of authentication:
Anonymous - No authentication.
Simple - No Password Required - Uses an ID (probably your "disinguished name") but no password.
Simple - With Password - Uses an ID and a password. Although the ldapsearch command supports specifying the password on the command line, this is a potential security risk. Instead, LDapper will use ldapsearch's -W option which tells ldapsearch to prompt for the password. You may see the prompt (but not your password) included in the Command Output text.
SASL - Simple Authentication and Security Layer. For SASL authentication, LDapper simply passes any options you specify, e.g., SASL mechanism, or properties, to the ldapsearch command.
Most users will probably use "Simple - With Password". LDapper can store the directory's password in the Mac OS X keychain so you won't be required to enter it every time you search. LDapper can also run the ldapwhoami command that you can use to test your authentication/authorization credentials.
Select the "New Search Window" command in the File menu to open a new search window with default settings.
You can change several of the settings, e.g., the directory and search criteria, before doing a search. You can have up to 4 criteria for searching. Click the (+) and (-) buttons to add and remove criteria. When searching, LDapper will find entries that match ALL criteria, i.e., AND not OR. Use the popup menu(s) to choose which attribute(s) you want to search for, the search type (is, is similarto, contains, starts with, ends with, is anything, is missing), enter some text in the search field(s), and then click the Search button or select the Search command in the LDAP menu.
If required, you will be prompted for a password. If your password is stored in your keychain but you don't want to use it for some reason, or if you need to specify/change your identification, press the Option key while starting a search and you will always be prompted.
LDapper will build the ldapsearch command using the options you specify and then run ldapsearch. It will parse any output from the ldapsearch command and add the entries returned to the "Address List". If you just want to see the ldapsearch command and not actually run it, hold down the Control key when starting a search.
If you select a person in the Address List, their info will appear in the "Details" text at the bottom of the window. LDapper can save the actual output from the ldapsearch command. You can switch between the Details and the Command Output text by clicking on the Details/Output buttons. LDapper adds the ldapsearch command and its arguments at the top of the Command Output text. You should be able to copy the command and paste it in Terminal to run the ldapsearch command directly. If you just want to get the command but not actually perform a search, press the Shift key while starting a search. Also, any error text, i.e., stderr, will appear below the output. You can export the Details (or Command Output) text to a file.
You can export the Details for selected or all addresses to a file. You can save the text as plain text (.txt) or rich text format (.rtf) to get bold attributes. If any of the details contains photos, you can save as rich text format with attachments (.rtfd) to include the photos in the file. Note that photos in the info are resized so that the maximum height or width is 256 pixels so it may be smaller that the actual image in the directory. (You can also drag images from the Info text and LDapper will create jpeg files.) Command Output text is always exported as plain text.
You can modify several options to use when performing a search. To set these options just for the current Search window, select "Search Options" from the LDAP menu. To set the options as defaults for all Search windows, modify them in "Preferences".
LDapper will remember the last search and use its criteria when you open a new search window.
LDapper also allows you to save searches, similar to a web browser's bookmarks. To view them, select the "Saved Searches" window menu. You can add, modify, and delete searches from this window. To add the criteria in an active Search window, select the "Save Current Search" command in the LDAP→Saved Searches menu. You can reorder the saved searches dragging them.
Each saved search has a name which appears in the Saved Searches menu. Selecting one of those menus will apply that search's criteria to the Search window. You can also drag a saved search to a Search window to use it (or click the "Use Selected Search" button.)
After a successful search, matching entries should appear the the "Address List"
Click one or more entries in the address list to select them. You can then copy/paste or drag them to your email application or to a text clipping in the Finder. Entries without email addresses will not be included. Different email applications handle copying (and dragging) of addresses differently. You will need to experiment with some settings to see what works best with your email application. You can specify in Preferences which delimiter you want to use to separate the entries. These include commas, new lines, tabs, semicolons, and spaces. If you have an application that uses some other delimiter, please let me know, and I'll add it to the list. If the "Include personal names" preference is enabled, you'll get "name <email>,name <email>". If disabled, you'll get "email,email". There is also a setting in Preferences to change the format from "name <email>" to "email (name)".
LDapper can automagically create a new email message pre-addressed with selected addresses if your email application supports this. (Most email apps do.) This works the same way as if you had clicked on a "mailto:" URL in a web page so any program that can be set up as a mailto URL helper should work. LDapper will use your default email application. Select one or more entries in the address list, then select the "Mail To:" menu to send the address(es) to your email application. Double-clicking an address will do the same thing.
Note that sending addresses to your email application in this manner will not include personal names. If you want personal names, you must use copy/paste or drag and drop instead.
You can export selected addresses by choosing an item in the "Export Addresses" menu. If no addresses are selected, you will export all addresses. The current export formats are:
It is possible to "browse" an LDAP directory hierarchically, starting with the directory's "Search Base". Click the small triangle to the left of an entry to expand it. This will display all of the entries one "level" down. Click the small triangle again to collapse the list. Selecting an entry will display its attributes and values in the text field below the list. LDapper only fetches an entry's details from the server when you select it. Unlike a search window, you cannot copy/paste, drag and drop, export, or "mailto:" selected entries.
Browsing appends each command's output to the Command Output text rather than replacing it. As with Search windows, you can export the Details and Command Output text.
If you find yourself using LDapper to browse more often than search, you can use Preferences to switch the default document type to browse. Normally, LDapper uses Cmd-N to create a new search window and Shift-Cmd-N to create a new browse window. Switching the default document to browse swaps these. The default document type is also the type of window that is created when LDapper is first launched or when you switch to LDapper by clicking its icon in the dock (if there are no other documents open).
If you have any questions, comments, (constructive) criticism, or bug reports, you can contact me at the address(es) below.
Carl Bell's Web Page
Stuff I've Written
Carl W. Bell
Academic and Research Computing Services
Baylor University Electronic Library
One Bear Place #97148
Waco, TX 76798
This software, data and/or documentation are also unpublished works protected under the copyright laws of the United States of America. If these works become published, the following notice shall apply:
Copyright © 1997-2013 Baylor University
All Rights Reserved
The name of Baylor University may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE, DATA AND/OR DOCUMENTATION ARE PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
When permission has been granted to make copies of this software, data and/or documentation, the above notices must be retained on all copies.
Permission is hereby granted for non-commercial use and distribution of LDapper