Help making DEPNotify better

howie_isaacks
Valued Contributor

I have been using DEPNotify since early 2019. Before using DEPNotify, I wrote a script that ran on enrollment that would install all of the apps and dock items. I have been happy with DEPNotify, but I have been wanting to add some informative information to display above the progress bar that shows the current activity. This information might be telling the user where to look in Self Service for instructions for configuring Outlook on their Mac, setting up their iPhone to send and receive email using their Microsoft 365 account, where to go to get help, etc. Right now, DEPNotify displays the same text that it started up with asking the user to register. I tried opening up a support ticket to get help with this, but apparently, this is too much to ask. Where do I make the modifications so that I can change what is being displayed in the DEPNotify app while the software installs are running? It would be nice to add graphics too. I have seen a lot of presentations at JNUC where the presenters are showing off what they have done with DEPNotify, but I have never seen any detailed documentation of how it was done. If someone has some documentation, I would appreciate getting it. Thanks!

10 REPLIES 10

Tribruin
Contributor III
Contributor III

The DEPNotify application is open source and posted on GitLabs:

DEPNotify

If you are using the DEPNotify Starter Script, then look at the instructions, there are a number of different commands that are not all used in the Starter Script. You could adapt your script to adding graphics, embedding webpages. I have even heard of some organization embedding web games during the install process.

If you want to go deeper, you can always fork the actual application and make modifications.

howie_isaacks
Valued Contributor

I have read over a lot of the information posted there, but I don't see how I can make this happen, which is why I asked for help first from Jamf support, and then here. Maybe there's something I'm missing as I read over everything. When I first posted this question to Jamf support, the response I received showed me that the person responding didn't even bother to READ what I wrote. They obviously just skimmed over it, and then sent back instructions on how to setup and use DEPNotify, which I said I had already been using for almost 2 years. I just wanted to make it a little better, and display useful information to the user as they wait on the install process to complete. Apparently, asking Jamf for help means working with their professional services group when I all I need was a simple push in the right direction. This is very disappointing.

jphillips
Contributor

You can send any text above the progress bar by doing something like

#!/bin/sh
echo "Status: Text here is above the progress bar." >> /var/tmp/depnotify.log

We use it very heavily to provide user feedback during installations.

TJ_Edgerly
New Contributor III

I've been updating our enrollment process with DEP Notify. A good video that pointed me in the right direction to customization was:

Hoppy Shaw:
DEPNotify Presentation

He puts in some "History" text and pictures during the deployment to entertain the user. Seems like this might be helpful.

mm2270
Legendary Contributor II

It can take a little time to wrap your head around how DEPNotify operates on making live text and image changes, but once you get it, it isn't that hard. You just have to make sure that as your workflow moves along, each step of the way you are also pushing changes to the control file in /var/tmp/depnotify.log just as @jphillips mentioned above.

howie_isaacks
Valued Contributor

Part of my issue is that my job isn't just to be a Jamf admin. I also work on other things that aren't related to Apple and Jamf specifically. I appreciate the suggestions here. I've always thought I just needed a nudge in the right direction to figure this out.

swhps
Contributor III

During a URL enrollment, we are prompted for the username and site. Then in DEP Notify, we are again prompted for the site. Is it possible for DEPNotify to pickup on the site from the URL enrollment while still prompting for it from a DEP Enrollment??

mm2270
Legendary Contributor II

@swhps I'm not sure if DEPNotify has any built in mechanism to pick up on the chosen Site from Jamf, since the program was written in a more generic "Mac administration" vein. I would think though that you could write an API script that would get called early on that could find the machine in Jamf and get its Site information and feed that back to the DEPNotify application so you could avoid having to pick it again in the UI. You could do something like, if the Site is None, then in DEPNotify, prompt for the Site info. If it comes back with a Site, then use that and move forward without asking for a Site.

In case you're wondering, I know for a fact that it's possible to change what DEPNotify shows in the UI based on API data. I already did this once before where things like Buildings were pulled from the API and then put into the plist file that ends up displaying the drop down menus in DEPNotify. So I didn't need to hardcode the Buildings into my script. I just let the script discover the building names dynamically and then populate the plist that DEPNotify used once I popped it up on screen. So it's possible to do this.

jp2019
New Contributor III

Has anyone modified DEPNotify Starter script to include a check if an application is already installed, skip installation of that app.
Our newly purchased or leased devices would be fine, they need all the apps. I would like to use the same PreStage and DEPNotify script for our existing (device already in use which has the apps needed by that user) un-enrolled devices that need to be Jamf enrolled and managed, but do not need apps from the script installed.

Tribruin
Contributor III
Contributor III

The easiest solution would be to create smart groups for computers that have those applications installed and the exclude those smart groups from the policies. Jamf will just skip over an policies if the computer is not in scope.