Power Manager 3's Administrator Friendly Preferences

In Power Manager 3.5 we made a design mistake that made deploying Power Manager over a large network more work than it needed to be. In Power Manager 3.7 we fixed that design mistake.

Power Manager needs to store a copy of the schedule to disk. This allows Power Manager to run seamlessly between start up and shut down events.

The disk-based copy of the schedule is important and messing around with it is a bad thing. Making changes to the disk-based schedule without going through Power Manager will not end well — your changes will be overwritten if Power Manager is running when the changes are made.

Rocks at Manly beach, Sydney, Australia

The good news, for those wanting to play, is that Power Manager provides six supported ways of manipulating your schedule:

With that in mind, we made a mistake with where we stored Power Manager 3.5’s copy of the schedule. We placed it in the hidden root user’s preferences folder.

/var/root/Library/Preferences/

In all fairness this seemed sensible. Power Manager runs as a root daemon and storing preferences along with the root user made sense. Doing this ensured the disk schedule was locked away tight from the curious. We neatly avoided a few problems that triggered our initial redesign, and we limited the scope of technical support queries arising from users who had tweaked preference file contents.

The design mistake was simple. We did not follow expected Mac OS X behaviour. Administrators expect preferences to be stored in a central location on each Mac.

Network, computer, and user preferences all have specific folders provided by Apple. By not storing preferences in the specific folder we immediately made ourselves a special case for administrators to deal with.

That meant administrators’ scripts and support tools had to deal specifically with our preference file. That hurt.

Power Manager 3.7 fixes the design mistake. Power Manager now stores all of its preferences in the expected folder.

/Library/Preferences/uk.co.dssw.powermanager.daemon.plist

I am sorry it took so long to correct. Thank you to the administrators who stepped forward to question, puzzle, and prod us back onto the right path.