Forgive the train of through/minor rant approach of this post!
I'm wanting to try and help improve the manager experience in MODX Revo, but having forked the repo and taken a look around it seems very *very* confusing. I know not the ins and outs of ExtJS other that it seems to want to do crazy things like this:
https://gist.github.com/Mark-H/503e4107bf9d75fbd54b which looks, astonishingly, to be the markup for ONE single button on a page. Why is this even a table? Not only are tables slower to render, it's not even tabular data!
I took a quick dig around in dev tools at the output html within the manager on the dashboard, looking at the resource tree:
It's div inside div inside div inside div inside div. It's massively over-bloated. Why is this so complicated? Why does MODX insist on absolutely positioning all the panels AND having them overflow: auto too? This is horrific user experience, it's not longer the 1990's - we don't need the javascript/css equivalent of an old-skool frameset. Do we? This problem is only exacerbated when you have to set up a site for additional languages.
https://github.com/mikrobi/babel/issues/47
To rectify the panels with scrollbars inside panels with scrollbars over the outer panel's scrollbars we had to add some MORE javascript to MOVE the node somewhere else. Whether or not this is a one-off, odd one out sort of thing is by-the-by; The manager interface is massively and unnecessarily over-complicated.
I really want to make some improvements to it, but really not sure where to even start. I've looked through some of the SCSS and considered making changes but then I've got to set up SASS, Grunt, Node, etc etc etc and figure all that out too. Can the HTML tpls be simplified? Where can things be slimmed down? I've noticed that ModMore have a gallery plugin which seems to only rely on the ABSOLUTE BASICS of ExtJS and discards it wherever it can to improve speed and user experience:
https://www.modmore.com/beta/ - can a similar approached be achieved in the rest of the manager?
Also, I believe MODX uses Smarty for templates which I understand is part of the slowness overall of MODX's output - how much work would it be to swap this out for a faster templating engine?
http://www.raintpl.com/PHP-Template-Engines-Speed-Test/ - not suggesting that one in particular, but the speed tests run suggest that Smarty is pretty slow in comparison to even Twig and worse for memory consumption!