Oops... I shoot the previous post in haste. Just for records, as Don already said (but I missed it !), doLRN caters for a) only, not b). And no subsites, but it has code for automatic mounting of packages - a good starting point can be mount_package in packages/dotlrn/tcl/dotlrn-procs.tcl and its callers.