Merge branch 'beta'

This commit is contained in:
Armin Briegel
2025-12-04 08:03:52 +01:00
9 changed files with 419 additions and 45 deletions

View File

@@ -1,5 +1,110 @@
# Setup Manager - Change Log
## 1.4beta2
(2025-11-24)
Same as [the previous beta](https://github.com/jamf/Setup-Manager/releases/tag/v1.4beta) with these additional changes:
- Localization:
- added UK English (en-GB) localization
- various localization fixes (#171)
- fixed Network Info font color (#166)
- `waitForUserEntry` action correctly runs a recon/Update Inventory (#168)
- `accentColor` affects all items and controls (#170)
- UI adjustments (#169)
## v1.4beta
(2025-10-28)
While making sure that Setup Manager looks nice with macOS Tahoe and Liquid Glass, we have added a few more features to improve customization.
### New Features
- User Interface
- macOS Tahoe/Liquid Glass adaptions
- new `banner` key allows you to provide a banner image that cover the top part of the Setup Manager window ([details](ConfigurationProfile.md#banner))
- `title` and `icon` keys are now optional, when a `banner` key is set
- action tiles can have a background color set with the top-level or per-action 'tileColor'key
- `banner` and `background` can use hex or system colors
- where colors are defined, you can use system color names. See ['Defining Colors'](ConfigurationProfile.md#defining-colors) for details.
- new profile keys:
- `networkQualityCheck` suppresses network bandwidth calculation when set to `false` (#135)
- `finishedMessage` for a customized message when Setup Manager workflow is complete (#128)
- logging:
- new tab for configuration profiles in the log
- detection of configuration profile installation and removal
- image/icon load errors are now logged
- logs a warning when Setup Manager detects it is launched for a second time
- switched launch tracking to a new service (see [Launch Tracking](Docs/LaunchTracking.md) for details)
### Fixes and Improvements
- disabled check for Jamf.app as it could fail in some challenging network configs
- enrollmentUserID added to webhook data (#140)
- localization fixes (#149)
- elapsed time in Mac Info window stops counting when workflow is finished
- link to computer in Slack and Teams messages should work with Jamf School
- setting computer name with user entry or `computerNameTemplate` works with Jamf School
- updated uninstall.sh script (#156)
### Changes, deprecations and removals
- (1.4) `userID` top-level key name changed to `enrollmentUserID`
- (1.4) `jssID` key has been renamed to `computerID`
- (1.3) the minimum macOS requirement for Setup Manager is now macOS 13.5
- Log window now uses `Window`
- (1.2) `showBothButtons` option removed and non-functional, there will always be just one final action button displayed
- (1.1)the method for providing localized texts in the configuration profile changed in version 1.1. The previous method (by appending the two letter language code to the key) is considered deprecated. It will continue to work for the time being but will be removed in a future release. It is _strongly_ recommended to change to the [new dictionary-based solution](ConfigurationProfile.md#localization)
### Notes
There are quite a few new options in Setup Manager 1.4 beta to configure and customize the new UI. There is a new option for a color or image banner across the top of the Setup Manager window. Action tiles can now be colored automatically or with specific colors. Colors can now be set anywhere that image sources are used and you get a list of named system colors.
While the [description of all the keys in the repo](ConfigurationProfile.md) has been updated, many of the keys, old and new, now work together for a variety of useful combinations.
#### Updating the profile to use 1.4 (beta) features
The good news first: we designed the update so that you can keep using the same profile from earlier versions and the Setup Manager window will look mostly the same on macOS Sequoia and earlier, and have the new “Liquid Glass” look and feel on macOS Tahoe.
To use the new UI options, set the new keys.
#### Banner
Setup Manager 1.4 introduces the option to show a color or image banner in the top of the Setup Manager window. This is controlled by the top-level [`banner` key](ConfigurationProfile.md#banner). The `banner` value is an [image source](ConfigurationProfile.md#icon-sources), so it can be a reference to local image file, an image file hosted on a web server, or (also new in 1.4) a [color designation](ConfigurationProfile.md#defining-colors).
Colors can be set with hex codes, e.g. `#f00` or `#f900a2` or with (new in 1.4) system color names, e.g. `##gray`, `##red`, etc.
The size of the banner area is 800x233 pixels (1600x466 @2x) on Sequoia and earlier and 800x247 (1600x494 @2x) on Tahoe (the liquid glass tool bar is taller). The image will be displayed with bottom-center alignment and _not_ scaled, so you can add a few extra pixels at the top and the same image should work for all macOS versions.
The behavior of the `icon` and `title` keys changes depending on whether the `banner` has a value.
When _no_ `banner` value is set, Setup Manager will show its app icon when an `icon` key is missing or empty. It will also show Welcome or the localized equivalent when the `title` key is missing or empty.
When the `banner` _is_ set, an empty or missing `title` or `icon` will simply not be shown. This lets you use the banner image for a completely customized experience.
Note that the `banner` value can be localized.
#### Action Tile Colors
Setup Manager 1.4 allows you to set a color for the action tiles. Use the [top-level `tileColor` key](ConfigurationProfile.md#tilecolor) to set the color for all action tiles. You can also set the tile color for an individual action with [a `tileColor` key in the action](ConfigurationProfile.md#tilecolor-1).
When no `tileColor` is set, the default behavior is to use the window background color (gray on Sequoia and earlier, white on Tahoe, or the dark mode equivalent).
You can set the `tileColor` value (top-level and action level) to [a hex color or system color name](ConfigurationProfile.md#defining-colors). There are a few special color names:
- `##automatic`: calculates each tile's color from the average color of each actions icon, icons defined with `symbol:…` will use the default color
- `##background`: system window background (gray on Sequoia and earlier, white on Tahoe)
- `##clear`: transparent or no background, works best when `hideActionLabels` is set to false
See [`tileColor`](ConfigurationProfile.md#tilecolor-1) and [Defining Colors](ConfigurationProfile.md#defining-colors) in the documentation for details.
#### Profile Installation and Removal Logging
A new tab has been added to logging window which logs the installation and removal of configuration profiles. These events will also be logged to the main Setup Manager log, which allows you to see them in context of the entire workflow.
This can be especially useful to determine whether a particular profile disrupts the network and possibly the download of an important component. In the unified system log, these entries will have the `profile` category.
## 1.3.1
(2025-07-17)

View File

@@ -36,12 +36,16 @@ Example:
<string>Welcome to your new Mac!</string>
```
When `title` is empty or unset, the default message `Welcome to Setup Manager` will be shown, unless the `banner` set, when no title will be shown instead. This allows for a custom branded title and icon in the banner image.
#### `icon`
(String, default: `name:AppIcon`, localized, dark mode)
The icon shown at the top center of the window. There are many options to define icons, described in the [Icon Sources](#icon-sources) section later. Images will be scaled to fit a size of 700x128 pixels (or 1400x256 @2x).
When `icon` is empty or unset, Setup Manager will show the Setup Manager app icon, unless the `banner` is set, when no icon will be shown instead. This allows for a custom branded icon and title in the banner image.
#### `message`
(String, default: `Setup Manager is configuring your Mac…`, localized, substitutions, markdown)
@@ -88,6 +92,13 @@ Example:
This line of text will be truncated when the action icon list is shown.</string>
```
#### `banner`
(String, optional, localized, dark mode, v1.4)
When this key is set, Setup Manager treats it as an image/[icon source](#icon-sources) and displays it as a banner image in the top area of the Setup Manager window, behind the `icon` and `title`. The banner area size is 800x233 pixels (1600x466 @2x) on Sequoia and earlier and 800x247 (1600x494 @2x) on Tahoe (the liquid glass toolbar on Tahoe is taller). The banner image will _not_ be scaled down to fit. The image will be displayed with bottom-center alignment, so you can add a extra pixels at the top and the same image should work for all macOS versions.
When the `banner` is set, and the `title` or `icon` are empty or unset, _neither_ title message _nor_ icon will be shown. This allows for customized branding of the title area with just the banner image. Note that you can localize banner image sources.
#### `background`
@@ -132,7 +143,7 @@ When this key exists, Setup Manager will show a "Help" button (a circled questio
#### `accentColor`
(String or Dict, optional, default: system blue, dark mode)
(String or Dict, optional, localized, dark mode, default: system blue)
Sets the accent color for buttons, progress bar, SF Symbol icons, and other UI elements. You can use this to match branding. Color is encoded as a six digit hex code, e.g. `#FF0088`.
@@ -143,7 +154,16 @@ Example:
<string>#FF00AA</string>
```
If you want different accent colors depending on whether the system is in light or dark mode, provide a `dict` with two keys, for `light` and `dark` mode:
You can also use named system colors. (See ['Defining Colors'](#defining-colors) for a full list.)
Example:
```xml
<key>accentColor</key>
<string>##green</string>
```
If you want different accent colors depending on whether the system is in light or dark mode, provide a `dict` with two keys, for `light` and `dark` mode: (Note: named system colors adapt automatically)
Example:
@@ -157,6 +177,14 @@ Example:
</dict>
```
#### `tileColor`
(String or Dict, optional, localized, dark mode, default: `##background`, v1.4)
Sets the action tile background color for all action tiles, unless the value is overridden by an individual action's `tileColor` key. You can use [color designators](#defining-colors). See the action level [`tileColor`](#tilecolor-1) for details.
When you set the `tileColor` to `##automatic`, Setup Manager computes an average color from the tile's `icon`. For `symbol` icons, the default background will be used.
#### `finalCountdown`
(Number/integer, optional, default: `60`)
@@ -254,20 +282,33 @@ Example:
<integer>4500000000</integer>
```
#### `jssID`
#### `computerID`
(String, Jamf Pro only)
Set this to `$JSSID` in the configuration profile and Setup Manager will be aware of its computer's id in Jamf Pro. It will be displayed in the 'About this Mac…' popup, when clicked with the option key.
When filled with the correct payload variable, this provides the identifier for the computer to Setup Manager. It will be displayed in the in the 'About this Mac…' popup, when clicked with the option key.
Example:
For Jamf Pro, the value for `computerID` should be `$JSSID`. For Jamf School, it should be `%udid%.
Examples:
Jamf Pro:
```xml
<key>jssID</key>
<key>computerID</key>
<string>$JSSID</string>
```
#### `userID`
Jamf School:
```xml
<key>computerID</key>
<string>%udid%</string>
```
Note: up to version 1.3, this key was called `jssID`. This was changed in v1.4 for Jamf School support. The old key `jssID` is deprecated.
#### `enrollmentUserID`
(String, Jamf Pro only)
@@ -276,10 +317,12 @@ Set this to `$EMAIL` in the configuration profile. This communicates the user wh
Example:
```xml
<key>userID</key>
<key>enrollmentUserID</key>
<string>$EMAIL</string>
```
Note: in Setup Manager v1.3 and earlier, this key was called `userID`. The name changed in v1.4 to avoid confusion with `userEntry.userID` which serves a different purpose and can have different values. The top-level `userID` key will keep working with the same function for now. If both keys are given, `enrollmentUserID` will take precedence. The top-level `userID` key will be removed in a future version.
#### `computerNameTemplate`
(String, Jamf Pro only, substitutions)
@@ -364,6 +407,32 @@ Example:
<string>always</string>
```
#### `networkQualityCheck`
(Bool, optional, default: `true`, v1.4)
Set this key to false to suppress the network quality check. This is useful in classroom or lab environments where multiple Macs are re-enrolled at similar times to protect network bandwidth.
Example:
```xml
<key>networkQualityCheck</key>
<false/>
```
#### `finishedMessage`
(String, optional, localized, substitutions, markdown, v1.4)
Custom message when Setup Manager workflow is complete.
Example:
```xml
<key>finishedMessage</key>
<string>**Finished**  _Enjoy your %model%!_</string>
```
## Actions
All actions should have these keys:
@@ -378,10 +447,61 @@ The label is used as the name of the action in display.
(String, optional, localized, dark mode)
The [icon source](#icon-sources) used for the display of the label. Different types of actions will have different default icons, which are used when no `icon` key is present. The icons will be scaled to fit 64x64 pixels (or 128x128 @2x).
The [icon source](#icon-sources) used for the display of the label. Different types of actions will have different default icons, which are used when no `icon` key is present. The icons will be scaled to fit 120x120 pixels.
There are several different types of actions, and these are defined by additional keys. These keys will be on the same level as the keys above.
**Note on icon margins:** when you use a path to an app for the icon, or when you use an icon generated by copying the icon from an app in Finder or by a tools such as the [SAP Icon Generator](https://github.com/SAP/macOS-icon-generator), there will be a margin around the icon. Since these are very common ways of getting icons, the layout of the icons in the action tile is designed around the assumption that there will be a margin. Icons without such a margin will look quite big fill most of the space available in the tile.
#### `tileColor`
(String, optional, dark mode, v1.4)
This key sets this action's' background color. You can use [color designators](#defining-colors).
`tileColor` values set on individual actions will override the top-level `tileColor`.
Example:
```xml
<key>tileColor</key>
<string>#FF00AA</string>
```
```xml
<key>tileColor</key>
<string>##gray</string>
```
Set the key to an empty value or `##background` to use the default window background color instead.
```xml
<key>tileColor</key>
<string/>
```
```xml
<key>tileColor</key>
<string>##background</string>
```
When you set the `tileColor` to `##automatic`, Setup Manager computes an average color from tile's `icon`. For `symbol` icons, the default background will be used.
```xml
<key>tileColor</key>
<string>##automatic</string>
```
Set `tileColor` to `##clear` to remove the tile background. This works best when `hideActionLabels` is set to false.
```xml
<key>tileColor</key>
<string>##clear</string>
<key>hideActionLabels</key>
<false/>
```
### Shell Command
#### `shell`
@@ -677,13 +797,35 @@ Note that the availability and appearance of SF Symbols may vary with the OS ver
<string>symbol:clock</string>
```
### Color
(v1.4)
When the icon source starts with `#`, Setup Manager will interpret it as a hex color.
You can use hex color notation with three digits, e.g `#0f0` or six digits, e.g. `#f900a2`.
You can also use named system colors with two leading `##`, e.g `##yellow` or `##primary`.
(See ['Defining Colors'](#defining-colors) for details.)
```xml
<key>background</key>
<string>##white</string>
```
```xml
<key>background</key>
<string>#aaa</string>
```
### Dark Mode
Note: after enrollment, over Setup Assistant, the system is always in light mode. This is only relevant when you use Setup Manager after user-initiated enrollment
Note: after enrollment, over Setup Assistant, the system is always in light mode. This is only relevant when you use Setup Manager after user-initiated enrollment or launch it otherwise over user space.
To provide alternative images for dark or light mode, change the `string` defining the image to a dictionary with a `dark` and a `light` key. This works with the `background`, `icon`, and each action's `icon`. This also works with the `accentColor` key.
Note that Setup Manager does _not_ monitor the appearance mode, so if it changes _while_ Setup Manager is running, things will not update consistently.
Setup Manager does _not_ monitor the appearance mode, so if it changes _while_ Setup Manager is running, things will not update consistently.
Example:
@@ -875,7 +1017,7 @@ In this example, the 'Room' field will be shown in Setup Manager with the label
You can configure Setup Manager to only show the user entry section when specified users have authenticated in enrollment customization. This enables workflows, where certain users (techs and admins) get the option to re-assign the device to another user, but other users don't see the option.
For this, you need to setup the top-level `userID` to receive the `$EMAIL` variable. This will communicate to SetupManager the user who logged in with customized enrollment. Then you add key `showForUserIDs` with an array of user emails to the `userEntry` dict. When both `userID` and `userEntry.showForUserIDs` are set, the user entry UI will only show for the listed users.
For this, you need to setup the top-level `enrollmnetUserID` to receive the `$EMAIL` variable. This will communicate to SetupManager the user who logged in with customized enrollment. Then you add key `showForUserIDs` with an array of user emails to the `userEntry` dict. When both `enrollmentUserID` and `userEntry.showForUserIDs` are set, the user entry UI will only show for the listed users.
#### `showForUserIDs`
@@ -900,7 +1042,7 @@ Example:
<string>\S+\.\S+@example.com</string>
</dict>
</dict>
<key>userID</key>
<key>enrollmentUserID</key>
<string>$EMAIL</string>
```
@@ -1010,11 +1152,12 @@ The following keys can be localized:
- `label`
Use these two-letter codes for these languages:
Use these codes for these languages:
| Language | two-letter code |
|--------------------|-----------------|
| English | en (default) |
| English (UK) | en-GB |
| Dutch (Nederlands) | nl |
| French | fr |
| German | de |
@@ -1076,3 +1219,68 @@ These keys can use markdown:
- `message`
- Help: `message`
## Defining Colors
Colors are defined with strings in the profile.
When the icon source starts with `#`, Setup Manager will interpret it as a hex color.
You can use hex color notation with three digits, e.g `#0f0` or six digits, e.g. `#f900a2`.
Example:
```xml
<key>accentColor</key>
<string>#FF00AA</string>
```
(v1.4) You can also use named system colors with two leading `##`, e.g `##yellow` or `##primary`. Available color names are:
```
primary primary text color, black in light mode, white in dark mode
secondary slightly muted variant of primary
accentColor color used for controls, set with `accentColor`
background system window background color
clear no background/transparent (1)
black (1)
blue
brown
cyan
gray
green
indigo
mint
orange
pink
purple
red
teal
white (1)
yellow
```
(1) All colors will automatically adapt to dark or light mode, _except_ `clear`, `black`, and `white`.
Example:
```xml
<key>accentColor</key>
<string>##green</string>
```
### Dark mode
If you want different accent colors depending on whether the system is in light or dark mode, provide a `dict` with two keys, for `light` and `dark` mode: (Note: most named system colors adapt automatically)
Example:
```xml
<key>accentColor</key>
<dict>
<key>dark</key>
<string>#FF00AA</string>
<key>light</key>
<string>#AA0055</string>
</dict>
```

View File

@@ -5,15 +5,15 @@
Note that the Setup Manager window does not activate to receive keystrokes automatically when running over Setup Manager. You have to click in the Setup Manager window first.
| Shortcut | Action |
| --- | --- |
| Shortcut | Action |
| ----------------------- | ------ |
| shift-control-command E | ["exit"/quit Setup Manager](#Quit), use only in emergencies as it will leave installations in an indeterminate state |
| command-L | open [Log window](#Logging) |
| command-B | toggle Battery status icon in Setup Manager window |
| command-N | toggle [Network status icon](Network.md) in Setup Manager window |
| space | show [serial number bar code window](#scannable-serial-number-barcode) |
| i | show "About this Mac" popup |
| h | show "Help" popup, when present |
| command-L | open [Log window](#Logging) |
| command-B | toggle Battery status icon in Setup Manager window |
| command-N | toggle [Network status icon](Network.md) in Setup Manager window |
| space | show [serial number bar code window](#scannable-serial-number-barcode) |
| i | show "About this Mac" popup |
| h | show "Help" popup, when present |
| hold option key when clicking "About this Mac" | shows more info |
## Custom JSON Schema for Jamf Pro
@@ -31,7 +31,11 @@ The custom schema does not contain all keys and options available in the [config
When you reach the limits of the custom schema, use the XML it generates as a starting to building a custom XML.
Note that the custom schema can become confused when you switch between enrollment action types and you will need to clean up extra empty fields.
Note that the custom schema can become confused when you switch between enrollment action types and you will need to clean up extra empty fields. It is best to delete the action type you don't need any more and create a new action of the desired type.
## iMazing Profile Editor
There is also a manifest for Setup Manager in [iMazing Profile Editor](https://imazing.com/profile-editor).
## Quit
@@ -41,17 +45,17 @@ The command-Q keyboard shortcut to quit the app is disabled. Use `shift-control-
While Setup Manager is running you can open a log window with command-L.
There are two or three tabs, one for the main Setup Manager log, one showing output from `/var/log/install.log` and (Jamf Pro only) one tab showing output from `/var/log/jamf.log`. By default, these log tabs will be summarized to events relevant to the enrollment workflow. You can see the full log content by unchecking the 'Summarize' option.
There are two or three tabs, one for the main Setup Manager log, one showing output from `/var/log/install.log`, one showing configuration profile installation and removal, and (Jamf Pro only) one tab showing output from `/var/log/jamf.log`. Some log tabs will be summarized to events relevant to the enrollment workflow. You can see the full log content by unchecking the 'Summarize' option.
Note that both logs will show events that were not initiated by Setup Manager. Nevertheless, these events may be relevant to your enrollment workflow.
Note that the extra logs (Install, Profiles, and Jamf) show events that were not initiated by Setup Manager. Nevertheless, these events can be relevant to your enrollment workflow.
These summarized events will also appear in the Setup Manager log tab and log file, as well as the universal log entries. Having these events in context at the time they occur in the Setup Manager log is very helpful when trouble-shooting enrollment workflows.
These extra events will also appear in the Setup Manager log tab and log file, as well as the universal log entries. Having these events in context at the time they occur in the Setup Manager log is very helpful when trouble-shooting enrollment workflows.
Setup Manager logs to `/Library/Logs/Setup Manager.log`. There are four columns:
- timestamp (in ISO8601)
- log level (default, error or fault)
- category (general, install, network, jamfpro)
- category (general, install, network, profile, jamfpro)
- message
To clean up the main log a little, Setup Manager will only write the output of actions to the Setup Manager log file when an error occurred. You can control this behavior with a new top-level preference key `actionOutputLogging`.
@@ -185,3 +189,9 @@ The finished script or custom trigger are configured in the Setup Manager config
The SetupManagerFinished daemon logs its output (and the output of the policy and scripts to `/private/var/log/setupManagerFinished.log`.
## macOS Version support
| Setup Manager | Minimum macOS | Platforms |
|---------------|---------------|-------------------------|
| up to 1.2.2 | 12.0 | Intel and Apple silicon |
| 1.3 and later | 13.5 | Intel and Apple silicon |

View File

@@ -8,16 +8,23 @@
Yes, use the top-level `background` key and point it to a local image file or a http URL to an image file. If you don't want custom branding, you can set `background` to `/System/Library/CoreServices/DefaultDesktop.heic` for the default image.
## Setup Manager is not launching after enrollment
## Setup Manager is not launching after enrollment?
There can be many causes for this. A few common causes are:
There can be many causes for this.
First, check whether the Setup Manager.app exists at `/Applications/Utilities/Setup Manager.app` and a Setup Manager log file gets created at `/Library/Logs/Setup Manager.log`. When the app and the log file exist, read the log file for errors and messages which should give you a hint as to what is going on. When you have no user account to log in, you can boot to Recovery to check on these files.
If neither of those files exist, then the download and/or installation of Setup Manager is failing or not occurring in the first place. A few common causes are:
- you need at least one of the 'Setup Assistant Options' in the prestage to be set to _not_ skip. Location Services is a good choice that you generally want to leave up the user anyway. Otherwise, Setup Assistant may quit before Setup Manager can launch and do its actions.
- Jamf Pro:
- check that Setup Manager is added to your prestage and the package does not have the label "Availability pending" in Settings> Packages
- in Prestage > Enrollment Packages verify that the Distribution Point is set correctly (it resets to "none" when you remove the last enrollment package)
- Jamf Pro:
- when using a distribution point other than Jamf Cloud Distribution Point, you need [to provide a manifest](https://appleshare.it/posts/use-manifest-file/)
- check that Setup Manager is added to your Prestage and the package does **not** have the label "Availability pending" in Settings> Packages. Pending packages will not install during prestage. Wait a few minutes to see if the pending label updates
- in Prestage > Enrollment Packages verify that the Package is added and the Distribution Point is set correctly (the DP resets to "none" when you remove the last enrollment package from Prestage, so this is easy to miss)
- you can try deleting the Setup Manager pkg from Packages, re-uploading the package and re-adding it to the Prestage. (and verify that the Distribution Point is set correctly in the Prestage)
- when the above steps do not remedy the issue, please engage Jamf Support.
- when running at 'enrollment,' Setup Manager requires Setup Assistant to be running in the background. When you are using standard macOS user account creation, Setup Assistant will be showing that pane "behind" Setup Manager, so you should be fine. But if you are using Jamf Connect Login or a similar tool for account creation, you need at least one of the 'Setup Assistant Options' in the Prestage to be set to _not_ skip. 'Location Services' or 'Terms & Conditions' are a good choice that you generally want to leave up the user anyway. Otherwise, Setup Assistant may quit before Setup Manager can launch and do its actions.
## Does Setup Manager require Jamf Connect
## Does Setup Manager require Jamf Connect?
No.
@@ -62,10 +69,10 @@ What you can do is run a script at login which sets the desktop (using [desktopp
There are several options:
- custom launch agent
- [outset](https://github.com/macadmins/outset/)
- Jamf Pro: [Self Service macOS Onboarding](https://learn.jamf.com/en-US/bundle/jamf-pro-documentation-current/page/macOS_Onboarding.html)
- Jamf Pro: [policy with a login trigger](https://learn.jamf.com/en-US/bundle/jamf-pro-documentation-current/page/Login_Events.html)
- custom launch agent
- [outset](https://github.com/macadmins/outset/)
## Can Setup Manager run at first login, rather than right after enrollment?

View File

@@ -51,7 +51,7 @@ You can add more actions here. There are more types of actions available, you ca
- create a new Prestage or duplicate an existing one
- add the Setup Manager pkg and the configuration profile to the Prestage
- when installing and using Jamf Connect Login, ensure you have the latest version
- ensure that 'Automatically advance through Setup Assitant' is _disabled_
- ensure that 'Automatically advance through Setup Assistant' is _disabled_
- have at least one Setup Assistant option which shows before user creation _disabled_ (so that _is_ displayed), we recommend the Location Services or Terms and Conditions pane
- ensure your test Mac(s) is (are) assigned to the Prestage

27
Docs/LaunchTracking.md Normal file
View File

@@ -0,0 +1,27 @@
# Launch and Completion Tracking in Setup Manager
Setup Manager sends tracking signals to a service we use to gather usage data. Currently (since 1.4) the service is [TelemetryDeck](https://telemetrydeck.com/). Older versions use [pendo.io](https://pendo.io).
In the ping, some data is transferred to the service, and the time and date of the signal are recorded.
This is the data in the signal:
- macOS system version and build
- Setup Manager version
- Device management service: Jamf Pro or Jamf School
- A hash of the device management server url. This allows us to see how many devices are enrolled with a particular device management server, but we _cannot_ identify _which_ particular customer or server it is
Setup Manager version 1.4 adds the following info to the signal.
- Device information (model identifier, architecture)
- Language and Region settings, preferred and actual
- Color scheme choice: dark or light mode
- Duration of the Setup Manager workflow
- Running after enrollment, at login window, or over user space
- Fatal errors (Setup Manager giving up completely, individual errors in actions are **not** tracked)
No signals are sent when `DEBUG` is set to `true`. The signal is sent to `nom.telemetrydeck.com`.
We use this data to determine the usage of Setup Manager and where to focus future development, so we appreciate when you let us gather this data.
You can suppress the tracking signal by setting the `PLEASE_DO_NOT_TRACK` boolean key to `true` in the configuration profile.

View File

@@ -7,17 +7,21 @@
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
# Note:
# Setup Manager creates a flag file at
# Setup Manager creates flag and data files at
#
# /private/var/db/.JamfSetupStarted
# /private/var/db/.JamfSetupEnrollmentDone
# /private/var/db/SetupManagerUserData.txt
#
# when it completes successfully. This uninstall script
# does NOT remove this file. When you re-install Setup
# Manager after running this script, the flag file's
# existence will suppress the launch of Setup Manager.
# This uninstall script does NOT (yet) remove these files.
#
# Depending on your workflow needs, you may want to
# uncomment the last line which removes the flag file.
# When you re-install Setup Manager after running this script,
# the `.JamfSetupEnrollmentDone` flag file's existence will
# suppress the launch of Setup Manager.
#
# Depending on your workflow needs, you may want to preserve
# or remove these files during un-installation. Uncomment the
# respective `rm` lines at the end of this script.
appName="Setup Manager"
bundleID="com.jamf.setupmanager"
@@ -29,6 +33,11 @@ if [ "$(whoami)" != "root" ]; then
exit 1
fi
if launchctl list | grep -q "$bundleID.finished" ; then
echo "unloading launch daemon"
launchctl unload /Library/LaunchDaemons/"$bundleID".finished.plist
fi
if launchctl list | grep -q "$bundleID" ; then
echo "unloading launch daemon"
launchctl unload /Library/LaunchDaemons/"$bundleID".plist
@@ -38,8 +47,16 @@ echo "removing files"
rm -rfv "$appPath"
rm -v /Library/LaunchDaemons/"$bundleID".plist
rm -v /Library/LaunchAgents/"$bundleID".loginwindow.plist
rm -v /Library/LaunchAgents/"$bundleID".finished.plist
echo "forgetting $bundleID pkg receipt"
pkgutil --forget "$bundleID"
# uncomment depending on which files you need to remove or preserve
# rm -v /private/var/db/.JamfSetupStarted
# rm -v /private/var/db/.JamfSetupEnrollmentDone
# rm -v /private/var/db/SetupManagerUserData.txt
# always exit success regardless of exit code of above commands
exit 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 617 KiB

After

Width:  |  Height:  |  Size: 804 KiB

View File

@@ -30,7 +30,7 @@ Setup Manager provides:
- zero-touch (user-driven)
- single-touch (tech-driven)
- user initiated enrollment
- handsfree deployment with AutoAdvance
- handsfree deployment with Auto Advance
- customized branding
- localized interface and localizable custom text
- works with Jamf Pro and Jamf School