Skip to content
This repository has been archived by the owner on Feb 8, 2023. It is now read-only.

20 Components

Francois Levaux-Tiffreau edited this page Mar 13, 2019 · 6 revisions

SplashBuddy Components

These components are required for SplashBuddy to Execute properly:

  • SplashBuddy app
  • .plist file for preferences
  • presentation.bundle file for web view
  • icons for each software
  • Jamf Pro

SplashBuddy

SplashBuddy Application

SplashBuddy is a sandboxed application, running in user-mode. In other words, SplashBuddy doesn't have admin rights, and its capabilities are tightly controlled by Apple.

SplashBuddy structure

Folder Use
/Library/Application Support/SplashBuddy/SplashBuddy.app The Application
/Library/Application Support/SplashBuddy/*.png Icons used for the software table
/Library/Application Support/SplashBuddy/presentation.bundle localized bundle containing html resources that will be presented to the user (other files needed by this view such as CSS and JS should be in the same folder)
/Library/Preferences/io.fti.SplashBuddy.plist .plist with the settings
/Library/LaunchAgents/io.fti.SplashBuddy.plist SplashBuddy LaunchAgent
postinstall postinstall script in the package to load the LaunchAgent

Plist structure

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>applicationsArray</key>
	<array>
	<!-- Insert Applications here -->
	</array>
</dict>
</plist>
Key Type Use
applicationsArray Array See Below

applicationsArray

<dict>
	<key>canContinue</key>
	<false/>
	<key>description</key>
	<string>SSO</string>
	<key>displayName</key>
	<string>Enterprise Connect</string>
	<key>iconRelativePath</key>
	<string>enterpriseconnect.png</string>
	<key>packageName</key>
	<string>EnterpriseConnect</string>
</dict>
Key Type Use Example
canContinue Bool Continue button will activate when all applications with canContinue = false are installed (ask yourself: "Can the user continue if this software is not yet installed?" YES/NO) true
displayName String Name of the application, displayed to the user [Note this is displayed via html. Special characters may need some thought i.e. & =&amp; Google Chrome
description String Second line displayed to the user Browser
iconRelativePath String filename for icon googlechrome.png
packageName String Name of package ( from the convention NAME-VERSION.pkg -- use only NAME). Note: the Package name can only contain alphanumerical characters, dot (.) and underscores(_) GoogleChrome

Presentation.bundle

A set of localized HTML files. You can use CSS and Javascript. Refrain from using remote content. QuickStart: create index.html in /Library/Application Support/SplashBuddy/presentation.bundle/en.lproj/

Icon files

Use 128x128px png files.

Jamf Pro

SplashBuddy will simply parse /var/log/jamf.log. In other words, all the logic will reside in Jamf Pro.