I’m wondering if there is a ’clean’ way to ensure that only certain admin users can edit the page containing the Ditto call, while allowing other permitted users to edit the pages which are aggregated together by that Ditto call? (I hope that makes sense!)
(Using MODx 1.0.2)
For obvious reasons, I don’t want less-technical users being able to break the page which contains the Ditto call which actually aggregates articles together (eg, a "News" page, which aggregates "News Articles").
If I have the News page (containing the Ditto call within the page content) set up as a folder (container) containing the articles which are to be aggregated, and then restrict editing permissions for that page to a certain admin manager group, then, unfortunately, the contributor manager users (who need to edit the content (News Articles)) will not be able to see or access the News Articles in the manager because they do not have permission to edit (see) the parent page, even though they can edit the children.
The only way I can do this would be to change the "Show protected pages" setting in the MODx config to "yes", but this would be somewhat undesirable as it would let the contributor users see all of the pages that they do not have permission to edit, and may also cause confusion for them because they cannot easily see "their" pages within the mass of the whole site structure. (Ultimately, however, I can probably live with this, if there is no other option.)
I’ve also tried to create a new and entirely separate folder/container for the News Articles (ie, not as a child of the News page), with the News page (with the Ditto call) with restricted editing access as before, and with the &parents parameter pointing to this new second folder containing the News Articles separately (meaning that I don’t have to worry about the visibility of the protected News page in the site manager). Unfortunately, this isn’t ideal either, as I have to give the new News Articles folder a different Friendly URL (eg, "news-articles" or "news1", etc) as the Friendly URL would otherwise clash with the News page ("news"). Ideally, I want to the site to appear to be seamless to actual browsing visitors: ie, mysite.dom/news should logically lead to articles mysite.dom/news/somearticle1, mysite.dom/news/somearticle2, etc (and not to mysite.dom/news-articles/somearticle1, etc).
Does anybody know if there is a way that I can do what I what (assuming that my question makes sense!)?
Please don't PM me unless it's absolutely essential: if a technical question is worth asking, it's worth asking in public, so that others can share their experience, and so that all can learn from the answers.
Having given this some thought overnight, I think I may have found an acceptable work-around.
If I move my page content (in the "News" page), which contains the Ditto call, off the page and into a chunk, and lock that chunk for editing by administrators only, then this will protect the Ditto call from inadvertent tampering. It won’t stop the chunk call itself being inadvertently tampered with, but at least that would be easy to put right (after stern words about the importance of not fiddling..!).
Please don't PM me unless it's absolutely essential: if a technical question is worth asking, it's worth asking in public, so that others can share their experience, and so that all can learn from the answers.