dotLRN does rely a good deal on being a singleton right now, given that it's already doing multiple community management. There are two approaches you can take:
- set up one dotLRN and different community types for each client
- set up multiple dotLRNs
I think the first one will be easier. The second one would be a bit more OpenACS-friendly, but would require some additional work.