Changing the Name of Self Service

emily
Valued Contributor III
Valued Contributor III

Hello knowledgable Casper friends,

We're in the process of rolling out enrollment into the JSS but we want to do some branding on the Self Service App to make it feel more integrated into the company itself. I've managed to find a way to change the icons (had a UX Designer make us a new logo for it, very exciting) and change the name of the application itself. However, when the application is launched, the title bar still says Self Service.

external image link

How far do I have to dig to get that renamed as well? I'm pretty code-savvy but I've never manually coded anything into a program so I'm not sure where to look. If any of you have successfully branded this portion of the Self Service app I'd love to hear what you did.

Thanks!

1 ACCEPTED SOLUTION

Rice
New Contributor II

In order to get the MenuBar to recognize the new name we need to Right click on self service (Or whatever you've called it) and show package contents >Contents > open Info.plist in a text editor and change the line below:

<key>CFBundleName</key>
<string>Self Service<string/>

To example:

<key>CFBundleName</key>
<string>Volusion App Store<string/>

View solution in original post

23 REPLIES 23

mm2270
Legendary Contributor III

The name that shows up in the menu bar might be embedded in the executable somewhere, meaning in "/Applications/Self Service.app/Contents/MacOS/Self Service" I'm not a developer so I'm only guessing, but since that's a compiled executable I think to change that would require recompiling the application from some source code, which, needless to say, probably isn't going to be possible.

You could ask your JAMF rep about that and see what they have to say though. Maybe they know of some trick to do it that doesn't require a recompile.
If you do get an answer or figure out some way, be sure to post back, as I'm sure others would be interested in how to do it.

emily
Valued Contributor III
Valued Contributor III

Regarding some of the other aspects of customizing the Self Service app, I found this post very, very useful:
https://jamfnation.jamfsoftware.com/discussion.html?id=8778#responseChild55815

tlarkin
Honored Contributor

Hey Everyone,

A couple years ago a customer of ours presented on their customization of Self Service at their organization. Their GitHub has the self service and the keynote I think on it. Here is the link:

https://github.com/andrewseago/Public-Scripts/tree/master/Self%20Service

Just remember if you re-brand it, you have to repackage it and deploy it every release of Casper, and disable the framework from automatically installing it.

Thanks,
Tom

emily
Valued Contributor III
Valued Contributor III

Thank you for that, Tom!

mm2270
Legendary Contributor III

I sat in on Andrew's presentation at JNUC 2012. Genentech's doing a lot of neat stuff in Self Service for their users, so well worth looking at his preso.
But to my knowledge they aren't renaming the Self Service application as it shows in the menu bar, so not sure if anything from above will actually get you there. Again, I do think that's the name of the executable and is something within the compiled code, so it won't be easy to change.

Personally I would love to see JAMF create a supportable and sustainable way to brand the Mac Self Service application directly from the web GUI. Some fields where you can enter things like the application name (titlebar) and upload a new icon for it, etc etc. Then on the back end the server can create a new compressed version with those changes that can be automatically pushed to clients via the framework. The auto installing of Self Service is actually a great addition to the product added some years back. I personally would not want to go back to having to package SS and deploy it manually via policy.

Rice
New Contributor II

In order to get the MenuBar to recognize the new name we need to Right click on self service (Or whatever you've called it) and show package contents >Contents > open Info.plist in a text editor and change the line below:

<key>CFBundleName</key>
<string>Self Service<string/>

To example:

<key>CFBundleName</key>
<string>Volusion App Store<string/>

emily
Valued Contributor III
Valued Contributor III

Oh I'll have to try that! Thank you so much, Rice! I'll report back and let you all know how that goes.

emily
Valued Contributor III
Valued Contributor III

Hm when I open up that plist this is what I see:

01/2CFBundleNameYDTSDKNameWDTXcode]CopyrightYearZDTSDKBuild_CFBundleDevelopmentRegion_CFBundleVersion_BuildMachineOSBuild_NSPrincipalClass]NSMainNibFile_CFBundleShortVersionString_CFBundleIconFile_CFBundlePackageType_CFBundleInfoDictionaryVersion_CFBundleExecutableZDTCompiler_CFBundleURLTypes_CFBundleIdentifier_DTPlatformVersionDTXcodeBuild_CFBundleSignature_LSMinimumSystemVersion_DTPlatformBuild[LSUIElementSelf ServiceZmacosx10.5T0400T2014U9L31aWEnglishQ1V10K549]NSApplicationXMainMenuS9.3_Self Service.icnsTAPPLS6.0Self Service_com.apple.compilers.llvmgcc

There are some random special characters in there too. Is there somewhere else I should be looking?

Not applicable

Hi Emily

You'll need to run this command against the plist you are trying to open.

It needs to be converted to a readable XML format

You can do this using this command:

plutil -convert xml1 <plistfile>

Regards
John

emily
Valued Contributor III
Valued Contributor III

You guys are geniuses! Thank you!

external image link

