SecondSonConsulting / Baseline

An MDM agnostic zero touch solution for macOS
MIT License
192 stars 22 forks source link

Baseline.sh: Add progress bar during setup #20

Closed khronokernel closed 1 year ago

khronokernel commented 1 year ago

Implements 2 new keys for the config:

Additionally resolves following regressions:


Logic for DisplayProgressBarLabel is that if a user specifies a custom --video argument, the list view will be obstructed by the provided video in swiftDialog. The main reason we'd want video support is if clients would want to present onboarding videos while the machine is being setup.


Sample Photo:

Progress Bar and Label, Video Progress Bar and Label, Installomator Progress Bar and Label, Scripts
Screenshot 2023-08-16 at 11 47 47 AM Screenshot 2023-08-16 at 1 51 16 PM Screenshot 2023-08-16 at 1 53 30 PM
BigMacAdmin commented 1 year ago

I just read through all of these additions, and they're great. I can tell you put a lot of time and thought into this, thank you very much.

One consideration I have is the "Installing" and "Running" words in the progress text. My concern is for non-English users, we're adding words without giving them the ability to translate to their own language. All other language in Baseline is fully customizable.

I'm debating between omitting it altogether so that the progress item just lists the Display Name of the item being processed, or making a configuration profile key for it. Either way, in order to simplify I think I want just one option and not differentiate the verbiage between packages/installomator and scripts. After all, in my own deployments I use scripts to "install" software.

"Running: " or "Processing: " would be the default if I go with the second option. Let me know if you have thoughts.

khronokernel commented 1 year ago

That's a very good point, and yes it makes it difficult to configure options for end users with the current logic. Depending whether you want to release Baseline 1.3 soon, I can look into and have a PR ready by Wednesday that would follow this logic (may change, just a rough outline):

Either way, in order to simplify I think I want just one option and not differentiate the verbiage between packages/installomator and scripts.

For the above, I decided to have the default be the same across Installomator, Packages and Scripts however allowing the configuration of each if the developer chooses.

If you'd prefer to just have a single option that covers them all, that I have no issue and can set the logic as that in the PR.

BigMacAdmin commented 1 year ago

I think thats just far too many keys and too much code for something so minor.

I'm going to opt to remove the "Installing: " portion entirely, and just display the DisplayName of the item being processed.

If you're using --video and you want "Installing Google Chrome" to show, you can always just set that as the DisplayName value anyhow.