New in jamJAR 1.2: Support for multiple software items

In a previous post, I had written about a workflow utilizing jamJAR for installing Apple software updates on top of Final Cut Pro installations.  For the unfamiliar, jamJAR is an open source a tool which allows environments that have a Jamf and a munki to use Jamf policies to install software from a munki_repo.  Huge shoutout to the folks at dataJAR for making such a great tool!

In a number of environments using jamJAR, individual policies are configured in Jamf for each individual software title.  Each policy acts as the mechanism which ensures that the latest deployed version of a particular software title is installed, running on a periodic schedule.  Here’s how it works.  In our environment however, we utilize jamJAR primarily as a way for users to trigger software installs through Self Service.

Up until recently, jamJAR was limited in that for each install & uninstall script parameter you could only enter the name of a single software title that existed in your munki_repo.  This was limiting for us, as we had several policies in Self Service that required the install or uninstall of more than one item.

Additionally, jamJAR automatically triggers a Jamf inventory update if it detects something was installed or uninstalled.  This meant that we had to create a workaround involving a single Jamf policy which triggered multiple other policies via Custom Trigger, each triggered policy would cause its own separate inventory update.  As a result, this greatly increased the time to complete.

Being a more familiar bash scripter, I tried my hand at writing a separate script to write the installs and uninstalls to munki’s LocalOnlyManifest just like jamJAR.py did.  However, I wasn’t happy with the result.  As a total Python novice, but determined to figure this out, I decided to roll up my sleeves and play around with how to potentially accomplish multiple installs and uninstalls with jamJAR.py in one policy.

Ultimately I found that adding this multi-item support wasn’t as difficult as I thought.  With only a few small changes I was able to achieve the desired result.  Now per the 1.2 version of the jamJAR.py script, you can supply one or more install items!  Take a look at the wiki for more info.

If you’re a Jamf Admin and don’t yet have a munki, you may want to take a look at the Munki for the Jamf Admin wiki page.  As of this writing it’s still a work-in-progress, but the purpose is meant to help those already familiar with Jamf get started with munki so you can utilize jamJAR.

 

DetectX Swift & 10.14 Mojave Dock with Recent Apps

While we have not yet begun deploying macOS 10.14 Mojave, we are starting to test the new OS given Apple’s big security change with PPPCP.

As part of this testing, we noticed that Apple has changed it’s Dock to be in line with the Dock on iPads where applications added to the Dock are on the left, network folders, local folder shortcuts, and the trash is on the far right, and in between these are several recently used apps.  Traditionally, any open apps that are not explicitly added to the Dock appear to the right of these apps, but this has been replaced with a separate section containing the last three apps used not permanently in the Dock.

Before:

Screen Shot 2018-11-19 at 10.50.13 AM.png

10.14:

Screen Shot 2018-11-19 at 10.33.41 AM.png

Though this is a helpful feature, one of the unintended side effects is that DetectX Swift, which runs malware security scans in the background, now consistently appears in this location.  In environments that have already begun deploying Mojave, users have become confused as to what and why this app is now regularly front-and-center in their Docks.

Update: The developer of DetectX is currently working on an update to avoid the app opening in the Dock when running cli commands in the background.

To avoid the help desk tickets that may result in the short-term, we are disabling this new recent apps Dock feature.

Update 2: As of the 1.082 release, the appearance of the app in the dock has all but disappeared when triggering searches via the cli.  There is a slight jitter when triggered, but otherwise unnoticeable to the end user.

Manually Disabling Recent Apps in the Dock

You will find the setting for recent apps in System Preferences in the Dock preference pane.  At the very bottom is a checkbox to enable / disable this setting.

Screen Shot 2018-11-19 at 8.33.09 AM.png

Programmatically Disabling Recent Apps in the Dock

To programmatically disable this setting, you will find the preference file in the user’s ~/Library/Preferences/com.apple.dock.plist.

At the bottom of this PLIST is the show-recents key, which has a boolean value of true for enabled and false for disabled.  To disable this setting then, we can use defaults:

defaults write ~/Library/Preferences/com.apple.dock.plist show-recents -bool false

We’ve incorporated this into one of our first login scripts triggered by outset which configures our default Dock.