This thread deals with an important problem, one with even larger implications. I hope it continues, in a respectful manner, until we achieve some sense of mutual understanding and comfort.
louis.landry wrote:
Things that find there way into our core libraries... or Joomla! framework ... do not find themselves there by accident. They are not there because we think it solves a short term problem. They are there because they were built to be extensible and forward looking or because they are needed for backwards compatability.
Granted, but what about timeliness? Ajax has gone commercial at major sites on the web. I concede that some of the implementations are deficient, but the situation will settle down in time. A lot of industrial-strength middleware already features fully asynchronous communications. It won't be long before it reaches the Open Source and the web desktop in a more mature form. If Joomla! doesn't do it soon, someone else will.
louis.landry wrote:
We have stated SEVERAL times if you were to look (and I'm sure you probably have) that we will be researching a fullscale javascript framework and a Joomla! specific ajax library that can harness the power of the code we have written. If you understood the JDocument package of the framework ... and/or looked at the work done on the JAJAX project for the summer of code, you might see that significant work has been done with regard to exposing methods and classes to an ajax interface within the Joomla! framework. This work also abstracts between using XML or JSON and potentially abstract from using any given javascript library/framework. This is the Joomla! way of doing things. That is what we will pursue with regards to implementing framework level ajax libraries.
As I see it, Joomla! (and other CMSs with an orthodox past), runs behind the times and tries to catch up. Louis, you made some intereting remarks about researching a fullscale javascript framework and a Joomla! specific ajax library. I mentioned earlier in this thread an approach to do so. Stating what I said in an expanded format:
(1) Immediately include common libraries, external to the core, to support non-native capabilities, such as Ajax, for existing and near-term components. Help resolve conflicts among those components. This would impose no delays on the delivery of Joomla! 1.5 or the point releases thereafter.
(2) Plan for true asynchrony by refactoring asnd upgrading the Joomla! core to handle "OS-application server-application-web interface" communications. In the real world, that might be "Linux-Apache-Joomla!-Firefox" or "OS-IIS-Joomla!-Explorer" or whatever. It makes no difference what is communicating to what, provided all parties adhere to standards.
(3) Architect the core upgrade to clearly separate "native" enabling capabilities from external libraries that are technology-specific.
(4) Insert the key long-term steps into the Roadmap as a downstream "must-have" priority.
Preparing a framework for Joomla! is a good approach as it abstracts from native capability and specific implementations. It has the potential to allow for multiple instantiations of major applications (think Joomla! multi-site), accommodate co-resident apps (like an external data cleansing program called by the CMS backend on the fly), and any number of interesting things. If we can resolve the asynch communication issue, it will be possible to refresh multiple sites with common content in near real time.
From the end-user's point of view, Joomla! is more than the core CMS. It is the stable release plus the templates, components, modules, and plugins
in toto. The user apprehends the resulting system as a whole. 3PDs do not just extend Joomla!, they are an actual part of Joomla! development. The end-user cares not a whit about organizational niceties, only the results delivered to the desktop.
These considerations are non-trivial and naturally lead to some comments on process.
In my opinion, the overall software architecture, requirements management, and roadmap (prioritization) appear to be the products of a nearly closed process. I say "appears" because that is the way it looks from the outside looking in. Transparency in Open Source development is more than being told what will happen. It includes visibility of the underlying rationale, an opportunity to help formulate alternatives, and participation in the final decisions.
I understand there are working groups, but they appear generic and phase driven, appropriate for release management, while not touching on root assumptions.
Respectfully submitted,
Sharon