Hi everybody,
I hope this is the right place for this post.
I’m currently setting up a new project for an existing client with an existing EE 1.6 MSM setup with 2 websites. This will be no ‘standard’ public website, hence my post.
I need to build an environment where different members of different member groups will have different rights to certain information. Data will be pulled in via Wufoo’s API.
An example to illustrate. User A, belonging to group “School A”, will be able to log in and, following a certain workflow, over time will be filling out different forms via Wufoo. Straight enough. Same goes for User B.
User A and User B both have access to the information they filled in themselves. User A cannot see information about User B.
In comes User C. She is the head of “School A” in real life and will be in EE group “Head of School A”. User C (probably) won’t fill in any of the forms User A and B filled in, but will be able to access anonimized information (statistics) of User A and B. Basically, she can check how her school is doing.
Etcetera for School B, School C and their users and heads of school.
In comes User D. He is the directing manager of the institution that comprises School A, School B and School C. He will be able to aggregate information (anonimized) from these 3 schools, to check how his institution is doing.
As you can see, there is a hierarchy involved in levels of access for different users and groups. AFAIK, EE’s member system does not support hierarchy in this particular sense.
Of course, both a coworker and I did check the forums and Google to see what modules / extensions might do the trick. So far, “restricted areas” comes closest to what I need.
If I were to build a custom PHP application (by hand or with CodeIgniter), I’d pretty well know how to handle the user and group end of it. Different levels of access I have worked with before, so the concept is clear.
Preferably, and for obvious reasons, I would use EE’s member system. However, I fear the absence of hierarchy in the EE member system might make it difficult.
Has anyone dealt with this type of setup before?
I’m pretty confident in CodeIgniter (have to do the API stuff with Wufoo), which would lead me to prefer using EE 2.1 for the job. We would have to convert the other 2 websites to EE 2.1 at some point anyway.
I’d be very grateful for any thoughts, pointers, RTFMs and/or discussion on this subject before digging in. I might have overlooked some obvious modules/extensions, who knows…
Be well… Nico
Discussion here: http://ellislab.com/forums/viewthread/163702/
I’d say your project is doable if you take on board the concept of role based access permissions, set up custom tables for roles & permissions (and one or more tables for cross referencing with existing EE user table), manage them with a module and use extension hooks to mediate access to the EE control panel (and your own modules) based on permissions inherited from assigned role.
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.