DEPNotify is a small light weight notification app that was designed to let your users know what's going on during a DEP enrollment. The app is focused on being very simple to use and easy to deploy.
Get the latest version, 1.0, here: DEPNotify-1.0.zip
DEPNotify is completely controlled via echoing text to it's control file. By default this is
/var/tmp/depnotify.log but you can change this to anything you want by launching the app with the
-path [some path].
The application then reacts to
Status: lines written to the control file.
DEPNotify responds to a number of commands. All are prefaced with
Command: and then the verb. Most are then followed by some text or other attribute.
Alert: This creates an alert sheet on the DEPNotify window with an "Ok" button to allow the user to clear the alert. The text that follows the
Alert:will be the contents to the alert.
Command: Alert: The installation is now finished
- Determinate: This makes the process bar be determinate instead of just a spinny bar. You need to follow this with the number of stages you'd like to have in the bar. Once set, every status update that you send DEPNotify will increment the bar by one stage.
Command: Determinate: 5
- Help: This will show a help button in the lower right corner of the DEPNotify window. Pressing the button will open up the path that you specify. Note that this can be both web URLs, such as http://www.apple.com/support, or file paths to local files such as file:///Applications/Chess.app.
Command: Help: http://www.apple.com/support
- Image: This will replace the very fancy DEPNotify logo, created by Erik Gomez, with a very fancy image of your own. Note that DEPNotify should scale the image up or down to fit the space.
Command: Image: /tmp/logo.png
- Logout: This will show a sheet dialog and then log the user out when the "Logout" is clicked. This is commonly used to log the user out and initiate a FileVault encryption process.
Command: Logout: Please logout now to start disk encryption.
- MainText: This command will change the main body of text in the application.
Command: MainText: Something about how amazing the DEP process you've created is.
Example w/ New Lines:
Command: MainText: Something about how amazing the DEP process you've created is. \n \n It really is amazing.
- Notification: This will issue a notification to the Mac's notification center and display it.
Command: Notification: Please look at this notification.
- NotificationOn: This will cause all status updates to be sent to the Notification Center as well. It takes no modifiers.
WindowStyle: This has one modifier
NotMovableand will center the DEPNotify window and make it unable to be moved.
Command: WindowStyle: NotMovable
- WindowTitle: This will change the title of the DEPNotify window.
Command: WindowTitle: My Great DEP Notification App
Quit The first of two ways to quit DEPNotify. This option takes no modifiers and will immediately quit the application. Note there is no
:on this command.
- Quit: The second way to quit the application. This method will allow you to show a dialog with text of your choosing. The user will then be able to dismiss the dialog to quit the application.
Command: Quit: Thanks for using this app.
This are very simple. Just echo set
Status: followed by the text of your status. If you've set
NotificationOn: the status will also be sent as a notification. Also, if you have
Determinate: set, each time you send a status the process bar will increment by one.
Status: Reticulating splines...
While every DEP workflow is different, here's a simple method of using DEPNotify with a DEP process.
- Install DEPNotify as early on as possible during your DEP process
- Install a default command file if you'd like, DEPNotify will read an existing command file at the location you specify and then do those actions all at once. This is helpful for setting the logo and the text.
- Launch DEPNotify
- As you complete actions for the user write the status updates, or other changes, to the command file.
echo "Command: Quit: The process is now complete." >> /var/tmp/depnotify.logis one example of doing this.
- Quit DEPNotify when you're done either with
- Remove DEPNotify
- The application is written entirely in Swift of the course of a few weeks. It should be fairly easy for anyone with basic to moderate knoweldge of Swift to enhance this as you see fit.
- DEPNotify was specifically designed to show some notifications to a user while the DEP process completes. The goal was to not block the user from experiencing their new machine. If you would like a more elaborate process, please look at projects like SplashBuddy.
- Comments and feature requests about addtional functionality are welcome.
- For information, help and otherwise good times, feel more than welcome to visit the #depnotify channel on the MacAdmins Slack, http://macadmins.slack.com