Newsroom Update

Beginning in May, a special Today at Apple series titled “Made for Business” will offer small business owners and entrepreneurs free opportunities to learn how Apple products and services can support their growth and success. Learn more >

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Contacts Server - A Few Questions

With Apple's sparse documentation it's not quite clear how to get going with AddressBook (Contacts) server and understand how it works. I am coming from using MarketCircle Daylite to see if I can use ML Server and Client as an alternative in an office environment.


  • Mountain Lion Server (ML Server) only has an on/off toggle for the contacts. I'm not sure how that relates to a master shared list of all contacts.
  • Is the only way to make a master shared list of all contacts is to make a fake "contacts" user on ML Server. I had to do this for calendar so that we're all working from one calendar that's not our own names OR is it the workflow such that each user account has their own contacts connected to their client computer Contacts.app and through searching we're able to search through all user contacts as if it was a master list?
  • How do you add contacts to the master shared contacts? I cant' seem to get that to work from my Mountain Lion Client machine.
  • Is there a way to have secure contacts so that certain people cannot see them?
  • Can you have secure groups?
  • Does ML Server Contacts work with OS X Lion Address Book (client)?
  • Is there a way to prevent people from editing and /or deleting contacts and groups.?

Posted on Aug 20, 2012 4:27 PM

Reply
Question marked as Best reply

Posted on Sep 21, 2012 12:36 PM

I had the same questions for my small server group. After poking around and finally asking Apple Enterprise Support, here is what I learned:


The on/off switch for Address Book in Server does just what it says, turns the service on and off.


Actual setup of the server is in the HTML documentation; The most critical element that you must setup by command line is the hostname. The clients will find the server without this, but it will be slow and the refresh and timeouts will bog down the network.


Mountain Lion Address Book Server is basically your personal iCloud Contacts server. For each user configured in the Server you can populate an Address Book and share it. There isn't really a server/client relationship here, so your "fake" user will come in handy again. Like iCloud, if the user account accesses a particular Contacts list, they have full access to view and edit anything in that Contacts. There are no secure groups, no secure contacts, no preferences... These would fall under the CardDAV Delegates protocol, which isn't implemented by Apple's Address Book (and I couldn't find anything hidden to turn it on. Anyone else? sudo serveradmin settings addressbook).


There appears to be some attempt to solve this through Profile Manager, but, like everything in Profile Manager, it doesn't work.


Since the Mountain Lion Address Book Server is providing CardDAV service, it is accessible by any CardDAV client, including past OS X versions of Contacts/Address Book.


Directory services Address Book information is not editable by anyone except the sysadmin. This information is populated automatically with any data added to the User's account in Server. In practice, there are other discussions here and on the net where this information has been added to directly through the Directory manager for contacts other than Server Users. This doesn't help with granting limited permissions, however, since only the Server manager can edit this information.



So, how do you populate a server address book?


After turning on Address Book Server in the Server manager and configuring the hostname using the command line, add a CardDAV account to your client. Contacts ->Preferences -> Accounts -> +

  • Account type: CardDAV
  • User name: (any Server user)
  • Password: (that user's password)
  • Server address: hostname of your server


If you populate this address book, then configure the same exact account in another client, it will populate with the same addresses. Like iCloud, if you want a group to share Contacts, you'll need a shared UID, another "User" for the sole purpose of sharing data.

14 replies
Question marked as Best reply

Sep 21, 2012 12:36 PM in response to Tangier Clarke1

I had the same questions for my small server group. After poking around and finally asking Apple Enterprise Support, here is what I learned:


The on/off switch for Address Book in Server does just what it says, turns the service on and off.


Actual setup of the server is in the HTML documentation; The most critical element that you must setup by command line is the hostname. The clients will find the server without this, but it will be slow and the refresh and timeouts will bog down the network.


Mountain Lion Address Book Server is basically your personal iCloud Contacts server. For each user configured in the Server you can populate an Address Book and share it. There isn't really a server/client relationship here, so your "fake" user will come in handy again. Like iCloud, if the user account accesses a particular Contacts list, they have full access to view and edit anything in that Contacts. There are no secure groups, no secure contacts, no preferences... These would fall under the CardDAV Delegates protocol, which isn't implemented by Apple's Address Book (and I couldn't find anything hidden to turn it on. Anyone else? sudo serveradmin settings addressbook).


There appears to be some attempt to solve this through Profile Manager, but, like everything in Profile Manager, it doesn't work.


Since the Mountain Lion Address Book Server is providing CardDAV service, it is accessible by any CardDAV client, including past OS X versions of Contacts/Address Book.


Directory services Address Book information is not editable by anyone except the sysadmin. This information is populated automatically with any data added to the User's account in Server. In practice, there are other discussions here and on the net where this information has been added to directly through the Directory manager for contacts other than Server Users. This doesn't help with granting limited permissions, however, since only the Server manager can edit this information.



So, how do you populate a server address book?


