Baseline v2.0
Baseline v2.0 Release Notes
New Configuration File Keys
A huge thanks to the community members that contributed code and testing to this version of Baseline: tiredsince1985 aka @drewdiver, Mykola Grymalyuk @khronokernel, and @copyleftdev
- New "per item" configuration key:
Icon
- swiftDialog Icons are now supported for each individual line item in your list
- Each of the item types (Installomator, Packages, Scripts) now supports
Icon
as a key type - This is a
<string>
value which points to an icon file you would like to appear on that line item. - Define your
Icon
in Scripts, Packages, or Installomator Labels. Icon
can be a full local file path, a filename (if the file lives in/usr/local/Baseline/Icons
), an SF Symbole, or a URL where the file is hosted.- See this swiftDialog documentation for more details: https://github.com/swiftDialog/swiftDialog/wiki/Item-Lists#advanced
- This feature added by: tiredsince1985 aka @drewdiver
- New configuration key:
ProgressBar
- Boolean, default is
false
- If set to True, the swiftDialog Progress Bar feature will be used and incremented as items are progressed
- This feature added by: Mykola Grymalyuk @khronokernel
- Boolean, default is
- New configuration key:
ProgressBarDisplayNames
- Boolean, default is
false
- If set to
true
, the swiftDialogprogresstext
feature will be used, and will list each item on the bottom of the window as it's being processed. - Currently only works if
ProgressBar
is also set to true, but this may change with a future swiftDialog update - This feature added by: Mykola Grymalyuk @khronokernel
- Boolean, default is
- New configuration key:
LogOut
- Boolean, default is
false
- If set to true, Baseline will force a logout at the end of the run.
- If
LogOut
andRestart
are both set totrue
, thenRestart
takes priority.
- If
- Boolean, default is
- If
Installomator.pkg
is found in/usr/local/Baseline/Packages
, then this will be used to install Installomator.- This allows admins to "pin" the version of Installomator they're using
- New configuration key:
BlurScreen
- Boolean, default is
true
- If this key is set to
false
, the--blurscreen
feature of swiftDialog will not be used.- You may wish to add
--ontop
and/or--moveable
to the swiftDialog Options for each window.
- You may wish to add
- Boolean, default is
- The "Ok" button can now be enabled for the List View window.
- New boolean key
- New configuration key:
Button1Enabled
- Boolean, defaults is
false
- If set to true the
--button1disabled
feature of swiftDialog will not be used.
- Boolean, defaults is
- New configuration key:
ReinstallDialog
. Use this key to configure whether swiftDialog will be reinstalled as the final step of Baseline.- Boolean, default is neutral (omit this key entirely to retain default behavior)
- swiftDialog has a feature to change the icon of the app bundle by placing a png file at
/Library/Application Support/Dialog/Dialog.png
- This key is useful, because you can deliver this icon via a Baseline item and Baseline will reinstall swiftDialog so that the icon is adopted for your app bundle.
- swiftDialog will be reinstalled with the same priority as the initial deployment (a custom pkg in the swiftDialog directory, Installomator, or a direct download from Github which is programmed within Baseline.)
- Configuration behavior:
- If this key is omitted from the Baseline configuration file, then swiftDialog will be reinstalled as the last Baseline item if the custom png file exists.
- If this key is set to
false
then swiftDialog will not be reinstalled, even if a custom icon is found. This is useful if you're running Baseline for circumstances aside from initial workstation deployment. - If this key is set to
true
then swiftDialog will be reinstalled as the last Baseline item, regardless of any other circumstances
- New configuration key:
IgnoreDefaultInstallomatorOptions
- Boolean, defaults to
false
- Set this value to true if you do not want Baseline to use the built-in default Installomator options.
- Built in options are
NOTIFY=silent
andBLOCKING_PROCESS_ACTION=kill
- Built in options are
- Boolean, defaults to
- New configuration key:
BailOutFile
- Type:
string
Value:/path/to/file
- Each time Baseline processes an item (be it a Script, Installomator Label, or PKG) it will check for the existence of this file.
- If this file exists, Baseline will exit immediately instead of continuing to process items.
- A failure message will be shown including the name of the previous item as a failure.
- Use this feature if you want an escape from the entire Baseline process based on the output of a script or pkg run.
- This file will be deleted upon exit.
- Baseline will exit using the exit conditions configured in the profile.
- Type:
- New configuration key:
InstallomatorswiftDialogIntegration
- Boolean, defaults to
false
- If set to
true
, Baseline will use the native Installomator/swiftDialog integration. - This will bring a lot more information per line item on what's happening during installation of Installomator labels, but that functionality will not be present in packages or scripts processed by Baseline.
- Boolean, defaults to
New Command-Line Arguments
We are adding extended support for running Baseline as a script (as opposed to the PKG deployment.) The default PKG will not make use of these command-line arguments, however they could be used in conjunction with a PKG by creating your own LaunchDaemon with the ProgramArguments
key set properly.
-c|--config|--configuration [/path/to/config.plist]
- Runs Baseline using the designated plist as it's configuration file.
- Priority for which configuration to use in case of conflict is as follows:
- Configuration file passed as a command-line argument
- Configuration file located at
/usr/local/Baseline/BaselineConfig.plist
.mobileconfig
Profile installed manually or via MDM
- Valid Plist configuration files can be created using iMazing Profile Editor.
-s|--silent|--silent-mode
- Enables "Silent Mode" for Baseline
- Baseline will no longer use any SwiftDialog features and SwiftDialog will not be automatically installed.
- Baseline will not check whether a user is fully logged in. Baseline will run even at the loginwindow or prior to a user account being created.
Improvements and Fixes
- Consolidated temporary files into a single directory to simplified the cleanup process.
- Better handling if the configuration profile contains both
LogOut
andRestart
keys.- If both values are set to
true
thenRestart
takes precedence.
- If both values are set to
- Improved the handling of the
/usr/local/Baseline/Icons
folder (over 1.3beta1) to solve for permissions issues. - ProfileManifest updated for new keys, as well as correcting the tooltip on the
CleanupAfterUse
key. - Baseline now uses a temporary Json file to generate the List View content.
- Big thanks to tiredsince1985 @drewdiver for contributing this change
- If
Restart
is set toFalse
, then the default List View messaging will no longer inform the user that their device will restart.- Another thanks to Mykola Grymalyuk @khronokernel for this
- Added
-L
curl option to the command locating the latest Installomator pkg. This will help in case the Repo changes names in the future. - Fixed bug with including multiple Installomator options
- Options were not parsing properly from the config file to passing options to the command when multiple options were included
- When using a
.mobileconfig
configuration profile, Baseline will now copy the contents to a temporary directory and use the temp as it's config.- This should prevent an edge case issue we've seen with some MDM's reassigning the profile mid-run, causing errors.
- Success and Failure dialogs now use the same "QuitKey" combination as defined in the config (
Command + ]
is default.) - Fixed an issue where if the Success or Failure dialogs were quit with the quit key they would appear 10 times and then Baseline would exit with an error.
- Improvements to optimize the
preinstall
andpostinstall
scripts, courtesy of @copyleftdev - A new alternative pkg: Baseline_NoAgent_v*.pkg is being provided. This package does not install a LaunchDaemon. Use this if you do not want Baseline to fire off immediately upon installation.