The history of the platform is that it was released last summer as a
separate package at version 11.1. 1.6 and 1.7 are "versions" of the
platform from when we called it the framework and it was still only
distributed as part of the CMS. What makes it messy for documentation is
of course that most of what was in the 1.6 and 1.7 (and 11.1-11.3) versions
of the platform is still there, so you don't want to just delete everything
from the documentation that has those old labels. Further some people
especially those running stand along applications may be using one of the
older platform releases.
Joomla CMS 2.5/Platform 12.1 includes the new MVC classes however as I said
the CMS is not using them. To begin with they would require switching from
JApplication to JApplicationWeb something which is proposed for CMS 3 but
has not happened and which will obviously not happen for the long term
support release of 2.5. Over time it is possible that Joomla CMS 3 will
start using the new MVC, but that is going to happen slowly and carefully
with minimal disruption.
The platform manual contains some basic documentation of the new MVC. You
can find a link to the manual on the Resources menu of
As JModel is shown in the API documentation for the latest release of the
> framework (12.1), then can I assume that it is part of the new MVC? If that
> is correct, then as a component developer, can I expect that in the future
> there will be new subclasses of JModel, that will provide the functionality
> that came from subclasses such as JModelAdmin and JModelList.
> It seems odd to me that a subclass would be deprecated before a
> replacement subclass is available that replicates that deprecated
> subclasses functionality.
Yes JModel, JView and JController are the new MVC and JLegacyModel,
JLegacyController, and JLegacyView and all classes extneding them are the
old MVC. It's not deprecated it's in legacy mode and as I said it will
continue to be available for the three years of the J3 release cycle as
well as the 18 months of the remaining 2.5 release cycle. Right now the
important forward thinking issue is about what Joomla 4 is going to look
like when it is released in 2014. At that point as I said I think you
should expect to be using the new MVC. Of course if you are writing
platform applications today you are using the new MVC because it's better
and works with JApplicationWeb/JapplicationCLI and all the other great new
code that is in the platform. It is just that the gigantic air craft
carrier that is the CMS cannot turn on a dime to a new architecture nor can
the thousands of extension developers. The whole beautiful (but still
evolving) dynamic of a separate platform release of the Joomla folder plus
the CMS and legacy folders lets the CMS be true to its nature and the
platform to be true to its and for developers to have access to both the
new and cool and the old and reliable.
> Basically I just want to make sure that I'm coding my components in a way
> that respects the underlying Joomla! structure and the direction that that
> structure is heading.
You have to ask yourself ... where is what you are doing heading over what
time frame? There are a lot of considerations that I'm not going to get
into because this email is long enough as it is. However, you can write a
new MVC component right now if you want, you will just need to do more
work--but it would be great for you to contribute that work in the form of
the subclasses that we all will need. By contributing your bit along with
other developers contributing their bits, the project moves forward. The
cool thing is that as an early adopter you get to help shape that by
contributing for all to benefit from.
Personally, if I were starting a new major component (assuming I really
think it is a component and not an application), I would want to be ready
for the future and if I am going to spend 6-10 months building it I want to
be ready for J4, So I'd probably rather do it the new way. There are some
technical issues with mixing and matching the separate MVCs on a single
page load but there will also be solutions for that if I know anything
about the developers in this community.
Anyway I've rambled on long enough,