2
While there have been many good ideas made to add to the X2 Branch some will take major rewriting of the core and others may be better served in the next step. I believe if we are going to plan out a road map we should set goals for the different branch steps. Due to the fact we are trying to update such outdated code I believe we are better served with rapid changes in branch steps with major additions added to each step.
With this in mind I propose something along these lines...
2.6 - Major overhaul of core functions to bring them up to date and to prepare for future updates to the core. We should make some major structural changes to the core in preparation to make the core lighter and more flexible. By this, I think we build an object library system for core and add on libraries. They make use of the autoload feature of PHP5. With the advent of Libraries we then Depreciate the use of frameworks. This is when we add "Plug in" support to the core. Plug ins would be lightweight applications that don't have a user side to them but can be used by admins or are a universal add on that modules can make use of. We would also make changes to the core to support Multi Site and Multi database (PDO). If there is an easy way to make the core better SEO then we do this here as well as clean up the "URL" if possible. We also look at incorporating some sort of CSS/HTML5 framework into the core as well to make templating and theming easier across the board and pull all of the hard coded CSS styles out of the core. Because of the complexity of the changes I think we stop there.
2.7 - This is where we start adding alot of the "features" mentioned in the 2.6 Branch thread. By this time a vast majority of things will have been changed and need to be updated. I think this is also where we start converting some of the core applications to plugins and get them out of the core code. I also think we can start pulling some of the core objects out of the core and place them in the library as well. This branch should focus on making Modules easier and help make the interface the same across the board.