sg3000 writes
"A friend asked me a question about setting up shared address books with Mac OS X, but I have no idea how to solve this. He wants to set up an address book that can be accessed by different user accounts on the same Mac or by different Macs in the same household. This would be useful for having a single place to put contact info for family and friends. His first thought was to move the Entourage user folder to the Shared folder in Mac OS X and just move aliases of that folder to each of the users' folders. This way when they open Entourage they would see the same address book and both can make changes to it. The downside? Well, you're stuck with Entourage, it will work only on a single machine, everything is shared between the users (all contacts not just a subset, calendar, email, to-do list, etc) and it won't work with other mail clients. I know with the new Mac OS X 10.2, you can share calendars between people using iCal. Is there some way to do this with the new address book for Jaguar too? Since 10.2 is basically shipping now, you can throw NDAs and caution to the winds!"
"My solution was to set up a FileMaker Pro database and put the file in the Shared folder. The downside is you couldn't do a simple lookup from the email compose window like you can with the integrated address book.
So finally I thought, what if you set up an LDAP server running on one Mac in the house, and then just set up your email clients to access those. Easy, except other than what I just described I know nothing about LDAP.
LDAP looks like it's a lot more than the shared email list that you see in a mail client. And I couldn't find an LDAP server for Mac OS X. It looks like OS X Server has something but that's overkill; we're talking about sharing addresses among five people, tops. Mac OS X has something called Directory Setup that looked kind of right, but Google returned no info on how to do this."
>OS X Server is overkill? If you want to run a server, then you need a server OS.
>Linux PPC would do nicely, I'd imagine.
Wow, that is such utter BS. Anything you can run on LinuxPPC you could compile for OS X, maybe something like OpenLDAP, and buying a $500 server OS to get a simple app is exactly the definition of overkill.
-- V
-Alex
What?? You do NOT need to go and pay for a server OS to run a server process on a machine... ESPECIALLY for home use.
YES! OS X Server would be SERIOUS overkill!
The standard release of OS X is MORE than enough to run a basic LDAP server, Apache (um, which ships with it), Named (also ships), MySQL and Postgresql.... ALL at the same time. Hell, I can probably run a ton of other stuff and not notice.
The higher end servers are needed for performance and ease of maintenance. And they're needed because their server processes would theoretically be under a high load. And even the XServes aren't really meant for the REAL high end server market.
Anyway... just couldn't let such an innacurate statement go by without comment, considering this person was referring to "home use".
Cheers,
-Alex
Okay, You said you didn't want to use Entourage. How about Eudora (yeah, commercialware, ads, etc)? In Eudora, you can create something called a Nickname "book". You could place *that* in the shared folder, and create aliases to it. I haven't tested it out across shared mailboxes, but it does work if you have an alias pointing to it. Here are the steps to make an address book: 1) Go to Windows > Address Book 2) Click on the Icon that looks vaguely like a purple book with a star (may be marked "Book") 3) Enter all the addresses you want. Now quit Eudora, copy that Nickname to the shared folder (will be located in Eudora Folder/Nicknames/) to the shared folder. As e-mail clients go, you can't go too wrong with Eudora. And it solves your problem, too.
Karma: Chevy Kavalierma.
Yes, you can do this with Address Book in 10.2 Just drag it's Pref folder in Library to the Public folder as you did with Entourage. I'm not sure how well this setup works if two people make a change to the address book within a few seconds of each other. Data loss MB?
There is no need to pony for FileMaker Server. Any FileMaker Pro instance can, uhm, serve as a server. You will, though, have to buy a separate FMP license for each box. Me, I'd use something Free.
LDAP is a kind of database where you can store anything, but you need to have schema that describe what the data are (like a type). But behind ldap you have a real database, because you have to store your ldap in a this db (default ldbm, but it can be mysql, postgres, netinfo (in osx), etc...
Bombing for peace is like fucking for virginity!
Check out the mailing list archives at http://www.openldap.org.
This is what LDAP was meant for, among other things.
After a couple of minutes searching the openldap-software list I saw people trying to do 3 things with OpenLDAP on OSX.
1) run it. Used to have problems with replication (slurpd) and multithreading.But that was a few months ago.
2) Use it for user management like NIS. Essentially using nsswitch_ldap on OSX. Some success it looks like.
3) Use it for shared address book stuff. Working fine.
LDAP is awesome, think about a relational database where the table layout for common data is already specified for you. i.e. storing a user in a database where the table schema is the same, no matter which database you use.
This is why all the major mail clients support any LDAP server as an address book. The schema for an entry in the address book is specified, but can be expanded. Essentially you have entries in the server that are of the inetPerson object type, an entry can have multiple object types and object types can inherit from other object types. Think of an object type as a table definition in a database. You can search by object types or by attribute values (Objects are made up of defined attributes: inetPerson is an object type, email is an attribute of inetPerson).
Essentially if you write an app that knows how to deal with data stored in an inetPerson structure, it will be able to integrate with any other app that can do the same.
LDAP will not replace a generic relational database, nor is it meant to. It's optimized for reads and has a hierchical layout. You can have a SQL backend if you want, but I wouldn't do this unless I needed a gateway to a legacy database.
People should be moving data out of the database and into LDAP servers where appropriate. LDAP is the basis for Directory Services like Active Directory and Novell's Directory Services (LDAP is a gateway for Novell actually, complicated relationship).
So, essentially, use LDAP, it's a good idea. The OpenLDAP tools aren't the best and it can be a bit of a pain to set up, check out Directory Administrator and GQ (both GTK apps) to manage OpenLDAP.
Have fun....
Arrogance is Confidence which lacks integrity. -- me
I mean yeah, you can use Marc Liyanage's site to download OpenLDAP package, or [my preference] you can just install Fink and let it do the work for you with a simple (if slow) fink install openldap-ssl, but really -- if it's built into the system then why go to all that trouble? Development of the Fink package more or less stalled once it was announced that LDAP would be built into the client version of Jaguar, and that's not unreasonable. Why reinvent the wheel, ya know? Just upgrade your OS....
DO NOT LEAVE IT IS NOT REAL
The Directory Setup app (called Directory Access in 10.2) in the Utilities folder is not the server, it's the configuration app for Open Directory access (NetInfo, LDAP, BSD config files, etc.). In other words, it's how you tell OS X about directories for services, authentication, and contacts. 10.2 docs for all this stuff are here
I agree with a lot of the other posts: the best way to do this is to set up OpenLDAP on one of the machines, point Directory Access to it, and you're golden. It'll work in 10.1, but it rocks in 10.2.