LDapper 2.0.4 - by Carl W. Bell
Copyright © 1997-2006 Baylor University.

Disclaimer: Although LDapper seems to work fine, it is distributed "as is." Use at your own risk.

Note: If you got here using a web search engine, you can find the program here.

LDapper is a simple LDAP (Lightweight Directory Access Protocol) client for finding email addresses. You can look up people by name, department, or another arbitary attribute. Once you have a list of people, you can copy/paste or drag addresses into a new email message. Depending on your email client, you may be able to automagically add them to a new message by selecting the "Mail To:" command in the LDAP menu or by clicking the email button. Try it and see if it works. It works with MacOS X's built in Mail client and Microsoft Entourage. You can export addresses directly into the MacOS X Address Book or files that can be imported into other applications. You can also browse a directory in a hierarchical fashion.

Directories

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 (trashcan) buttons to edit and delete directories.) 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 IP address, and an optional (but sometimes not so optional) search base. You can also specify an TCP port if it is different from the normal LDAP port (389) by adding a ":port#" to the end of the IP address. By default, LDapper assumes that an LDAP server is an LDAPv3 server and will use UTF-8 to encode/decode 8bit (international) characters. If you notice that you are having odd characters show up, try enabling the "LDAPv2" checkbox and specify a different encoding.

At Baylor, you will want to enter one or more of the following:
Directory:
LDAP Server:
Search base:
Baylor Directory
ldap.baylor.edu
o=Baylor University, c=US
Directory:
LDAP Server:
Search base:
Baylor Directory (Students)
ldap.baylor.edu
ou=Students, ou=People, o=Baylor University, c=US
Directory:
LDAP Server:
Search base:
Baylor Directory (Faculty & Staff)
ldap.baylor.edu
ou=Faculty and Staff, ou=People, o=Baylor University, c=US

Note that Baylor runs two LDAP servers, one on the standard port 389, and one on port 390. Because the 390 server contains information that is not considered "public" information, e.g., home addresses and phone numbers, it is only accessible on the Baylor network. Email addresses are available on both servers so you can use the default port without any problems.

You can also specify some of the default LDAP attributes that LDapper uses when searching. While editing the directory, click the "Attributes" tab. These attributes (and default values) include Last Name (sn), Full Name (cn), Department (ou), and Email Address (mail) and an optional "Other" attribute. You can also specify the value for the objectclass attribute (person) which is used to restrict searches to people. Unless you know that you need to change these, you should leave these set to the defaults. To reset the values to their defaults, click the "Defaults" button

Some information is only available if you identify yourself to the LDAP server. For example, the server may be set up to only allow people at your site to view home address and phone number information; anonymous users will not be able to retrieve these attributes. You can set your credentials by clicking the "Authentication" tab. Enter your identification (possibly your "distinguished name", e.g., "cn=Bobby Baylor, ou=Students, ou=People, o=Baylor University, c=US") and an optional password. If you leave the password field blank, LDapper will identify you but you will probably have the same access as if you were anonymous. Note that although you may be authenticated, you cannot use LDapper to change information on the server.

Searching

Select the "New Search Window" command in the File menu to open a new search window with initial settings as specified in Preferences. You can change several of the settings, e.g., the directory and types of searches, before doing a search.

To perform a search, use the popup menu(s) to choose which attribute(s) you want to search for, the search type (i.e., is, is similar to, contains, starts with, ends with), enter some text in the search field(s), and then click the Find button (or select the Find command in the LDAP menu, or press just return).

If the first character in the first field is an open parenthesis '(', LDapper will assume that that is a "real" LDAP search filter and will just pass it onto the the server. [I'm not going to try to explain search filters. You either know how to specify one or you don't. LDapper always does a subtree search - you cannot specify base-object or one-level searches.] For any search, you can hold down the option key when clicking the search button to see the search filter that would be sent to the server.

There are several options that can be set before doing a search. Click the "Options" button to view them. Note that these options are temporary and apply only to the current search window. To set these options as permanent defaults, use Preferences.

The "Clear list before new search" checkbox specifies whether or not all of the addresses in the list are removed so that all of the entries in the list will be matches to the current search and not old matches. The "Discard responses without email" checkbox specifies whether or not responses that are missing email addresses should be ignored. If this is not enabled, entries in the list without email addresses will show "n/a" instead. You will not be able to include any of these (non-)addresses when performing a "mailto:" and they may be skipped when exporting as well. The "Search for people only" checkbox specifies whether or not LDapper should limit a search to only people, i.e., those entries with an objectclass value of "person". (This can be modified in Preferences when editing a directory.) For example, if you do a search for people in a department that contains "Marketing", the server may return responses for the departments themselves.

