So Ellislab has been kind enough to give us a few sneak peeks of things coming up in EE 2.0 (thank you), and people all have their hopes and dreams of what is coming down the pipe. The official position is well known - no info before release, no release dates (you don’t know them yourself). I respect that decision and the desire to temper expectations around features and release dates, and you obviously don’t want to release any info prematurely.
But the fact that this is really a ground-up rewrite of the entire system using CI really has me thinking. This is a huge undertaking, and like Leslie mentioned in the last blog post, basically the entire system is being refactored - all of it. Massive.
So - the question that all of this really brings to mind for me isn’t what are we getting, but what are we losing? What features in the current version of EE aren’t going to be there in the 2.0 release? What tags or parameters or variables that are there now aren’t going to make that migration and have to be modified (for an existing site)? Once again some of these might not be known now and that is understandable, but I just have to assume that, given the size and complexity of reworking the ENTIRE system, something will be dropped (or if nothing else at least deprecated). Even if the goal is to implement every single existing tag, parameter, etc., surely there are some that are old or have been made unnecessary over the years?
As a developer this is something that would be really helpful to know.
There’s an offshoot of this question that I also expect won’t get an answer (;)), and that is: are there any major changes to the database schema? Or rather, is the schema itself something that is being looked at/updated? Is the database schema being refactored as well? I end up querying the database directly quite frequently, and changes to the schema would be very good to know about. Even if just to tell a client, “Yes, the database structure itself is going to change in some fashion, so we should expect to spend a bit of time reworking code that directly touches the database.”