Quote from: ppaul at Jul 08, 2006, 10:50 PM
@jason: Sounds great (from a marketing point of view), but from a user’s/developer’s point of view I fear it might get MODx to be one of those tools you have to visit a virtual "tool university" to get able to use them effectively.
Maybe I underestimate the genius of the development-team, but, please, don’t let MODx become as unusable as Drupal or make it more difficult than to develop homebrew, project-focused solutions!
Meanwhile I think the main competition MODx might get in is not J! or other foolish stuff, but plain individual PHP5/MySQL or RoR development. If it gets more time-consuming or challenging to understand how a specific framework handles an issue than to develop an individual solution from scratch - all will be lost!
And, beside of this general remark, I relate that argument to MODx: I found it extremely difficult to tackle all that MODx-manager stuff. Incredibly complicated! This awkward mixture of http/$_POST, Javascript, SQL, $modx->"dunnowhat", and other conventions concerning "opcodes" and the like...
When thinking of the reasons I found MODx interesting in the first place, I really have to ask myself: Is it worth the effort to explore a foreign world just to master my own? This is a metaphor, of course, but I think you’ll get the point.
Simplicity is one of the main advantages of MODx! Do not loose it!
@ppaul: My goal for the entire 1.0 rewrite is to further simplify the MODx approach to being a CMS framework. Though the concepts may sound complex from my point of view as a core developer, they are being engineered for the following primary purposes, all of which involve a reduction in complexity both from an end-user perspective, as well as a developer perspective:
1. to reduce the complexity of authoring a page by reducing the different types of content-producing elements to a single, extensible class, as well as reducing the different types of template tags used to represent these elements within MODx content.
2. to reduce redundancy of code seen throughout the manager and front-end, creating a simple, consistent, and robust API that does not need to be duplicated for each variation of functionality a MODx developer/designer might need
3. to make it possible to utilize the MODx API in hand-authored PHP pages; this will also make it very easy to create and/or extend manager functionality without all the complexity inherent in the current MODx manager
4. to isolate SQL code from the MODx API and optimize it to a specific target database platform; the MODx API will essentially be an object-oriented API with a core implementation for MySQL, or PostgreSQL, or MS SQL Server, or any database that can be utilized via the emerging PDO database layer which is the standard extension for DB connectivity in PHP 5.1+; and users will not need to author SQL statements in order to develop add-on’s as the API will abstract the use of direct SQL, but without preventing more advanced users from doing so if they want to
5. to introduce additional RAD/prototyping facilities to MODx (via XPDO, the new db layer and ultra-light OR/M framework I’ve developed to power the new MODx core); similar to RoR’s ActiveRecord facilities, but optimized and engineered for maximum performance on PHP 4 and 5
6. to maintain compatibility with PHP 4 while still allowing MODx sites to take full-advantage of PDO and other PHP 5 enhancements/features when available
This is not the roadmap, but a list of motivations for the work I’ve been doing on this rewrite since December.
@madmage: no one has forgotten your work, it simply is not the final vision I have for implementing localization in the new core. Again, simplicity and ease-of-use are definitely part of the goal here, along with addressing the organization of the core to allow simple solutions to be easily constructed of pre-fab parts without forcing advanced developers to hack up the core in order to extend those parts. And in addition to complete API documentation, the consistency of the object-oriented API will make it much easier for users to interact with MODx when developing add-ons.
Now, back to the roadmap...