Quote from: MadeMyDay at Oct 10, 2008, 02:08 PM
I create a context per language, and would never use a single Resource to represent the same content in different languages
Sorry, I have an another opinion. There are a lot of ressources that should be possible to share, e.g. images, flash movies, TVs for categorization and so on. If it would be possible to "connect" ressources/contexts in the manager editing view (I think of a tab for each language) so that you can easily switch between languages and change the ressource you like I’m fine with it. But duplicating (parts of) ressources which are actually the same is unneccessary imho. But perhaps I haven`t understood the principle of contexts at all ;-)
A Resource in Revolution is what you would refer to as a Document or Page in the old MODx. The first release of Revolution (2.0) will not have a single Resource with content fields for multiple languages, and IMHO, it is not good practice to deliver content in different languages from the same URL.
But a future release (maybe 2.1 or 2.2) will support this behavior by allowing Elements (like Chunks/Snippets/TVs/etc.) to be directly related to a Resource, as well as the ability to then save Element content by Language, and Versioned. This will be possible because all Element content will be represented by a new set of classes I designed to handle allowing multiple instances of any Element’s source content, stored by language and with the ability to track and revert changes to each.
Why can’t we do this now even though I’ve already designed the data structures you ask? Because we have to have logical ways to get those who’ve invested in the legacy way of doing things to Revolution in the first place. Then, once they’ve gone through that, we can then worry about changing the underlying data structures on which hundreds of 3rd party add-ons for MODx are directly dependent upon to function. This is why the abstraction layer xPDO provides for Revolution is so important; it provides a way to isolate any SQL dependencies to an easily upgradeable model that implements the behavior. Once this is in place and people have had time to re-engineer their components to not use SQL that references the MODx core tables, the sky’s the limit on improving that model and making it easier to bring everyone along for the ride, without having to change every component with every upgrade.