mm2270
Legendary Contributor III

It worked for me as well, but I didn't need to convert the plist first. I just ran these 2 commands on the plist in Terminal

sudo defaults write /Applications/Self Service.app/Contents/Info CFBundleName "Company Self Service"
sudo chmod 744 /Applications/Self Service.app/Contents/Info.plist

The chmod was necessary or the application wouldn't launch since the previous sudo command made root the only account with permissions to it.
Only thing is, while it does change the name in the menu bar, it of course still shows up as "Self Service" in several menu items. For example, I still see "About Self Service", "Hide Self Service" and "Quit Self Service"
But is still cool that the menu bar name changed. Nice work!

emily
Valued Contributor III
Valued Contributor III

Yes, I've found that as well, @mm2270. But at least now the interface looks more consistent. From my experience most users here will use a shortcut over a menu anyway, so they may not even notice.

brussell
New Contributor III

Hello Emily, Did you also customize your app install list to be on the left? My self service doesn't look anything like yours. I am running 9.24

agirardi
New Contributor II

Very cool, just discovered this from another thread. Would love to re-brand ours to reflect our self service.

Thanks for the documentation, and inspiration.

emily
Valued Contributor III
Valued Contributor III

/url">@brussell][/url No further customization than what I've documented on my blog ([http://www.modtitan.com/search/label/casper). The stuff on the left are the Self Service plug-ins for a bunch of our company resources. They're all just links to helpful pages and PDFs hosted on our company's internal People & Culture website.

dvasquez
Valued Contributor

To chime in late here I found that Text Wrangler was useful in editing the info.plist file. All theses posts are very useful and Mod TITAN's blog and info about customizing Self Service was very, very awesome. One question is how long does it take after replacing the login.png image in the JSS for the image to be replaced? Is it a matter of just waiting? I restarted TomCat. I am running through this process on my test JSS so no worries there. Thank so much. I will post my branded Self Service as soon as the login window sets. I also found theses two apps Img2icns and Pixillion vey useful in creating .icns and sizing my .png files up. Thanks!

emily
Valued Contributor III
Valued Contributor III

Glad you found my posts useful! From what I can tell, each machine caches that logon splash screen when they open the Self Service app for the first time. So if you push out the customized SS app after you change the image, the machines will cache the image you changed it to. If you've been using your machine to test, you'll probably find that it shows the old image because you have it cached. You can try going to ~/Library/Caches/com.jamfsoftware.selfservice on the machine in question and remove it, then re-launch the app to see if it clears out that cached info.

dvasquez
Valued Contributor

That worked like a charm! Thank you. My SS is looking very nice.

emily
Valued Contributor III
Valued Contributor III

Just wanted to point out to interested parties that some of the imagery has changed in the 9.4 version of Self Service. I made a note of some of it on my blog: http://www.modtitan.com/2014/08/further-branding-of-self-service-94.html#.U_Ulz0t8Cs0

Aaron
Contributor II

Hi Emily,

Just wanted to thank you for all your useful information. I decided to rebrand the Self Service after upgrading to 9.32, and it went a lot smoother than expected.

external image link

We don't use a login screen for Self Service - or not yet anyway, I may look into it in future.

Do want to point out though, that when editing the Info.plist file, I found that if I renamed the CFBundleExecutable I got the "can't open because damaged or incomplete" error. Simply naming it back to Self Service fixed it. Just in case anyone else comes across that.

emily
Valued Contributor III
Valued Contributor III

So @mm2270 pointed this out above, and I mention it in my updated post on branding Self Service in Casper 9.4 (http://bit.ly/1uNfbfA), there are two terminal commands you can run to change the name and make sure permissions don't get messed up on that Info.plist file:

sudo defaults write /path/to/Self Service.app/Contents/Info CFBundleName "Company Self Service"
sudo chmod 744 /path/to/Self Service.app/Contents/Info.plist

You need the chmod, because editing in TextEdit (or Xcode) will muck up file permissions and keep the app bundle from loading.

mm2270
Legendary Contributor III

Just wanted to chime in quickly on this. I recently began exploring customizing my own Self Service application in case we want to do this in the near future.
I found that the actual application name in the Finder needs to match what you rename the CFBundleName field to, or the application doesn't seem to recognize the new name within the application UI. That might seem like its obvious, but I had initially forgotten to rename the app in /Applications and wasn't seeing my changes after changing CFBundleName. As soon as I renamed the .app and relaunched it. everything began showing up as expected.

Also, @Aaron, you don't really want to touch the CFBundleExecutable entry in the plist. That references the /Applications/Self Service.app/Contents/MacOS/Self Service binary inside the app, which can't be renamed to my knowledge. So it makes sense if you change the CFBundleExecutable entry in the Info.plist that it would stop the app from launching, since it wouldn't know what its supposed to be opening when double clicked.

Aaron
Contributor II

Yeah, it makes sense when I think about it, but at first I was just going through and renaming all instances of "Self Service". That was a quick lesson.