How to Configure ULabMin
Unfortunately, this is the most incomplete section of this documentation... sorry!
Throughout this documentation, "settings", "configuration", and "preferences" are used interchangeably.
There are 2 levels of ULabMin configuration. The first level is global configuration. This means "all of your computers" will share these settings. The second level is machine configuration. This includes one to any size group of machines.
We divided configuration into 2 different files because we noticed that there are only a few different settings different on each computer. If we used just one configuration file, then there was a greater potential for that file to have global settings that didn't match the other computers. And because of radmind, it was easier for us to create an overload with the global settings that we put on all of our command files, and then for individual customization, we put the machine configuration into its own overload, and that overload changes for each command file. For example, we have this global overload:
admin_ulabmin_0.7.1_settings_global.T
admin_ulabmin_0.7.1_settings_global.T contains all of the globally distributed files unique to our institution (not just settings, but images with our logo, firewall settings with our subnets, etc):
/Library/ULabMin/Private/scripts/report_to_master.sh
/System/Library/CoreServices/SecurityAgentPlugins/loginwindow
.bundle/Contents/Resources/English.lproj/login.nib/info.nib
/System/Library/CoreServices/SecurityAgentPlugins/loginwindow
.bundle/Contents/Resources/English.lproj/login.nib/objects.nib
/Users/our_admin_user/Desktop/Run Maintenance -> /Library/ULabMin/User Tools/Run Maintenance
/Users/our_admin_user/Desktop/ULabMin -> /Library/ULabMin
/etc/hosts.allow
/etc/sshd_config
/etc/sudoers
/etc/ulabmin
/etc/ulabmin/computer_names
/etc/ulabmin/create_overload_filter
/etc/ulabmin/ejectexclude
/etc/ulabmin/ipopfeed.pl
/etc/ulabmin/objects.nib
/etc/ulabmin/performing_maintenance1.gif
/etc/ulabmin/performing_maintenance2.gif
/etc/ulabmin/performing_maintenance3.gif
/etc/ulabmin/performing_maintenance4.gif
/etc/ulabmin/performing_maintenance5.gif
/etc/ulabmin/rc.firewall
/etc/ulabmin/ulabmin_global_config.pl
/etc/ulabmin/ulabmin_global_config.sh
And we have these individual machine configuration overloads:
admin_ulabmin_0.7.1_settings_kiosk_auth.T
admin_ulabmin_0.7.1_settings_kiosk_auto.T
admin_ulabmin_0.7.1_settings_kiosk_auto_proxy.T
admin_ulabmin_0.7.1_settings_lab.T
admin_ulabmin_0.7.1_settings_lab_17.T
admin_ulabmin_0.7.1_settings_lab_21.T
admin_ulabmin_0.7.1_settings_lab_studio_display.T
admin_ulabmin_0.7.1_settings_presentation.T
admin_ulabmin_0.7.1_settings_tech_kiosk_auth.T
admin_ulabmin_0.7.1_settings_tech_kiosk_auto.T
admin_ulabmin_0.7.1_settings_tech_kiosk_auto_proxy.T
admin_ulabmin_0.7.1_settings_tech_lab.T
Each of these overloads contain only one file: /etc/ulabmin/ulabmin_machine_config.pl.
In addition to this, we have one overload for our crontab settings: admin_ulabmin_0.7_cron_settings.T and it contains /etc/ulabmin/cron_setting.
So there are 3 main configuration steps:
Machine configurations
Set machine type. Is it a kiosk, lab/staff computer, or presentation computer. Set the correct variable to 1. Only one variable can be 1. If more than one are 1, then some scripts will not run.
Note about kiosks and Safari. If you are like us, and you rename your web browser, you have to edit the idlescript and enter the correct version of Safari. If you do not do this, then when the computer logs in, you will have a blue screen, and no app. It would be best if you had ARD, TB2, or SSHD on, so you can remotely control the computer and kill loginwindow if the kiosk web browser app is named wrong.
If you leave the web broswer name the same (Safari.app), then you don't have to bother with this.