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.?
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.
- sudo serveradmin settings addressbook:ServerHostName = "Hostname"
- https://help.apple.com/advancedserveradmin/mac/10.7/#apd7123E6B1-548D-4780-A708- 3CCFDF1C28A5
- 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.