Joomla have come a long way and is a great stable secure CMS system with a lot of engagement from people world wide and with so many powerful 3pds extensions that make Joomla a great publishing tool for many solutions. The technical work flow for development process and guidance thinking is a huge step forward since the start 2005.
But my concern is the problem of future direction visions with the importance of the control and guidance of Joomla rapid development so it have a fit into any market(s) where is more and more competition from everywhere.
This guidance and control is different than how Wordpress and Drupal doing where control is mainly from the founder(s) that have the main influence why,how, when, where things should be done, prioritized and communicated for development. Example the UX interface project many year ago for the Wordpress project and the importance of that for making it easy to use for end users in every aspect.
Bcs Joomlas myriad Titanic dev structure and not prioritized method(s) for good and bad its more difficult to change direction, focus and easier to be out of control and synced with new market conditions and a better new future vision to be the leading Cloud Publishing platform. Of course It should be fun and exited to dev for Joomla but you must know why you are doing things and why its important. The two converses doesn't exclude each other. Compare the development strategy of today ie the roadmap where Joomla heading http://developer.joomla.org/cms/roadmap.html
This is the dev strategy before. So how much of this have been achieved and if not why? If this not working why do this happened that Joomla can not achieve its goals and why have they changed and how was responsible for that and where is the analysis for that decision? http://developer.joomla.org/cms/roadmap/11-cms/62-roadmap-archive.html
Roadmap [Archive]Joomla has great plans for the future of the CMS.
Below are a few of the ideas which have been raised for upcoming releases. These ideas are in no specific order.
1. Reconcile Joomla! Platform code.
Given the plans to distribute the Joomla Framework (formerly Joomla Platform) via Composer and Packagist.org, the Joomla! CMS will merge the existing platform code back under the oversight of the CMS and continue maintenance and improvements directly solely for the benefit of the CMS.
This will reduce the double handling experienced by the Joomla! Bug Squad (JBS) in fixing issues. There is also scope for the CMS to add individual Framework packages as the need arises and as CMS maintainers become more comfortable with namespaced code.
2. Roll back MVC Legacy Classes
The Joomla! CMS will roll back the JModel, JView, JController interfaces (the new MVC classes will remain if people choose to use them). This will reduce confusion and restore a well-known, familiar code structure to simplify new code development for the foreseeable future. This will require a pull request made against the existing CMS to rollback these changes. A small temporary team will be necessary to oversee this process and ensure no core functionality is broken or lost in the process and backwards compatibility is maintained.
3. Embrace Rapid Application Development
We need a team to look at ways to make extension development easier and faster and with less code by researching rapid application development principles. This will include looking at ways to consolidate code that is often repeated, through to the creation of tools to help developers write and maintain extensions.
The Joomla! CMS will create a Rapid Application Development (RAD) library to be included in the core libraries folder. This new library will provide a set of classes and functions that will enable extension developers to quickly release new code by taking advantage of a common set of code standards. This library will consist of standard utilities as can be found in existing libraries such as Framework on Framework, or other yet-to-be-determined libraries. This will require a team of volunteers that understand the required elements of a RAD library and the pros and cons of existing libraries. A new library will be created that meets the needs of the CMS as determined by this team but will not include entire libraries simply for convenience. Excess functions, legacy code and other non-essential classes and/or functions will not be included in this library in order to create the best, streamlined library with no extraneous or deprecated features.
4. Merge legacy library and Joomla! library folders
The Joomla! CMS will undertake the process of merging the legacy folder with the Joomla! library folder to ensure a single, unified library of classes and functions. This merged library will constitute the Joomla! Platform as it relates to the CMS project. This effort will require a team of volunteers committed to the process of merging files and functions with minimal backwards compatibility issues. The future of the CMS mandates that this merge be undertaken. During this process a pre-upgrade check routine will be added to the library.
5. Increase Joomla! library unit test coverage
The Joomla! CMS will undertake the ongoing process of providing unit test coverage to the Joomla! library and CMS files. This process will continue to aid in the stability of the released CMS versions and continued code improvements being made. This stage will require a dedicated team of volunteers familiar with unit testing as well as live testing of the CMS and Joomla! library.
6. Create distributions for CMS packages
The Joomla! CMS seeks to create a variety of distributions of the CMS to address a variety of common niche markets. This process will require a newly formed team to analyze and recommend specific distributions. These organized distributions of the CMS will continue to improve the packability and aid in the process of forming separate packages of the CMS. These distros will require a lead maintainer and/or volunteers to keep the base libraries current with the core Joomla! library updates as they are released. Understanding the time and effort associated with managing and maintaining multiple distributions this step will be taken with extreme discretion and all necessary precautions.
Sample distributions may include: a Barebones, or light CMS (e.g. minimal ACL) distribution, a Developer distribution, and a Standard distribution.
Information about the working group for this goal can be found at github.com/joomla-cms/start-here.
7. Unified Content Model
The Joomla CMS plans to unify all content types under a single, consistent model (sometimes called CCK or Content Construction Kit). The idea is that articles, web links, contacts and so on, are all variations of content. There is usually a common base object, and extended data that can be customised for each different type of content. This project involves determining the best API and database schema to support the content object themselves. It also requires a team to mock up how the user interface would work from content type definition, content publishing, through to the final display. This endeavor should also examine ancillary content features like content versioning and must take multi-lingual support into account. It can also lead to new niches like the ability to share content types and/or content packs.
8. Unified Page Model
The Joomla CMS will move towards having a unified approach to content pages. This would involve seamlessly integrating the menu system and the content it refers to, eliminating the middleman of having to create content and then attaching that content to the navigation. This initiative would also seek to move all content maintenance to the frontend where it can be edited in-situ ( in other words, you create the navigation and then start creating the content directly in the page).
9. Unified Site Administration
The Joomla CMS seeks to eventually remove the need for two applications: one to run the frontend and one to run the backend. All administrative functions will progressively be moved to new frontend control panels and landing pages. This single interface will build upon the unified page model described previously. All existing administrative functions would be fully access controlled as they are in the current architecture from the singular frontend interface. Existing functionality and other third party extensions would still be available.
10. New Feature Implementation
The Joomla! CMS will improve the Joomla! Ideas website ( http://ideas.joomla.org
), incorporating and encouraging new features and develop better ways to connect those ideas most supported by the community with contributors for code development. Several ideas currently being reviewed by contributors include: content tagging, extension installation direct from Joomla! Extension Directory (JED), multi-lingual extension, improved media manager, content versioning, mobile-friendly WYSIWYG editor.
11. UX and Accessibility
New features will extend beyond development aspects to also include both design and accessibility standards as well. The user experience, particularly from an accessibility perspective, will continue to be refined and improved with new administrator templates which take full advantage of the Bootstrap features of Joomla! 3.
The Joomla CMS acknowledges the global nature of the Joomla! project and the necessity for an increased effort to improve the internationalisation of the Joomla! CMS. Joomla! will build upon the UCM and the Unified Page Model (listed above) to provide a multilingual opportunity available to extension developers and core extensions of the CMS. This internationalisation effort will provide a central location for associations and translations can be stored and implemented throughout the content.
Q: So why is the current development decision process good then if we can not achieve our goals and why are we out of sync with previous strategy and why?
Many coders, mostly the people in their comfort zones in an old PLT role, now protest about changes about the new development process strategies.
We need also PLT coders to communicate and have a structured way of decision making involving more control and help to take good decisions. Example before Joomla took the decision to choosing Mootools over JQuery but didnt explain the logic behind that decision more than from a technical point of view and its not always that the coders that know the best way forward for a project, organization or company even for a very important technical decision like that if you dont see know the arguments.
This decision at that time was like comparing to choose between BetaMax and VHS video system and everybody else understood what was good to choose except the few people that took that decision in Joomla world to use Mootools! Now after many years of frustration from the rest of the Joomla community Joomla have changed. How much pain did that cost Joomla users? So many decisions is not about choosing the most hip complexity solutions ( that only 1 % use) and a lot of OO functions. Its about marketing conditions how the market expect things to work on all levels for Joomla users - not only coders for coders.
My advice would be that Joomla would focus on understanding of future needs, functions, business models and future market for publishing platforms!
And this is not about the code to create a document that Joomla should fit into with that market future conditions direction and then start coding for achieving it with the ground platform Joomla already have.