I am creating a system which has 2 types of user: a Member and a Group Admin. Members are put into Groups and are managed by that groups Admin. A Member can contact their Group Admin but not other Group Admins. Some of this contact data/messages should be visible to other Members of that particular Group, some information should be visible only to that Member and the Group Admin. In certain situations, a Group Admin should be able to become the Group Admin of another Group. Members can make complaints to Group Admins who are able to respond. Anonymous users should be able to make complaints, provided they provide extra information, e.g., name, address, telephone number. Ideally, when making a complaint they would be asked if they would like to create an account.
Being new to Drupal (started looking through the Docs a week ago) I'm having trouble with pretty much everything. Using Drupal has been made a requirement as it is meant to make the process easier; however, for me it is not. As there are approximately 800 different groups does this mean that I'm going to have a huge matrix of permissions? Am I going to have to create 800 different roles? I'm struggling visualising the architecture of the system and the modules I'll need. For example, I'd created a content-type
Complaint; however, everyone could see it. Drupal 7 Core has no way to restrict different users from viewing specific content. I remedied this by installing a module:
Content Access. Any suggestions for the architecture and modules would be useful.