This is just my thought while thinking about this solution. I think we really need to start thinking about having this major overhaul, or we will stuck with the way how the old etomite work, because we keep having a lot of snippets and plugins that are not usable for the next major system overhaul.
So for now, I can't see the real implementation of other features, such as multi lingual to be integrated into the core, unless we come up with another idea, but for now, I should admit that it will be hard to implement.

Correct me if I'm wrong, because with this small tiny little brain that I have in mine will not be enough to take the whole big picture of this current CMS Framework, unless somebody that has a bigger brain able to sort out some of my consfusing questions and assumptions about the current MODx, and the future plan.
I couldn't agree more Wendy. At some point we have to make the leap to do this, but I'm not sure MODx is absolutely the right place for this switch to take place. Let me try and explain, as this is happening as a result of two different initiatives within the core team, one based on ideas that can be rolled into MODx in relatively easy upgrade paths, and can remain accessible to a wider audience of PHP 4 / MySQL users; the other, based on database abstraction, OO design, and dependency on advanced features available only in PHP 5.
First I think we need to take advantage of the contributions of the community to continue to make MODx strong, and not make major sweeping changes all at once to address every need of an enterprise-level solution, and making everyone reauthor their snippets. At the same time, I see the need to overhaul everything to make it a product that can address enterprise-level CMS and application framework needs. So, while we have been continuing development of MODx, I have branched off, and developed what I am considering an advanced solution based on the concepts of MODx, but that might not fit the need of the average MODx user. I think this is where Tattoo comes into the picture (at least in my vision of the MODx future), and I should have a proof-of-concept of this new PHP 5, multi-DB, multi-cultural, object-oriented CMS framework before the end of the month. At that point, I may submit it to the team for review and consideration as the initial release of Tattoo.
Here are some features of the system I am working on to wet your appetite...and many of these concepts can be back-ported to the current MODx system if they find merit in them.
Resources and ElementsEverything in this system would be reduced to one of two things, a Resource or an Element. Resources would essentially be what is now a Document (or a WebLink). Instead, you would now have Resources, PageResources (Documents), and LinkResources (WebLink), and you could define new Resource types by implementing a class that extends the Resource class or any of these subclasses.
Elements would replace everything else except Placeholders, from Template to TV, to Chunk, to Snippet, to Plugin, to Module. You would define a base Element to attach to the Resource (as you would a template), and then everything else in the Resource could be attached to the base Element (i.e. the way TV's are attached to a template), a Resource directly (essentially providing Resource or Page variables), or called via an ElementTag in the content of any Element the way our current tags work.
Resources, Elements, Content, Culture, and RevisionsWhen it comes to content, this new structure is extremely flexible. It provides Content records that are related directly to each Element. Then, each Content record has content stored in the Revision table. So when looking up the latest content, it would, by default, pull the latest Revision of the Content for the culture specified in the Context of the request. Additionally, every Resource can provide alternate Content for any Element, in much the same way as TV values can be overridden by the Document now.
Contexts and ManagementThe final part, which I am working out now, is dealing with Contexts. Think sub-sites, think multi-sites, think manager. This would basically allow you to manage, with a single install of the core classes and manager, any number of site installations, sub-sites in sub-directories or on sub-domains, etc. And the manager in this becomes just another set of Resources and Elements, isolated from the others by Context.
But as they say, the proof is in the pudding, so until I have a working preview, and we have worked out everything internally on the team with regards to these ideas, that's about all I want to reveal for the time being. I just wanted to let everyone know that all of these issues are being addressed by an initiative to overhaul the entire core system, but with the caveat that it might not be the solution for everyone.
In the meantime, thanks for everyone's contributions in all of these areas, and I'm sure the team will be seriously considering these when planning the implementation of such features in future releases of MODx.
Cheers
