A directory of users and groups, and an API to search and update that directory, is central to all groupware applications. What should that directory be? That depends on a lot of things: the scope of your application, the kinds of user/group data you need to store, and the availability of existing directories. Ideally you want to use existing directories, not create new ones. In practice, until LDAP pervades LANs and intranets, you’ll find yourself in a transitional zone, working with a mixed bag of application-specific directories and NOS directories. A thin abstraction layer that isolates your groupware applications from these various directory APIs is one strategy that will help you weather the transition.