Resources:
- Using Bluetooth for SMS (deprecated in Leopard, which removed all traces of this feature)
- Connecting to Exchange using iSync (also deprecated, kept for reference)
Contact Sharing:
- Address Book Sync for syncing with Facebook (inc. photos)
- Address-o-Sync
- Address-O-Matic
- Whereabouts
Connecting to Exchange (Leopard) and Active Directory via LDAP
The only real problem is figuring out the correct naming context1, which can be done by issuing:
$ ldapsearch -h your.exchange.server -x -b '' -s base '(objectclass=*)' 'namingContexts'
…and pick out the correct namingContext entry from the output. Bear in mind that on a multi-branch tree (like the ones in multinationals) you might not want to pick the shortest.
Listing Recently Modified Contacts
This AppleScript (taken from here) is very useful when keeping track of modifications done by syncing your address book with other sources:
(* Find recently modified entries in the Address Book
Input: a time interval (backwards from today) in the variable "daysBeforeToday"
Output: a string on the clipboard, format: YYYY-MM-DD (tab) Name (return)
©2009, Michael Bach, <www.michaelbach.de> *)
set daysBeforeToday to 7 -- <<< change as desired or read from a dialog
tell application "Address Book"
copy (current date) - daysBeforeToday * 24 * minutes * 60 to referenceDate
copy (every person whose (modification date > referenceDate)) to modifiedPersons
set s to ""
repeat with aPerson in modifiedPersons
set d to ((modification date) of aPerson) -- now change to international format and forget the hours
set dateString to (year of d as string) & "-" & (my twoDigits((month of d) as number)) & "-" & (my twoDigits(day of d) as string)
set s to s & dateString & tab & (name of aPerson) & return
end repeat
set the clipboard to s --for pasting into other applications
s -- to view immediately in the script editor
end tell
on twoDigits(aNumber) -- trivial utility for formatting
if aNumber < 10 then return "0" & (aNumber as string)
return (aNumber as string)
end twoDigits
Enabling the Debug menu
defaults write com.apple.AddressBook ABShowDebugMenu -bool true
