I am having trouble figuring out the logic for the setup of my ACO's
and ARO's.

Here is a basic synopsis of the system.

ARO
-------
There are multiple companies. Each company has multiple users. Within
each company are 2 user groups "Owners" and "Regulars". Owners are
allowed to update the company information whereas regular users can
not.

ACO
--------
Each user has multiple projects that only they are able to see. Each
project has multiple milestones which in turn have multiple tasks.
Each milestone may also have many conversations (messaging between
users).


ACL
------
For each project that a user may have, I need them to be able to add
other users to that project. There are 3 levels of permissions.

1. Read access to entire project
        - this would mean that invited users are able to read all of the
pages within that project
        - these users would also be able to create new messages, view all
messages and comment on all messages within that project

2. Message Access
        -This would mean that the user only has access to the messaging
section of the project (for any of the milestones) and would be able
to create, update messages

3. Message Access By Invite Only
        -This would mean that users are only able to comment on messages that
they were invited to. They would see no other conversations, no other
pages except the messages that they were invited to.


So my basic idea for the setup of the ARO table would be something
like this:

ROOT
|Company::1
||Owners:1
|||User::1
||Regulars::1
|||User:2
|||User:3


My idea for the ACO setup would be something like this:
>Project::1
>>Milestone::1
>>>Tasks
>>>>Task::1
>>>>Task::2
>>>Messages
>>>>Message:1
>>>>Message:2

I think that this structure would allow for me to easily say "User 1
gets read access to everything in Project 1".  or "Milestone 1".

A) If I used this structure, and wanted to grant access to a user only
to messages, what would you do? The problem being that messages are a
subgroup of every milestone in a project.

Any help you can give me would be very appreciated!! Thanks so much!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to