This repository has been archived by the owner on Feb 8, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 70
80 Advanced
Francois Levaux-Tiffreau edited this page Dec 28, 2017
·
4 revisions
When SplashBuddy launches, /Library/Preferences/io.fti.SplasbBuddy.plist
is read and the Software items are built in SoftwareArray and tagged as displayToUser
.
┌────────────────────┐
│ │
│ /var/log/jamf.log │
│ │
│ │
└────────────────────┘
│
│
Continuous
│
▼
┌────────────────────┐
│ │
│ SoftwareArray │
│ │
│ │
└────────────────────┘
▲
│
│
│
At start
│
│
┌────────────────────┐
│ │
│/L/P/io.fti.SplashBu│
│ ddy.plist │
│ │
└────────────────────┘
Then SplashBuddy starts parsing /var/log/jamf.log
and either updates or creates the Software items in SoftwareArray.
SoftwareArray is continuously evaluated and the following notifications are set:
- CanContinue
- DoneInstalling
- AllSuccess
- ErrorWhileInstalling
- Processing
┌─────────────┐
│ │
│ plist │ ┌────────────────────────┐ ┌────────────────────┐
│ │ │ All Software │ │ │▒
└─────────────┘ ┌──▶│ [canContinue == false] │──▶│ CanContinue │▒
│ │ │ successfully installed │ │ │▒
▼ │ └────────────────────────┘ └────────────────────┘▒
┌─────────────┐ │ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
│ │ │
│SoftwareArray│───┴───────────────────────┐
│ │ ▼
└─────────────┘ Λ
▲ ╱ ╲
│ ╱ ╲
┌─────────────┐ ┌─────────▕ OR ▏────────────┐
│ │ │ ╲ ╱ │
│ jamf.log │ │ ╲ ╱ │
│ │ │ V │
└─────────────┘ ▼ ▼
┌────────────────────┐ ┌────────────────────────┐
│ │▒ │All Software from plist │
│ Processing │▒ │installed (successfully │
│ │▒ │ or not) │
└────────────────────┘▒ └────────────────────────┘
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ │
│
┌─────────────────────────────┤
│ │
│ │
▼ │
Λ ▼
╱ ╲ ┌────────────────────┐
╱ ╲ │ │▒
┌───────────▕ OR ▏─────────┐ │ DoneInstalling │▒
│ ╲ ╱ │ │ │▒
│ ╲ ╱ │ └────────────────────┘▒
│ V │ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
│ │
│ │
│ │
▼ ▼
┌────────────────────────┐ ┌────────────────────────┐
│ One or more software │ │ All Software from │
│ failed to install │ │ jamf.log successfully │
│ │ │ installed │
└────────────────────────┘ └────────────────────────┘
│ │
▼ ▼
┌────────────────────┐ ┌────────────────────┐
│ │▒ │ │▒
│ErrorWhileInstalling│▒ │ AllSuccess │▒
│ │▒ │ │▒
└────────────────────┘▒ └────────────────────┘▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
These notifications are caught by the GUI and actions are performed:
If you can, please contribute.
You can also freely edit the wiki, every little bit helps!
Thank you 🌈