You can also use the "Fetch" popup menu to specify which attributes should be fetched from the server in the initial search. The choices are Minimal, Full, and All attributes. "Minimal" will fetch only the name (sn, cn), department (ou), and email (mail) attributes. "Full" fetches many more attributes. Not surprisingly, "All" fetches all attributes. The list of these attributes are stored in the Attributes.plist file within the LDapper application package itself. You can modify them with Terminal or control/right click the LDapper icon and select "Show Package Contents". Make a backup copy before you do so. Note that although the "classic" version of LDapper allowed you specify fetch attributes per directory, LDapper now only has one single list.

You can specify the maximum number of responses you want to receive from the LDAP server. The default is 100. Set this to 0 to indicate no limit. Also note that there may be a limit set by the server. One interesting thing related to this value is that if your search uses too many resources on the server, e.g., searching on an non-indexed attribute, LDapper may receive a "max hits exceeded" error from the server even though there really weren't that many matches. This probably won't happen on normal searches. You can also specify how long to wait for a response before timing out. Set this to 0 to wait forever. (Maybe not such a good idea.) The default is 30 seconds.

To save the search criteria to a file by selecting the "Save" (or "Save As") commands in the File menu. Search documents have a .search file extension.

The Address List and Info Field

When you click the Find button or select the Find command from the LDAP menu, a search query is sent to the server. During the search, a sheet appears with a progress indicator. You can halt the operation by clicking the "Stop" button. If there are no matches to your search, or more matches than the "Max # Hits" option, LDapper will let you know. As mentioned above, entries without an email address will show "n/a" in the list. If an entry doesn't have a name (cn), but does have a department (ou), then the list will show the department name. Entries without names or departments will show "n/a". To remove entries from the list, select them, then hit delete or choose the Delete command from the Edit menu.

To specify how the address list is sorted, click in the address list's "Name" or "Email" column header. Click the headers again to switch between ascending and descending sorts. You can change the width of the columns by clicking the line between the column headers and dragging.

If you select an address in the list, the information (attributes and values) for that person will be shown in the Info field below the list. If LDapper has fetched only minimal attributes, you can tell LDapper to fetch all attributes by choosing "Update Info" in the LDAP menu.

Copying/Dragging Addresses

Click one or more entries in the address list to select them. You can then copy/paste or drag them to your email application. 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)".

"Mail To:"

LDapper can automagically create a new email message pre-addressed with selected addresses if your email application supports this. 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 the default email application that is specified in the "Internet" System Preferences. Select one or more entries in the address list, then click the "Mail To:" button or select the "Mail To:" command in the LDAP 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. There is no way to include multiple addresses in a single mailto so LDapper must send a separate mailto for each address.

Exporting

You can export addresses by choosing an item in the "Export Addresses" menu. Unlike previous versions of LDapper, these are no longer plug-in based, but are instead programmed into LDapper itself. The current export formats are:

Address Book This does not actually save to a file, but instead adds the addresses to the OS X Address Book. A group named "From LDapper" will be created and the addresses will be added to that group.

Address (Name)

     address (name)
     address (name)
     address
     address (name)
     etc.

Name <Address>

     name <address>
     address
     name <address>
     name <address>
     etc.

and

Pseudo LDIF

     dn: the dn
     attr: value
     attr: value
     attr: value
     attr: value

     dn: the dn
     attr: value
     attr: value
     attr: value
     attr: value

     etc.

The "Pseudo LDIF" format creates an LDIF-like formatted file that can be used with Apple's Address Book Importer utility to import into the Mac OS X Address Book. Address Book Importer can be found here.

Browsing

It is possible to "browse" an LDAP directory by choosing "New Browse Window" from the File menu. This will create a window with a hierarchical view of the currently selected directory. Click the small triangle to the left of an entry to expand the entry. 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. Unlike a search window, you cannot copy/paste, drag and drop, export, or "mailto:" selected entries. You can, however, save the browse criteria (currently, just the directory) to a file. It will have a .browse extension.

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).

Release Notes

2.0.4 (01-Sep-06)

Bug Fixes:

Changes/Additions:

2.0.3 (18-Mar-03)

Bug Fixes:

Changes/Additions:

2.0.2 (11-Apr-02)

Bug Fixes:

Changes/Additions:

2.0.1 (6-Mar-02)

Bug Fixes:

Changes/Additions:

2.0 (19-Nov-01)

1.x (Many moons ago)

Contact Info

If you have any questions, comments, (constructive) criticism, or bug reports, you can contact me at the address(es) below.

-cb

Carl_Bell@baylor.edu
Carl Bell's Web Page
Stuff I've Written

Snail Mail:

Carl W. Bell
Academic and Research Computing Services
Baylor University Electronic Library
One Bear Place #97148
Waco, TX 76798

Phone:

(254) 710-4065

Baylor's Fine Print

This software, data and/or documentation contain trade secrets and confidential information which are proprietary to Baylor University. Their use or disclosure in whole or in part without the express written permission of Baylor University is prohibited.

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-2006 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

The Nature Man says, "The gorilla in the African jungle pounds his chest until the noise of it can be heard half a mile away."