We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 3749
    • 24,544 Posts
    Thanks, that really helps a lot.

    I do have another question and some comments.

    First, I filed a Jira ticket on the fact that "undelete" permission is missing from the standard resource and administrator policies, but it raised a question I can’t figure out: Since that permission is missing from both policies, why is it that I can undelete a resource that is not in a resource group but not one that is?



    On the intuitiveness of the system (or not), I think the most confusing thing is the number of dimensions that interact. Contexts, Roles, Authority Levels, Policies, Permissions, User Groups, Resource Groups, Context ACLs, Resource ACLs, and the inheritance of policies is a lot to deal with. Remember that many people had a very hard time with permissions in Evo, which are almost trivially simple in comparison and involve way fewer concepts. In fact, once you take out the front and back end (which people already know about), I think you have just user groups, resource groups, roles, and permissions.

    The addition of Contexts is a particular problem because it seems redundant and unnecessary with respect to permissions (though I’m sure it’s not), because you can already use resource groups to restrict and control access and many sites will have only one context so it’s a pain to have to deal with context issues over and over when setting permissions.

    It helped me, in Revo, to think of Roles, Authority numbers, Policies, and Permissions as part of one system and User Groups, Resource Groups, and ACLs as another system that you plug the first system into (if that makes sense).

    Where I’m still confused, to some extent, is in fully understanding the "web" and "mgr" contexts in ACLs. At first, I brought my Evo worldview along and assumed that they referred to the front and back end (the use of the word "web" encouraged this view, carrying over from web users and web resources in Evo, and I wonder if it would have helped to call it "default" or something else).

    I first assumed that access to the Mgr context as a super user would let me do and see everything. Obviously not.

    I’m mostly past those stumbling blocks now, but still don’t feel I have a complete grasp of what exactly I’m conferring when I give a user group access to the web and mgr contexts in Context Access and Resource Access ACLs.

    Let me see if I can lay out my current understanding (or misunderstanding) of things and maybe you can correct it:

    1. The distinction between the front end and back end is truly gone, not just for users, but for resources as well -- If you have the authority to see see a resource in the back end, you can see it in the front end and if you don’t, you can’t see it in either place.

    2. Context Access ACLs have policies based on the standard Administrator policy, Resource Group Access ACLs have policies based on the standard Resource policy.

    3. User Group Resource Group Access ACLs generally need access only to the Mgr context unless you want to restrict access to that Resource Group in the front end as well.

    4. User Group Context Access ACLs generally need access to both Mgr and Web contexts if they’re doing more than just listing and viewing. (not so sure about this one)

    5. Any resource not in a Resource Group is available to everyone.

    6. Any resource in a Resource Group (whether or not it’s tied to a User Group) is only available to those who are explicitly given access to it somewhere (including the super admin).

    7. Putting all resources in a single resource group and giving the main admin access to that Resource Group with the standard resource policy in the Mgr context means the admin can see and edit everything, no matter what else you do, and won’t affect viewability in the front end. (is this an OK practice?)

    8. Giving a User Group access to the mgr context in a Context Access ACL permits them to perform the actions in the specified policy (and inherited policies) in the manager, but doesn’t give them access or authority to see or edit any resources that are in Resource Groups. For that, they need "web" Context Access *and* they need to be granted access to the Resource Group in a Resource Access ACL (with a context of mgr).

    9. Giving a User Group access to the web context in a Context Acess ACL permits them to perform actions in the specified policy (and inherited policies) on the resources in that context that are not in Resource Groups. They also need to be granted access in a Resource Group Access ACL (usually with a mge context) to perform actions on resources in Resource Groups.

    10. When more than one permission rule applies in a situation, the most permissive rules.

    11. If a user has access to a resource via a User Group-Resource Group connection, he or she gets access to that resource regardless of the resource’s position in other Resource Groups the user doesn’t have access to.

    I hope that’s clear enough to see where I’ve gone wrong.




      Did I help you? Buy me a beer
      Get my Book: MODX:The Official Guide
      MODX info for everyone: http://bobsguides.com/modx.html
      My MODX Extras
      Bob's Guides is now hosted at A2 MODX Hosting
      • 22303 MODX Staff
      • 10,725 Posts
      Quote from: BobRay at Dec 29, 2009, 10:32 PM

      1. The distinction between the front end and back end is truly gone, not just for users, but for resources as well -- If you have the authority to see see a resource in the back end, you can see it in the front end and if you don’t, you can’t see it in either place.
      Not at all, Contexts are the distinction for Users and Resources as you can apply Policies to specific Contexts without affecting permissions in other Contexts. And you login to specific Contexts as well. Each user has a list of ACLs cached in their session and these are stored by ACL type and by Context.

      Quote from: BobRay at Dec 29, 2009, 10:32 PM

      2. Context Access ACLs have policies based on the standard Administrator policy, Resource Group Access ACLs have policies based on the standard Resource policy.
      Correct, though you can certainly create additional Permissions to use in those Policies. However, it would be smarter to create and apply custom Permissions via custom Policies isolated from the Policies you create from the built-in ones designed for Contexts and Resources. And for a more complete understanding, load, save, and remove are permissions built-in for use with any modAccessible object (of which modContext and modResource are) which affects the ability to load, save, or remove instances of that object.

      Quote from: BobRay at Dec 29, 2009, 10:32 PM

      3. User Group Resource Group Access ACLs generally need access only to the Mgr context unless you want to restrict access to that Resource Group in the front end as well.
      Well, it restricts access to Resources in the ResourceGroup to Users who are members of the UserGroup with enough Authority in a specific Context; this will be of major importance in designing security models for multi-domain installations with each domain represented by a Context.

      Quote from: BobRay at Dec 29, 2009, 10:32 PM

      4. User Group Context Access ACLs generally need access to both Mgr and Web contexts if they’re doing more than just listing and viewing. (not so sure about this one)
      If you protect a Context other than mgr using the default Context Policy, you are giving those Users permission to perform any content management actions on any data they have access to from that Context (think front-end editing), and you are preventing other Users from being able to access that Context at all unless you provide an anonymous Context ACL to a Policy that has the very important "load" Permission. This allows any User to be able to load the requested Context and thus access Resources contained in it. If you do not link a Context to a Policy, it is the same as providing this anonymous "load" permission to everyone for that Context.

      Quote from: BobRay at Dec 29, 2009, 10:32 PM

      5. Any resource not in a Resource Group is available to everyone.
      Assuming they have access to the Context from which you are requesting that Resource, yes. Further, it is available to everyone unless a Resource Group ACL exists in the Context you are accessing it from.

      Quote from: BobRay at Dec 29, 2009, 10:32 PM

      6. Any resource in a Resource Group (whether or not it’s tied to a User Group) is only available to those who are explicitly given access to it somewhere (including the super admin).
      Not at all, no Resources in a Resource Group is protected unless there is at least one ACL which applies a Policy to that Resource Group in the Context you are accessing the Resource from.

      Quote from: BobRay at Dec 29, 2009, 10:32 PM

      7. Putting all resources in a single resource group and giving the main admin access to that Resource Group with the standard resource policy in the Mgr context means the admin can see and edit everything, no matter what else you do, and won’t affect viewability in the front end. (is this an OK practice?)
      If you want to protect all Resources in the mgr by default and achieve a security model that was not really possible in Evo, then yes, that is how you would go about doing it.

      Quote from: BobRay at Dec 29, 2009, 10:32 PM

      8. Giving a User Group access to the mgr context in a Context Access ACL permits them to perform the actions in the specified policy (and inherited policies) in the manager, but doesn’t give them access or authority to see or edit any resources that are in Resource Groups. For that, they need "web" Context Access *and* they need to be granted access to the Resource Group in a Resource Access ACL (with a context of mgr).
      Resource Group access has nothing to do with "web" Context Access, so I’m confused by this statement.

      Quote from: BobRay at Dec 29, 2009, 10:32 PM

      9. Giving a User Group access to the web context in a Context Acess ACL permits them to perform actions in the specified policy (and inherited policies) on the resources in that context that are not in Resource Groups. They also need to be granted access in a Resource Group Access ACL (usually with a mge context) to perform actions on resources in Resource Groups.
      More simply, Context ACL’s affect permissions to perform content management actions and permissions to load, save, and remove Contexts. Resource Group ACL’s affect various Resource specific permissions to Resources by User Group and Context. I’m still confused by how you are describing this I think.

      Quote from: BobRay at Dec 29, 2009, 10:32 PM

      10. When more than one permission rule applies in a situation, the most permissive rules.
      Correct, permissions are 100% additive.

      Quote from: BobRay at Dec 29, 2009, 10:32 PM

      11. If a user has access to a resource via a User Group-Resource Group connection, he or she gets access to that resource regardless of the resource’s position in other Resource Groups the user doesn’t have access to.
      Correct.
        • 3749
        • 24,544 Posts
        Quote from: OpenGeek at Dec 30, 2009, 11:39 AM

        Quote from: BobRay at Dec 29, 2009, 10:32 PM

        1. The distinction between the front end and back end is truly gone, not just for users, but for resources as well -- If you have the authority to see see a resource in the back end, you can see it in the front end and if you don’t, you can’t see it in either place.
        Not at all, Contexts are the distinction for Users and Resources as you can apply Policies to specific Contexts without affecting permissions in other Contexts. And you login to specific Contexts as well. Each user has a list of ACLs cached in their session and these are stored by ACL type and by Context.

        I don’t see any conflict between our two statements. huh

        Let me try again on the others:


        2. Context Access ACLs have policies based on the standard Administrator policy, Resource Group Access ACLs have policies based on the standard Resource policy. Custom permissions can be added but this works best as part of a custom policy.

        3. User Group Resource Group Access ACLs generally need access only to the Mgr context unless you want to restrict access to that Resource Group in the front end as well or to confine users to specific contexts.


        4. User Group Context Access ACLs generally need access to both Mgr and Web contexts if they’re doing more than just listing and viewing. (not so sure about this one)

        If you protect a Context other than mgr using the default Context Policy, you are giving those Users permission to perform any content management actions on any data they have access to from that Context (think front-end editing), and you are preventing other Users from being able to access that Context at all unless you provide an anonymous Context ACL to a Policy that has the very important "load" Permission. This allows any User to be able to load the requested Context and thus access Resources contained in it. If you do not link a Context to a Policy, it is the same as providing this anonymous "load" permission to everyone for that Context.

        Still confused here. Taking away web context access from a user group makes all the resources in that context disappear from the tree memeber of that group in my setup. Adding it back doesn’t restrict access in the front end.

        5. Any resource not in a Resource Group is available to everyone with access to the context containing the resource. Any resource in a Resource Group is available to everyone unless a Resource Group Access ACL protects it in the current context..

        6. Any resource in a Resource Group that appears in at least one Resource Group Access ACL is only available to those who are explicitly given access to it somewhere (including the super admin).

        7. Putting all resources in a single resource group and giving the main admin access to that Resource Group with the standard resource policy in the Mgr context means the admin can see and edit everything, no matter what else you do, and won’t affect viewability in the front end.

        8. Giving a User Group access to the mgr context in a Context Access ACL permits them to perform the actions in the specified policy (and inherited policies) in the manager, but doesn’t give them access or authority to see or edit any resources that are in a particular context. For that, they need "web" (or other) Context Access *and* they may need to be granted access to the Resource Group in a Resource Access ACL (with a context of mgr) if it is protected in any way.

        9. Giving a User Group access to the web context in a Context Acess ACL permits them to perform actions in the specified policy (and inherited policies) on the resources in that context that are not in Resource Groups. They also need to be granted access in a Resource Group Access ACL (usually with a mgr context) to perform actions on resources in protected Resource Groups.

        10. When more than one permission rule applies in a situation, the most permissive rules.

        11. If a user has access to a resource via a User Group-Resource Group connection, he or she gets access to that resource regardless of the resource’s position in other Resource Groups the user doesn’t have access to.


        You know, about a month ago I read Einstein’s 1908 book on the Theory of Relativity (no, really). I swear it was easier than this. tongue
          Did I help you? Buy me a beer
          Get my Book: MODX:The Official Guide
          MODX info for everyone: http://bobsguides.com/modx.html
          My MODX Extras
          Bob's Guides is now hosted at A2 MODX Hosting
          • 22303 MODX Staff
          • 10,725 Posts
          I think you are definitely making something relatively simple, very complicated here; I can’t follow your descriptions. And this is infinitely simpler than the Theory of Relativity. It boils down to applying a Policy (or set of Permissions) to a User Group in a Context for a particular target object type. ACLs for each target object type define these relationships. Context ACLs control permissions for Context targets and global Content Management actions (think Role Permissions in Evo) a user can perform from that Context. Once the Context ACLs determine if they can access a Context, Resource Group ACLs further control permissions specific to accessing Resources and performing Resource-dependent content management actions (creating child resources, moving resources to new parents, etc.) based on their inclusion in Resource Groups. Aggregate these all together and you get a set of Policies which apply per User Group, target, and Context (if the target is not a Context already).

          The important point being if you create ACLs to Contexts other than mgr, don’t use the included Context Policy. Instead, you should either create a new Context Policy with just the "load" permission or understand that you are giving Users in that group permission to perform all content management operations defined in the default Policy from that Context. This will be clearer once some front-end editing solutions are developed for Revo.

          I don’t see any conflict between our two statements.
          You said the distinction between front-end and back-end was gone, and I simply clarified that the distinction between front-end and back-end is the responsibility of Contexts now, and that mgr is still the "back-end" and all other Contexts are basically "front-end". The distinction still exists, it’s just implemented differently, and we can now blur the lines since content management processors can be called from any Context.

          Still confused here. Taking away web context access from a user group makes all the resources in that context disappear from the tree memeber of that group in my setup. Adding it back doesn’t restrict access in the front end.
          If you do not assign any Context Policy to any User Group to the web Context specifically, all would have access to the Context in the mgr, but there is one assigned to the Administrator group by default (if you removed it, all User Groups with access to mgr would see the web context). Once one Policy is assigned to the web Context (via Context ALCs), only those with explicit permission can even "load" that Context. And it doesn’t restrict access in the front-end because all anonymous users automatically get load permission on the Context being initialized by a MODx request (other than mgr). Once again, the reason for my description was to make sure you understand that any User Group which is assigned the default Context Policy on web (or any other Context) will have permission to perform all content management activities from components executed in that Context. This could be anything from clearing the cache to deleting a Resource to changing the name of an Element.
            • 3749
            • 24,544 Posts
            Quote from: OpenGeek at Dec 30, 2009, 05:41 PM

            You said the distinction between front-end and back-end was gone, and I simply clarified that the distinction between front-end and back-end is the responsibility of Contexts now, and that mgr is still the "back-end" and all other Contexts are basically "front-end".

            If this were true, it would make things infinitely simpler, but it just isn’t, in my experience. Unlike Evolution, the use of the web context in ACLs quite often has dramatic effects in the *Back End* (there’s an example of it in my last message). That’s one of the primary things that makes this difficult for me.

              Did I help you? Buy me a beer
              Get my Book: MODX:The Official Guide
              MODX info for everyone: http://bobsguides.com/modx.html
              My MODX Extras
              Bob's Guides is now hosted at A2 MODX Hosting
              • 22303 MODX Staff
              • 10,725 Posts
              Quote from: BobRay at Dec 30, 2009, 06:14 PM

              Quote from: OpenGeek at Dec 30, 2009, 05:41 PM

              You said the distinction between front-end and back-end was gone, and I simply clarified that the distinction between front-end and back-end is the responsibility of Contexts now, and that mgr is still the "back-end" and all other Contexts are basically "front-end".

              If this were true, it would make things infinitely simpler, but it just isn’t, in my experience. Unlike Evolution, the use of the web context in ACLs quite often has dramatic effects in the *Back End* (there’s an example of it in my last message). That’s one of the primary things that makes this difficult for me.
              Please point me to this example, cause I’m lost on what Resource Group ACLs assigned in the web context had dramatic effects on the back-end? I described the behavior related to the issue when assigning Context ACLs, since the Contexts themselves are the targets of the assigned Policies rather than a "within a specific Context" type of access control mechanism. Again Context ACLs are a little different in that they both control your ability to load (or save or remove) the data from the context table (from any Context), as well as control what content management permissions you have when requesting pages via that Context.

              To get past this you must get the point that Resource Group ACLs have targets of Resource Groups within a specific Context, while Context ACLs simply have targets of, well, Contexts (i.e. not some other target within a specific Context). So assigning Context ACLs affects access to Context data when a User interacts with them (in any Context, including mgr and/or itself). This is as opposed to Resource Group ACLs that affect access to Resources in Resource Groups within a specified Context.

              Does this help clarify at all? The key is designing Policies with only the Permissions you need to give a member of a UserGroup to a particular Context or a particular Resource Group within a Context.
                • 3749
                • 24,544 Posts
                Quote from: OpenGeek at Dec 30, 2009, 07:08 PM

                Quote from: BobRay at Dec 30, 2009, 06:14 PM

                Quote from: OpenGeek at Dec 30, 2009, 05:41 PM

                You said the distinction between front-end and back-end was gone, and I simply clarified that the distinction between front-end and back-end is the responsibility of Contexts now, and that mgr is still the "back-end" and all other Contexts are basically "front-end".

                If this were true, it would make things infinitely simpler, but it just isn’t, in my experience. Unlike Evolution, the use of the web context in ACLs quite often has dramatic effects in the *Back End* (there’s an example of it in my last message). That’s one of the primary things that makes this difficult for me.
                Please point me to this example, cause I’m lost on what Resource Group ACLs assigned in the web context had dramatic effects on the back-end?

                I really appreciate your patience here.

                I didn’t say Resource Group ACLs and I was thinking of Context Access ACLs when I wrote it. In Evo,

                web groups == the web == the front end.

                In Revo, this is the case for Resource Group ACLs but, as you explain, is not the case for Context Access ACLs. I think I understand it, but I don’t think anyone is going to get it intuitively or come to it by experimentation. Nor will they easily grasp the side effects of granting web context access by default to administrators, IMO.

                When you say, "Context ACLs simply have targets of, well, Contexts" it’s somewhat misleading, IMO, because Context ACLs, in practice, affect the ability to see and modify resources; and Resource Groups can effect which ones (no?) even though they’re not explicitly tied to Context Access ACLs in any way.

                The two paragraphs above, I think, pinpoint the two main stumbling blocks to understanding the system (for me anyway): 1) The confusing (arguably ambiguous) use of the term "web," which, to some extent, means one thing in Resource ACLs and another in Context ACLs; 2) The fact that resources come and go from the Tree when you change Context Access ACLs and it’s hard to guess why, especially when you have three or four overlapping Resource Groups and users that exist in more than one User Group.

                The behavior of any security system is describable by a set of rules (if not, something is really wrong with the system). On the Bob’s Guides Permission page, I have a set of 7 rules that I believe completely describe (and define) the behavior of the Evo security system.

                What I was trying to do above was create the same thing for Revolution permissions. I consider it the best form of documentation for this kind of system (and would have thought it would be a prerequisite for designing it).

                You say my explanation is unnecessarily complicated (and I believe you). Give me a simpler, yet complete, set of rules and I will be one happy camper.




                  Did I help you? Buy me a beer
                  Get my Book: MODX:The Official Guide
                  MODX info for everyone: http://bobsguides.com/modx.html
                  My MODX Extras
                  Bob's Guides is now hosted at A2 MODX Hosting
                  • 22303 MODX Staff
                  • 10,725 Posts
                  Quote from: BobRay at Dec 30, 2009, 09:03 PM

                  I didn’t say Resource Group ACLs and I was thinking of Context Access ACLs when I wrote it. In Evo,

                  web groups == the web == the front end.
                  In Revo this is basically the same except a User Group + Context defines access to the "front-end"; instead of having Web Access Permissions and Mgr Access Permissions, you can now have Access Permissions to any number of different Contexts, including, but not limited to web and mgr.

                  Quote from: BobRay at Dec 30, 2009, 09:03 PM

                  In Revo, this is the case for Resource Group ACLs but, as you explain, is not the case for Context Access ACLs. I think I understand it, but I don’t think anyone is going to get it intuitively or come to it by experimentation. Nor will they easily grasp the side effects of granting web context access by default to administrators, IMO.
                  Context Access, which defines access to a specific Context, and replaces the Evo concept of Role Permissions by giving the ability to define Permissions for content management activity per Context. IOW if QuickManager or QuickEditor existed for Revo and was being used in the web, or any other Context besides mgr, it could be governed by a different set of Permissions, aka Policy, than access to the mgr. Access to Contexts is a pretty simple concept here; consider a multi-domain setup with one manager. You need to be able to give Content Editors responsible for a specific domain the ability to manage everything related to their own "front-end" Context, but without being able to see or modify data in Contexts that other Content Editors may be responsible for.

                  Quote from: BobRay at Dec 30, 2009, 09:03 PM

                  When you say, "Context ACLs simply have targets of, well, Contexts" it’s somewhat misleading, IMO, because Context ACLs, in practice, affect the ability to see and modify resources; and Resource Groups can effect which ones (no?) even though they’re not explicitly tied to Context Access ACLs in any way.
                  Context ACLs do not affect your ability to see/modify Resource directly. They affect a) your ability to load/see a Context at all, from anywhere, and b) your content management Permissions that used to be handled by Role Permissions in Evo. It simply lets you define access permissions to/within Contexts. How is this not intuitive?

                  Quote from: BobRay at Dec 30, 2009, 09:03 PM

                  1) The confusing (arguably ambiguous) use of the term "web," which, to some extent, means one thing in Resource ACLs and another in Context ACLs;
                  This is called a Context, period. It does not mean anything different in Resource Group ACLs; it still refers to the same data objects. Resource Group ACLs simply join a Resource Group with a User Group within a specific Context. Context ACLs simply join a Context with a User Group; there’s no "within a specific Context" ’cause these are Contexts, and that wouldn’t make any sense, now would it?

                  Quote from: BobRay at Dec 30, 2009, 09:03 PM

                  2) The fact that resources come and go from the Tree when you change Context Access ACLs and it’s hard to guess why, especially when you have three or four overlapping Resource Groups and users that exist in more than one User Group.
                  How can protecting a Context from access by someone not affect the Tree, since the root elements of the Tree are Contexts? This seems elementary to me, and I don’t understand why this is confusing. If you protect domain abc to user group abc, then only members of abc can see the abc context.

                  Quote from: BobRay at Dec 30, 2009, 09:03 PM

                  The behavior of any security system is describable by a set of rules (if not, something is really wrong with the system). On the Bob’s Guides Permission page, I have a set of 7 rules that I believe completely describe (and define) the behavior of the Evo security system.
                  I’ve described the only Rules many times and in many ways, and my inability to make anyone grok this with the words I’ve used already is mind-boggling. This is an established concept of security, joining a target, a principal, and a policy to establish access to the main class in the software (since Context is the first thing that has to be initialized to execute a MODx request), and joining a target, a principal, and a policy within a limited context (since Resource Group + Context now replaces the duality of Web vs. Manager Access Permissions to Resource Groups).

                  Quote from: BobRay at Dec 30, 2009, 09:03 PM

                  What I was trying to do above was create the same thing for Revolution permissions. I consider it the best form of documentation for this kind of system (and would have thought it would be a prerequisite for designing it).
                  ABAC security systems are already established as a design. We’re trying to describe how MODx implements this design in a way that makes sense to people who don’t understand the established concepts of ABAC.

                  Quote from: BobRay at Dec 30, 2009, 09:03 PM

                  You say my explanation is unnecessarily complicated (and I believe you). Give me a simpler, yet complete, set of rules and I will be one happy camper.
                  I thought that’s what we were trying to do here, but all I’ve seen is very specific scenarios instead of generic descriptions of how the system works. I can’t describe the full-scope of this security system’s capabilities and detail a single scenario of usage at the same time. IMO, we need to spend time creating sample site packages that include sample robust security models to achieve a certain goal; examples are much easier to learn from in this case because the potential for implementation is basically limitless and entirely customizable/extensible for specific requirements.
                    • 3749
                    • 24,544 Posts
                    Quote from: OpenGeek at Dec 31, 2009, 10:24 AM

                    Quote from: BobRay at Dec 30, 2009, 09:03 PM

                    When you say, "Context ACLs simply have targets of, well, Contexts" it’s somewhat misleading, IMO, because Context ACLs, in practice, affect the ability to see and modify resources; and Resource Groups can effect which ones (no?) even though they’re not explicitly tied to Context Access ACLs in any way.
                    Context ACLs do not affect your ability to see/modify Resource directly. They affect a) your ability to load/see a Context at all, from anywhere, and b) your content management Permissions that used to be handled by Role Permissions in Evo. It simply lets you define access permissions to/within Contexts. How is this not intuitive?

                    It’s not intuitive for Evo users because it means that placing resources in the "web" context can potentially affect whether they are visible in the *back end* and that means that "web" == "front end" is simply not true in Revo. That said, I do understand it now.

                    BTW, what’s the reason for assigning the admin group web context access by default? In retrospect, I think it got me off on the wrong track in understanding permissions and it seems it wouldn’t be necessary on many sites.

                    Quote from: OpenGeek at Dec 31, 2009, 10:24 AM

                    Quote from: BobRay at Dec 30, 2009, 09:03 PM

                    You say my explanation is unnecessarily complicated (and I believe you). Give me a simpler, yet complete, set of rules and I will be one happy camper.
                    I thought that’s what we were trying to do here, but all I’ve seen is very specific scenarios instead of generic descriptions of how the system works.

                    I don’t think this is a fair statement. My numbered rules above were a first attempt (however unsuccessful) to do so and the "specific scenarious" were almost all attempts by me to test or clarify those rules.

                    Quote from: OpenGeek at Dec 31, 2009, 10:24 AM

                    I’ve described the only Rules many times and in many ways.
                    Agreed, but I’ve never seen a numbered, full set of them and I still think it would be extremely useful (assuming that it’s not in set theory notation). wink

                    BTW, Happy New Year! grin

                      Did I help you? Buy me a beer
                      Get my Book: MODX:The Official Guide
                      MODX info for everyone: http://bobsguides.com/modx.html
                      My MODX Extras
                      Bob's Guides is now hosted at A2 MODX Hosting
                      • 11055 ☆ A M B ☆
                      • 3,112 Posts
                      Bob,
                      have you figured this out?
                      I’m waiting your guide on this. :p
                        Rico
                        Genius is one percent inspiration and ninety-nine percent perspiration. Thomas A. Edison
                        MODx is great, but knowing how to use it well makes it perfect!

                        www.virtudraft.com

                        Security, security, security! | Indonesian MODx Forum | MODx Revo's cheatsheets | MODx Evo's cheatsheets

                        Author of Easy 2 Gallery 1.4.x, PHPTidy, spieFeed, FileDownload R, Upload To Users CMP, Inherit Template TV, LexRating, ExerPlan, Lingua, virtuNewsletter, Grid Class Key, SmartTag, prevNext

                        Maintainter/contributor of Babel

                        Because it's hard to follow all topics on the forum, PING ME ON TWITTER @_goldsky if you need my help.