Quote from: thetazzbot at Sep 27, 2006, 11:48 AM
I found Modx very interesting on the surface. I can appreciate all the work that goes into building tools like this (having built a few myself), but I must comment on something.
I was just perusing the code, and the second file I opened disappointed me. It reminded me why I quit using Mambo and Joomla.
User interface code does not belong in PHP files. Period.
When will "professional" software stop repeating amatuer mistakes? I mean come on. All the buzzword compliance you mention on your site, you failed to mention (imho) the most important one. MVC - Seperate your PHP code from your presentation code. Specifically:
HTML/Javascript/Language text (the last being the hardest I admit) should not be contained in your php files that drive the functionality of your system. This makes it very hard to internationalize and customize the management side of the application.
@thetazzbot:First, which file was the second you opened, just out of curiosity?
Next, I just want to say that I agree almost 100% with all of your observations here, and as a founder of MODx, my goal is to address every one of them with the 1.0 release of MODx. I’ve spent the last year researching and testing out various PHP MVC solutions, as well as various OR/M tools, in my own effort to design a proper, object-oriented version of MODx that completely separates design from logic in the core code, is designed to the strengths of PHP, and works on widely available hosting configurations (i.e. PHP 4.3/MySQL 3/4) while still taking advantage of the latest PHP advancements and hosting technologies when available. Ultimately, I believe this effort will bring the product one-step closer to what I think is going to be an evolutionary approach to the traditional MVC pattern, and a much more professional product.
That said, and though you are very correct in your observation that there is presentation code mixed with PHP, especially in the management interfaces, you can already use MODx to build websites where the presentation and logic is completely separated, despite the poor manager architecture and wildly procedural code in the current core. The important part of MODx, and the reason I have decided to invest so much time into this community, after similar experiences with many PHP CMS systems, including MD-Pro, PHP and PostNuke, Mambo, and others, is that the approach to templating and template parsing is uniquely simple, and IMO, represents the most flexible CMS engine I’ve encountered. Combine this usability and flexibilty with a proper architecture and core framework, and I see a great future for MODx ahead.