What's something you struggled with when learning MODX?

Regardless if you’re still learning or already a 10+ year veteran.

What bumps did you encounter when learning MODX that you wish had better explanations/tutorials/videos/documentation?

1 Like

Hah! I’m a 10+ year veteran and I’m definitely STILL learning. Long way to go!

However, I’ve learned much more in the last 2 years than the previous 8 or so.

Great question though …

Now that I’m taking on bigger challenges with MODX I feel that my lack of understanding of xPDO is becoming more and more apparent.

I’m very used to trying to solve all problems with Extras. This is fine to a point but more and more I find myself at the limit of an extra’s capabilities, or simply with too many embedded MODX tags to keep track of what the hell is going on.

I think the answer in a lot of these situations is to build custom snippets / plugins. My PHP is OK and I’ve been doing this a lot more recently. But I think I really want to be leveraging xPDO to get the most out of MODX.

I’ve begged and borrowed bits of xPDO to make things work - but I can’t yet sit down and just write what I want using xPDO.

I think there’s been a bit of a mental block there for a while.

So, I think the documentation for xPDO in MODX looks OK - I need to spend more time studying it. But if there were [are?] explanations / walkthroughs / tutorials for getting started then I guess that would help get me moving.


I started in Evo and really stumbled on the terminology and what extras to look for. I still feel like extras can be a stumbling block as I have to keep up-to-date myself just to figure out what is available and what does what.


The biggest hurdle for me was getting a grip on the MODX file structure. It seems fairly obvious to me now, but it took a long time to understand where things were, and the purpose of the core, assets, manager, processors, connectors, directories, and to understand splitting the parts of an extra between core/components and assets/components.

One of the first MODX pages at Bob’s Guides was this embarrassingly meagre guide to file locations: Where to Put Stuff. :stuck_out_tongue_winking_eye:


Hah, I definitely meant “still learning” as “still learning the basics” but you’re definitely right, there’s always more to learn! :smiley:

Joshua also responded via twitter that property sets and cached/uncached were something he struggled with. So lots of different things for different people. Loving these insights so far!

1 Like


I’ve never once touched the Properties tab on TVs, Chunk, Snippets, anything. What am I missing?

[Don’t feel you need to answer here! Just seconding @joshualuckers !]

The documentation somewhat describes it: Properties and Property Sets.

I would love to see more best practices on how to properly use them.

1 Like

My biggest gap in understanding is creating admin user accounts using ACLs. Creating user accounts with various permissions. I just can’t wrap my head around the concepts.

Whenever I have to create user accounts I open a previously created site and try to copy what I did before. Even with that approach, upgrading MODX alters the permissions and suddenly the users have problems (error messages on accessing something, etc) or I just toggled some permission that does not work the way I thought or has a different scope impacting other actions.

Luckily I have not had a site require access permission on the frontend with web users logging in to access content. However I will need that for a site I currently manage. So I will be reading and working on that soon.



I think this is one of the areas where MODX excels at being uber-flexible — but as a result can simultaneously seem utterly baffling due to the granularity of possibilities.

It always takes me ages to get Manager / Front end permissions right - but I usually get there eventually.

This is a handy reference for setting up Manager editors - but I think a lot of people [myself included] would benefit from more practical examples on this topic.


ACLs in general, in any application, is surprisingly complicated. Look at AWS IAM, Google’s IAM, etc.


I too would say setting up a specific set of ACLs for a specific logged in veiwer to be the area I struggle with the most. Having a wizard for this would be really helpful.

If you think the ACLs are complex, imagine how difficult it would be to write a wizard for them. :wink:

I break them down in a video here, but be aware – it’s about 50 minutes long.

There is also this.

And this, and the links to other pages there.

This can be the case, but the Evolution security system is much more intuitive, since it’s based on roles, which are much easier to understand. A long time ago (9 year, actually) I proposed a system like that for MODX 3. I believe it could be built over the existing architecture, but I’m not 100% sure of that.

1 Like

For me, no contest, ACLs without a doubt are the most complex part of MODX.

I’ve built a site for a client where there are three different manager dashboards/views within the same organisation but I’m not confident of being able to do do it for independent users.

I have an idea for a website I really want to do – where users would see and edit only their own content – but I’ve been putting it off mostly because I have no idea how to approach the manager permissions side of what I need to do.

1 Like

I think at the very beginning I struggled mostly (and probably still do in many areas) about not knowing what’s at all possible and how to find solutions for my problems in such a modular framework like MODX. For example I remember specifically how amazed I was when I found out about output filters and other small tricks like that.

The documentation in general is decent but as a very new webdeveloper with not as much coding experience, sometimes the examples weren’t sufficient enough for me as some level of background knowledge seems to be expected at times.

ACLs were also a huge task to understand on a usable level and still today my workflow for creating them is to copy the permissions from a different site to get me going faster. I think the biggest issue here for me was (and atleast in 2.8.4 still is) that some permissions names are not really self explanatory and it’s difficult to find out what they actually do or which permissions are related/dependant on each other.

Now recently I’m also trying to learn more about xPDO but I find it difficult to know where to start. I’ve not spend many years coding php so that’s probably why it seems more difficult to me as there’s a lot of new concepts which might be taken for granted.


Thank you @bobray I will look into this.

@bobray thanks for the video and helpful links. I will take some time to review them just before I need to setup the ACLs for our site.