LabHand Public Beta Documentation
Version: 1.0

http://www.ugmedia.com.au/

Welcome to LabHand 1.0. LabHand is an extension that should help Macintosh network administrators manage their Macintosh Manager networks. LabHand should run on Mac OS 8.1 and later, but most of the features will only work on OS 9 and later. It will not work at all on OS X. I'm currently focussing on making LabHand for OS 9 the best that it can be, and then I'll look at LabHand's future on OS X.

In order for this software to be useful, I need as much feedback (both positive and negative) as possible. Please email me if you have anything you want to say. I especially want to hear about bugs you find, and new features you would like to see.

I have a mailing list on Yahoo/eGroups set up for the discussion of LabHand (and File Blaster). Head on over to:

<http://groups.yahoo.com/group/labhand/>

and subscribe to it. If you don't want to sign up with Yahoo Groups, just send an email to <labhand-subscribe@yahoogroups.com>. If you don't want to join a Yahoo Groups list at all, just email me and I'll let you know if I set up another mailing list.

LabHand and MM 2.0
LabHand works fine with both MM 1.x and 2.x.


The features that are available in the current version of LabHand are:

Client File Updating
LabHand connects to an AppleShare server (over AppleTalk or IP), logs in as a specified user, and copies new and updated files down to the client.

LabHand also has an Auto-update feature. When the next version is released, just put it on your Update Server, and LabHand will automatically download and install it.

 

Machine-specific preferences
When a user logs in, files from a folder on the local HD are copied to the user's Preferences folder.

This is useful for applications that require different serial numbers. You can put different serial numbers into different preferences file on each computer, and have that file copied to the user's preference folder when they log in.

 

Preference Deletion
When a user logs out, specified items are deleted from their Preferences folder. Good for getting rid of Web Browser cache files.

Using this and the above feature, you could have scanner preferences copied to a user's preferences folder on login, and then deleted when they log out. This means that you won't have gigs of useless preference files stored on the server

 

Control the Control Strip on Login
You can tell LabHand to either show or hide (or neither) the Control Strip when a user logs in. PLEASE NOTE: This feature now works as advertised!

 

Automatic ejection of CDs at logout
If a CD is in the drive when a user logs out, it gets ejected. PLEASE NOTE: This feature now works as advertised! Beta 6 fixed a bug where empty CD trays were being opened.

 

Changing of Monitor Bit Depth (the colours of the monitor) on Login
LabHand can change the monitor to a pre-determined bit depth when users log in, and to another depth when they log out.

 

Changing Sound Volume
LabHand can change the sound volume at login and logout.

 

AppleScript Commands
You can ask LabHand for the current Username and the current Workgroup name. More details on this will come with a later beta, so for now, just open up LabHand Extension with Script Editor, and have a look at the syntax.

 

Control Strip Module
Labhand has a control strip module. Currently it has only two usable actions, Update Client (which forces LabHand to connect to the Update server and update the client machine) and Change Location (which lets users change Location Manager locations).

Both of these actions are only available in System Access or on the Login screen.

 

Setting Internet Preferences
The following Internet Preferences can be set:

Web Home Page
The page that loads when a user first opens their browser

Web Search Page
I guess this loads when the user wants to search for stuff...

HTTP Proxy
The proxy used for HTTP traffic

No Proxy For
If you set the HTTP proxy, this option lets you specify domains and IP addresses that shouldn't be accessed through the proxy

Set IE Cache
You can tell LabHand to set the location of the Internet Explorer Cache.waf file!!!

Set IE Downloads Location
Warning: This is a hack!! You can specify the four letter code of the folder you want downloads to go to. If you want downloads to go to the user's Documents folder, use "docs". This feature appears to work about 90% of the time. I'm working on the other 10%.
Here are some other four letter codes:

Documents

docs

Desktop Folder

desk

Preferences

pref

Application Support

asup

For a bigger list, see here.

 

Restarting if the Workgroup Documents Volume can't be Unmounted
If a user logs in, opens Internet Explorer, and then IE crashes, certain files will be left open on the WG Docs volume.This means that the volume can't be ejected. If you have users logging in using their own usernames and passwords, the next user to log in on that machine won't be able to access their documents, because the machine is already connected to the server as a different user. With this option enabled, LabHand checks to see if the WG Docs volume is still mounted after the user logs out. If it is, LabHand tries to eject it. If the volume can't be unmounted, LabHand displays a message and restarts the machine in 5 seconds. This is a new feature, so please let me know if you'd like to see it implemented differently.

 

