Modx light document tree

Posted by Graeme in at 5:34 pm on Wednesday, 3 December 2008

While moving Money Terms to Modx CMS, I found that, though Modx is otherwise quite wonderful, the manager (admin interface) was painfully slow, and my (shared) server could not cope with the load it created. The main problem was the extremely heavy document tree that the manager displays, I was forced into finding a solution.

I discovered the problem only when I was ready to move the site from my test system to the production server. This meant I had to choose between switching to another CMS, living with the problem, or fixing it.

My solution was to replace the document tree with something lighter. Fortunately the ModX Wayfinder snippet provides an alternative way of generating a document tree. Together with the Ditto snippet and a database query it provides a usable alternative.

There are a number of problems with my solution:

Given all this I suggest you only use this if the current document tree is causes you unacceptable problems. Although I do not expect to find anymore bugs, I do not take any responsibility for bugs or other problems with this: use at your own risk. It is meant to be a simple hack to allow people in similar circumstances to mine to use Modx until we get the improved manager promised for version 0.9.7.

Assuming you still want to use this, installation is as follows:

  1. Download and on uncompress the files. Gzip archive here, zip archive here. The files are all GPL licensed.
  2. Take backup copies of assets/snippets/wayfinder/ and manager/frames/1.php.
  3. Apply Pixelchutes’ patch to allow Wayfinder to show unpublished documents. The download archive includes an already patched copy of that you can copy to assets/snippets/wayfinder/, but you still need to add one line to the snippet in the manager.
  4. Copy 1.php and lighttree.php to manager/frames/.

You may need to logout of the manager and login again to see the new tree.

Please let me know of any bugs, or simply whether this works for you or not. Either leave a comment below or email me.


Warning: Undefined variable $user_ID in /home/public/wp-content/themes/reddrop/comments.php on line 13

Warning: Undefined variable $user_ID in /home/public/wp-content/themes/reddrop/comments.php on line 25