ModxWell, I have site #3 done in Revo now. I have found that one of my challenges in making the transition from Evo to Revo is with relearning how to complete tasks that have become commonplace in Evo.

I was essentially trying to customize the Revo manager for my end users. I had the process down in Evo with ManagerManager and found it quite a bit different in Revo. I can honestly say that some of the terminology and process still has me scratching my head (nothing worthwhile is easy, right?), so I hope that this post helps anyone else trying to wrap their head around Rules, Actions, Containing Panels, Constraint, Constraint Class and/or Constraint Field.

In order to hide the default manager fields go to Security-> Form Customization. From here you will want to add a Rule. Once the Update Rule window is open you will be presented with quite a few options. This Field Visible, MODx help documentation shows how to configure the rule to hide a field for a certain user group. It is worth noting that you can use a comma separated list of fields in the Name field of the Rule.

Field Visible

Hiding fields for certain user groups is helpful, but I usually need to hide fields based on the template ID. Accomplishing this took a post in the forum and some digging on my part. Apparently, this is where Constraint(s) come into play. This Form Customization Rules, MODx help documentation demonstrates how to configure the Constraint fields to hide fields based on template ID.

Well, problem solved… almost. As I began to configure my field lists I realized that some of the field names seem to be new or have changed (see list below*). In my example I am hiding all the default manager fields except pagetitle and content.

  • id* (new)
  • longtitle
  • description
  • alias
  • menutitle
  • introtext
  • menuindex
  • template
  • published
  • link_attributes
  • hidemenu* (Evo: hide_menu)
  • modx-resource-parent* (Evo: parent)

There is an additional FC-Resource, MODx help document that identifies the available fields and tabs along with how to identify Template Variables for a given resource.

Addendum

This is an addendum to this post as I was about to publish it. I was informed by BobRay in the forums that in addition to the steps outlined above you will need to create another Rule, for each previous rule, that has the Action field changed from resource/update to resource/create. It appears that this is necessary for the document to inherit the hidden fields as it is created rather than after it is saved.

Access Denied

Another ManagerManager/Evo feature that I have been wondering about is the mm_widget_accessdenied, in that it allows the user to access the children of a document but restricts access to the parent. Would anyone like to share how to accomplish this in Revo?

  • Ben

    Hi Greg,

    After a few years working with Expression Engine, I’m looking at switching back to Modx but know that our clients will have a few issues with the default manager – most of our sites use more than one content field and terms like “Template Variables”, “Resources” and “Elements” are not very terms if you’re a client managing content.

    When you’re in >Security >Form Customization, how exactly do you make a new rule? I only see a “Create new profile” and if I create one, I still can’t figure out how to create a rule.

    The docs here: http://rtfm.modx.com/display/revolution20/Customizing+the+Manager

    Don’t seem to explain anything about the actual rules either.

    Any suggestions would be most welcome – I always found your blog helpful btw.

  • http://www.gregorysmart.com Gregory Smart

    1. Create a new profile, 2. Right click the profile and choose “Edit”, 3. Create a new set (you will often need 2, one for resourc/update and one for resource/create – you can duplicate the rule after it’s created and then change the type), 4. Right click the set and choose “Edit”, this section should be fairly self-explanatory

    Hope that helps!

  • http://twitter.com/rtripault Romain Tripault

    Hi Greg,

    I also miss the mm_widget_accessdenied. As i stated in a bug report (http://bugs.modx.com/issues/4889), the work around i use is to create a tab, with a label of “access denied”, and i hide everything else.

    Let us know if you found a better solution since your post ;)

    Cheers

  • http://www.gregorysmart.com Gregory Smart

    Sound like a good work around for now. Thanks for sharing.