Clearing of Users folder
LabHand can delete the local "Users" folder when a user logs out. This will delete anything that users leave on the desktop, and desktop Printers.

 


LabHand Prefs Editor 1.0.2

LabHand now comes with a Preference Editor, called (oddly enough) LabHand Prefs Editor, or LHPE to its friends. This means you can now get rid of ResEdit, and bask in the glory of GUIness. LHPE 1.0.2 now displays the Updater Password in bullets on the main screen.

You'll need to run LabHand at least once to create the preferences file before you can use LabHand Prefs Editor. By default, all options are turned off, so install LabHand, restart, and then open LHPE and edit away!

To edit the preferences, open LHPE, and go to the File menu. You'll see that you have two options of interest: "Open Preferences" and "Open LabHand Extension...". If you Open Preferences, LHPE will look in the "Application Support" folder in the startup disk for a file called "LabHand Preferences". If it finds it, you'll get the editing window. If it doesn't find it, you'll get an error. If you Open LabHand Extension, you'll be asked to locate a LabHand Extension. "Why would I need to edit the LabHand Extension?" I hear you ask. Well my friend, the answer is simple.

After you've opened up LabHand or a Preferences file, you'll see that the screen is divided into two areas:

String Preferences are options that need specific information. Boolean Preferences are options that can either be on or off. Some options require you to enter details into the String Preferences area, and then active the option in the Boolean Preferences area.

 

All the options should be pretty much self-explanatory, but I have some free time, so I'll explain them.

String Preferences:

userName

The username LabHand should use to connect to the AppleShare server when doing Client Updating

volumeName

The name of the volume LH should mount for Client Updating

serverName

The name of the server LH should connect to for Client Updating

password

Guess what this does

ATZone

The AppleTalk zone the Client Update server is in. Use "*" for no zone, or when connecting via TCP/IP.

User Bit Depth

The Bit Depth (number of colours on the screen) LH should set the monitor to when a User logs in

System Bit Depth

The Bit Depth (number of colours on the screen) LH should set the monitor to when a User logs OUT

User Sound Volume

The Sound Volume LH should set when a User logs in

System Sound Volume

The Sound Volume LH should set when a User logs OUT

Web Home Page

The URL of the Home Page. Leave blank if you don't want to use this feature.

Web Search Page

The URL of the Search Page. Leave blank if you don't want to use this feature.

HTTP Proxy

The domain name of the HTTP Proxy. Leave blank if you want LabHand to remove the proxy from the user's preferences. Set to "NONE" if you don't want LabHand to do anything to the user's proxy settings. You can specify a port by putting the domain name, a colon, and then the port.

No Proxy For

A comma-separated list of domain names that shouldn't be accessed through the proxy.

Web Download Folder

The four character code of the folder you want the user's downloads to go to. Default is "docs" for Documents.

Boolean Preferences:

Client Update

Set this to true and LabHand will connect to an AppleShare server and download any updated files. See below for details on setting up the AppleShare server.

Update only once a day?

Set this to "true", and LabHand will only attempt to connect to the Update server once a day.

Local Managed Prefs

Set this to true and LabHand will create a "Local Managed Preferences" folder in the "LabHand Data" folder in the "Application Support" folder of the startup disk. See below for more details.

Manage Control Strip?

Set this to true if you want LabHand to either show or hide the Control Strip when users log in.

Show CStrip on Login?

If this is true, and the above setting is true, LabHand will show the Control Strip when users login. If this is false and the above is true, LabHand will hide the Control Strip.

Set monitor resolution

NOT FUNCTIONAL

Set Bit Depth (colours)

Changes the bit depth of the monitor when a user logs in, and back again when they log out.

Set Volume

Set this to true and LabHand will change the sound volume when a user logs in and out to levels that you specify.

Eject CD on Logout?

Set this to true and LabHand will make sure the CD drive is empty each time a user logs out.

CSM: Location Manager

