Posted on 03-27-2014 08:21 AM
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.
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!
Solved! Go to Solution.
Posted on 03-27-2014 06:03 PM
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/>
Posted on 03-27-2014 08:35 AM
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.
Posted on 03-27-2014 09:38 AM
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
Posted on 03-27-2014 10:12 AM
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
Posted on 03-27-2014 10:30 AM
Thank you for that, Tom!
Posted on 03-27-2014 10:51 AM
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.
Posted on 03-27-2014 06:03 PM
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/>
Posted on 03-27-2014 08:38 PM
Oh I'll have to try that! Thank you so much, Rice! I'll report back and let you all know how that goes.
Posted on 03-27-2014 08:46 PM
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?
Posted on 03-27-2014 10:31 PM
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
Posted on 03-28-2014 06:49 AM
You guys are geniuses! Thank you!
Posted on 03-28-2014 07:32 AM
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!
Posted on 03-28-2014 08:56 AM
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.
Posted on 04-08-2014 05:49 AM
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
Posted on 05-03-2014 10:56 AM
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.
Posted on 05-05-2014 07:59 AM
/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.
Posted on 07-22-2014 08:32 AM
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!
Posted on 07-22-2014 08:37 AM
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.
Posted on 07-22-2014 08:49 AM
That worked like a charm! Thank you. My SS is looking very nice.
Posted on 08-20-2014 03:49 PM
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
Posted on 09-18-2014 07:34 PM
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.
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.
Posted on 09-20-2014 11:28 AM
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.
Posted on 09-21-2014 07:45 AM
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.
Posted on 09-21-2014 04:03 PM
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.