-
Notifications
You must be signed in to change notification settings - Fork 1
Home
School Assembly is a tool created specifically with Jamf School in mind using Installomator and swiftDialog to provide feedback to users during onboarding. This tool will work for both 1:1 and Mac suite deployments but when I set out to build the tool is was aimed at admins that have to run around Mac Suites in the summer. It's much easier to know where your deployment is at when you can see what has and hasn't been installed!
Although many onboarding tools exist for macOS most, if not all are completely focused on Jamf Pro deployments. To enable these tools to work with Jamf School they either have limitations or will need editing before use with Jamf School. For many Jamf School Admins this might already be a barrier to entry, especially if scripting is not in their wheelhouse.
The goal of School Assembly is to provide an onboarding tool that requires zero scripting knowledge. An admin simply copies the script into the Jamf School console and then configures it using a Configuration Profile, no need to touch the script.
School Assembly has two different stages. The first utilises Installomator to install applications directly from vendors, displays the list of apps to install via the School Assembly window and providing feedback on their status.
Installomater is a great tool for installing applications that admins would otherwise have to maintain packages for, but we all know that many apps are still provided by VPP, App Installers or Jamf Schools 'In-house' app option. Therefore only showing the status of apps installed with Installomater only shows a portion of the deployment.
The second stage monitors the installation via these other methods by simply checking the presences of the application. If it exist, its been installed, if not, we can assume it is still installing. The School Assembly window will display the VPP, App Installers or 'in-house' apps chosen by the admin and provide feedback on their status.
Further than the headline feature above School Assembly goes through the following process
- Checks to see if swiftDialog is installed, if not it uses Installomator to install
- Checks to see if there is a related Configuration Profile is installed, if not exits with info window
- Checks to see if there is a user logged in, if not waits until there is
- Runs through Stage 1: Installomator installations
- Runs through Stage 2: VPP, App Installers, 'in-house' deployment checks
- Displays a "completion" dialog so that its clear the workflow is finished
School Assembly produces a log that can be found at /var/tmp/jsmacOSOnboarder.log
Once School Assembly has ran it creates a done flag in the following location which will prevent further runs of School Assembly, until removed: /Users/Shared/.SchoolAssembled
This workflow utilises
Installomator must be installed on the target device(s) prior to running. swiftDialog will be installed via Installomator in script logic, if not already installed.
Use one of the following to deliver Installomator to target device(s) with Jamf School
-
RECOMMENDED (V3.0+) Use Assembly Builder and deploy to devices
- By scripting installation before running School Assembly Tool
- Deploying via a package and then running School Assembly Tool
In order to use School Assembly you will need
- A package created with Assembly Builder (or The School Assembly Script for "legacy deployment" workflows)
- A configured School Assembly Configuration Profile (Example Configuration Profile for reference)
To discover the options available for a configurations see Configuration Profile Keys
For ways to create a configuration profile see Profile Manifest
Note
If the School Assembly Tool is ran without a configuration profile installed the tool will quit and will provide a message onscreen
App icons for the School Assembly install list can be sourced from icons on the device prior to the School Assembly running or from the internet.
Local Icons
Local icons need to be on the device prior to School Assembly running. This could be icons included with the system or provided by a package deployed with Jamf School.
If you wish to include local icons the recommended way is to use the New Deployment Workflow utlising Assembly Builder
If you wish to follow the "Legacy Deployment" you will need to create an icons package seperately.
Icons from the Internet You can choose to use icons sourced from the interent instead of using local icons. This stops the need to create an icons package or include icons for Assembly Builder for the deployment.
You maybe wish to also combine icons from both local and internet sources
Since School Assembly v2.1.1 the main window icon will attempt to use the new School Assembly Icon. If School Assembly cannot reach GitHub to pull the icon for display it will default back to the orignal "sync" icon.
The sync icon is a local system resource which doesn't require a connection to GitHub.