Allows users to change Locations (if Location Manager is installed). Only works in System Access or on the Login screen.

CSM: Quit LabHand

NOT FUNCTIONAL

CSM: Update Client

Forces LabHand to connect to the specified Updates server and update the local machine. Also only works in System Access or on the Login screen.

CSM: User Information

NOT FUNCTIONAL

Restart is WG Vol is stuck?

LabHand will restart the machine if the Workgroup Documents Volume can't be unmounted.

Clear Users Folder

LabHand will delete the local "Users" folder when a user logs out.

Set IE Cache

LabHand will set the Internet Explorer cache.waf file location for each user.

 

IMPORTANT:
This is how the LabHand Extension works with its Preferences.

First, you configure LabHand by editing the application itself. You then copy it to your workstations (using Network Assistant or something similar). When LabHand launches for the first time, it copies its Preferences from the application to a file called "LabHand Preferences" in the "LabHand Data Folder" in the "Application Support" folder in the System Folder of the local machine. From then on, every time LabHand launches, it looks for a Preferences File, and if it finds one, it will takes its preferences from there, NOT from the application. This is because you can't edit the application itself if it is open.

During the beta testing period, LabHand will check to see what version of LabHand created the preferences file, and if the file was create with a different version of LabHand, it will delete the file. This is because the format of the Preferences file will be changing significantly during the beta testing period.


Client Updating

You'll need an AppleShare server for this on. Make a new user called "updater", with a password of "updater". Make a new folder on your AppleShare server and call it "updates". Make it a sharepoint, and set the permissions so that the "updater" user can read and write to it. I'd suggest something like this:

Owner:

Administrator

Read/Write

Group:

updater

Read/Write

Everyone:

None

You then need to tell LabHand which server to connect to and the like. To do this, just open LHPE, and edit the appropriate string options. If you used the information above, you'd set "userName" to "updater", "volumeName" to "updates" and password to "updater". The other two fields will depend on your server and its zone. If you want LabHand to connect via AppleTalk, enter the AppleTalk name of your server, and the AppleTalk zone in which it appears. If you don't have any zones, then just enter "*" as the zone. If you want LabHand to connect to your AppleShare server via TCP/IP (which is the recommended method as long as your server supports it), then enter the IP address of your server in the "serverName" field, and enter "*" in the "ATZone" field. PLEASE NOTE: You can't enter the DNS name of the server at this stage - you can ONLY use the raw IP address.

Before you start using LabHand, make sure that your sharepoint works by going to the Chooser, and logging on to your server with the username and password for the "updater" user you created above. If it works, you should be able to mount a volume called "updates" and nothing else. If your "updater" user can mount other volumes, you should adjust your server's privileges, otherwise you will have security issues.

The way LabHand does its client updating stuff is as follows. Mounts the Updates volume using the information in its preferences. Finds out the name of the startup disk. Looks for a folder on the Updates volume that matches the name of the startup disk. Recursively looks at each file in every folder on the Updates volume. If the file/folder on the server doesn't exist on the local hard drive, it gets copied down. If the file does exist on the local hard drive, but the one on the server has a newer modification date, then the local file is deleted, and the file from the server is copied down.

So, for the whole thing to work, you need to make a folder on the Updates volume, and set its name to the name of your hard drives. Most people keep their machines' hard drives set to "Macintosh HD", and the rest of these instructions assume that you have too.

Keep the Updates volume mounted, and make a new folder in it called "Macintosh HD". LabHand will look in here, and scan through all its subfolders, and copy down any new files. If you wanted to copy a new Control Strip Module called "LabHand CSM" to all of your workstations, you'd make several new folders in the "Macintosh HD" folder, and end up with a structure like this:

Macintosh HD:System Folder:Control Strip Modules:

You'd then put your "LabHand CSM" module into the "Control Strip Modules" folder, and let LabHand do its thang. LabHand would connect to the Updates volume when the computer starts up, and copy the "LabHand CSM" file down to the local machine. LabHand would put the file in the same folder it appears in on the server, that is, "Macintosh HD:System Folder:Control Strip Modules:".