After turning on Address Book Server in the Server manager and configuring the hostname using the command line, add a CardDAV account to your client. Contacts ->Preferences -> Accounts -> +

  • Account type: CardDAV
  • User name: (any Server user)
  • Password: (that user's password)
  • Server address: hostname of your server


If you populate this address book, then configure the same exact account in another client, it will populate with the same addresses. Like iCloud, if you want a group to share Contacts, you'll need a shared UID, another "User" for the sole purpose of sharing data.

Feb 26, 2013 6:31 PM in response to kristin119

This is super frustrating.


ML Server v2.21 on OSX 10.8.2

Contacts switched to ON

Command line set up with

>sudo serveradmin settings addressbook:ServerHostName = hostname.local<


Client set up:-

CardDAV

Client: username

Password: users password

Server: hostname.local


No contacts visible.


Any help from anyone that has actually got this going would be great.


Cheers

g

Feb 26, 2013 6:51 PM in response to UptimeJeff

Yup it is.


I filled the Server with a stack of contacts. Synced from Google Apps - they filled in fine via a Google Sync. Copied them all to the local Address book [On my mac] location [[which is not my mac, but is the server of course]].


I did that so in the event that I did locate the contacts it would double the chances of finding them ! lol. As there is next to zero info on how to set this up for real from Apple Support. Although I would love to be corrected on that.


Cheers

g

[New Zealand is hot and humid today]

Feb 27, 2013 12:28 PM in response to Guy Hollister

Yes, Guy, that is a problem.


After first setting up my server, support would repeatededly go back to DNS for every question I had. As I have learned, they were right, and every problem I had can trace back to two things:


1. Is the DNS set up correctly

2. Is Open Directory set up correctly


FYI, the server setup wizard for DNS is wrong by default. Even support failed to see the error; it looked wrong to me, somehow, but took me six months to figure out *what* was wrong. (by default the domain is "myserver.private" instead of domain "private" with hostname "myserver.private".)


You should take another look at your hostnames. In the beginning you say the server is "hostname.local" while you now have "server.local" and "outlineserver.local." While that is fine for discussion, in reality you should name them somthing unique, such as characters from your favorite novel, planets, sports teams, whatever. Just don't make the names generic or you won't keep them straight.


While we're at it, you don't want a .local suffix for anything you are setting up - that's a tip from Apple Support and appears on one of their support pages as well. That suffix is used to identify devices on your network for Bonjour. Anything you set up on purpose should either have a real, registered domain, "mydomain.com" or such, or be unique; .private is the default, but smarter minds recommend something made up, like .happy.


It sounds like your question should be referred to a wider server audience, not this little thread on AddressBook.


Cheers.

Feb 27, 2013 1:18 PM in response to kristin119

Many thanks Kristin... I knew it was as soon as I spotted it.


The first reference to what I had called it was simply to not tell the world the name of it. Hardly a problem though really doing so !


I fully agree with you on unique names for things like that although clients being designers want things named boringly.


Ok sounds like i need to be talking direct to Apple Server support.


Many thanks for your help.

g

Mar 18, 2013 6:33 PM in response to kristin119

Just spent an hour on the line to Apple Enterprise.


He suggested I fully reinstall the Server. He also advised that your idea for sharing a User CardDAV accross clients will result in a utterly corrupted Address Book database and or client Address Books - resulting in meltdown - so to speak.


1 Day later...


Having now fully reinstalled OSX ML ... and resetup the Server from scratch... after speaking to Apple they advise... its a bad idea to use 1 User to share contacts across a network... and will lead to corruption of the address book and or the acocunt using it. So we won't be doing that.


Google Apps support advises they do not have a solution that is any good for sharing contacts in any centralised form across google Apps user accounts. Although they did point me to a few contacts sharing marketplace locations for doing that - having now tested and tried both solutions with no success whatsoever.


Anyone that has managed to locate a work solution to sharing contacts form one Address Book - through users accounts - I would love to know about it.


Thanks

g

Mar 20, 2013 3:11 PM in response to Guy Hollister

Guy, thanks for the update from Apple. My question is though - what is the correct setup then. Is the only way to use it correctly is to just have users accounts have their own set of contacts and Contacts Server essentially hunt down the contact needed by looking in every user account? This is so problematic. This also begates the point of having shared contact lists that we all contribute to / pull from.


Here at the office I did set up that one user account that we're all connected to. Now I have to find another way. Yikes, now I want to go back to DayLite.


Would love to hear what the correct way is to use contacts server.

Mar 20, 2013 5:34 PM in response to Tangier Clarke1

No problem. It's a misnoma.


The Contacts service on an OSX Server is designed to do one thing. Contain and deliver the "Users" & "User Groups" of Domain Contacts to those users Contacts apps running in the network.


Contacts like names and addresses of companies and people outside the domain are understood to be personal to the user and not shared. Hello - this is the real world !


Google Apps - who I convert every company I support over to - do provide "shared contacts" feature - but its average to rubbish. I have raised the issue with them to build it !!


Short of a smarter solution - I am now looking at:-


A Local User contacts file per user [for personal contacts]

- not shared but Sync'ed with Google Apps so available offsite


A Local Company Contacts file per user [for company contacts]

- not shared but Sync'ed with Google Apps so available offsite


The Users could edit their company contacts but that would be unwise, smarter for one person to make the edits or additions to any info and then once a month that file gets deleted from the local Macs and an up to date version imported.


The Groups section available down the left hand side of the Contacts window [only by a menu selection] would be ONLY split up using smart folders. This would save alot of hassle - smart folders set to search on Company domain name [is how i do it] - would bring in all the branches of that company etc... making it dead easy to find people and contact details.


People randomly creating a contact and saving it... but not knowing where to... would be a thing of the past. Get it right or lose the contact !


Guy

Contacts Server - A Few Questions

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.