This article is a pre-release chapter in the upcoming “Take Control of OS X Server,” by Charles Edge, scheduled for public release later in 2014. Apart from, and , these chapters are available only to ; see  for details.
Many of the services provided by OS X Server enable collaboration of one sort or another, but for the purposes of this chapter, I want to focus on three types of collaboration: contact sharing, calendar sharing, and instant messaging, which map to the Contacts, Calendar, and Messages services in OS X Server.
Before you wade into turning on these services, think about why you’re doing so, since contact sharing can in many cases be done more simply with a secondary iCloud account, you can more easily share calendars via iCloud (or Google Calendar), and Apple’s iMessage service is generally the easiest way to trade instant messages back and forth. If you’re setting up OS X Server for your family, Contacts, Calendar, and Messages may be overkill.
Also, I need to be up front about what’s feasible with contact sharing. With OS X Server’s Contacts service, you can share contacts between your Mac and your iPhone, for instance, but you cannot inherently share contacts with other people. The workaround in the Contacts services is the same as for iCloud—create an account dedicated to sharing contacts—but each time I’ve done this for a client, they’ve been unhappy when someone (or some client app) deleted or duplicated shared contacts inadvertently. Put bluntly, there’s no good solution here—sorry!
But there are good reasons to enable these services. A shared iCloud account works only within a small family group, since the password must be shared with all members, making for an awkward situation if you have to change the password when an employee leaves. Plus, some older devices and operating system aren’t compatible with iCloud but do support the underlying protocols that Contacts, Calendar, and Messages rely on. And, depending on what your organization does or your general comfort with Apple’s online services, you may not want confidential client and meeting data on iCloud, where you aren’t in control of the security measures.
Turning on Contacts, Calendar, and Messages in OS X Server is easy, but understanding how your users will interact with them and configuring their client apps is a bit more involved.
Before you begin, make sure you’ve set up Open Directory, as detailed back in Chapter 4, in, and turned on push notifications, which you did back in Chapter 3, in . Push notifications are important because they enable your server to automatically send updated information to available clients that are configured to receive push notifications. Thus, if one user changes the address in a contact’s record or adds an event to a calendar, that change is rapidly sent to all other devices.
Unsurprisingly, the Contacts service in OS X Server is designed to talk to the Contacts apps in both OS X (10.8 Mountain Lion and later) and iOS. It does this through CardDAV, an open source protocol designed to store contact information on Web servers in a manner that is quickly and efficiently retrievable and digestible by apps on client devices. Because CardDAV is a widely used standard, you should be able to connect to the Contacts service from a variety of software and devices, not just those from Apple.
I know I’ve said this about other services in OS X Server, but the Contacts service couldn’t be easier to configure. You’ll have no trouble following along with these steps:
The Contacts service starts and a small green light appears beside the Contacts entry in the left-hand sidebar.
When you set up a client, you’ll be signing in to the Contacts service with authentication information for a user that you set up back in Chapter 4, in. You’ll also need to have turned on the Contacts service for that user (see ) or for a group that the user is in (see ). It’s okay to add or modify a user at any time, so go back and do that now, if needed.
Obviously, the specific steps for configuring a client to access your Contacts service depend upon the particular app. Fortunately, it’s easy to generalize from one piece of software to the next, and we’ll look at configuring the Contacts apps in Mavericks and iOS 7.
To connect to the Contacts service in Mavericks, follow these steps:
Once you’re done, close the Preferences window and look at the sidebar in the Contacts app, where you’ll now see another top-level entry for your server.
There won’t be any contacts stored there yet, so try two things:
If the contact you dragged appears, you know everything is working, and you can double-check by looking for that contact from another device that connects to the same account.
To configure the Contacts app in iOS 7 to access your Contacts service, follow these steps:
To verify that everything is working, open the iOS Contacts app, tap Groups, and select only the group you created previously; you should see the single contact you added to it.
Where the Contacts services relies largely on CardDAV, the Calendar service is built on CalDAV, another open-source protocol that’s used by the Calendar apps in both OS X (10.8 Mountain Lion and later) and iOS. CalDAV enables clients to access scheduling information on a server, and is itself based on the iCalendar format for event data. Because CalDAV is a widely used standard, you should be able to connect to the Calendar service from many different apps and devices.
Does that all sound familiar from just above in? It should—Apple has intentionally focused its efforts on making contact and calendars work the same everywhere, and the CardDAV and CalDAV standards are a big part of that.
When you enable the Calendar service, your users will be able to create and share calendars on your server with one another. As with the Contacts service, merely creating the Calendar service and connecting to it from clients doesn’t result in any data appearing—your users need to create calendars and populate them with events before anyone sharing those calendars will see anything.
There is one exception to that rule. You can create special calendars for locations and resources, and you do that in the Calendar service itself. You might do this to avoid scheduling conflicts, either for spaces, as might be important in an office with a heavily used conference room or even families with teenagers competing to borrow the car. By adding events to those special calendars, people can reserve places and resources on a first-come, first-served basis (or at least negotiate with those who have them already reserved).
Although not quite as easy as enabling the Contacts service, configuring the Calendar service is a simple, straightforward process:
That’s all you need to, unless you want to create special calendars for locations and resources, or you want to enable the Calendar service to send event invitations by email.
To create individual calendars for locations (like meeting rooms) or resources (like a family car), follow these steps:
1964 Dodge Dart).
The new calendar appears on the Calendar pane in the Locations and Resources list. If you want to adjust any of its settings, double-click its entry. Repeat these steps to create more locations and resources, as desired.
Let’s say you have a location calendar for a conference room, and you want to schedule a meeting for next Tuesday. (This example assumes that you’ve already connected your Calendar app on the Mac to the Calendar service, which I’ll get to in; bear with me for a minute.)
You can invite specific people to your meeting, and if they all have accounts on your server and have set up their calendar apps as well, they’ll receive notifications within the apps.
But what if you want to use the Invitation feature to invite people from outside your company too? You can do that too, but the Calendar service won’t send them in-calendar invitations. What the Calendar service can do, however, is create and send an email message to each invitee automatically, and if the invitee replies to it, Calendar can update the event to reflect whether or not the person is coming. But to do that, you must run through some additional steps to configure the email account will send and receive these invitations and responses.
There are two approaches here:
But if I haven’t dissuaded you from running your own mail server, I need to do some hand-waving here for the purposes of this chapter in TidBITS. That’s because we won’t get to turning on the Mail service until Chapter 8, Mail Services. So, if you want to use the internal mail services, you can follow the steps below, but no email can be sent until you also turn on Mail. Or you can skip these steps for now and come back after you’ve enabled mail services.
With that caveat out of the way, follow these steps to enable email invitations, regardless of whether you go the external or internal route:
Once the Calendar service is configured, and you’ve enabled the Calendar service for the users set up on Open Directory (see), you can connect to it from various clients, such as Calendar in Mavericks and iOS 7. Once a user’s client has established a connection, he can create calendars that will be stored on the sever and that can be shared with other users that you’ve set up in Open Directory.
To start, we’ll look at how to connect from Calendar for Mavericks:
Once a connection is confirmed between the server and the client, the server appears in the list of accounts in the sidebar of the Calendar app (Click the Calendars button at the top left to show and hide this sidebar).
Adding a CalDAV account in iOS 7 is almost exactly like adding a CardDAV account, as explained in:
You can create and share calendars in iOS, but I find it easier in Mavericks (next).
Back in Calendar for Mavericks, it’s now time to create a calendar and share it with other users.
To create the calendar, choose File > New Calendar > ServerName. A new calendar appears under the server’s name in Calendar’s sidebar; give it a sensible name.
Next, to share your newly created calendar, you can either hover the pointer over its name until the Wi-Fi-like broadcast button appears and click that, or just Control-click the calendar and choose Share Calendar, as shown in Figure 13.
In the Share Calendar With popover, enter the user accounts with which you want to share the calendar, as I’ve done with Emerald Edge in Figure 14.
The invited user, once she adds a CalDAV account pointing at the server as well, will receive a notification near the upper left of the Calendar app’s toolbar, adjacent to the plusbutton. Once the invited user clicks the Join button to accept the invitation, the shared calendar appears in her sidebar under the server name and changes made on one client are reflected quickly on all the rest.
Let’s change gears and configure the Messages service, which relies on the Extensible Messaging and Presence Protocol (XMPP) to let users exchange instant messages, using your server as the intermediary.
The big advantage of running Messages server is that your communications are never stored on Apple’s servers, and those within your network never touch the outside Internet. That’s not generally a problem, but here are a few typical reasons for turning it on:
Getting started with the Messages service couldn’t be easier:
/Library/Server/Messages/Data/message_archivesdirectory, which you can access quickly by clicking the arrow icon adjacent the checkbox.
You now have a fully functional Messages server!
Now it’s time to configure client apps. Any Jabber-compatible app should work, but I’ll focus on Apple’s Messages for Mavericks.
Before you begin, make sure your users are set up in Open Directory with accounts, and that those account have access to the Messages service (see, earlier, in Chapter 4.)
To set up Messages for Mavericks:
firstname.lastname@example.org(the short name is the Account Name described in , back in Chapter 4).
You can take the new account online and use it like any other instant messaging account in the Buddies window in Messages.
Read More: Chapter 12 |  |  |  |  |  |  |  |  |  |  |  |  |  |