As LabHand scans through the Updates volume each time the computer starts up, you should remove any unnecessary files and folders from the Updates volume in order to reduce the amount of time LabHand spends searching for new files. In a future release of LabHand, you'll be able to tell LabHand to only look for updates once a day/week/month etc, or only between certain hours. Currently you can tell LabHand to only connect to the Update server once a day. If you do this, updated files won't get to you clients as quickly, but the load on the Update server will be less, and it will take less time (not much less, but less none-the-less) for the client machines to boot and be usable.


Machine-specific preferences and Preference Deletion
If you enable the "Local Managed Prefs" option, LabHand will create a bunch of folders in the "LabHand Data Folder" folder in the startup disk's Application Support folder. These folders, and their uses, are:

Forced Preferences

Everything in this folder is copied to the user's Preferences folder when they log in.

Initial Preferences

If these files/folders don't exist in the user's Preferences folder, they'll be copied to it when they log in.

Updated Preferences

If the files in this folder are newer than the ones in the user's Preferences folder (that is, if the local files' modification dates are after the user's files' modifications dates), or if these files aren't in the user's Preferences folder at all, they'll be copied.

Deleted Preferences -> At Login

Anything in this folder will be deleted from the user's Preferences folder when they log in.

Deleted Preferences -> At Logout

Anything in this folder will be deleted from the user's Preferences folder when they log out.

This means that you can put the files that scanners need in the "Forced Preferences" or "Initial Preferences" folder, and put them in the "Deleted Preferences:At Logout:" folder as well, and your scanners will work, but their files won't be wasting space in your users' Preferences folder on your server.

You could also put a "cache.waf" file in the "Deleted Preferences:At Logout:" folder, and any Internet Explorer Cache files will be deleted from your users' Preferences folder when they log out.

 


Control the Control Strip on Login
If you want LabHand to show the Control Strip when your users log in, you need to set both the "Manage Control Strip" and "Show CStrip on Login?" options to true.

On the other hand, if you want LabHand to hide the Control Strip when users log in, you need to set the "Manage Control Strip" option to true, and the "Show CStrip on Login?" option to false.

If you want LabHand to do nothing to the Control Strip, set the "Manage Control Strip" option to false.


Automatic ejection of CDs at logout
Once a user logs out, the only way to get a CD out of the drive it to log back in and eject it. You can use the "Eject CD on Logout?" option to get LabHand to eject any CDs when a user logs out. This should also eject any other removable media disks, such as Floppy disks and Zip disks.


Changing of Monitor Bit Depth (the number of colours the monitor displays)
LabHand can change the bit depth when a user logs in, and then change it again when they log out. Set "Set Bit Depth (colours)" to true, and edit the User and System Bit Depth options.The values you can use are:

8 = 256 colours
16 = Thousands of colours
32 = Millions of colours

Changing of Sound Volume
LabHand can change the sound volume when a user logs in, and then change it again when they log out. Set the "Set Volume" Boolean Preference to true, and edit the User and System Sound Volume options. You can use any value from 0 to 7 in either (0 being no sound and 7 being far too loud for my liking).

 


Control Strip Module
The only two CSM Boolean Preferences that work at the moment are "Location Manager" and "Update Client".

 


Clear Users Folder
If this is selected, the local "Users" folder (found at the top level of the startup disk) will be deleted when a user logs out. THIS CAN BE DANGEROUS! If you have the Workgroup Documents location set to the startup disk in MM 1.x, THIS OPTION WILL DELETE YOUR USERS' FILES!
USE WITH CAUTION!!
Make sure you don't use this on production machines unless YOU'RE SURE you want the "Users" folder to be deleted!!!!!


Set IE Cache
This option will make LabHand set the location of the "cache.waf" file for each user that logs in to a machine. To get it to work, you need to set the location in System Access to somewhere, like this:

 


Once LabHand becomes more fully-featured I'll set up an official bug tracking mechanism that will let you enter bugs and feature requests into a database, and then track their status. In the meantime, just email me with any bugs you've found, or any new features you'd like to see.

I also need to thank John Weston for the cool LabHand Support icon, and John (again) and Rick Davis for critiquing the documentation

I think that's all I need to tell you. Stay tuned for the next version of LabHand, and make sure you give me some feedback!!!

 

 

Stewart Macdonald
28 November 2001
stewart at ugmedia dot com dot au
http://www.ugmedia.com.au/