Deploying the dock: profiles or replacing Dock.app's default.plist

bpavlov
Honored Contributor

My question is not so much about how to deploy it. But just in case:

Option 1:
Create a profile of the dock which can be enforced always or once using MCXtoProfile

Option 2:
Have a dock plist and deploy it to: /System/Library/CoreServices/Dock.app/Contents/Resources/en.lproj/default.plist

Here's one such site that lets you create a dock:
http://errorfreeit.com.au/blog/2015/4/28/dock-master

In either, method you'd probably want to remove /Library/Preferences/com.apple.dockfixup.plist to remove other OS X apps that get left behind.

My question: what is the best way to go about it if in the future you wish to replace an app from the dock or you want to modify app (add/remove) on the dock for a user?

With either method it seems the dock is managed only that first time (assuming you create a profile set to ONCE only). If I go with a profile, it's supposed to mange it just once if that's the option I choose. But in my testing I saw that after a restart it does impact new users AND existing users as well which I wouldn't want obviously. I like this option because profiles are enforced and aren't modifying anything under /System/ in case something gets modified in an future update like it did in the OS X 10.10.3 update.

What do others prefer to do? I'm trying to some future proofing if you will. Don't want to deploy something that ends up causing more issues if I try to make modifications in the future.

5 REPLIES 5

davidacland
Honored Contributor II
Honored Contributor II

I like to use the profile method as it's more "Apple approved". I've dabbled with DockUtil but found it too unreliable for widespread use.

That being said, I only manage the dock for school labs where the teacher needs a consistent environment. For any 1:1 or business scenario, I try and avoid managing the dock at all.

loceee
Contributor

Shameless plug, but this a great for policy based Dock building. Using this script and dockutil you can setup policies that build you dock based on all the JSS' knowledge.

https://github.com/loceee/OSXCasperScripts/tree/master/dockBuilder

gregneagle
Valued Contributor

"I'm trying to some future proofing if you will"

Then don't try Option 2. Apple might have announced a preview of something that might possibly cause option #2 to break...

carlo_anselmi
Contributor III

Hello, in my testing with "option 1", with a profile (created with MCXtoProfile) that should set the dock "once", it looks like the result is a dock managed "often" The user can change the dock but the following login brings everything back to the profile settings
This happens with OSX 10.10.3
Is it just me?
Ciao
Carlo

Look
Valued Contributor III

@loceee Interesting way of doing it.
I appear to have created something very similar except I used plist files in a folder for icon sets and read these in one by one into dockutil using another script.
Not as flexible as yours, but includes passing arguments as well if you need them.