Can anyone recommend a resource for some tips and best practices for setting up shared calendars and contacts amongst groups?

Particularly, I am trying to set up several users split into a few different pools. One let's say would be administrative and would have their own file repository, a shared calendar (or maybe all users can see each others appointments on a shared cal), and a shared contact list.

I also want to have a general user pool with their own contact list (truncated admin list), shared calendar (can this mix with some admin group stuff?) and their own file repository.

I can get calendars and files and contacts to distribute between individuals but I'm looking for a way to add a person to a group and have them able to access that groups stuff by virtue of group membership.

I think I'm either not setting up distribution lists properly or I'm going about it completely the wrong way.

Any help would be much appreciated. This is an awesome product. If I can get over these few humps we'll be rock'en n roll'en