The first is free with every copy of Mac OS X -- namely Apple's Migration Assistant.
Now, like a lot of sysadmins, I had a series of scripts and procedures that I used to set up a new machine for a user. They did the job, and well, so I had pooh-poohed the Migration Assistant until this week when I was doing a group of machine upgrades and decided to give it a try. I had already ran all the current updates on the boxes, (Quad G5s for our designers), and joined them to our Open Directory domain.
I was so very, very wrong about Migration Assistant. It's far better than any script I could have come up with. You take the old Mac, put it into Target Disk Mode, hook a Firewire cable between them and run Migration Assistant. It lets you pick which users you want to move over. That's fantastic for pruning old local accounts. It also moves over all applications, user data and even user account records that aren't already on the new machines. It all just works.
Other than those two issues, it was absolutely problem free. I started it when the designers went home, and by the next morning, it was finished, and they were ready to go. The Apple folks did a good job working on this one.
Another product is an update to an absolutely indispensable tool for me -- Script Debugger. Late Night Software just released Version 4, (and a minor update, 4.0.1). If you do a lot of work with AppleScript, you have to have this tool.
Yes, Apple does give you a basic editor, in the form of Script Editor. You also have the AppleScript functionality in Xcode that allows you to create full-on Cocoa applications or Automator Actions using AppleScript.
However, Script Editor has no real debugging ability, and Xcode, while a great environment for creating applications, is not well-suited for writing the kind of faceless scripts that sysadmins use the most. In addition, Xcode's AppleScript debugging abilities leave much to be desired, whereas Script Debugger rules the roost here, and has for years.
I've been using Script Debugger since Version 2, and have been a huge fan of it since the beginning. In fact, instead of trying to get a review copy, or using the demo for this, I bought it. It's too indispensable to my work for me to try and go cheap on it.
Script Debugger 4 is a rewrite, bringing Script Debugger into the Cocoa world.
Not that the Cocoa part is important. As a friend of a friend said about the whole Mac OS X Carbon vs. Cocoa thing: ''Whether an application was written using Carbon or Cocoa is as irrelevant as whether the programmer was wearing pajamas or a ball gown. I only bring it up to show that this is a pretty major rewrite of Script Debugger.
But a rewrite without improvements is the same mistake made again. This is most definitely not the case with Script Debugger 4.
The UI on Debugger 4 has been cleaned up immensely from Script Debugger 3's multiple floating window interface. This makes tracking variables and other information while debugging multiple scripts much simpler. You now can debug multiple scripts simultaneously, something that I really welcome. There was nothing more annoying than having a script that took a long time to execute, but being unable to do anything else in Script Debugger because you could only debug a single script at a time.
When you drop a file on a Script Debugger window, you can get a range of actions, from displaying the AppleScript Dictionary (if applicable), to getting path information or pasting an Alias reference, etc. This doesn't seem like a huge feature, but once you start using it, it's really addictive.
Script Debugger's dictionary handling, already far and away better than anything Apple has, is improved, with better support for SDEF metadata, improved searching, and better browsing of the dictionary. Folder Actions debugging, something I do a lot, also has been made much easier in Script Debugger.
Script Debugger isn't uber cheap. It's $199 new or $99 as an upgrade. But it is one of those tools that will -- not may -- pay for itself in short order. I know my copy already has at least twice over. If you need to do heavy AppleScripting, you need Script Debugger. I know that without it, I'd not be able to do half the scripting I've done over the years.
Don't take my word for it, download the demo and see for yourself. You won't be disappointed.