Slashdot Mirror


Shared Address Books for Mac OS X?

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

38 comments

  1. LDAP by tps12 · · Score: 0, Insightful

    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. Or you could just piece together a $200 PC (it needn't have a monitor) and stick it there on the network. Wouldn't take more than an afternoon. LDAP is all XML based, so you can edit everything by hand and view the results in Mozilla. Easy.

    By the way, this marks my 1000th post here on Slashdot (not counting those posted as Anonymous Coward). Quick word of thanks to everyone who makes this possible, and by that I mean the users, the people who post and moderate comments. Slashdot has become an icon (no pun intended) on the Internet, and a beacon in the Linux and Open Source communities. So, if you're reading this right now, pat yourself on the back for a job well done. Let's make the next 1000 posts as great as the first 1000.

    --

    Karma: Good (despite my invention of the Karma: sig)
    1. Re:LDAP by vincent99 · · Score: 1, Informative

      >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
    2. Re:LDAP by tps12 · · Score: 0

      Linux PPC costs $0. They call it "Free Software," it's all the rage these days.

      --

      Karma: Good (despite my invention of the Karma: sig)
    3. Re:LDAP by diverman · · Score: 3, Informative

      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

    4. Re:LDAP by Anonymous Coward · · Score: 0

      LDAP is all XML based .. huh? What have you been smoking? or are you just trolling?

    5. Re:LDAP by diverman · · Score: 2

      I wanted to reply to the XML comment too, but am not sure enough about my understanding of LDAP to question it. I thought LDAP was a spec, and not specific about the storage implementation detail (such as XML or relational DB, etc).

      I guess it's just another piece of info that was inaccurate. :)

      -Alex

    6. Re:LDAP by prinzip · · Score: 2, Informative

      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!
    7. Re:LDAP by Anonymous Coward · · Score: 0

      It is a known troll(just read his journal for proof). Some dumb mods gave him karma by moding up one of his jokes he just made so that he could troll us even more. Keep the trolls where the belong please, no matter how funny they may be. Oh well, the jerk going to be modded back to -1 anyways.

    8. Re:LDAP by rjung2k · · Score: 1

      Especially considering that the only real difference between MacOS X and MacOS X Server is that the server package includes more administrative tools.

    9. Re:LDAP by Omega996 · · Score: 1

      last time i checked, OpenLDAP was free too. Amazing that you can compile software on platforms other than Linux!

    10. Re:LDAP by Anonymous Coward · · Score: 0

      I have been grinding away at LDAP for about a month now, on and off, first looking at the server built into Communigate Pro and now at Open LDAP and Mark Liyane's port of it.

      I am trying to replace Now Contact with the Apple Address Book as it is too old and difficult for users to learn. I believe LDAP is defintely the way to go but boy, Its really, really hard work.

      The build by Mark Liyane installs like a Mac app but the documetation is all Linux - its a bit like trying to learn chess with a Majong rule book.

      There has gotta be a market for making thie easier - please, somebody!

  2. LDAP for OS X by diverman · · Score: 1

    I haven't actually tried this, but I do have their port of PostgreSQL running, and it works without a hitch.

    http://www.entropy.ch/software/macosx/openldap/

    Cheers,
    -Alex

    1. Re:LDAP for OS X by diverman · · Score: 2, Informative
      I guess I should have made that a link, huh?

      -Alex

    2. Re:LDAP for OS X by Anonymous Coward · · Score: 0

      No hyperlink? NO KARMA!

  3. A few options... by dr00g911 · · Score: 2, Interesting

    You could try OpenLDAP, but I haven't had very good luck with it in the past -- it's also overkill IMO. Oh yeah, and Entourage gets all sorts of flakey with non-MS LDAP servers.

    Another option is to load up something like a PHP groupware solution... moregroupware is a really nice option, although German is the developers' first language ;)This'll give you webmail, shared (and private) calendars and address books.

    What I'd do personally is just set up a quick mySQL database and PHP or Perl front-end that gives you clickable mailto: links for people's records. There's a million packages like this on Zend. I wrote one similar to record incoming callerID info and join to a vcard-like mysql table. Took an hour or two.

    On the other hand, if you want to use Apple's address book, you could try to find where on the disk the data files are saved and do a root cron job to copy those files either between accounts or machines.

    With Apple pushing Rendzevous and iCal as much as they are, I'm sure an Apple solution will pop up pretty quickly.

    Best of luck.

  4. FileMaker by Mikey-San · · Score: 0

    Three words:

    FileMaker Server, dude.

    Rather than dropping a database into a shared folder, run a copy of FileMaker Server and allow people with copies of FileMaker Pro to connect to the database being served/shared over your network.

    -/-
    Mikey-San

    --
    Mikey-San
    Karma: +Eleventy billion (mostly affected by watching Celebrity Jeopardy)
    1. Re:FileMaker by rjrjr · · Score: 2, Informative

      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.

  5. A Solution that Works... Mostly by greenhide · · Score: 2, Informative

    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.
    1. Re:A Solution that Works... Mostly by constantnormal · · Score: 2, Informative

      None of the solutions based on providing multiple user access to an address book by replicating aliases to it will work if the address book is subject to updating by multiple users.

      That's what a database is for.

      IF (and ONLY IF) you are going to limit your address book updates to a single user, then replication of aliases/links can work. Otherwise, you eventually run into the problem where two users are going to update it at the same time (or within a small enough window that both read the same data but write different data), and one clobbers the other's update, or worse, clobbers some critical data structure and nukes the address book. The LDAP solution is the best way to handle this.

  6. Using Address Book by harveyswik · · Score: 2, Informative

    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?

  7. 10.2 Address Book, .Mac and others. by oscarmv · · Score: 1

    I believe 10.2 improved & centralized address book can be automatically backed up to .Mac, which I guess would go a long way towards what you want. It's probably also possible to do the same with other services (Apple is kind enough to let that be done with most net-connected programs, although it's sometimes a little obscure to know how to).

    So in any case check out 10.2 and look for it, as it's probably there.

  8. Openldap is in OS 10.2 by prinzip · · Score: 1

    The good news is Jaguar include already an Openldap server

    (just take a look at /etc/openldap in a terminal)

    But you'll need a schema that work with Entourage or other address book.

    And you'll have to start properly the slapd deamon (not easy, the standard config of apple for openldap seem to be really buggy)

    But if somebody successfully succed I have a schema and a small php program to manage a shared address book on top of ldap.

    --
    Bombing for peace is like fucking for virginity!
  9. Shared addresses & calendars by Anonymous Coward · · Score: 0

    Now Contact & Now Up to Date will solve 90% of what you're looking for. Its free/included servers for contacts and events work great in the background - they can be on any Mac that's on the network (including a client machine), even the Net.

    The only catch is that if the 'server' Mac is behind a firewall and the client Macs are outside the firewall, you'll need to open ports for each service, though this would be true for an FM Pro solution also. It's not cheap, but it is very reliable and works as advertised...

  10. Use OpenLDAP by GOD_ALMIGHTY · · Score: 3, Informative

    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
  11. iSync by Stmpjmpr · · Score: 1

    Isn't one of the functions of the upcoming iSync that it can also sync up different Macs? I'm pretty sure that Jobs mentioned this.

  12. LDAP & Jaguar by babbage · · Score: 3, Informative
    Uhh, isn't one of the big deals about Jaguar that it builds LDAP right into the system, as a replacement for both the user level AddressBook application and the system level NetInfo database?

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

  13. If commercial ($$) solutions are acceptable.. by Anonymous Coward · · Score: 0

    How about Now Up-to-Date and Contact?

    The basic software has been on the Mac platform forever and PowerOn (the most recent custodian of the code) has had OS X versions of these for a year or so now. According to their website they've even got a Windows version in the works. No Linux support yet, though.

  14. LDAP in Directory Access? by cboog · · Score: 1

    If you open Directory Access in the Utilities folder in 10.2 you'll see LDAPv2 and v3, if you click configure you get several options. I don't know if this is the server or what. I know nothing about LDAP. Just thought maybe this would be useful info.

  15. Now Up To Date and Contact by PhunkySchtuff · · Score: 1

    Now Up to Date and Now Contact from Power On Software will do what you want. Plus the server is free with every client.
    -- k

  16. Directory Access app by aelvin · · Score: 2, Informative

    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.

    1. Re:Directory Access app by Anonymous Coward · · Score: 0

      I've run OpenLDAP and pointed Directory Access to it, but how do I put all of my contact information (that's already in the Address Book) into the OpenLDAP server?

  17. Address Pad by hotani · · Score: 1

    Before you go nuts setting up a server for your address book, check out this software (oh yeah, its free).

  18. Internet Message Support Protocol by julesreid · · Score: 1

    Another protocol that can be used for shared address books is IMSP, which was written as part of Carnegie-Mellon's Project Cyrus. The problem is that few applications support it. In fact, the only one I know of is Mulberry.

    --
    If Slashdot posted a link to itself, would it be slashdotted?